trading-platform-ml-engine-v2/reports/backtest_oos/backtest_oos_20260106_232228.json
rckrdmrd 75c4d07690 feat: Initial commit - ML Engine codebase
Hierarchical ML Pipeline for trading predictions:
- Level 0: Attention Models (volatility/flow classification)
- Level 1: Base Models (XGBoost per symbol/timeframe)
- Level 2: Metamodels (XGBoost Stacking + Neural Gating)

Key components:
- src/pipelines/hierarchical_pipeline.py - Main prediction pipeline
- src/models/ - All ML model classes
- src/training/ - Training utilities
- src/api/ - FastAPI endpoints
- scripts/ - Training and evaluation scripts
- config/ - YAML configurations

Note: Trained models (*.joblib, *.pt) are gitignored.
      Regenerate with training scripts.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 04:27:40 -06:00

230 lines
6.1 KiB
JSON

{
"XAUUSD_5m": {
"symbol": "XAUUSD",
"timeframe": "5m",
"n_samples": "73226",
"mae_high": 1.0982241894407663,
"mae_low": 1.2216956629276754,
"rmse_high": 1.5840779165698429,
"rmse_low": 1.79103723697663,
"dir_accuracy_high": 0.9135279818643651,
"dir_accuracy_low": 0.93242837243602,
"high_signals": 65174,
"high_signal_accuracy": 0.9147205941019425,
"low_signals": 70547,
"low_signal_accuracy": 0.9324563765999971,
"rr_analysis": {
"rr_1.0": {
"win_rate": 0.5095685455810717,
"wins": 23432,
"losses": 22552,
"total_trades": 45984,
"expectancy": 0.01913709116214335,
"rr_ratio": 1.0
},
"rr_1.5": {
"win_rate": 0.3623434274889021,
"wins": 12815,
"losses": 22552,
"total_trades": 35367,
"expectancy": -0.09414143127774477,
"rr_ratio": 1.5
},
"rr_2.0": {
"win_rate": 0.2271948461380303,
"wins": 6630,
"losses": 22552,
"total_trades": 29182,
"expectancy": -0.3184154615859091,
"rr_ratio": 2.0
},
"rr_2.5": {
"win_rate": 0.13070963265620783,
"wins": 3391,
"losses": 22552,
"total_trades": 25943,
"expectancy": -0.5425162857032726,
"rr_ratio": 2.5
},
"rr_3.0": {
"win_rate": 0.07391590013140605,
"wins": 1800,
"losses": 22552,
"total_trades": 24352,
"expectancy": -0.7043363994743759,
"rr_ratio": 3.0
}
}
},
"XAUUSD_15m": {
"symbol": "XAUUSD",
"timeframe": "15m",
"n_samples": "24578",
"mae_high": 2.0019162363795133,
"mae_low": 2.388214974938367,
"rmse_high": 2.7940621425429786,
"rmse_low": 3.341656446664909,
"dir_accuracy_high": 0.9464561803238669,
"dir_accuracy_low": 0.9591097729676947,
"high_signals": 23131,
"high_signal_accuracy": 0.946608447537936,
"low_signals": 23701,
"low_signal_accuracy": 0.9589468798784861,
"rr_analysis": {
"rr_1.0": {
"win_rate": 0.5537220660056238,
"wins": 7483,
"losses": 6031,
"total_trades": 13514,
"expectancy": 0.10744413201124758,
"rr_ratio": 1.0
},
"rr_1.5": {
"win_rate": 0.391115598182736,
"wins": 3874,
"losses": 6031,
"total_trades": 9905,
"expectancy": -0.02221100454315994,
"rr_ratio": 1.5
},
"rr_2.0": {
"win_rate": 0.24461422845691383,
"wins": 1953,
"losses": 6031,
"total_trades": 7984,
"expectancy": -0.2661573146292585,
"rr_ratio": 2.0
},
"rr_2.5": {
"win_rate": 0.14247120716621642,
"wins": 1002,
"losses": 6031,
"total_trades": 7033,
"expectancy": -0.5013507749182425,
"rr_ratio": 2.5
},
"rr_3.0": {
"win_rate": 0.0809204510819872,
"wins": 531,
"losses": 6031,
"total_trades": 6562,
"expectancy": -0.6763181956720512,
"rr_ratio": 3.0
}
}
},
"EURUSD_5m": {
"symbol": "EURUSD",
"timeframe": "5m",
"n_samples": "76858",
"mae_high": 0.0003001063387650648,
"mae_low": 0.0002970068451901623,
"rmse_high": 0.0004111590789002654,
"rmse_low": 0.0004909341188902894,
"dir_accuracy_high": 0.9795727185198678,
"dir_accuracy_low": 0.9809128522730229,
"high_signals": 76858,
"high_signal_accuracy": 0.9795727185198678,
"low_signals": 76858,
"low_signal_accuracy": 0.9809128522730229,
"rr_analysis": {
"rr_1.0": {
"win_rate": 0.4421223462391945,
"wins": 13349,
"losses": 16844,
"total_trades": 30193,
"expectancy": -0.11575530752161095,
"rr_ratio": 1.0
},
"rr_1.5": {
"win_rate": 0.24466367713004483,
"wins": 5456,
"losses": 16844,
"total_trades": 22300,
"expectancy": -0.38834080717488795,
"rr_ratio": 1.5
},
"rr_2.0": {
"win_rate": 0.13907487860976234,
"wins": 2721,
"losses": 16844,
"total_trades": 19565,
"expectancy": -0.582775364170713,
"rr_ratio": 2.0
},
"rr_2.5": {
"win_rate": 0.07916028865077629,
"wins": 1448,
"losses": 16844,
"total_trades": 18292,
"expectancy": -0.722938989722283,
"rr_ratio": 2.5
},
"rr_3.0": {
"win_rate": 0.048254040004520285,
"wins": 854,
"losses": 16844,
"total_trades": 17698,
"expectancy": -0.8069838399819189,
"rr_ratio": 3.0
}
}
},
"EURUSD_15m": {
"symbol": "EURUSD",
"timeframe": "15m",
"n_samples": "25635",
"mae_high": 0.0005404965076600542,
"mae_low": 0.0005633543312223604,
"rmse_high": 0.0007034057315888307,
"rmse_low": 0.000855075888590468,
"dir_accuracy_high": 0.9861907548273844,
"dir_accuracy_low": 0.9879071581821728,
"high_signals": 25635,
"high_signal_accuracy": 0.9861907548273844,
"low_signals": 25635,
"low_signal_accuracy": 0.9879071581821728,
"rr_analysis": {
"rr_1.0": {
"win_rate": 0.4570922378474145,
"wins": 4128,
"losses": 4903,
"total_trades": 9031,
"expectancy": -0.08581552430517103,
"rr_ratio": 1.0
},
"rr_1.5": {
"win_rate": 0.27049546198482366,
"wins": 1818,
"losses": 4903,
"total_trades": 6721,
"expectancy": -0.32376134503794085,
"rr_ratio": 1.5
},
"rr_2.0": {
"win_rate": 0.15900514579759864,
"wins": 927,
"losses": 4903,
"total_trades": 5830,
"expectancy": -0.522984562607204,
"rr_ratio": 2.0
},
"rr_2.5": {
"win_rate": 0.0913639733135656,
"wins": 493,
"losses": 4903,
"total_trades": 5396,
"expectancy": -0.6802260934025204,
"rr_ratio": 2.5
},
"rr_3.0": {
"win_rate": 0.059466717820832536,
"wins": 310,
"losses": 4903,
"total_trades": 5213,
"expectancy": -0.7621331287166698,
"rr_ratio": 3.0
}
}
}
}