PandasTraderRunner#
API documentation for 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:
engine_version –
Strategy execution version.
Changes function arguments based on this. See StrategyModuleInformation.trading_strategy_engine_version.
decide_trades (tradeexecutor.strategy.strategy_module.DecideTradesProtocol | tradeexecutor.strategy.strategy_module.DecideTradesProtocol2 | tradeexecutor.strategy.strategy_module.DecideTradesProtocol3 | tradeexecutor.strategy.strategy_module.DecideTradesProtocol4) –
max_data_age (timedelta) –
Methods
__init__
(*args, decide_trades[, max_data_age])- param engine_version:
calculate_live_indicators
(timestamp, ...)Calculate and recalculate indicators in a live trading.
check_accounts
(universe, state[, ...])Perform extra accounting checks on live trading startup.
check_balances_post_execution
(universe, ...)Check that on-chain balances matches our internal accounting after executing trades.
check_position_triggers
(clock, state, ...[, ...])Check stop loss/take profit for positions.
collect_post_execution_data
(...)Collect post execution data for all trades.
is_progress_report_needed
()Do we log the strategy steps to logger?
on_clock
(clock, strategy_universe, ...[, ...])Run one strategy tick.
on_data_signal
()pretick_check
(ts, universe)Check the data looks more or less sane.
refresh_visualisations
(state, universe)Updates the visualisation images for the strategy.
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_state
(ts, state, valuation_model)Revalue portfolio based on the latest prices.
setup_routing
(universe)Setups routing state for this cycle.
sync_portfolio
(...[, end_block, ...])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:
engine_version –
Strategy execution version.
Changes function arguments based on this. See StrategyModuleInformation.trading_strategy_engine_version.
decide_trades (tradeexecutor.strategy.strategy_module.DecideTradesProtocol | tradeexecutor.strategy.strategy_module.DecideTradesProtocol2 | tradeexecutor.strategy.strategy_module.DecideTradesProtocol3 | tradeexecutor.strategy.strategy_module.DecideTradesProtocol4) –
max_data_age (timedelta) –
- on_clock(clock, strategy_universe, pricing_model, state, debug_details, indicators=None)[source]#
Run one strategy tick.
- Parameters:
clock (datetime) –
strategy_universe (TradingStrategyUniverse) –
pricing_model (PricingModel) –
state (State) –
debug_details (dict) –
indicators (tradeexecutor.strategy.pandas_trader.strategy_input.StrategyInputIndicators | None) –
- 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]#
Updates the visualisation images for the strategy.
Used in Discord (small)
Used on the frontend (large)
This is automatically called on trade-executor console startup:
docker compose run enzyme-polygon-eth-btc-usdc console
To call this manually from the same console with pre-set up runner
runner.refresh_visualisations(state, strategy_universe)
- Parameters:
state (State) –
universe (TradingStrategyUniverse) –
- update_strategy_thinking_image_data(small_figure, large_figure)[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
large_image – 1920 x 1920 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
- calculate_live_indicators(timestamp, strategy_universe, parameters)[source]#
Calculate and recalculate indicators in a live trading.
Calculated just before decide_trades is called
Recalculated for every cycle
- Returns:
Freshly calculated indicators
- Parameters:
timestamp (datetime) –
strategy_universe (TradingStrategyUniverse) –
parameters (StrategyParameters) –
- Return type: