--- license: apache-2.0 tags: - forex - trading - time-series - classification - xgboost - lightgbm - lstm --- # OANDA Trading Signal Models Multi-model classification pipeline predicting BUY / HOLD / SELL signals for major forex pairs using 10 years of H1 candle data. ## Instruments USD_CHF ## Granularity H1 (1-hour candles) ## Model Performance (Test Set) | Model | Accuracy | F1 (weighted) | Sharpe Ratio | Return % | Max DD % | |-----------|----------|--------------|--------------|----------|----------| | xgboost | 0.3895086891225059 | 0.4624705139898039 | 0.0 | 0.0% | 0.0% | | lightgbm | 0.370521347350354 | 0.4419163108223123 | 0.0 | 0.0% | 0.0% | | lstm | 0.3868268611885861 | 0.45938959752709685 | -0.476 | -0.0% | -0.0% | ## Usage ```python from huggingface_hub import hf_hub_download import joblib # Download and load XGBoost model path = hf_hub_download(repo_id="keeprich/oanda-trading-models", filename="models/xgboost/EUR_USD_H1/model.pkl") model = joblib.load(path) ``` ## Features 30 engineered technical features including: - EMA crossovers (8, 21, 50, 200) - RSI (7, 14), MACD, Stochastic, Williams %R, CCI, ADX - Bollinger Bands (width, %B), ATR - Log returns and lagged returns ## Target 3-class signal: `0=SELL`, `1=HOLD`, `2=BUY` Based on 4-bar forward return with ±0.15% threshold. ## Training - Period: 10 years (2016–2026) - Split: 70% train / 15% val / 15% test (time-ordered, no shuffle) - Scaling: StandardScaler fitted on train set only Generated: 2026-07-11