You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
3.1 KiB
JSON

{
"experiment_name": "xsmom_v2b_vix_only",
"dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2",
"description": "Phase 20b: VIX-only regime gate (drop SPY filter that killed test). Hypothesis: VIX>30 captures stress periods without filtering normal pullbacks. Phase 20 SPY 50dma filter caught train MDD reduction but killed test (3.1% -> -0.14%) by skipping recoverable pullbacks. Drop spy_sma_filter; keep VIX gate only.",
"base_config": "configs/backtest/return_max_long_v1.json",
"overrides": {
"signal": {
"scoring_model": "return_max_long_v13e",
"score_threshold": 0.0,
"max_candidates_per_day": 30,
"a_tier_score_threshold": 0.99
},
"risk": {
"per_trade_risk_pct": 0.3,
"per_trade_risk_pct_a_tier": 0.3,
"max_daily_new_risk_pct": 100,
"max_positions": 20,
"max_positions_per_sector": 10,
"max_position_value_pct": 5,
"max_adv_fraction": 0.3,
"macro_regime_neutral_size_scaler": 1,
"macro_regime_risk_off_size_scaler": 1,
"veto_unknown_direction": false,
"veto_bearish_direction": false,
"macro_regime_risk_off_a_tier_only": false,
"stop_atr_multiplier": 5.0,
"allow_budget_downsizing": true,
"cash_parking_preset": null,
"fixed_capital_sizing": false
},
"execution": {
"trailing_model": null,
"trailing_warmup_days": 999,
"max_holding_days": 21,
"early_failure_no_progress_days": 0,
"early_failure_no_progress_r": 0.0,
"early_failure_no_progress_fraction": 0,
"no_follow_through_exit": false,
"lookback_entry_enabled": false
},
"event_type_profiles": {
"xsmom_12_1": {
"enabled": true,
"direction_filter": "any",
"max_holding_days_override": 21
}
},
"idle_alpha_sleeve_preset": null,
"form4_capture_sleeve_preset": null,
"ownership_capture_sleeve_preset": null,
"risk_off_alpha_sleeve_preset": null,
"dividend_capture_sleeve_preset": null
},
"strategy_engines": [
{
"engine_id": "xsmom_12_1_long",
"event_types": [
"xsmom_12_1"
],
"timing_class": "after_close",
"direction": "long_only",
"entry_timing_policy": "next_open",
"engine_risk_budget_pct": 1.0,
"score_threshold_override": 0.0,
"max_holding_days": 21,
"xsmom_enabled": true,
"xsmom_lookback_days": 252,
"xsmom_skip_days": 21,
"xsmom_top_n": 20,
"xsmom_holding_days": 21,
"xsmom_momentum_min": 0.0,
"xsmom_min_avg_dollar_volume": 10000000.0,
"xsmom_min_price": 5.0,
"xsmom_volatility_20d_max": 0.08,
"xsmom_stop_pct": 0.1,
"xsmom_target_pct": 0.3,
"xsmom_vix_max": 30.0,
"xsmom_spy_sma_filter_period": null,
"enabled": true
}
],
"tags": [
"xsmom",
"phase20",
"regime_filter",
"mdd_reduction"
],
"version_family": "xsmom",
"status": "draft",
"changelog": "Phase 20b: VIX-only (drop SPY filter). Train MDD goal: <30% via VIX alone. Valid/test must remain >0.",
"parent": "xsmom_v2_regime_mdd",
"performance_summary": null,
"missing_infrastructure": []
}