Context: the Awesome AI Trading Research full-text review included this caveat:
Linear transaction cost model may be optimistic for larger portfolios.
Goal: add a documented stress-test layer around transaction costs and slippage, so public validation reports can show how fragile a result is under less optimistic execution assumptions.
Suggested scope:
- keep the current linear cost model as the default baseline;
- add optional stress scenarios, such as higher bps, turnover-linked cost, liquidity haircut, or capped participation assumptions;
- report net metrics side by side with clear labels;
- document which assumptions are simple research stress tests rather than live execution models;
- add tests for cost accounting units and monotonicity where applicable.
Useful entry points:
Acceptance criteria:
- A validation report can include at least one non-default cost/slippage stress scenario.
- Documentation keeps the model boundary explicit.
- Tests prevent unit confusion between daily, cumulative, and annualized cost drag.
Context: the Awesome AI Trading Research full-text review included this caveat:
Goal: add a documented stress-test layer around transaction costs and slippage, so public validation reports can show how fragile a result is under less optimistic execution assumptions.
Suggested scope:
Useful entry points:
docs/backtest_assumptions.mddocs/backtest_cost_drag_story.mddocs/validation_dashboard.mdsrc/mlquant/backtest/engine.pysrc/mlquant/backtest/metrics.pyAcceptance criteria: