Skip to content

Latest commit

 

History

History
2126 lines (1275 loc) · 39.2 KB

HISTORY.rst

File metadata and controls

2126 lines (1275 loc) · 39.2 KB

Release History

2.6.8 (2024-11-01)

Improvements

  • Bump stream id to 10000 to prevent conflicts on multiple restarts

2.6.7 (2024-11-01)

Improvements

  • Revert time_updated changes
  • docs fixed

2.6.6 (2024-10-31)

Improvements

  • FlumineStream update to record time_updated on each process

2.6.5 (2024-10-23)

Libraries

  • betfairlightweight upgraded to 2.20.4

2.6.4 (2024-10-03)

Libraries

  • betfairlightweight upgraded to 2.20.3

2.6.3 (2024-09-16)

Improvements

  • Add max_inplay_seconds to HistoricListener (@mberk)

Bug Fixes

  • #766 use order price when calculating matched price with available volumes

2.6.2 (2024-08-22)

Improvements

  • Remove add/start depreciations

Bug Fixes

  • Fix utils.get_file_md (@mberk)
  • Erroneous application of dead-heat rules to profit calculations (@petercoles)

Libraries

  • black upgraded to 24.8.0

2.6.1 (2024-03-26)

Improvements

  • docs

Libraries

  • betfairlightweight upgraded to 2.20.2
  • betconnect upgraded to 0.2.1
  • black upgraded to 24.4.2
  • smart-open upgraded to <8
  • tenacity upgraded to <8.3.1

2.6.0 (2024-03-11)

Improvements

  • toml file added / repo cleanup

Bug Fixes

  • Correctly handle sports data files that contain no valid data

Libraries

  • python 3.12 added
  • betfairlightweight upgraded to 2.20.1
  • black upgraded to 24.2.0

2.5.10 (2024-02-15)

Bug Fixes

  • Take II on handling US early races

2.5.9 (2024-02-14)

Bug Fixes

  • Correctly handle US races starting early when simulating TPD

2.5.8 (2024-02-12)

Bug Fixes

  • #743 fok multiple issues (@mzaja)

2.5.7 (2024-01-15)

Improvements

  • Add trade elapsed seconds

Bug Fixes

  • #732 fix process_sports_data for Race events

2.5.6 (2023-12-13)

Improvements

  • Remove LINE_RANGE LTP default

2.5.5 (2023-12-11)

Improvements

  • #725 Remove redundant event logging
  • Refactor _process_sports_data to use eventId

Bug Fixes

  • Correctly handle LINE_RANGE markets within trading controls / blotter / profit / order

2.5.4 (2023-11-13)

Bug Fixes

  • #721 fix invalid customer ref
  • Holds off clearing orders until betfair have settled (@lunswor)

Libraries

  • betfairlightweight upgraded to 2.19.1[speed]
  • black upgraded to 23.11.0

2.5.3 (2023-11-06)

Improvements

  • Slack link expires
  • More docs

Bug Fixes

  • #716 simulation NaN sp

Libraries

  • betfairlightweight upgraded to 2.19.1
  • black upgraded to 23.10.1

2.5.2 (2023-10-09)

Improvements

  • Add black pre-commit hook (@mzaja)

Bug Fixes

  • Handle missing MarketBook when recording sports data

2.5.1 (2023-10-06)

Improvements

  • #703 Store historical stream ids in a set for faster lookup (@mzaja)
  • #699 process market catalogue (@mzaja)

Bug Fixes

  • #706 Fix FOK simulation error, update tests to cover the bug (@mzaja)

Libraries

  • black upgraded to 23.9.1
  • tenacity upgraded to <8.2.4

2.5.0 (2023-10-05)

Improvements

  • #675 provide flumine to add and start methods (@mzaja)
  • Lazily evaluate log message parameters (@petedmarsh)
  • Change utils.get_file_md to return a MarketDefinition (@petedmarsh)
  • Refactor _read_loop to open entire file in ram + remove function calls
  • Use raw json for creating order requests (faster)
  • uuid4 is faster
  • #688 Use smart-open for opening historical files (@petedmarsh)

Bug Fixes

  • #677 Remove duplicated method call (@mzaja)
  • #679 validation reused trades (@mzaja)
  • #681 Adds handling of FOK orders status getting stuck (@lunswor)

Libraries

  • Add [speed] (@petedmarsh)
  • Remove py3.7
  • betfairlightweight upgraded to 2.19.0

2.4.2 (2023-08-03)

Bug Fixes

  • #674 Update marketCatalogue fix when recording data

2.4.1 (2023-07-25)

Improvements

  • #671 Add process_new_market method to simulation (@mzaja)

2.4.0 (2023-07-24)

Improvements

  • Simulation against available prices now available using config

2.3.7 (2023-07-24)

Improvements

  • #659 Add process_new_market method to BaseStrategy (@mzaja)

Bug Fixes

  • Log in if client.keep_alive() fails in BetfairClient (@jorgegarcia7)
  • Include min_unit price in make_line_prices (@Code0x58)
  • #667 Rename strategy info to prevent jsonlogger conflict

Libraries

  • betconnect upgraded to 0.1.7
  • betfairlightweight upgraded to 2.17.3

2.3.6 (2023-04-27)

Bug Fixes

  • #654 Simulated fill or kill bets matched as regular bets (@mzaja)
  • Don't check market_start_time for football events (@kwassmuss)

Libraries

  • black upgraded to 23.3.0

2.3.5 (2023-03-16)

Bug Fixes

  • #650 Fix min_fill_size simulation bug (@mzaja)
  • #647 Prevent overfills of the traded in simulated order (@clivewij)
  • FK price is None and therefore size is None

Libraries

  • tenacity upgraded to 8.2.3
  • python-json-logger upgraded to 2.0.7
  • betconnect upgraded to 0.1.6
  • black upgraded to 23.1.0

2.3.4 (2023-02-17)

Improvements

  • #639 simulation fill or kill

Bug Fixes

  • OrderStream race condition

2.3.3 (2023-02-09)

Libraries

  • betfairlightweight upgraded to 2.17.1

2.3.2 (2023-01-19)

Bug Fixes

  • #629 simulation: async_place_orders prevents order cancellation

2.3.1 (2022-12-01)

Improvements

  • execution_cls added to Client
  • market.market_start_hour_minute added

Bug Fixes

  • Add price ladder definition to limitoncloseorder

Libraries

  • python 3.11 testing added

2.3.0 (2022-10-27)

Improvements

  • check_sports added to mimic check_market

Bug Fixes

  • #621 string formating mistypes
  • #622 control handle all ladder types

Libraries

  • betfairlightweight upgraded to 2.17.0
  • black upgraded to 22.10.0

2.2.7 (2022-09-29)

Improvements

  • Changes list_cleared_orders error to warning

2.2.6 (2022-09-08)

Bug Fixes

  • #612 simulation replace cancel error fix

Libraries

  • betconnect upgraded to 0.1.5
  • black upgraded to 22.8.0

2.2.5 (2022-08-26)

Improvements

  • simulated_full_match added to client

Libraries

  • betconnect upgraded to 0.1.4

2.2.4 (2022-08-16)

Improvements

  • Add error handling to process_raw_data

Bug Fixes

  • Correctly set replacement order datetime created

Libraries

  • betfairlightweight upgraded to 2.16.7
  • betconnect upgraded to 0.1.3

2.2.3 (2022-08-01)

Bug Fixes

  • #455 Handle cancel race condition

2.2.2 (2022-07-20)

Improvements

  • Various small improvements to reduce CPU cycles

2.2.1 (2022-07-14)

Improvements

  • #572 SimulatedSportsData middleware and example strategy added
  • Remove market added to simulation

Bug Fixes

  • Handle market removal race condition

Libraries

  • betfairlightweight upgraded to 2.16.6
  • black upgraded to 22.6.0
  • python-json-logger upgraded to 2.0.4

2.2.0 (2022-05-17)

Bug Fixes

  • Revert delta order stream

2.1.1 (2022-05-16)

Libraries

  • betfairlightweight upgraded to 2.16.5

2.1.0 (2022-05-13)

Improvements

  • Market status added and markets.open_market_ids is now open markets only
  • Order profit property added
  • Order stream output updated orders only (order_updates_only)
  • _process_current_orders refactored to reduce duplicate calls

Bug Fixes

  • #586 loggingcontrol doc strings

2.0.5 (2022-05-05)

Improvements

  • Handle queue event handling optimisations

Bug Fixes

  • Market event removal on market recording

2.0.4 (2022-04-25)

Bug Fixes

  • Market event removal

2.0.3 (2022-04-25)

Improvements

  • Middleware slim down
  • examples cleanup

2.0.2 (2022-04-21)

Improvements

  • Event lookup added to Markets

Libraries

  • betconnect upgraded to 0.1.2
  • black upgraded to 22.3.0

2.0.1 (2022-03-28)

Improvements

  • Client docs improvement
  • stream_running added and logic cleanup

Libraries

  • betfairlightweight upgraded to 2.16.4

2.0.0 (2022-03-25)

Improvements

  • #193 multi clients integrated
  • backtest -> simulated rename (*breaking change)
  • #566 BetConnect client added

Bug Fixes

  • #567 market_start_datetime fix
  • PaperTrade bug fix on elapsed_time

Libraries

  • betfairlightweight upgraded to 2.16.3
  • betconnect==0.1.1 requirement added
  • python 3.6 removed

1.22.2 (2022-03-24)

Improvements

  • logo / readme update
  • single strategy example added

1.22.1 (2022-03-21)

Improvements

  • betcode-org transfer/renames

Libraries

  • betfairlightweight upgraded to 2.16.2

1.22.0 (2022-02-28)

Improvements

  • #564 sports data functionality added
  • blotter lookups updated to lists only (*breaking change)

1.21.6 (2022-02-18)

Improvements

  • blotter lookups updated to lists (order_status)

Bug Fixes

  • OrderStreams customer_strategy_refs fix when None provided
  • Handle null market_filter when creating streams

Libraries

  • betfairlightweight upgraded to 2.16.1

1.21.5 (2022-02-14)

Improvements

  • PYPI secret update and deploy environment added
  • slack group invite updated

Libraries

  • betfairlightweight upgraded to 2.16.0

1.21.4 (2022-02-08)

Improvements

  • Remove currency parameters hard coding

Libraries

  • betfairlightweight upgraded to 2.15.4
  • black upgraded to 22.1.0

1.21.3 (2022-01-31)

Improvements

  • Each Way simulated profit handled
  • ExecutionValidation control to prevent failed requests being sent continuously, not added by default (@lunswor)

Bug Fixes

  • trading control exposure bug revert

1.21.2 (2022-01-13)

Improvements

  • license update
  • strategy warning on duplicate names
  • minor optimisations for simulation

1.21.1 (2022-01-10)

Improvements

  • Process end of flumine on exit
  • Flumine added as var to strategy.finish (*breaking change)

Bug Fixes

  • #548 handle execution complete during placement delay
  • Correctly add order datetimes on restart

1.21.0 (2022-01-06)

Improvements

  • #528 smart matching on passive orders
  • #544 market exposure refactor (*breaking change)

Bug Fixes

  • #528 simulation processing on in flight requests
  • #541 handle betTargetSize
  • Example typo (@petercoles)

Libraries

  • black upgraded to 21.12b0

1.20.13 (2021-12-03)

Improvements

  • #527 custom stream funcs / docs added
  • #525 UML diagrams added to docs (@shashikhaya)
  • get_order_from_bet_id optimisation (very slow with high order count)

Bug Fixes

  • File type regression

Libraries

  • betfairlightweight upgraded to 2.15.2
  • black upgraded to 21.11b1

1.20.12 (2021-11-26)

Improvements

  • Performance docs added

1.20.11 (2021-11-25)

Improvements

  • #528 MarketOnCloseOrders not included in BacktestLoggingControl example
  • #531 Include SP values in jupyterloggingcontrol
  • MarketRecorder updates (@mberk)

1.20.10 (2021-11-11)

Bug Fixes

  • Missing clk handling in order and race stream

1.20.9 (2021-11-11)

Improvements

  • #522 add clk to output in market recorder (Breaking Change)
  • #517 Extend selection exposures to whole market (@petercoles)
  • Example strategies updated to remove whitespace on dump (1mb saved per raw file)

Libraries

  • betfairlightweight upgraded to 2.15.1

1.20.8 (2021-11-01)

Improvements

  • Handle list of market filters in strategy

Bug Fixes

  • #519 reset real datetime added to allow s3 download (RequestTimeTooSkewed)

Libraries

  • black upgraded to 21.10b0

1.20.7 (2021-10-25)

Bug Fixes

  • detect_file_type handle tuple

1.20.6 (2021-10-25)

Improvements

  • SimulatedDateTime minor improvement
  • detect_file_type added to log warning when backtesting

1.20.5 (2021-10-22)

Libraries

  • relax tenacity pinning >=7.0.0 <=8.0.1

1.20.4 (2021-10-20)

Improvements

  • #511 Make background worker function callable once
  • #512 Allow access to real datetime via context manager

Libraries

  • python 3.10 testing added
  • betfairlightweight upgraded to 2.15.0
  • black upgraded to 21.9b0

1.20.3 (2021-09-23)

Bug Fixes

  • #486 elapsed_seconds bug when async

Libraries

  • betfairlightweight upgraded to 2.14.1

1.20.2 (2021-09-20)

Improvements

  • Restrict logging calls based on level to prevent info being called (slow)
  • Restrict process and take_sp calls in simulated.py
  • lru cache added to price_ticks_away

1.20.1 (2021-09-19)

Improvements

  • RaceCache optimisation

Bug Fixes

  • #499 bugfix on market recording

1.20.0 (2021-09-17)

Improvements

  • Update to use listener_kwargs in _process rather than snap

Bug Fixes

  • #499 missing market call on closure

Libraries

  • betfairlightweight upgraded to 2.14.0

1.19.17 (2021-09-14)

Improvements

  • Backtest speed improvements

1.19.16 (2021-09-13)

Improvements

  • Temporary logging added for testing

1.19.15 (2021-09-13)

Improvements

  • Backtest speed improvements
  • Raise error in controls when market or marketBook not available

Bug Fixes

  • async not correctly pulled from config during transaction

1.19.14 (2021-09-10)

Improvements

  • process_current_orders optimisation
  • market_version and elapsed_seconds_created added to order
  • OrderStream logic improvement
  • market.event refactored to filter on start time as well as eventId (FORECAST limitation)
  • Example improvement (@petercoles)

Bug Fixes

  • Correctly complete order in blotter when live

1.19.13 (2021-09-08)

Improvements

  • #489 countryCode filter added to backtesting
  • Renamed config.hostname to config.customer_strategy_ref. This makes the use of the variable more explicit.
  • WARNING: This change will affect users who set config.hostname. From this version onwards, they should set config.customer_strategy_ref.
  • Docs / logging control updated

Bug Fixes

  • #487 Backtesting transaction count maxing out (markets not ordered)

Libraries

  • black upgraded to 21.8b0

1.19.12 (2021-08-27)

Bug Fixes

  • Prevent duplicate EC calls when backtesting

1.19.11 (2021-08-26)

Improvements

  • #480 Correctly simulate ClearedMarket event when backtesting/paper trading

Libraries

  • betfairlightweight upgraded to 2.13.2

1.19.10 (2021-08-23)

Bug Fixes

  • #478 Listener kwargs / create bugfix

1.19.9 (2021-08-16)

Bug Fixes

  • #476 fixes and docs update for bflw 2.13.1

Libraries

  • betfairlightweight upgraded to 2.13.1
  • tenacity upgraded to 8.0.1

1.19.8 (2021-08-03)

Improvements

  • #472 Add order status and matched filter to blotter
  • Assert on trading client lightweight
  • OrderDataStream added to allow order stream data to be recorded as per market/race

Libraries

  • betfairlightweight upgraded to 2.13.0
  • black upgraded to 21.7b0
  • python-json-logger upgraded to 2.0.2

1.19.7 (2021-07-12)

Improvements

  • #464 get session handling refactor to take oldest session

Bug Fixes

  • #454 SP nr size adjustment (@jsphon)
  • #464 wrong order state after multiple connection reset errors

1.19.6 (2021-07-09)

Improvements

  • #452 transaction force parameter (@flxbe)
  • market date_time_created added

Bug Fixes

  • #454 SP nr adjustments (@jsphon)
  • Handle missing mc from historic files (@mlabour)

1.19.5 (2021-07-05)

Bug Fixes

  • #453 Replace Orders drop custom separator from order_id field
  • Docs typo (@petercoles)

Libraries

  • betfairlightweight upgraded to 2.12.2
  • black upgraded to black==21.6b0

1.19.4 (2021-06-03)

Bug Fixes

  • Updates simulation class to use config latencies

1.19.3 (2021-06-03)

Bug Fixes

  • Set order to be executable after violating on market status (@lunswor)

1.19.2 (2021-06-03)

Improvements

  • Move simulated latencies to config (@lunswor)
  • Add control to validate market status (@lunswor)

Bug Fixes

  • MarketRecorder race condition on file load / remove txt only if aged

Libraries

  • black upgraded to black==21.5b2

1.19.1 (2021-05-27)

Bug Fixes

  • Prevent race condition between execution and order stream

1.19.0 (2021-05-27)

Improvements

  • Process refactor to use current_order status (remove void/lapse to match betfair)
  • Examples improvements

1.18.12 (2021-05-21)

Bug Fixes

  • Prevent race condition on executable/execution_complete and new orders

1.18.11 (2021-05-20)

Improvements

  • Market recorder refactored to have a single processor thread to remove blocking

Bug Fixes

  • Add order stream start delay and snap pickup
  • Missing update current order

1.18.10 (2021-05-17)

Bug Fixes

  • Logging control fix, trade event not triggered

1.18.9 (2021-05-17)

Improvements

  • Notes and market notes added to order (potential race condition fix on transaction)

Bug Fixes

  • #433 Liability persistence types not checked for <= 2 decimal places (@petercoles)

1.18.8 (2021-05-14)

Improvements

  • Simulation optimisations

Bug Fixes

  • #173 dead heat profit calculation (@lunswor)
  • listenerKwargs inplay / MoC / SP orders fix (@jsphon)

Libraries

  • black upgraded to 21.5b1

1.18.7 (2021-05-10)

Bug Fixes

  • #423 get_exposures() replace fix (@jsphon)

1.18.6 (2021-05-06)

Improvements

  • Stream retry timeout bumped to 60s
  • Docs improved
  • get_file_md tuple handing (race stream)

Libraries

  • black upgraded to 21.5b0
  • dependabot native added

1.18.5 (2021-04-26)

Improvements

  • #121 simulation improvements and further validations

Libraries

  • black upgraded to 21.4b0

1.18.4 (2021-04-20)

Bug Fixes

  • Duplicate Trade logging handled and has_trade added to Blotter

1.18.3 (2021-04-16)

Improvements

  • 503 errors logged as warnings to prevent duplicate log messages propagating through to services such as sentry.io

Bug Fixes

  • MarketRecorder example updated to handle orjson/speed use

1.18.2 (2021-04-12)

Improvements

  • #217 error handling improvements

Bug Fixes

  • Blotter live orders mutable bugfix
  • MarketRecorder example clean up fix

1.18.1 (2021-04-08)

Improvements

  • market_type filter enabled when backtesting markets
  • Remove temp logging

Bug Fixes

  • Validate logging typo

1.18.0 (2021-04-07)

Improvements

  • #404 Multi market processing (concurrent event market processing)
  • strategy order placement depreciated (breaking change as per warning version 1.17.0)
  • strategy.log_validation_failures depreciated (breaking change as per warning version 1.17.7)
  • #185 Cleared order added to order object on closure (@arch4672)
  • gzip market catalogue data in marketrecorder.py example

Bug Fixes

  • Nasty bug fixed in the way live orders are completed when backtesting (has potentially impacted previous tests)
  • Trade.create_order now correctly pulls handicap from trade (was defaulting to 0)

1.17.15 (2021-03-25)

Improvements

  • Blotter exposure refactoring out the get_worst_possible_profit method (@jsphon)
  • Market recorder example updated to use gzip compression

1.17.14 (2021-03-24)

Improvements

  • Execution / thread pool state logging
  • Default market recorder example to not remove files on clean up

1.17.13 (2021-03-22)

Improvements

  • Market recorder mode added to client (@jorgegarcia7)
  • Further execution logging (trying to find time)

1.17.12 (2021-03-15)

Improvements

  • Logging control cleanup / docs

Bug Fixes

  • missing if in process.py to check order status

1.17.11 (2021-03-12)

Improvements

  • order context added

Bug Fixes

  • Prevent duplicate order logging control calls

1.17.10 (2021-03-12)

Improvements

  • async placeOrder handling added, defaults to False via config.py
  • Execution logging improvements

Bug Fixes

  • Handle race condition (seen daily) where cancel is not correctly update to execution complete

1.17.9 (2021-03-09)

Improvements

  • Remove session close in execution when removing stale sessions (very slow)
  • Refactor closure worker to check all closed markets requiring clearing

Libraries

  • betfairlightweight upgraded to 2.12.1

1.17.8 (2021-03-08)

Improvements

  • Allow kwargs to be passed to trade.create_order
  • Correct handling off completed offset orders

Bug Fixes

  • Prevent closure functions being called on a recorder closure

1.17.7 (2021-03-05)

Improvements

  • strategy.log_validation_failures marked for depreciation and logging pushed up to trading control
  • strategy.multi_order_trades var added to allow multiple orders to be placed under a single trade
  • RunnerContext trades made public
  • Docs cleanup and unused trade vars removed
  • config.max_workers renamed to max_execution_workers (*breaking change)

Bug Fixes

  • Prevent double counting of trades if place called more than once

1.17.6 (2021-03-05)

Improvements

  • trade id added to context to prevent race condition and better visibility on live trades

Bug Fixes

  • incorrect handling of replace on runner context fix (adds to live trade count)

1.17.5 (2021-03-01)

Bug Fixes

  • #382 replace order failure fix (no execute)

1.17.4 (2021-02-26)

Improvements

  • Transaction id and logging added
  • max_workers moved to config to allow int to be configurable

1.17.3 (2021-02-25)

Improvements

  • Potential thread pool exhaustion logging added

1.17.2 (2021-02-25)

Improvements

  • Allow patching of stream retry wait arg

Bug Fixes

  • Incorrect handling of potential exposure in control

1.17.1 (2021-02-24)

Improvements

  • Current and total transactions available from client
  • blotter.strategy_selection_orders func added (speed improvement on exposure calc)

Bug Fixes

  • Refactor of client transaction control to correctly apply the 5000 limit

1.17.0 (2021-02-22)

Improvements

  • Major refactor to order placement using Transaction class to allow user control over order placement
  • Trading controls executed on place rather than OrderPackage level (Breaking change to controls)
  • strategy order placement to be depreciated (Breaking change from version 1.18.0)
  • OrderPackage no longer processed through the queue (quicker tick to trade)
  • Error correctly raised on duplicate place calls
  • Execution worker count bumped

1.16.3 (2021-02-08)

Bug Fixes

  • Minor fix when combining data and market stream strategies

1.16.2 (2021-02-05)

Improvements

  • Blotter strategy orders added for faster lookup
  • Strategy name hash cached
  • Minor selection_exposure optimisations
  • Simulated optimisations

1.16.1 (2021-01-28)

Improvements

  • Various optimisations on pending_packages and low level listener updates
  • Cache stream_id when backtesting
  • Always run integrations tests (now possible with faster backtesting from bflw 2.12.0)

1.16.0 (2021-01-25)

Improvements

  • bflw changes / further listener optimisations

Libraries

  • betfairlightweight upgraded to 2.12.0

1.15.4 (2021-01-18)

Improvements

  • Restrict catalogue requests to market version update

Bug Fixes

  • #192 correctly lapse limit orders

Libraries

  • betfairlightweight upgraded to 2.11.2

1.15.3 (2021-01-11)

Bug Fixes

  • Correctly handle runner removal / order void for LimitOnClose/MarketOnClose orders

1.15.2 (2021-01-11)

Improvements

  • Order execution args added on place/cancel/update/replace
  • License update
  • Example update (@lunswor)

Bug Fixes

  • #358 dynamic keep alive (based on trading client)

Libraries

  • py3.5 removed from setup.py

1.15.1 (2020-12-28)

Improvements

  • #356 Jupyter logging control added (POC) with info improvements
  • #344 lookup cache added and info optimisations
  • #327 correctly return orderStatus
  • Middleware optimisation by only processing updated runners
  • Minor test improvements

Libraries

  • betfairlightweight upgraded to 2.11.1

1.15.0 (2020-12-07)

Improvements

  • Updates for bflw 2.11.0
  • logging improved on orphan orders

Bug Fixes

  • #347 incorrect adjustment factor (sub 1.01)

Libraries

  • betfairlightweight upgraded to 2.11.0

1.14.13 (2020-12-05)

Improvements

  • Backtest market catalogue middleware example (@lunswor)
  • #344 Initial work on improving calls when subscribed to 5k+ markets

Bug Fixes

  • #342 market/limit on close order size remaining bug

1.14.12 (2020-11-28)

Improvements

  • 'on_process' function optimised

Libraries

  • betfairlightweight upgraded to 2.10.2

1.14.11 (2020-11-25)

Improvements

  • Flaky flaky integration tests

Bug Fixes

  • Missing 'on_process' function (now subclassed)

1.14.10 (2020-11-25)

Bug Fixes

  • Revert removal of add_stream (removed by accident)

1.14.9 (2020-11-25)

Improvements

  • Historic stream cleanup for bflw 2.10.1
  • Adding logging of order validation

Libraries

  • betfairlightweight upgraded to 2.10.1

1.14.8 (2020-11-16)

Improvements

  • Config event added and processed on start

Bug Fixes

  • #320 prevent market on close limit order when below min bsp liability

1.14.7 (2020-11-14)

Improvements

  • Minor bug on initial init with calculate_traded func

1.14.6 (2020-11-13)

Improvements

  • Refactor on calculate_traded func (15% speed increase)

Bug Fixes

  • Refactoring create_order_from_current, so that it is not dependent on the '-' separator (@jsphon)

1.14.5 (2020-11-11)

Improvements

  • Docs cleanup

Bug Fixes

  • #318 process customer order ref
  • Rounding on order properties

1.14.4 (2020-11-05)

Improvements

  • #310 typing update and bool return added on stream
  • add min_bet_validation flag to prevent control checking min size

Bug Fixes

  • filters out violated orders from being used to calculate the selection exposure (@lunswor)
  • handle simulated cancel when size reduction is larger than size remaining
  • pass correct size into create replace order based on api response
  • #314 Calculates size_remaining from size and size_matched when not set from placeResponse

1.14.3 (2020-11-02)

Improvements

  • size reduction bug

1.14.2 (2020-11-02)

Improvements

  • _process_cleared_orders called on market closure when backtesting / paper trading
  • size reduction handling added to simulated execution on cancel
  • Add py3.9 actions test

Libraries

  • betfairlightweight upgraded to 2.10.0 (exchange stream api release 10/11/20)

1.14.1 (2020-10-29)

Improvements

  • #297 add violation msg to order on violation
  • Graceful worker shutdown
  • Terminate worker example added

Libraries

  • betfairlightweight upgraded to 2.9.2
  • python-json-logger upgraded to 2.0.1

1.14.0 (2020-10-12)

Improvements

  • Prevent MarketBook latency logging when update is from a snap

Bug Fixes

  • #291 Bug in calculated_unmatched_exposure func

Libraries

  • betfairlightweight upgraded to 2.9.0 (#248 memory leak)

1.13.1 (2020-10-08)

Improvements

  • Updates the pricerecorder example method parameters (@lunswor)
  • #248 Remove runner_context from strategy on market remove
  • #287 order separator (jsphon)

1.13.0 (2020-10-05)

Improvements

  • #270 strategy exposure improvements on trading control

Bug Fixes

  • Handle unhandled exceptions in execution
  • Replace now fixed (regression on removal of order_package.market
  • Backtest process orders now called before strategy calls impacts backtesting profit

Libraries

  • python-json-logger upgraded to 2.0.0

1.12.3 (2020-09-28)

Bug Fixes

  • Missing book / bet_delay in live fix

1.12.2 (2020-09-28)

Bug Fixes

  • #248 completely remove circular reference to market->blotter
  • Correct market closure when recording data (raw)

1.12.1 (2020-09-21)

Bug Fixes

  • #275 Laying Limit Orders, Persistence Type MARKET_ON_CLOSE (@jsphon)
  • PR added to actions

1.12.0 (2020-09-14)

Improvements

  • #269 latency warning added

Bug Fixes

  • #248 addition of weakref to try and break circular reference (@synapticarbors) + deletion of each event

Libraries

  • betfairlightweight upgraded to 2.8.0 (orjson)
  • black updated to 20.8b1

1.11.2 (2020-08-28)

Improvements

  • Minor refactor and test improvements on FlumineBacktest
  • Tennis/inplayservice worker example added

Bug Fixes

  • Validates runner is active on placeOrder when simulating (@lunswor)
  • Complete.trade moved to when order or trade status updates rather than process.py, previously it was missing any orders that violated when no other orders active

1.11.1 (2020-08-24)

Improvements

  • #187 strategy and trade runner context additions

Bug Fixes

  • Handling for SP orders on startup
  • Bug fix on client control max orders when backtesting

1.11.0 (2020-08-03)

Improvements

  • invested migrated to executable_orders on RunnerContext *breaking change
  • Use MarketCatalogue where available for market descriptions
  • Create session added, sessions closed and deleted if stale for 200s or more

Bug Fixes

  • Limit process to limit orders to prevent SP orders from being completed when not + test bug fix

1.10.6 (2020-08-10)

Bug Fixes

  • Prevent closed markets being removed when paper trading
  • Fix missing MarketBook from market (closes #FLUMINE-PROD-EE)

1.10.5 (2020-08-04)

Bug Fixes

  • Prevent closed markets being removed when backtesting
  • Adds check to check removal_adjustment_factor is not None when processing runner removal (@lunswor)

1.10.4 (2020-08-03)

Improvements

  • updates for bflw 2.7.2

Libraries

  • betfairlightweight upgraded to 2.7.2

1.10.3 (2020-08-03)

Bug Fixes

  • Handle missing id in raw data (race stream)
  • Handle no market passed to market recorder (race stream)

1.10.2 (2020-08-03)

Improvements

  • _process_raw_data refactored to create market objects and call market.closed_market on closure

Bug Fixes

  • Docs typo (thanks @petercoles)

Libraries

  • betfairlightweight upgraded to 2.7.1

1.10.1 (2020-07-20)

Bug Fixes

  • Add middleware moved to init, Simulated needs to be the first middleware

1.10.0 (2020-07-20)

Improvements

  • #180 client paper trade now implemented
  • #193 initial work on multi client implementation
  • #192 simulation improvements with handling on runner removal

1.9.3 (2020-07-17)

Bug Fixes

  • Move remove_markets logic to process_closed_markets (previously not called if no orders)
  • Travis remove py3.5

1.9.2 (2020-07-16)

Improvements

  • update_market_notes refactor and move to utils to make patching easier

Bug Fixes

  • Market.closed now updated when reopened + logging improvements

1.9.1 (2020-07-15)

Improvements

  • #184 package retry on error (limited to 3 with back-off)
  • requests.Session now closed and deleted

1.9.0 (2020-07-13)

Improvements

  • #201 requests session kept and reused to reduce latency
  • Middleware add/remove market functions added and integrated into Simulated
  • Logging improvements

Libraries

  • betfairlightweight upgraded to 2.6.0

1.8.2 (2020-07-06)

Improvements

  • Previous 'middle' and 'matched' added to simulated

Bug Fixes

  • Simulated bug fix on when data is not recorded from the beginning
  • Client control 'None' bug fix

1.8.1 (2020-06-30)

Bug Fixes

  • Reduce MC count (debugging seg fault)

1.8.0 (2020-06-29)

Improvements

  • Custom historical listener/stream added
  • Large order count (per market) optimisations
  • #203 client transaction count
  • #224 multi market processing

Bug Fixes

  • #221 RuntimeError: market/order looping

Libraries

  • betfairlightweight upgraded to 2.5.0

1.7.0 (2020-06-15)

Improvements

  • market_notes added to Trade
  • market removed after closed for 3600 seconds
  • client.best_price_execution handling added

1.6.8 (2020-06-10)

Improvements

  • Simulated optimisations on matched size/price (@jsphon)

Libraries

  • betfairlightweight upgraded to 2.4.0

1.6.7 (2020-06-08)

Improvements

  • #185 cleared orders meta implemented
  • Order.elapsed_seconds_executable added

1.6.6 (2020-06-08)

Improvements

  • Error handling added to logging control

Bug Fixes

  • Incorrect event type passed to log_control

1.6.5 (2020-06-08)

Improvements

  • #205 MarketBook publishTime added to simulated.matched / order.execution_complete time added
  • Controls error message added
  • Info properties improved
  • Order/Trade .complete refactored

Bug Fixes

  • Log order moved to after execution (missing betId)

1.6.4 (2020-06-08)

Improvements

  • Client passed in AccountBalance event
  • PublishTime added to order (MarketBook)
  • GH Actions fixed

1.6.3 (2020-06-03)

Improvements

  • #178 Client order stream disable/enable
  • #179 Info properties

Bug Fixes

  • #191 missing git config

1.6.2 (2020-06-03)

Improvements

  • #191 Github actions added for testing and deployment

1.6.1 (2020-06-02)

Bug Fixes

  • #195 refactor to prevent RuntimeError

1.6.0 (2020-06-02)

Improvements

  • #175 Update/Replace simulated handling
  • Trade context manager added

Bug Fixes

  • #163 selection exposure improvement
  • BetfairExecution replace bugfix

1.5.7 (2020-06-01)

Bug Fixes

  • Sentry uses name in extra so do not override.

1.5.6 (2020-06-01)

Improvements

  • #186 Error handling when calling strategy functions
  • Start delay bumped on workers and name changed
  • Minor typos / cleanups

1.5.5 (2020-05-29)

Improvements

  • Missing Middleware inheritance
  • get_sp added

Bug Fixes

  • MarketCatalogue missing from Market when logged

1.5.4 (2020-05-22)

Bug Fixes

  • Market close bug

1.5.3 (2020-05-22)

Improvements

  • Market properties added

Bug Fixes

  • Memory leak in historical stream fixed (queue)
  • process_closed_market bug fix in process logic

1.5.2 (2020-05-21)

Bug Fixes

  • pypi bug?

1.5.1 (2020-05-21)

Improvements

  • Worker refactor to make init simpler when adding custom workers

1.5.0 (2020-05-21)

Improvements

  • Logging control added and integrated
  • PriceRecorder example added
  • Balance polling added
  • Cleared Orders/Market polling added
  • Trade.notes added
  • Middleware moved to flumine level
  • SimulatedMiddleware refactored to handle all logic
  • Context added to worker functionality

1.4.0 (2020-05-13)

Improvements

  • Simulated execution created (place/cancel only)
  • Backtest simulation created and integrated
  • patching added, major speed improvements

Bug Fixes

  • Handicap missing from order
  • Client update account details added
  • Replace/Update update_data fix (now cleared)

Libraries

  • betfairlightweight upgraded to 2.3.1

1.3.0 (2020-04-28)

Improvements

  • BetfairExecution now live (place/cancel/update/replace)
  • Trading and Client controls now live
  • Trade/Order logic created and integrated
  • OrderPackage created for execution
  • Market class created
  • process.py created to handle order/trade logic and linking
  • Market catalogue worker added
  • Blotter created with some initial functions (selection_exposure)
  • Strategy runner_context added to handle selection investment
  • OrderStream created and integrated

Bug Fixes

  • Error handling on keep_alive worker added

Libraries

  • requests added as dependency

1.2.0 (2020-04-06)

Improvements

  • Backtest added and HistoricalStream refactor (single threaded)
  • Flumine clients created and integrated
  • MarketCatalogue polling worker added

Libraries

  • betfairlightweight upgraded to 2.3.0

1.1.0 (2020-03-09)

Improvements

  • context added to strategy
  • .start / .add refactored to make more sense
  • HistoricalStream added and working but will change in the future to not use threads (example added)

Libraries

  • betfairlightweight upgraded to 2.1.0

1.0.0 (2020-03-02)

Improvements

  • Refactor to trading framework / engine
  • Remove recorder/storage engine and replace with 'strategies'
  • Market and data streams added
  • Background worker class added
  • Add docs
  • exampleone added

Libraries

  • betfairlightweight upgraded to 2.0.1
  • Add tenacity 5.0.3
  • Add python-json-logger 0.1.11

0.9.0 (2020-01-06)

Improvements

  • py3.7/3.8 testing and Black fmt
  • main.py update to remove flumine hardcoding
  • Remove docker and change to 'main.py' example
  • Refactor to local_dir so that it can be overwritten

Bug Fixes

  • File only loaded if < than 1 line
  • FLUMINE_DATA updated to /tmp to prevent permission issues

Libraries

  • betfairlightweight upgraded to 1.10.4
  • Add py3.8 support

0.8.1 (2019-09-30)

Improvements

  • logging improvements (exc_info)
  • Python 3.4 removed and 3.7 support added

Libraries

  • betfairlightweight upgraded to 1.10.3

0.8.0 (2019-09-09)

Improvements

  • black fmt
  • _async renamed to async_ to match bflw
  • py3.7 added to travis
  • #28 readme update

Libraries

  • betfairlightweight upgraded to 1.10.2