trader.persistence.backtests module

Repository for backtest runs and their simulated trades (requirements §12).

class trader.persistence.backtests.BacktestRepository(session_factory)[source]

Bases: object

Persists a completed backtest so past runs stay comparable.

Parameters:

session_factory (sessionmaker[Session])

save(result, start, end, parameters)[source]

Write the run and its trades in one transaction. Returns the run id.

Parameters:
  • result (BacktestResult)

  • start (datetime)

  • end (datetime)

  • parameters (dict[str, object])

Return type:

int

load_run(run_id)[source]

Fetch one run’s summary row, or None.

Parameters:

run_id (int)

Return type:

BacktestRun | None

load_trades(run_id)[source]

Fetch a run’s simulated trades, oldest entry first.

Parameters:

run_id (int)

Return type:

list[BacktestTrade]