- Add get_inplay_bet_delay_from_prices_file function
- Add is_market_one_tick_wide function
- Add is_market_contiguous function
- Add examples
- Add virtualise_two_runner_price
- Drop support for Python 3.7 and 3.8
- Enable get_market_time_as_datetime to work on market definitions as well as market books
- Enable get_seconds_to_market_time to work on market definitions as well as market books
- Replace deepcopy with pickle in remove_bet_from_runner_book
- Handle RunnerBooks with dictionary priceSizes in remove_bet_from_runner_book #47
- Handle markets which don't turn in play in get_last_pre_event_market_book_from_prices_file
- datetime_to_publish_time function
- Handle None in publish_time_to_datetime
- Order book related functions:
- calculate_available_volume (@jorgegarcia7)
- get_mid_price
- Prices files related functions:
- get_inplay_publish_time_from_prices_file
- get_last_pre_event_market_book_from_prices_file
- get_total_volume_traded_from_prices_file
- Race stream related functions:
- calculate_haversine_distance_between_runners
- get_number_of_jumps_remaining
- get_race_leaders
- Race card related functions:
- get_is_jump_from_race_card
- Made get_final_market_definition_from_prices_file more efficient
- Race card extraction functions now work on both dictionaries and paths to files
- Functions for working with MarketDefinition objects:
- create_market_definition_generator_from_prices_file
- get_all_market_definitions_from_prices_file
- get_winners_from_prices_file
- Use isinstance() wherever type() was being used
- Improved create_combined_market_book_and_race_change_generator
- Added type hint
- Added docstring
- Now generates pairs indicating which stream each object came from
- Functions for working with RaceResult objects:
- get_bsp_from_race_result
- get_winners_from_race_result
- Functions for extracting BSP from different sources:
- get_bsp_from_market_definition
- get_bsp_from_prices_file
- Functions for working with marketTime:
- get_market_time_as_datetime
- get_seconds_to_market_time
- Functions for working with race files:
- create_combined_market_book_and_race_change_generator
- get_win_market_id_from_race_file
- Functions for extracting information from the order book:
- calculate_order_book_imbalance
- get_price_size_by_depth
- get_second_best_price_size
- get_second_best_price
- Functions for extracting market books and race changes at times of interest:
- get_market_books_from_prices_file
- get_minimum_book_percentage_market_books_from_prices_file
- get_race_change_from_race_file
- Other Functions:
- get_publish_time_from_object
- get_winners_from_market_definition
- Improved patching of open
- Arguments to prices_file_to_data_frame have changed to permit adding any desired marketDefinition field to the data frame
- get_event_id_from_string function
- get_pre_event_volume_traded_from_prices_file
- get_win_market_id_from_race_card function
- pandas is now an optional dependency
- Added should_restrict_to_inplay argument to prices_file_to_data_frame
- Made get_runner_book_from_market_book more defensive
- Added LAST_PRICE_TRADED data frame format
- Optionally output runner statuses when converting market books to data frames
- Various README improvements:
- More hype!
- Badges
- Examples
- get_best_price_with_rollup function
- get_final_market_definition_from_prices_file function
- Unit tests #14
- Various price related functions:
- get_spread
- calculate_price_difference
- get_inside_best_price
- get_outside_best_price
- get_best_price
- increment_price
- decrement_price
- is_price_the_same_or_better
- is_price_worse
- Various horse racing related functions:
- get_race_id_from_string
- get_win_market_id_from_race_card
- read_race_file
- Updated typing of all prices files related functions to accept Path objects
- Various fixes when using MarketBook objects instead of dictionaries
- Use market catalogues to inject runner names into self recorded data #13
- Handle event-level historic prices files #11
- Pass kwargs to StreamListener 142f4f6
- Add publish_time_to_datetime function a53cf58
- Remove deprecated argument to StreamListener 68fe522
- Relax bflw version requirement for files 704c70b
- Remove deprecated argument to StreamListener b1af45c
- Add
calculate_total_matched
function c2233af
- Fix
calculate_book_percentage
#3. For cases where a runner has no prices on either side