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>
55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
# Symbol-Timeframe Model Training Report
|
|
|
|
**Generated:** 2026-01-05 02:28:25
|
|
|
|
## Configuration
|
|
|
|
- **Training Data Cutoff:** 2024-12-31 (excluding 2025 for backtesting)
|
|
- **Dynamic Factor Weighting:** Enabled
|
|
- **Sample Weight Method:** Softplus with beta=4.0, w_max=3.0
|
|
|
|
## Training Results Summary
|
|
|
|
| Model | Symbol | Timeframe | Target | MAE | RMSE | R2 | Dir Accuracy | Train | Val |
|
|
|-------|--------|-----------|--------|-----|------|----|--------------| ----- | --- |
|
|
| XAUUSD_5m_high_h3 | XAUUSD | 5m | high | 0.759862 | 1.228181 | 0.0840 | 90.76% | 288285 | 50874 |
|
|
| XAUUSD_5m_low_h3 | XAUUSD | 5m | low | 0.761146 | 1.123620 | 0.0730 | 93.92% | 288285 | 50874 |
|
|
| XAUUSD_15m_high_h3 | XAUUSD | 15m | high | 1.398330 | 2.184309 | 0.0574 | 94.25% | 96991 | 17117 |
|
|
| XAUUSD_15m_low_h3 | XAUUSD | 15m | low | 1.348695 | 1.961190 | 0.0556 | 96.30% | 96991 | 17117 |
|
|
| EURUSD_5m_high_h3 | EURUSD | 5m | high | 0.000323 | 0.000440 | -0.1931 | 97.82% | 313653 | 55351 |
|
|
| EURUSD_5m_low_h3 | EURUSD | 5m | low | 0.000316 | 0.000463 | -0.1203 | 97.66% | 313653 | 55351 |
|
|
| EURUSD_15m_high_h3 | EURUSD | 15m | high | 0.000586 | 0.000784 | -0.2201 | 98.25% | 105128 | 18552 |
|
|
| EURUSD_15m_low_h3 | EURUSD | 15m | low | 0.000588 | 0.000796 | -0.1884 | 98.32% | 105128 | 18552 |
|
|
|
|
## Model Files
|
|
|
|
Models saved to: `/home/isem/workspace-v1/projects/trading-platform/apps/ml-engine/models/symbol_timeframe_models`
|
|
|
|
### Model Naming Convention
|
|
- `{symbol}_{timeframe}_high_h{horizon}.joblib` - High range predictor
|
|
- `{symbol}_{timeframe}_low_h{horizon}.joblib` - Low range predictor
|
|
|
|
## Usage Example
|
|
|
|
```python
|
|
from training.symbol_timeframe_trainer import SymbolTimeframeTrainer
|
|
|
|
# Load trained models
|
|
trainer = SymbolTimeframeTrainer()
|
|
trainer.load('models/symbol_timeframe_models/')
|
|
|
|
# Predict for XAUUSD 15m
|
|
predictions = trainer.predict(features, 'XAUUSD', '15m')
|
|
print(f"Predicted High: {predictions['high']}")
|
|
print(f"Predicted Low: {predictions['low']}")
|
|
```
|
|
|
|
## Notes
|
|
|
|
1. Models exclude 2025 data for out-of-sample backtesting
|
|
2. Dynamic factor weighting emphasizes high-movement samples
|
|
3. Separate models for HIGH and LOW predictions per symbol/timeframe
|
|
|
|
---
|
|
*Report generated by Symbol-Timeframe Training Pipeline*
|