mirror of
https://github.com/BrentNeale1/fx-quant.git
synced 2026-08-03 05:47:43 +00:00
dce54845c2
- Built event-driven backtesting engine with spread/slippage modeling, 3-TP partial closes, trailing stops, and rich trade logging (20+ features) - Implemented 5 strategy signal generators (MA Breakout, VWAP Reversal, Key Level Breakout, EMA Ribbon Scalp, Momentum Exhaustion) - Full indicator library (EMA, SMA, RSI, ATR, MACD, ADX, Stochastic, Session VWAP bands, swing points, key levels, RSI divergence) - Data pipeline: Dukascopy download, validation, 70/30 train/test split - Baseline results: all 5 strategies generate 200+ trades on training data (Jan 2021 - Aug 2023), best profit factors 0.82-0.96 on select pairs - Trade logs and reports saved for Phase 3 ML feature engineering Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
105 lines
1.9 KiB
YAML
105 lines
1.9 KiB
YAML
general:
|
|
project_name: fx-quant
|
|
timezone: UTC
|
|
brokers:
|
|
- name: oanda
|
|
type: oanda_v20
|
|
enabled: true
|
|
instruments:
|
|
- GBP_AUD
|
|
- EUR_AUD
|
|
- EUR_CAD
|
|
- EUR_NZD
|
|
- GBP_USD
|
|
- EUR_USD
|
|
- GBP_JPY
|
|
- USD_JPY
|
|
- EUR_GBP
|
|
- GBP_CAD
|
|
data:
|
|
candle_count: 200
|
|
candle_granularities:
|
|
- M15
|
|
- H1
|
|
- H4
|
|
tick_export: false
|
|
features:
|
|
sma_windows:
|
|
- 3
|
|
- 20
|
|
- 50
|
|
- 100
|
|
- 200
|
|
ema_windows:
|
|
- 20
|
|
- 50
|
|
- 100
|
|
- 200
|
|
rsi_period: 14
|
|
atr_period: 14
|
|
vwap_window: 20
|
|
volatility_window: 20
|
|
macd: [12, 26, 9]
|
|
adx_period: 14
|
|
stochastic: [5, 3, 3]
|
|
session_vwap_bands: true
|
|
ai:
|
|
model: local-ensemble
|
|
confidence_threshold: 0.75
|
|
retriever_enabled: true
|
|
retriever_source: supabase
|
|
ensemble_models:
|
|
- logistic_regression
|
|
- random_forest
|
|
- gradient_boosting
|
|
backtest_validation_window: 50
|
|
sanity_checks:
|
|
rsi_overbought: 80
|
|
rsi_oversold: 20
|
|
volatility_multiplier: 3.0
|
|
strategy:
|
|
rule: pivot_retest_engulfing
|
|
params:
|
|
sma_period: 50
|
|
lookback_bars: 20
|
|
retest_tolerance_atr: 0.5
|
|
strong_close_pct: 0.30
|
|
sl_atr_multiplier: 1.5
|
|
trade_size_pct_of_equity: 0.025
|
|
max_drawdown_pct: 0.05
|
|
# Previous strategy (uncomment to switch back):
|
|
# strategy:
|
|
# rule: sma_cross
|
|
# params:
|
|
# short: 50
|
|
# long: 100
|
|
# trade_size_pct_of_equity: 0.025
|
|
# max_drawdown_pct: 0.05
|
|
execution:
|
|
paper_mode: true
|
|
canary_size_pct: 0.01
|
|
max_positions: 5
|
|
interval_seconds: 60
|
|
economic_calendar:
|
|
enabled: true
|
|
table: economic_calendar
|
|
days_back: 400
|
|
chunk_days: 28
|
|
sleep_between_chunks: 1.0
|
|
impact_threshold: "High"
|
|
event_buffer_minutes: 30
|
|
feature_lookforward_minutes: 240
|
|
currency_country_map:
|
|
EUR: "euro area"
|
|
USD: "united states"
|
|
GBP: "united kingdom"
|
|
JPY: "japan"
|
|
AUD: "australia"
|
|
CAD: "canada"
|
|
CHF: "switzerland"
|
|
NZD: "new zealand"
|
|
supabase:
|
|
url: https://<your>.supabase.co
|
|
key_env_name: SUPABASE_KEY
|
|
table: fx_candles
|