trading-platform-ml-engine-v2/models/ml_first/XAUUSD/training_results.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

214 lines
6.8 KiB
JSON

{
"timestamp": "2026-01-04T19:58:12.901655",
"models": {
"range_predictor": {
"15m": {
"train_metrics": {
"15m_scalping_high": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "high",
"mae": 0.0004886651440883244,
"mape": 0.0,
"rmse": 0.0007872084942626686,
"r2": -4.2548617518178844e-08,
"directional_accuracy": 0.9222151196043468,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
},
"15m_scalping_low": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "low",
"mae": 0.000477617858210229,
"mape": 0.0,
"rmse": 0.0007654664852899963,
"r2": -1.914598923846711e-09,
"directional_accuracy": 0.9463967298052014,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
},
"15m_scalping_direction": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "direction",
"mae": 0.0,
"mape": 0.0,
"rmse": 0.0,
"r2": 0.0,
"directional_accuracy": 0.6658648184907311,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
},
"15m_intraday_high": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "high",
"mae": 0.0006993423167130341,
"mape": 0.0,
"rmse": 0.0011127675078032532,
"r2": -2.3644777247255888e-08,
"directional_accuracy": 0.9455051643508394,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
},
"15m_intraday_low": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "low",
"mae": 0.0006804403533430972,
"mape": 0.0,
"rmse": 0.0010767935935523123,
"r2": -2.7826232429362108e-09,
"directional_accuracy": 0.9635803922887999,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
},
"15m_intraday_direction": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "direction",
"mae": 0.0,
"mape": 0.0,
"rmse": 0.0,
"r2": 0.0,
"directional_accuracy": 0.6963462638360866,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 118892,
"date_range": ""
}
},
"oos_metrics": {
"15m_scalping_high": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "high",
"mae": 0.0004675201139471693,
"mape": 0.0,
"rmse": 0.0006543397451561858,
"r2": -0.002294076158399383,
"directional_accuracy": 0.9255290287574607,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
},
"15m_scalping_low": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "low",
"mae": 0.00048778072215059035,
"mape": 0.0,
"rmse": 0.000733354945431411,
"r2": -6.548287205032643e-05,
"directional_accuracy": 0.940246880086815,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
},
"15m_scalping_direction": {
"timeframe": "15m",
"horizon": "scalping",
"target_type": "direction",
"mae": 0.0,
"mape": 0.0,
"rmse": 0.0,
"r2": 0.0,
"directional_accuracy": 0.48134834508952795,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
},
"15m_intraday_high": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "high",
"mae": 0.0006585377108682153,
"mape": 0.0,
"rmse": 0.0009067521187457082,
"r2": -0.002423385694949598,
"directional_accuracy": 0.9494709712425393,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
},
"15m_intraday_low": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "low",
"mae": 0.0006908570190734443,
"mape": 0.0,
"rmse": 0.001027100555907235,
"r2": -7.776256038871665e-06,
"directional_accuracy": 0.9578133478024959,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
},
"15m_intraday_direction": {
"timeframe": "15m",
"horizon": "intraday",
"target_type": "direction",
"mae": 0.0,
"mape": 0.0,
"rmse": 0.0,
"r2": 0.0,
"directional_accuracy": 0.46629137276180144,
"profitable_predictions": 0.0,
"avg_edge": 0.0,
"n_samples": 14744,
"date_range": ""
}
},
"model_path": "models/ml_first/XAUUSD/range_predictor/15m",
"train_size": 118892,
"val_size": 20980,
"test_size": 14744
}
},
"amd_detector": {
"train_metrics": {
"accuracy": 0.7689660201254193,
"macro_f1": 0.7339108128949361,
"weighted_f1": 0.770156163085288,
"per_class_f1": {
"accumulation": 0.6420216761455092,
"manipulation": 0.9209081796630125,
"distribution": 0.6388025828762867
},
"confusion_matrix": "[[11966 1098 5292]\n [ 1375 28940 1403]\n [ 5579 1095 11822]]",
"n_samples": 68570
},
"oos_metrics": {
"accuracy": 0.0671415226529659,
"weighted_f1": 0.0586022587498925
},
"model_path": "models/ml_first/XAUUSD/amd_detector",
"train_size": 118892,
"test_size": 14745
}
},
"oos_results": {},
"summary": {
"total_models_trained": 7,
"range_predictor": {},
"amd_detector": {},
"validation_passed": "True",
"best_oos_directional_accuracy": 0.9578133478024959
}
}