stateful_trading_env

Classes

StatefulTradingEnv

Stateful trading environment for backtesting and paper trading.

Module Contents

class stateful_trading_env.StatefulTradingEnv(data, cfg, features, time_step=(TimeFrameUnit.Day, 1), position_manager=None)

Bases: trading.src.alg.environments.base_environment.BaseTradingEnv

Stateful trading environment for backtesting and paper trading. Maintains full portfolio state, position tracking, and enforces trading constraints. This is the environment that should be used for realistic testing and evaluation.

Parameters:
  • data (pandas.DataFrame)

  • cfg (trading.cli.alg.config.StockEnv)

  • features (List[trading.src.features.generic_features.Feature])

  • time_step (tuple[alpaca.data.timeframe.TimeFrameUnit, int])

  • position_manager (trading.src.portfolio.portfolio.PositionManager | None)

pf: trading.src.portfolio.portfolio.Portfolio
reward_function
stats
_get_observation(i=-1)

Get the current observation with full portfolio state.

Parameters:

i (int)

Return type:

numpy.ndarray

_reset_internal_states(timestamp=None)

Reset internal states including portfolio.

Parameters:

timestamp (pandas.Timestamp | None)

reset(*, timestamp=None, seed=None, options=None)

Reset the environment to its initial state.

Parameters:
  • timestamp (pandas.Timestamp | None)

  • seed (Optional[int])

  • options (Optional[dict])

render()

Render environment state with portfolio information.

step(action)

Execute one time step with full portfolio management. This includes position tracking, trade enforcement, and proper reward calculation.