topstep-backtest 0.1.0__tar.gz → 0.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/.gitignore +3 -0
- topstep_backtest-0.2.1/AGENTS.md +876 -0
- topstep_backtest-0.2.1/CHANGELOG.md +312 -0
- topstep_backtest-0.2.1/PKG-INFO +321 -0
- topstep_backtest-0.2.1/README.md +281 -0
- topstep_backtest-0.2.1/data/sample_mnq_1m.csv +5851 -0
- topstep_backtest-0.2.1/docs/DESIGN.md +298 -0
- topstep_backtest-0.2.1/docs/INDICATORS.md +443 -0
- topstep_backtest-0.2.1/docs/ROADMAP.md +38 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/docs/TUTORIAL_EMA_CROSSOVER.md +426 -428
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/docs/topstep-rules.md +23 -4
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/ema_cross.py +5 -2
- topstep_backtest-0.2.1/examples/run_montecarlo.py +183 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/run_real_data.py +30 -10
- topstep_backtest-0.2.1/examples/run_tearsheet.py +57 -0
- topstep_backtest-0.2.1/examples/run_windows.py +115 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/pyproject.toml +15 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/__init__.py +1 -1
- topstep_backtest-0.2.1/src/topstep_backtest/_render.py +84 -0
- topstep_backtest-0.2.1/src/topstep_backtest/data/continuous.py +330 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/engine/backtest.py +36 -1
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/execution/sim_broker.py +231 -3
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/harness.py +215 -45
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/indicators/__init__.py +2 -1
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/indicators/base.py +19 -1
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/__init__.py +65 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/economics.py +152 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/montecarlo.py +378 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/overfitting.py +396 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/stats.py +821 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/walkforward.py +288 -0
- topstep_backtest-0.2.1/src/topstep_backtest/metrics/windows.py +314 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/strategy/symbol.py +68 -2
- topstep_backtest-0.2.1/src/topstep_backtest/tearsheet/__init__.py +548 -0
- topstep_backtest-0.2.1/src/topstep_backtest/tearsheet/_assets/lightweight-charts.LICENSE +221 -0
- topstep_backtest-0.2.1/src/topstep_backtest/tearsheet/_assets/lightweight-charts.standalone.production.js +7 -0
- topstep_backtest-0.2.1/src/topstep_backtest/tearsheet/_assets/tearsheet.css +176 -0
- topstep_backtest-0.2.1/src/topstep_backtest/tearsheet/_assets/tearsheet.js +468 -0
- topstep_backtest-0.2.1/tests/golden/artifacts/verdict_failed_mll_s50k.json +1 -0
- topstep_backtest-0.2.1/tests/golden/artifacts/verdict_passed_s50k.json +1 -0
- topstep_backtest-0.2.1/tests/unit/test_continuous.py +311 -0
- topstep_backtest-0.2.1/tests/unit/test_economics.py +146 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_engine.py +166 -3
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_harness.py +24 -1
- topstep_backtest-0.2.1/tests/unit/test_montecarlo.py +252 -0
- topstep_backtest-0.2.1/tests/unit/test_overfitting.py +165 -0
- topstep_backtest-0.2.1/tests/unit/test_stats.py +756 -0
- topstep_backtest-0.2.1/tests/unit/test_tearsheet.py +232 -0
- topstep_backtest-0.2.1/tests/unit/test_walkforward.py +252 -0
- topstep_backtest-0.2.1/tests/unit/test_windows.py +224 -0
- topstep_backtest-0.1.0/AGENTS.md +0 -216
- topstep_backtest-0.1.0/CHANGELOG.md +0 -49
- topstep_backtest-0.1.0/PKG-INFO +0 -250
- topstep_backtest-0.1.0/README.md +0 -215
- topstep_backtest-0.1.0/docs/DESIGN.md +0 -806
- topstep_backtest-0.1.0/docs/GUIDE.md +0 -631
- topstep_backtest-0.1.0/docs/ROADMAP.md +0 -43
- topstep_backtest-0.1.0/docs/STRATEGY_API.md +0 -615
- topstep_backtest-0.1.0/src/topstep_backtest/metrics/__init__.py +0 -5
- topstep_backtest-0.1.0/src/topstep_backtest/metrics/stats.py +0 -153
- topstep_backtest-0.1.0/tests/golden/artifacts/verdict_failed_mll_s50k.json +0 -1
- topstep_backtest-0.1.0/tests/golden/artifacts/verdict_passed_s50k.json +0 -1
- topstep_backtest-0.1.0/tests/unit/test_stats.py +0 -212
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/LICENSE +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/hand_wired.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/run_combine.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/sma_cross.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/examples/talib_macd.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/clock/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/clock/live_clock.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/clock/test_clock.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/core/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/core/ids.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/core/instruments.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/core/money.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/core/time.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/clean.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/feed.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/synthetic.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/validator.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/data/wrangler.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/engine/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/execution/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/execution/rejections.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/fills/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/fills/bar_fill.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/fills/fees.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/fills/path.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/indicators/library.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/indicators/talib_adapter.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/protocols.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/py.typed +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/rules/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/rules/kernel.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/rules/params.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/strategy/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/strategy/base.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/src/topstep_backtest/strategy/tracker.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/conftest.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/golden/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/golden/test_combine_kernel.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/golden/test_facade_equivalence.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/golden/test_sugar_equivalence.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/golden/test_verdict_goldens.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/parity/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/parity/test_broker_conformance.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/property/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/property/test_indicator_props.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/property/test_kernel_props.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/property/test_money_props.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/__init__.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_bar_fill.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_clean.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_clock.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_data_feed.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_fees.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_indicators.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_instruments.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_path.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_sim_broker.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_symbol_strategy.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_synthetic.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_talib_adapter_hardening.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_time.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_tracker.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_validator.py +0 -0
- {topstep_backtest-0.1.0 → topstep_backtest-0.2.1}/tests/unit/test_wrangler.py +0 -0