6d235061b9
- data_provider: new fetch_historical() that paginates /time_series in 5000-bar chunks (1 credit/chunk) for arbitrary date ranges. Tolerates the API's "no data on specified dates" boundary error gracefully when prior chunks succeeded — that error is just the marker that we walked past the symbol's earliest available bar. - seed_history.py: one-shot CLI that downloads OHLCV for the configured pairs/TFs into history/<PAIR>_<TF>.csv. Skips existing files unless --force. - backtest.py: walk-forward replay through SignalAggregator with strict no-look-ahead semantics. Each bar is only visible to the engine after it has fully closed (`df.index + interval <= as_of`). Trade simulation is first-touch (SL vs TP1) with worst-case (SL first if both touched same bar), spread cost deducted from R, max-hold timeout, no-overlap. Reports per-grade win-rate / avg-R / profit-factor / max-DD, plus optional matplotlib equity + by-grade plots. - requirements: add matplotlib (lazy-imported, only needed for --plot). - .gitignore: history/ and backtest_results/ regenerable, kept untracked. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
22 lines
312 B
Plaintext
22 lines
312 B
Plaintext
# Secrets
|
|
.env
|
|
.env.local
|
|
|
|
# Editor / tooling
|
|
.claude/
|
|
.vscode/
|
|
.idea/
|
|
|
|
# Python (note: __pycache__/ is intentionally tracked in this repo — see CLAUDE.md)
|
|
*.egg-info/
|
|
.venv/
|
|
venv/
|
|
|
|
# OS
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# Backtest data + outputs (regenerable from seed_history.py / backtest.py)
|
|
history/
|
|
backtest_results/
|