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.
fithia2/configs/experiments/earnings_runup_poc_v2_tuned...

84 lines
3.5 KiB
JSON

{
"experiment_name": "earnings_runup_poc_v2_tuned",
"dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2",
"description": "EarningsRunup PoC v2 with risk-tuned exits. v1 baseline: +37.27% return, MDD 53.23% (raw) / 44.46% (SQS risk component), SQS 45.2. Changes: (a) wire pct-trailing end-to-end via new trailing_pct_activation/trailing_pct_giveback fields → trailing only arms after +5% peak P&L, then locks in (peak_pnl - 3%) of entry; (b) per_trade_risk_pct 0.65 → 0.30 (halve sizing); (c) max_positions 30 → 8 (concentration cap); (d) macro_vix_max 30 (skip earnings runup setups in macro stress). Goal: cut MDD from ~53% to <25% while preserving the +37% return signal.",
"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": 18,
"a_tier_score_threshold": 0.99
},
"risk": {
"per_trade_risk_pct": 0.30,
"per_trade_risk_pct_a_tier": 0.30,
"max_daily_new_risk_pct": 50,
"max_positions": 8,
"max_positions_per_sector": 4,
"max_position_value_pct": 25,
"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": 3,
"allow_budget_downsizing": true,
"cash_parking_preset": null,
"fixed_capital_sizing": false
},
"execution": {
"trailing_warmup_days": 0,
"max_holding_days": 7,
"early_failure_no_progress_days": 1,
"early_failure_no_progress_r": 0.0,
"early_failure_no_progress_fraction": 0,
"lookback_entry_enabled": false
},
"event_type_profiles": {
"earnings_runup_preevent": {
"enabled": true,
"direction_filter": "any",
"max_holding_days_override": 7
}
},
"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": "earnings_runup_preevent_long",
"event_types": ["earnings_runup_preevent"],
"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": 7,
"macro_vix_max": 30.0,
"earnings_runup_enabled": true,
"earnings_runup_days_to_earnings_min": 3,
"earnings_runup_days_to_earnings_max": 7,
"earnings_runup_attention_zscore_20d_min": 1.5,
"earnings_runup_dollar_volume_zscore_20d_min": 1.0,
"earnings_runup_min_avg_dollar_volume": 50000000.0,
"earnings_runup_stop_pct": 0.04,
"earnings_runup_target_pct": 0.08,
"earnings_runup_trailing_activate_pct": 0.05,
"earnings_runup_trailing_giveback_pct": 0.03,
"earnings_runup_calendar_buffer_days": 1,
"enabled": true
}
],
"tags": ["earnings_runup", "preevent_drift", "poc", "risk_tuned"],
"version_family": "earnings_runup",
"status": "draft",
"changelog": "v2: wire pct-trailing end-to-end (5% activation / 3% entry-relative giveback); cut per_trade_risk 0.65→0.30; cap max_positions 30→8; add macro_vix_max=30.",
"parent": "earnings_runup_poc_v1",
"performance_summary": null
}