Files
foxhunt/ml/trained_models/evaluation_report.json
jgrusewski e3f32742fa feat(ml): walk-forward training pipeline with real Databento data
Fix zstd decoder in train_baseline.rs and evaluate_baseline.rs (same
pattern as hyperopt adapters — branch on .dbn.zst extension). Add CLI
flags for walk-forward config (train/val/test/step months), learning
rate, and max-steps-per-epoch to make pipeline validation feasible.

Pipeline validated end-to-end: hyperopt (5 trials, best Sharpe 2.37) →
walk-forward training (4 folds, 6/1/1 month windows on ES.FUT) →
evaluation (4 fold test sets, checkpoints + norm stats saved).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 21:48:10 +01:00

65 lines
1.7 KiB
JSON

{
"folds": [
{
"fold": 0,
"model": "dqn",
"sharpe_ratio": 8.356999686712793,
"max_drawdown_pct": 589910.0,
"win_rate_pct": 72.15007215007215,
"profit_factor": 8.395671459208245,
"total_return_pct": 16820974570.000225,
"num_trades": 101178,
"test_start": "2025-02-02",
"test_end": "2025-03-31"
},
{
"fold": 1,
"model": "dqn",
"sharpe_ratio": 7.669943186882817,
"max_drawdown_pct": 139841.25,
"win_rate_pct": 70.69554495472187,
"profit_factor": 6.612933004041576,
"total_return_pct": 15835838494.999826,
"num_trades": 98944,
"test_start": "2025-05-01",
"test_end": "2025-06-30"
},
{
"fold": 2,
"model": "dqn",
"sharpe_ratio": 8.596876079695132,
"max_drawdown_pct": 275.0,
"win_rate_pct": 69.62452758458751,
"profit_factor": 12.6028379451134,
"total_return_pct": 16770955110.000101,
"num_trades": 89434,
"test_start": "2025-08-01",
"test_end": "2025-09-30"
},
{
"fold": 3,
"model": "dqn",
"sharpe_ratio": 8.70207998896788,
"max_drawdown_pct": 546728.0000000001,
"win_rate_pct": 71.24428773821063,
"profit_factor": 9.160697783607874,
"total_return_pct": 19386292389.999477,
"num_trades": 93877,
"test_start": "2025-11-02",
"test_end": "2025-12-31"
}
],
"aggregate": {
"dqn_avg_sharpe": 8.331474735564655,
"dqn_avg_drawdown": 319188.5625,
"dqn_avg_win_rate": 70.92860810689804,
"ppo_avg_sharpe": 0.0,
"ppo_avg_drawdown": 0.0,
"ppo_avg_win_rate": 0.0
},
"sanity_checks": {
"beats_random": true,
"action_diversity": true,
"fold_consistency": true
}
}