PandasTraderRunner#
tradeexecutor.strategy.pandas_trader.runner.PandasTraderRunner Python class in Trading Strategy framework.
- class PandasTraderRunner[source]#
Bases:
StrategyRunner
A trading executor for Pandas math based algorithm.
- __init__(*args, decide_trades, max_data_age=None, **kwargs)[source]#
- Parameters:
decide_trades (TradeDecider) –
Methods
__init__
(*args, decide_trades[, max_data_age])check_accounts
(universe, state)Perform extra accounting checks on live trading startup.
check_position_triggers
(clock, state, ...)Check stop loss/take profit for positions.
get_image_and_dark_image
(figure, width, height)Renders the figure as a PNG image and a dark theme PNG image.
get_large_images
(large_figure)Gets the png image of the figure and the dark theme png image.
get_small_images
(small_figure)Gets the png image of the figure and the dark theme png image.
is_progress_report_needed
()Do we log the strategy steps to logger?
on_clock
(clock, executor_universe, ...)Run one strategy tick.
on_data_signal
()pretick_check
(ts, universe)Check the data looks more or less sane.
refresh_visualisations
(state, universe)Update the visualisations in the run state.
repair_state
(state)Repair unclean state issues.
report_after_execution
(clock, universe, ...)report_after_sync_and_revaluation
(clock, ...)report_before_execution
(clock, universe, ...)Strategy admin helpers to understand a live running strategy.
revalue_portfolio
(ts, state, valuation_method)Revalue portfolio based on the data.
setup_routing
(universe)Setups routing state for this cycle.
sync_portfolio
(strategy_cycle_ts, universe, ...)Adjust portfolio balances based on the external events.
tick
(strategy_cycle_timestamp, universe, ...)Execute the core functions of a strategy.
Update the strategy thinking image data with small, small dark theme, large, and large dark theme images.
- __init__(*args, decide_trades, max_data_age=None, **kwargs)[source]#
- Parameters:
decide_trades (TradeDecider) –
- on_clock(clock, executor_universe, pricing_model, state, debug_details)[source]#
Run one strategy tick.
- Parameters:
clock (datetime) –
executor_universe (TradingStrategyUniverse) –
pricing_model (PricingModel) –
state (State) –
debug_details (dict) –
- Return type:
- pretick_check(ts, universe)[source]#
Check the data looks more or less sane.
- Parameters:
ts (datetime) –
universe (TradingStrategyUniverse) –
- refresh_visualisations(state, universe)[source]#
Update the visualisations in the run state.
This will update RunState.visualisations for the current strategy.
In-process memory charts are served by webhook
In-process memory charts are posted to Discord, etc.
This is called on the startup, so that we have immediately good visualisation to show over the webhook when the web server boots up
This is called after each strategy thinking cycle is complete.
The function is overridden by the child class for actual strategy runner specific implementation.
- Parameters:
state (State) –
universe (TradingStrategyUniverse) –
- update_strategy_thinking_image_data(small_image, large_image)[source]#
Update the strategy thinking image data with small, small dark theme, large, and large dark theme images.
- Parameters:
small_image – 512 x 512 image PNG
large_image – 1920 x 1920 image SVG
- get_small_images(small_figure)[source]#
Gets the png image of the figure and the dark theme png image. Images are 512 x 512.
- get_large_images(large_figure)[source]#
Gets the png image of the figure and the dark theme png image. Images are 1024 x 1024.
- get_image_and_dark_image(figure, width, height)[source]#
Renders the figure as a PNG image and a dark theme PNG image.
- report_strategy_thinking(strategy_cycle_timestamp, cycle, universe, state, trades, debug_details)[source]#
Strategy admin helpers to understand a live running strategy.
Post latest variables
Draw the single pair strategy visualisation.
To manually test the visualisation see: manual-visualisation-test.py.
- Parameters:
strategy_cycle_timestamp (datetime) – real time lock
cycle (int) – Cycle number
universe (TradingStrategyUniverse) – Currnet trading universe
trades (List[TradeExecution]) – Trades executed on this cycle
state (State) – Current execution state
debug_details (dict) – Dict of random debug stuff