From 02f7b9f8d47cf07f393c92a0edf9283a2ea402f3 Mon Sep 17 00:00:00 2001 From: I Luk Kim Date: Sat, 9 May 2026 11:36:30 -0700 Subject: [PATCH] Fix capital_bucket propagation in synthetic engine candidates + ER silo sweep MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: synthetic Candidate builders in earnings_runup.py / peer_sympathy.py / vol_breakout_52w.py did not propagate engine_capital_bucket_id / engine_capital_bucket_allocation_pct from StrategyEngineConfig onto the emitted Candidate. The selector path (libs/backtest/selector.py:371-383) correctly sets these for selector-built candidates, but the synthetic- candidate paths used by the new engine classes silently dropped them. Cascade: apps/backtester/run.py:_active_capital_bucket_ids_for_candidates scans candidate.engine_capital_bucket_id; when empty, the silo allocator (run.py:790-791) short-circuits and the engine sizes against the full equity pool — making capital_bucket fields a no-op for the new engines. Fix: 3-line addition to each builder mirroring selector.py convention. 108 unit tests pass across the 3 engines. ER silo sweep result (4y midlarge-liquid-long-v1, --split all): config trades er_tr return% mdd% sharpe er_pnl$ v7.356_baseline 390 0 +2356.28 23.55 2.69 0 phase6_shared_0.20 464 77 +2746.21 25.21 2.63 -7589 silo_05 519 89 +2343.02 22.56 2.69 215 silo_10 508 86 +2450.62 23.51 2.73 321 silo_15 516 88 +2489.91 23.48 2.74 389 silo_20 508 84 +2538.27 23.48 2.76 511 silo_25 503 77 +2566.34 23.46 2.77 466 silo_30 513 88 +2589.80 23.45 2.77 560 Phase 6 shared budget's headline +390pp gain was portfolio-luck distributed (ER's 30 cancelled trades freed cash for other sleeves to make ~+30k pnl). With proper silo, ER fires those trades within its dedicated bucket, sizing correctly relative to the 5-30% pool — flipping ER engine PnL from -$7,589 (Phase 6) to +$215..+$560 (silos). silo_30 is the recommended variant: - Return +2589.80% vs baseline +2356.28% (+233pp, structural not luck) - MDD 23.45% vs baseline 23.55% (slightly better) - Sharpe 2.77 vs baseline 2.69 (+0.08, real improvement) - ER PnL +$560 (engine actually contributing) - Higher silos (40%+) likely starve PEAD; 30% appears near optimal. Per-split validation of silo_30 NOT yet run — flagged for follow-up before any live deployment. Files: - libs/backtest/earnings_runup.py:494-499 (3-line fix) - libs/backtest/peer_sympathy.py:771-776 (3-line fix) - libs/backtest/vol_breakout_52w.py:654-659 (3-line fix) - configs/experiments/return_max_long_v7.356_plus_er_silo_{05,10,15,20,25,30}.json Co-Authored-By: Claude Opus 4.7 --- ...eturn_max_long_v7.356_plus_er_silo_05.json | 665 ++++++++++++++++++ ...eturn_max_long_v7.356_plus_er_silo_10.json | 665 ++++++++++++++++++ ...eturn_max_long_v7.356_plus_er_silo_15.json | 665 ++++++++++++++++++ ...eturn_max_long_v7.356_plus_er_silo_20.json | 665 ++++++++++++++++++ ...eturn_max_long_v7.356_plus_er_silo_25.json | 665 ++++++++++++++++++ ...eturn_max_long_v7.356_plus_er_silo_30.json | 665 ++++++++++++++++++ libs/backtest/earnings_runup.py | 6 + libs/backtest/peer_sympathy.py | 6 + libs/backtest/vol_breakout_52w.py | 6 + 9 files changed, 4008 insertions(+) create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_05.json create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_10.json create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_15.json create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_20.json create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_25.json create mode 100644 configs/experiments/return_max_long_v7.356_plus_er_silo_30.json diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_05.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_05.json new file mode 100644 index 0000000..d87ecb6 --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_05.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_05", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.05 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_05" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.05. ER engine isolated to 5% of equity bucket; PEAD operates on remaining 95%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_10.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_10.json new file mode 100644 index 0000000..8a871d5 --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_10.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_10", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.1 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_10" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.1. ER engine isolated to 10% of equity bucket; PEAD operates on remaining 90%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_15.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_15.json new file mode 100644 index 0000000..9db7f80 --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_15.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_15", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.15 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_15" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.15. ER engine isolated to 15% of equity bucket; PEAD operates on remaining 85%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_20.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_20.json new file mode 100644 index 0000000..06e28ce --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_20.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_20", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.2 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_20" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.2. ER engine isolated to 20% of equity bucket; PEAD operates on remaining 80%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_25.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_25.json new file mode 100644 index 0000000..3e61b95 --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_25.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_25", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.25 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_25" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.25. ER engine isolated to 25% of equity bucket; PEAD operates on remaining 75%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v7.356_plus_er_silo_30.json b/configs/experiments/return_max_long_v7.356_plus_er_silo_30.json new file mode 100644 index 0000000..a9be318 --- /dev/null +++ b/configs/experiments/return_max_long_v7.356_plus_er_silo_30.json @@ -0,0 +1,665 @@ +{ + "experiment_name": "return_max_long_v7.356_plus_er_silo_30", + "dataset_snapshot_id": "midlarge-liquid-long-v1_bucketfix_full_audit_canonical_ftb_fix_v2", + "description": "v7.118 + 6 per-engine exit/veto optimizations. 12\uac1c \uc5d4\uc9c4. Standalone SQS 92.4 (493% return).\nBEST conservative: tqqq_calm_v2 + sleeves = 3029.38% CW, SQS 89.2\nBEST aggressive: tqqq_active_v2 + sleeves = 3245.24% CW, SQS 89.2\nParking v3: gate_vol 0.35, TQQQ vol 0.22, temp 1.0, entropy 1.45 (1.15\u21921.45)\nLineage: v7.70\u2192v7.110\u2192v7.113\u2192v7.114\u2192v7.115\u2192v7.116\u2192v7.117\u2192v7.118\u2192v7.119", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v13e", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.65, + "per_trade_risk_pct_a_tier": 0.715, + "max_daily_new_risk_pct": 50, + "max_positions": 30, + "max_positions_per_sector": 5, + "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, + "macro_regime_risk_off_a_tier_only": false, + "stop_atr_multiplier": 3, + "allow_budget_downsizing": true, + "cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v2", + "fixed_capital_sizing": false + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0, + "trailing_warmup_days": 7, + "max_holding_days": 12, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1, + "lookback_entry_enabled": true + }, + "event_type_profiles": { + "material_contract": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "other_material_event": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 20 + }, + "unknown": { + "enabled": true, + "direction_filter": "any", + "max_holding_days_override": 12 + } + }, + "idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded", + "form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m", + "ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95", + "risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_heavy" + }, + "strategy_engines": [ + { + "engine_id": "next_open_long_unknown_material_patient", + "_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2, + "max_market_cap_proxy": 10000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.45, + "next_open_gap_cap_pct": 0.02, + "early_failure_close_below_entry_and_reaction_close_override": true, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "min_market_cap_proxy": 5000000000, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_core", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1, + "gap_size_min": 0, + "weak_reaction_threshold": 0.03, + "weak_reaction_gap_max": 0.02, + "unknown_direction_reaction_min": 0.05, + "unknown_direction_close_location_min": 0.7, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.42, + "enabled": true, + "residual_reserve_selected": true, + "mixed_inline_close_location_max": 0.88, + "mixed_inline_gap_size_max": 0.1, + "unknown_inline_exit_close_location_min": 0.9, + "unknown_inline_exit_gap_size_max": 0.04, + "unknown_inline_early_failure_no_progress_days_override": 2, + "unknown_inline_early_failure_no_progress_r_override": 0.1, + "unknown_inline_early_failure_no_progress_fraction_override": 1, + "per_trade_risk_pct_override": 1.39, + "trailing_warmup_days_override": 8, + "macro_vix_max": 30, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_r_override": 0.2 + }, + { + "engine_id": "reaction_close_long_residual_lowclose_gap_d3", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.35, + "close_location_max": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "residual_reserve_selected": true, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 3, + "early_failure_no_progress_r_override": 0.25, + "early_failure_no_progress_fraction_override": 1, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_residual_smallcap_gap", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.45, + "volume_ratio_min": 1.25, + "gap_size_min": 0.05, + "gap_size_max": 0.1, + "max_market_cap_proxy": 10000000000, + "score_threshold_override": 0.35, + "target_1_r_override": 3, + "target_1_fraction_override": 0, + "enabled": true, + "macro_vix_max": 30 + }, + { + "engine_id": "reaction_close_long_extreme_orderly", + "event_types": [ + "earnings_release", + "guidance_update" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.35, + "reaction_day_return_min": 0.2, + "reaction_day_return_max": 0.4, + "close_location_min": 0.83, + "volume_ratio_min": 6, + "gap_size_min": 0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99, + "target_1_fraction_override": 0, + "trailing_warmup_days_override": 8, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": null, + "early_failure_no_progress_r_override": null, + "early_failure_no_progress_fraction_override": null, + "per_trade_risk_pct_override": 1.5, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_inline_hivol", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "per_trade_risk_pct_override": 1.95, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_guidance_unknown_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.0675, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.05, + "close_location_min": 0.9, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 9000000000, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 4, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.98, + "stop_atr_multiplier_override": 2, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_earnings_mixed_inline_orderly", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "inline_or_maintained" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "gap_size_min": -0.02, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "per_trade_risk_pct_override": 1.34, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_material_orderly", + "event_types": [ + "material_contract" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.07, + "close_location_min": 0.5, + "close_location_max": 0.8, + "gap_size_min": -0.02, + "gap_size_max": 0.02, + "volume_ratio_min": 0.9, + "volume_ratio_max": 1.4, + "min_market_cap_proxy": 10000000000, + "max_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.03, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30, + "_disabled_reason": "LOO v7.132: +37pp delta" + }, + { + "engine_id": "next_open_long_megacap_material_contract_orderly", + "event_types": [ + "material_contract", + "other_material_event" + ], + "event_directions": [ + "unknown", + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 8, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 100000000000, + "document_quality_score_min": 0.45, + "parse_confidence_overall_min": 0.4, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "gap_size_min": -0.01, + "gap_size_max": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 2, + "early_failure_no_progress_r_override": 0.1, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 3, + "target_1_fraction_override": 0.15, + "trailing_warmup_days_override": 8, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.57, + "stop_atr_multiplier_override": 2.5, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 28 + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "mixed" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.04, + "reaction_day_return_max": 0.06, + "close_location_min": 0.45, + "gap_size_min": -0.03, + "gap_size_max": 0.05, + "volume_ratio_min": 1, + "min_market_cap_proxy": 6000000000, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0, + "per_trade_risk_pct_override": 0.23, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2", + "event_types": [ + "other_material_event" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 12, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1, + "min_market_cap_proxy": 4000000000, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.04, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 1, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": false, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.13, + "stop_atr_multiplier_override": 4, + "use_reaction_day_low_stop_override": false, + "macro_vix_max": 30 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market" + ], + "timing_class": "after_close", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 10, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0, + "reaction_day_return_max": 0.1, + "close_location_min": 0.3, + "close_location_max": 0.75, + "gap_size_min": 0.01, + "gap_size_max": 0.12, + "volume_ratio_min": 1.3, + "volume_ratio_max": 5, + "min_market_cap_proxy": 8000000000, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.75, + "allow_oneoff_downsizing_override": true, + "oneoff_downsize_floor_override": 0.15, + "next_open_gap_cap_pct": 0.12, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0, + "early_failure_no_progress_fraction_override": 1, + "target_1_r_override": 5, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.55, + "stop_atr_multiplier_override": 3, + "use_reaction_day_low_stop_override": false, + "enabled": true, + "macro_vix_max": 30 + }, + { + "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, + "per_trade_risk_pct_override": 0.3, + "capital_bucket_id": "earnings_runup", + "enabled": true, + "capital_bucket_allocation_pct": 0.3 + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "earnings_runup", + "capital_silo", + "sweep" + ], + "notes": "Add macro_vix_max to reaction_close_long_core on top of v6new.350 to keep current split/WFV while sharply improving matched stress OOT.", + "aliases": [ + "v7.356_plus_er_silo_30" + ], + "version_family": "v7", + "status": "draft", + "changelog": "ER silo via capital_bucket_allocation_pct=0.3. ER engine isolated to 30% of equity bucket; PEAD operates on remaining 70%. engine_risk_budget_pct=1.0 because daily-risk budget is computed from bucket sizing_equity.", + "parent": "return_max_long_v7.356_composed_gld_compound" +} \ No newline at end of file diff --git a/libs/backtest/earnings_runup.py b/libs/backtest/earnings_runup.py index d400926..9313fc3 100644 --- a/libs/backtest/earnings_runup.py +++ b/libs/backtest/earnings_runup.py @@ -490,6 +490,12 @@ def _build_candidate_from_inputs( trade_direction="long", engine_max_holding_days=max_holding_days, engine_risk_budget_pct=engine.engine_risk_budget_pct, + engine_capital_bucket_id=( + (engine.capital_bucket_id or engine.engine_id) + if engine.capital_bucket_allocation_pct is not None + else None + ), + engine_capital_bucket_allocation_pct=engine.capital_bucket_allocation_pct, engine_per_trade_risk_pct=engine.per_trade_risk_pct_override, # Map pct-based EarningsRunup exits → engine_*-prefixed overrides on the candidate. engine_target_1_r=target_r, diff --git a/libs/backtest/peer_sympathy.py b/libs/backtest/peer_sympathy.py index e89a7d4..11609b0 100644 --- a/libs/backtest/peer_sympathy.py +++ b/libs/backtest/peer_sympathy.py @@ -768,6 +768,12 @@ def _build_candidate_from_inputs( trade_direction="long", engine_max_holding_days=max_holding_days, engine_risk_budget_pct=engine.engine_risk_budget_pct, + engine_capital_bucket_id=( + (engine.capital_bucket_id or engine.engine_id) + if engine.capital_bucket_allocation_pct is not None + else None + ), + engine_capital_bucket_allocation_pct=engine.capital_bucket_allocation_pct, engine_per_trade_risk_pct=engine.per_trade_risk_pct_override, engine_target_1_r=target_r, engine_target_1_fraction=1.0, diff --git a/libs/backtest/vol_breakout_52w.py b/libs/backtest/vol_breakout_52w.py index 0e80810..8604323 100644 --- a/libs/backtest/vol_breakout_52w.py +++ b/libs/backtest/vol_breakout_52w.py @@ -651,6 +651,12 @@ def _build_candidate_from_inputs( trade_direction="long", engine_max_holding_days=max_holding_days, engine_risk_budget_pct=engine.engine_risk_budget_pct, + engine_capital_bucket_id=( + (engine.capital_bucket_id or engine.engine_id) + if engine.capital_bucket_allocation_pct is not None + else None + ), + engine_capital_bucket_allocation_pct=engine.capital_bucket_allocation_pct, engine_per_trade_risk_pct=engine.per_trade_risk_pct_override, engine_target_1_r=target_r, engine_target_1_fraction=1.0,