-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfig.json
More file actions
72 lines (64 loc) · 2.13 KB
/
Copy pathconfig.json
File metadata and controls
72 lines (64 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
{
"symbols": ["SPY", "QQQ", "IWM", "GLD"],
"_comment_universe_expanded": "20-symbol validated universe (inception<=2005 AND 60d ADV>$500M). Excluded: XLRE(2015)/XLC(2018)/VEU(2007)/HYG(2007)/SLV(2006) too young, IWB($462M) illiquid. Used by config_expanded_*.json; the live bot trades only the 4 in 'symbols'. See PROGRESS_REPORT.md.",
"universe_expanded": ["XLK","XLV","XLF","XLY","XLP","XLE","XLI","XLB","XLU","SPY","QQQ","IWM","MDY","IJH","EFA","EEM","GLD","TLT","IEF","LQD"],
"strategy_mode": "SWING_TRADING",
"is_live": false,
"poll_interval_seconds": 900,
"api_key_id": "YOUR_ALPACA_KEY_ID",
"api_secret_key": "YOUR_ALPACA_SECRET_KEY",
"risk": {
"max_capital_per_trade_pct": 0.25,
"risk_per_trade_pct": 0.025,
"max_portfolio_drawdown_pct": 0.25,
"max_daily_loss_pct": 0.03,
"stop_loss_pct": 0.08,
"take_profit_pct": 0.15,
"atr_stop_multiplier": 4.0,
"max_open_positions": 4
},
"strategy": {
"ema_fast_period": 20,
"ema_slow_period": 50,
"atr_period": 14,
"history_bars": 300,
"bar_timeframe": "1Day",
"min_atr_pct": 0.0,
"trend_ema_period": 200,
"adx_period": 14,
"min_adx": 0.0,
"rel_vol_period": 20,
"min_rel_vol": 0.0,
"trail_atr_multiplier": 0.0,
"time_stop_bars": 0,
"flatten_eod_minutes": 0,
"entry_mode": "trend",
"reentry_cooldown_bars": 5
},
"backtest": {
"initial_cash": 100000,
"slippage_bps": 2.0,
"commission_per_share": 0.0,
"data_dir": "data"
},
"risk_daemon": {
"enabled": true,
"check_interval_minutes": 30,
"renew_before_days": 7
},
"_comment_regime": "Regime classifier is OFF by default; this block documents the knobs. Walk-forward (2026-06-13) showed it does not beat unfiltered Variant H out-of-sample, so it stays disabled. Set enabled+filter_enabled true to gate entries; see PROGRESS_REPORT.md.",
"regime_classifier": {
"enabled": false,
"filter_enabled": false,
"threshold": 0.5,
"gain": 4.0,
"bias": 0.0,
"weights": {
"trend_strength": 0.2,
"trend_direction": 0.2,
"vol_calm": 0.2,
"momentum": 0.2,
"breadth": 0.2
}
}
}