# Symbol-Timeframe Model Training Report

**Generated:** 2026-01-06 23:18:24

## 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.925517 | 1.285657 | -0.0433 | 90.39% | 288433 | 50901 |
| XAUUSD_5m_low_h3 | XAUUSD | 5m | low | 0.845002 | 1.207721 | 0.0019 | 95.60% | 288433 | 50901 |
| XAUUSD_15m_high_h3 | XAUUSD | 15m | high | 1.596104 | 2.208432 | -0.0460 | 93.52% | 96882 | 17097 |
| XAUUSD_15m_low_h3 | XAUUSD | 15m | low | 1.539941 | 2.166622 | -0.0904 | 97.03% | 96882 | 17097 |
| EURUSD_5m_high_h3 | EURUSD | 5m | high | 0.000367 | 0.000615 | -0.0012 | 97.94% | 312864 | 55212 |
| EURUSD_5m_low_h3 | EURUSD | 5m | low | 0.000352 | 0.000593 | -0.0082 | 98.12% | 312864 | 55212 |
| EURUSD_15m_high_h3 | EURUSD | 15m | high | 0.000650 | 0.001053 | -0.0006 | 98.28% | 104710 | 18479 |
| EURUSD_15m_low_h3 | EURUSD | 15m | low | 0.000624 | 0.000990 | -0.0009 | 98.33% | 104710 | 18479 |

## Model Files

Models saved to: `/home/isem/workspace-v1/projects/trading-platform/apps/ml-engine/models/backtest_mar2024/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*
