diff --git a/configs/experiments/return_max_long_v6new.19.json b/configs/experiments/return_max_long_v6new.19.json new file mode 100644 index 0000000..28fbc4d --- /dev/null +++ b/configs/experiments/return_max_long_v6new.19.json @@ -0,0 +1,841 @@ +{ + "experiment_name": "return_max_long_v6new.19", + "dataset_snapshot_id": "midlarge-liquid-long-v1", + "description": "v6new.9 + spy_qqq_scaler macro regime: reduce size in risk_off, full in risk_on", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v5", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.052, + "per_trade_risk_pct_a_tier": 0.058, + "max_daily_new_risk_pct": 0.76, + "max_positions": 24, + "max_positions_per_sector": 5, + "max_position_value_pct": 1.0, + "max_adv_fraction": 0.2, + "macro_regime_neutral_size_scaler": 0.85, + "macro_regime_risk_off_size_scaler": 0.55, + "veto_unknown_direction": false, + "macro_regime_risk_off_a_tier_only": false, + "macro_regime_enabled": true, + "macro_regime_mode": "spy_qqq_scaler" + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0.0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0.2, + "trailing_warmup_days": 6, + "max_holding_days": 25, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1.0 + }, + "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 + } + } + }, + "strategy_engines": [ + { + "engine_id": "reaction_close_long_bullish_raised_priority", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 18, + "engine_risk_budget_pct": 0.45, + "reaction_day_return_min": 0.08, + "reaction_day_return_max": 0.18, + "close_location_min": 0.55, + "volume_ratio_min": 2.0, + "gap_size_min": 0.0, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.5, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "engine_id": "next_open_long_unknown_material_patient", + "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": 20, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0.0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2.0, + "max_market_cap_proxy": 10000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "min_market_cap_proxy": 5000000000.0 + }, + { + "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": 18, + "engine_risk_budget_pct": 1.0, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1.0, + "gap_size_min": 0.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.0, + "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.0, + "per_trade_risk_pct_override": 0.038, + "trailing_warmup_days_override": 8 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market", + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": -0.1, + "reaction_day_return_max": 0.08, + "close_location_min": 0.03, + "close_location_max": 0.55, + "gap_size_min": 0.0, + "gap_size_max": 0.09, + "volume_ratio_min": 1.2, + "volume_ratio_max": 4.0, + "min_market_cap_proxy": 4000000000.0, + "max_market_cap_proxy": 50000000000.0, + "document_quality_score_min": 0.68, + "parse_confidence_overall_min": 0.68, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "use_reaction_day_low_stop_override": false, + "stop_atr_multiplier_override": 2.25, + "next_open_gap_cap_pct": 0.09, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "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.0, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "enabled": true + }, + { + "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": 18, + "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.0, + "gap_size_min": 0.0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0.0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1.0, + "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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "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.0, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 6.0, + "target_1_fraction_override": 0.0, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.64, + "per_trade_risk_pct_override": 0.02, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "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.0, + "max_market_cap_proxy": 100000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "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": 20, + "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.0, + "min_market_cap_proxy": 6000000000.0, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.25, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_guidance_unknown_premarket_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.04, + "close_location_min": 0.35, + "close_location_max": 0.85, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.3, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": 6, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1.0, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 4.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_mixed_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.06, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.5, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.66, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.66, + "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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.008, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_other_material_unknown_orderly", + "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": 20, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": -0.05, + "reaction_day_return_max": 0.08, + "close_location_min": 0.35, + "close_location_max": 0.98, + "gap_size_min": -0.03, + "gap_size_max": 0.06, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.6, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_bullish_raised_strong", + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 6.0, + "document_quality_score_min": 0.6, + "parse_confidence_overall_min": 0.6, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.1, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_mixed_notprovided_postmarket", + "event_types": [ + "earnings_release" + ], + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.15, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 5.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.08, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "macro-regime-sizing" + ], + "notes": "Enable SPY/QQQ macro regime sizing. risk_on=1.0, neutral=0.85, risk_off=0.55. Should reduce DD in risk-off without changing trade selection." +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v6new.20.json b/configs/experiments/return_max_long_v6new.20.json new file mode 100644 index 0000000..c669a61 --- /dev/null +++ b/configs/experiments/return_max_long_v6new.20.json @@ -0,0 +1,841 @@ +{ + "experiment_name": "return_max_long_v6new.20", + "dataset_snapshot_id": "midlarge-liquid-long-v1", + "description": "v6new.9 + INVERTED macro: boost in risk_off (high VIX = PEAD favorable), reduce in risk_on (low VIX complacent)", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v5", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.048, + "per_trade_risk_pct_a_tier": 0.054, + "max_daily_new_risk_pct": 0.76, + "max_positions": 24, + "max_positions_per_sector": 5, + "max_position_value_pct": 1.0, + "max_adv_fraction": 0.2, + "macro_regime_neutral_size_scaler": 1.0, + "macro_regime_risk_off_size_scaler": 1.0, + "veto_unknown_direction": false, + "macro_regime_risk_off_a_tier_only": false, + "macro_regime_enabled": true, + "macro_regime_mode": "spy_qqq_scaler" + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0.0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0.2, + "trailing_warmup_days": 6, + "max_holding_days": 25, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1.0 + }, + "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 + } + } + }, + "strategy_engines": [ + { + "engine_id": "reaction_close_long_bullish_raised_priority", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 18, + "engine_risk_budget_pct": 0.45, + "reaction_day_return_min": 0.08, + "reaction_day_return_max": 0.18, + "close_location_min": 0.55, + "volume_ratio_min": 2.0, + "gap_size_min": 0.0, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.5, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "engine_id": "next_open_long_unknown_material_patient", + "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": 20, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0.0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2.0, + "max_market_cap_proxy": 10000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "min_market_cap_proxy": 5000000000.0 + }, + { + "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": 18, + "engine_risk_budget_pct": 1.0, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1.0, + "gap_size_min": 0.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.0, + "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.0, + "per_trade_risk_pct_override": 0.038, + "trailing_warmup_days_override": 8 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market", + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": -0.1, + "reaction_day_return_max": 0.08, + "close_location_min": 0.03, + "close_location_max": 0.55, + "gap_size_min": 0.0, + "gap_size_max": 0.09, + "volume_ratio_min": 1.2, + "volume_ratio_max": 4.0, + "min_market_cap_proxy": 4000000000.0, + "max_market_cap_proxy": 50000000000.0, + "document_quality_score_min": 0.68, + "parse_confidence_overall_min": 0.68, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "use_reaction_day_low_stop_override": false, + "stop_atr_multiplier_override": 2.25, + "next_open_gap_cap_pct": 0.09, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "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.0, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "enabled": true + }, + { + "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": 18, + "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.0, + "gap_size_min": 0.0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0.0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1.0, + "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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "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.0, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 6.0, + "target_1_fraction_override": 0.0, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.64, + "per_trade_risk_pct_override": 0.02, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "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.0, + "max_market_cap_proxy": 100000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "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": 20, + "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.0, + "min_market_cap_proxy": 6000000000.0, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.25, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_guidance_unknown_premarket_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.04, + "close_location_min": 0.35, + "close_location_max": 0.85, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.3, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": 6, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1.0, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 4.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_mixed_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.06, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.5, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.66, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.66, + "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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.008, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_other_material_unknown_orderly", + "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": 20, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": -0.05, + "reaction_day_return_max": 0.08, + "close_location_min": 0.35, + "close_location_max": 0.98, + "gap_size_min": -0.03, + "gap_size_max": 0.06, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.6, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_bullish_raised_strong", + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 6.0, + "document_quality_score_min": 0.6, + "parse_confidence_overall_min": 0.6, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.1, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_mixed_notprovided_postmarket", + "event_types": [ + "earnings_release" + ], + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.15, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 5.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.08, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "pead-regime" + ], + "notes": "Key insight: SPY risk_off correlates with high VIX which is PEAD-favorable. Dont reduce size in risk_off." +} \ No newline at end of file diff --git a/configs/experiments/return_max_long_v6new.21.json b/configs/experiments/return_max_long_v6new.21.json new file mode 100644 index 0000000..9174756 --- /dev/null +++ b/configs/experiments/return_max_long_v6new.21.json @@ -0,0 +1,842 @@ +{ + "experiment_name": "return_max_long_v6new.21", + "dataset_snapshot_id": "midlarge-liquid-long-v1", + "description": "v6new.9 + vix_pead regime sizing: boost at VIX>18, penalize VIX 15-18 complacent zone", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v5", + "score_threshold": 0.45, + "max_candidates_per_day": 18, + "a_tier_score_threshold": 0.58 + }, + "risk": { + "per_trade_risk_pct": 0.052, + "per_trade_risk_pct_a_tier": 0.058, + "max_daily_new_risk_pct": 0.76, + "max_positions": 24, + "max_positions_per_sector": 5, + "max_position_value_pct": 1.0, + "max_adv_fraction": 0.2, + "macro_regime_neutral_size_scaler": 1.0, + "macro_regime_risk_off_size_scaler": 1.0, + "veto_unknown_direction": false, + "macro_regime_risk_off_a_tier_only": false, + "macro_regime_enabled": true, + "macro_regime_mode": "vix_pead", + "vix_size_scaler_min": 0.75 + }, + "execution": { + "a_tier_target_1_r": 3.5, + "a_tier_target_1_fraction": 0.0, + "non_a_tier_target_1_r": 2.25, + "non_a_tier_target_1_fraction": 0.2, + "trailing_warmup_days": 6, + "max_holding_days": 25, + "early_failure_no_progress_days": 1, + "early_failure_no_progress_r": 0.15, + "early_failure_no_progress_fraction": 1.0 + }, + "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 + } + } + }, + "strategy_engines": [ + { + "engine_id": "reaction_close_long_bullish_raised_priority", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "timing_class": "same_day", + "direction": "long_only", + "entry_timing_policy": "reaction_close", + "max_holding_days": 18, + "engine_risk_budget_pct": 0.45, + "reaction_day_return_min": 0.08, + "reaction_day_return_max": 0.18, + "close_location_min": 0.55, + "volume_ratio_min": 2.0, + "gap_size_min": 0.0, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.5, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "engine_id": "next_open_long_unknown_material_patient", + "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": 20, + "engine_risk_budget_pct": 0.25, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.15, + "close_location_min": 0.5, + "close_location_max": 0.85, + "gap_size_min": 0.0, + "gap_size_max": 0.02, + "volume_ratio_min": 0.8, + "volume_ratio_max": 2.0, + "max_market_cap_proxy": 10000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "min_market_cap_proxy": 5000000000.0 + }, + { + "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": 18, + "engine_risk_budget_pct": 1.0, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.18, + "close_location_min": 0.45, + "volume_ratio_min": 1.0, + "gap_size_min": 0.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.0, + "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.0, + "per_trade_risk_pct_override": 0.038, + "trailing_warmup_days_override": 8 + }, + { + "engine_id": "next_open_long_bullish_raised_recovery", + "event_types": [ + "earnings_release" + ], + "event_directions": [ + "bullish" + ], + "guidance_statuses": [ + "raised" + ], + "filing_time_buckets": [ + "post_market", + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.12, + "reaction_day_return_min": -0.1, + "reaction_day_return_max": 0.08, + "close_location_min": 0.03, + "close_location_max": 0.55, + "gap_size_min": 0.0, + "gap_size_max": 0.09, + "volume_ratio_min": 1.2, + "volume_ratio_max": 4.0, + "min_market_cap_proxy": 4000000000.0, + "max_market_cap_proxy": 50000000000.0, + "document_quality_score_min": 0.68, + "parse_confidence_overall_min": 0.68, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "use_reaction_day_low_stop_override": false, + "stop_atr_multiplier_override": 2.25, + "next_open_gap_cap_pct": 0.09, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "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.0, + "enabled": true + }, + { + "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": 25, + "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.0, + "score_threshold_override": 0.35, + "target_1_r_override": 3.0, + "target_1_fraction_override": 0.1, + "enabled": true + }, + { + "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": 18, + "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.0, + "gap_size_min": 0.0, + "gap_size_max": 0.15, + "attention_max_wiki_spike_10d": 6.0, + "score_threshold_override": 0.65, + "enabled": true, + "target_1_r_override": 99.0, + "target_1_fraction_override": 0.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 + }, + { + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.06, + "close_location_min": 0.74, + "close_location_max": 0.86, + "gap_size_min": 0.0, + "gap_size_max": 0.04, + "volume_ratio_min": 2.1, + "volume_ratio_max": 2.8, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_oneoff_penalty_override": 1.0, + "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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "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.0, + "document_quality_score_min": 0.52, + "parse_confidence_overall_min": 0.48, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 6.0, + "target_1_fraction_override": 0.0, + "trailing_warmup_days_override": 15, + "enabled": true, + "veto_parse_confidence_min_override": 0.48, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.64, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.64, + "per_trade_risk_pct_override": 0.02, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "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.0, + "max_market_cap_proxy": 100000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_other_material_mixed_orderly", + "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": 20, + "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.0, + "min_market_cap_proxy": 6000000000.0, + "document_quality_score_min": 0.54, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.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.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.5, + "veto_oneoff_penalty_override": 0.25, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_guidance_unknown_premarket_orderly", + "event_types": [ + "guidance_update" + ], + "event_directions": [ + "unknown" + ], + "guidance_statuses": [ + "not_provided" + ], + "filing_time_buckets": [ + "pre_market" + ], + "timing_class": "any", + "direction": "long_only", + "entry_timing_policy": "next_open", + "max_holding_days": 20, + "engine_risk_budget_pct": 0.02, + "reaction_day_return_min": -0.03, + "reaction_day_return_max": 0.04, + "close_location_min": 0.35, + "close_location_max": 0.85, + "gap_size_min": -0.02, + "gap_size_max": 0.03, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.3, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.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": 6, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_unknown_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.0, + "reaction_day_return_max": 0.12, + "close_location_min": 0.55, + "volume_ratio_min": 1.0, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 4.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_mixed_ome_orderly", + "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": 20, + "engine_risk_budget_pct": 0.06, + "reaction_day_return_min": -0.02, + "reaction_day_return_max": 0.06, + "close_location_min": 0.5, + "volume_ratio_min": 0.8, + "min_market_cap_proxy": 4000000000.0, + "score_threshold_override": 0.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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.4, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.5, + "use_reaction_day_low_stop_override": false + }, + { + "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": 20, + "engine_risk_budget_pct": 0.03, + "reaction_day_return_min": 0.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.0, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.66, + "parse_confidence_overall_min": 0.66, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "veto_parse_confidence_min_override": 0.66, + "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": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "per_trade_risk_pct_override": 0.008, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_other_material_unknown_orderly", + "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": 20, + "engine_risk_budget_pct": 0.04, + "reaction_day_return_min": -0.05, + "reaction_day_return_max": 0.08, + "close_location_min": 0.35, + "close_location_max": 0.98, + "gap_size_min": -0.03, + "gap_size_max": 0.06, + "volume_ratio_min": 0.75, + "volume_ratio_max": 1.6, + "min_market_cap_proxy": 8000000000.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.45, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.05, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 15, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 12, + "enabled": true, + "veto_parse_confidence_min_override": 0.45, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false + }, + { + "engine_id": "next_open_long_bullish_raised_strong", + "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": 20, + "engine_risk_budget_pct": 0.1, + "reaction_day_return_min": 0.03, + "reaction_day_return_max": 0.2, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 6.0, + "document_quality_score_min": 0.6, + "parse_confidence_overall_min": 0.6, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.1, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 12, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.015, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + }, + { + "engine_id": "next_open_long_mixed_notprovided_postmarket", + "event_types": [ + "earnings_release" + ], + "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": 20, + "engine_risk_budget_pct": 0.05, + "reaction_day_return_min": 0.02, + "reaction_day_return_max": 0.15, + "close_location_min": 0.55, + "volume_ratio_min": 1.2, + "volume_ratio_max": 5.0, + "document_quality_score_min": 0.5, + "parse_confidence_overall_min": 0.5, + "score_threshold_override": 0.0, + "residual_reserve_selected": true, + "next_open_gap_cap_pct": 0.08, + "early_failure_close_below_entry_and_reaction_close_override": false, + "early_failure_no_progress_days_override": 10, + "early_failure_no_progress_r_override": 0.0, + "early_failure_no_progress_fraction_override": 1.0, + "target_1_r_override": 5.0, + "target_1_fraction_override": 0.1, + "trailing_warmup_days_override": 10, + "per_trade_risk_pct_override": 0.01, + "stop_atr_multiplier_override": 3.0, + "use_reaction_day_low_stop_override": false, + "enabled": true + } + ], + "splits": [ + { + "kind": "named_snapshot", + "params": { + "name": "train" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "valid" + } + }, + { + "kind": "named_snapshot", + "params": { + "name": "test" + } + } + ], + "tags": [ + "return-max", + "v6new", + "vix-pead-regime" + ], + "notes": "VIX PEAD regime: VIX>18 = up to 1.3x sizing (62.3% WR), VIX 15-18 = 0.75x (48.2% WR), VIX<15 = 1.0x." +} \ No newline at end of file diff --git a/journal/LEADERBOARD.md b/journal/LEADERBOARD.md index 02a8c9c..1c14446 100644 --- a/journal/LEADERBOARD.md +++ b/journal/LEADERBOARD.md @@ -1,5 +1,5 @@ # Strategy Improvement Leaderboard -_Updated: 2026-03-24T06:17:45.329064+00:00_ +_Updated: 2026-03-24T06:37:40.257270+00:00_ _Default view excludes retired legacy PEAD / short-core / exact-pocket families and incomplete train-only scans. Use `fithia2 lb --include-retired` to inspect archived research._ @@ -15,150 +15,155 @@ _Default view excludes retired legacy PEAD / short-core / exact-pocket families | 8 | return_max_long_v6.44 | 62.8 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | | 9 | return_max_long_v6.29 | 62.8 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | | 10 | return_max_long_v6.29 | 62.8 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | -| 11 | return_max_long_v6new.11 | 62.7 | +61.7 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | -| 12 | return_max_long_v6.59 | 62.6 | +61.0 | +39.3 | +56.4 | +132.1 | 4.0 | 43.8 | 82.2 | 1.29 | 2026-03-23 | -| 13 | return_max_long_v6.84 | 62.4 | +59.6 | +39.9 | +57.4 | +134.8 | 4.0 | 44.2 | 82.2 | 1.30 | 2026-03-23 | -| 14 | return_max_long_v6.45 | 62.4 | +59.5 | +40.5 | +55.2 | +128.6 | 4.0 | 40.5 | 71.1 | 1.36 | 2026-03-23 | -| 15 | return_max_long_v1.312 | 61.9 | +51.3 | +35.8 | +48.2 | +109.8 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | -| 16 | return_max_long_v6new.10 | 61.9 | +61.2 | +41.0 | +58.8 | +138.9 | 4.0 | 38.5 | 69.6 | 1.53 | 2026-03-24 | -| 17 | return_max_long_v1.314 | 61.8 | +51.3 | +35.8 | +51.7 | +119.0 | 4.0 | 40.1 | 71.1 | 1.29 | 2026-03-23 | -| 18 | return_max_long_v6new.8 | 61.8 | +71.1 | +40.5 | +48.9 | +111.6 | 4.2 | 46.4 | 77.8 | 1.05 | 2026-03-24 | -| 19 | return_max_long_v6.29 | 61.7 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | -| 20 | return_max_long_v1.319 | 61.6 | +50.4 | +36.1 | +48.3 | +110.1 | 4.0 | 40.4 | 71.1 | 1.20 | 2026-03-23 | -| 21 | return_max_long_v6.34 | 61.5 | +62.3 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | -| 22 | return_max_long_v1.315 | 61.3 | +50.6 | +36.3 | +51.9 | +119.8 | 4.0 | 39.9 | 71.1 | 1.30 | 2026-03-23 | -| 23 | return_max_long_v6new.14 | 61.2 | +57.5 | +41.1 | +50.8 | +116.7 | 4.2 | 44.6 | 81.5 | 1.14 | 2026-03-24 | -| 24 | return_max_long_v1.304 | 61.0 | +51.3 | +35.8 | +48.3 | +110.0 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | -| 25 | return_max_long_v6.35 | 60.8 | +51.3 | +38.1 | +57.2 | +134.2 | 4.1 | 41.5 | 75.6 | 1.38 | 2026-03-23 | -| 26 | return_max_long_v6.33 | 60.7 | +61.3 | +41.9 | +56.7 | +132.9 | 4.0 | 39.3 | 68.1 | 1.44 | 2026-03-23 | -| 27 | return_max_long_v6.39 | 60.7 | +61.9 | +41.0 | +57.7 | +135.8 | 4.1 | 40.0 | 68.1 | 1.44 | 2026-03-23 | -| 28 | return_max_long_v1.298 | 60.6 | +51.8 | +35.1 | +48.3 | +110.0 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | -| 29 | return_max_long_v6.42 | 60.1 | +59.5 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | -| 30 | return_max_long_v6new.16 | 59.8 | +54.3 | +41.1 | +52.1 | +120.1 | 4.0 | 44.4 | 80.0 | 1.17 | 2026-03-24 | -| 31 | return_max_long_v6new.17 | 59.1 | +64.8 | +24.2 | +36.5 | +79.7 | 2.9 | 30.5 | 66.7 | 1.20 | 2026-03-24 | -| 32 | return_max_long_v6new.15 | 58.6 | +55.1 | +37.1 | +50.3 | +115.3 | 4.0 | 43.6 | 77.8 | 1.15 | 2026-03-24 | -| 33 | return_max_long_v6.26 | 57.6 | +67.5 | +40.3 | +57.1 | +134.1 | 4.1 | 41.4 | 74.8 | 1.38 | 2026-03-23 | -| 34 | return_max_long_v6.25 | 57.2 | +69.0 | +40.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | -| 35 | return_max_long_v1.275 | 57.0 | +53.8 | +35.8 | +47.2 | +107.1 | 4.0 | 40.5 | 69.6 | 1.16 | 2026-03-23 | -| 36 | return_max_long_v6.22 | 57.0 | +62.9 | +38.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | -| 37 | return_max_long_v6.20 | 56.7 | +69.1 | +40.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | -| 38 | return_max_long_v6.18 | 56.4 | +64.0 | +38.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | -| 39 | return_max_long_v6.15 | 54.8 | +63.8 | +34.5 | +59.1 | +139.7 | 4.1 | 40.3 | 73.3 | 1.47 | 2026-03-23 | -| 40 | return_max_long_v1.284 | 54.0 | +59.4 | +35.8 | +48.6 | +110.9 | 4.0 | 40.4 | 70.4 | 1.20 | 2026-03-23 | -| 41 | return_max_long_v1.256 | 52.1 | +58.3 | +35.8 | +46.8 | +106.0 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-23 | -| 42 | return_max_long_v6.3 | 52.0 | +52.6 | +35.2 | +59.6 | +141.0 | 4.1 | 39.9 | 70.4 | 1.49 | 2026-03-23 | -| 43 | return_max_long_v6new.2 | 51.9 | +129.8 | +20.4 | +82.3 | +95.9 | 3.4 | 32.1 | 68.4 | 2.56 | 2026-03-23 | -| 44 | return_max_long_v1.236 | 51.7 | +55.5 | +35.5 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | -| 45 | return_max_long_v1.248 | 51.1 | +56.7 | +35.5 | +47.2 | +107.1 | 4.0 | 41.6 | 66.7 | 1.13 | 2026-03-23 | -| 46 | return_max_long_v1.251 | 50.9 | +58.0 | +35.3 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-23 | -| 47 | return_max_long_v1.231 | 50.9 | +51.6 | +35.5 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | -| 48 | return_max_long_v1.227 | 50.8 | +51.8 | +35.0 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | -| 49 | return_max_long_v4.41 | 50.4 | +52.6 | +35.2 | +59.2 | +140.0 | 4.1 | 39.7 | 70.4 | 1.49 | 2026-03-22 | -| 50 | return_max_long_v1.232 | 50.3 | +52.8 | +35.5 | +47.2 | +107.1 | 4.0 | 41.6 | 66.7 | 1.13 | 2026-03-22 | -| 51 | return_max_long_v6new.5 | 50.2 | +97.9 | +15.5 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | -| 52 | return_max_long_v6.4 | 49.7 | +55.3 | +37.2 | +59.8 | +141.8 | 4.1 | 39.3 | 70.4 | 1.52 | 2026-03-23 | -| 53 | return_max_long_v6.15 | 48.9 | - | +34.5 | +59.1 | +139.7 | 4.1 | 40.3 | 73.3 | 1.47 | 2026-03-23 | -| 54 | return_max_long_v4.42 | 47.9 | +53.3 | +35.8 | +27.7 | +90.8 | 2.3 | 34.7 | 70.5 | 0.80 | 2026-03-22 | -| 55 | return_max_long_v1.264 | 47.7 | +58.5 | +36.2 | +46.9 | +106.3 | 4.0 | 41.9 | 69.6 | 1.12 | 2026-03-23 | -| 56 | return_max_long_v4.40 | 46.2 | +52.8 | +33.9 | +59.1 | +139.6 | 4.0 | 38.3 | 63.7 | 1.54 | 2026-03-22 | -| 57 | return_max_long_v4.38 | 45.6 | +52.8 | +33.9 | +59.1 | +139.6 | 4.0 | 37.9 | 63.0 | 1.56 | 2026-03-22 | -| 58 | return_max_long_v1.214 | 45.6 | +54.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 59 | return_max_long_v4.39 | 45.4 | +53.3 | +35.8 | +27.6 | +90.8 | 2.3 | 33.0 | 69.5 | 0.84 | 2026-03-22 | -| 60 | return_max_long_v1.212 | 45.3 | +54.4 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 61 | return_max_long_v1.199 | 45.3 | +53.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 62 | return_max_long_v1.199 | 45.3 | +53.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 63 | return_max_long_v1.204 | 45.1 | +54.5 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 64 | return_max_long_v4.28 | 45.0 | +51.8 | +37.5 | +59.1 | +139.8 | 4.0 | 37.8 | 63.0 | 1.56 | 2026-03-22 | -| 65 | return_max_long_v4.43 | 44.9 | +52.9 | +33.9 | +59.0 | +139.5 | 4.1 | 39.6 | 63.7 | 1.49 | 2026-03-22 | -| 66 | return_max_long_v4.36 | 44.7 | +52.3 | +38.4 | +58.6 | +138.2 | 4.1 | 39.3 | 63.0 | 1.49 | 2026-03-22 | -| 67 | return_max_long_v4.19 | 44.6 | +54.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 68 | return_max_long_v4.20 | 44.3 | +55.4 | +30.5 | +27.6 | +90.8 | 2.3 | 33.0 | 69.5 | 0.84 | 2026-03-22 | -| 69 | return_max_long_v4.31 | 44.2 | +55.9 | +38.4 | +27.7 | +79.3 | 2.3 | 29.8 | 62.3 | 0.93 | 2026-03-22 | -| 70 | return_max_long_v4.29 | 43.8 | +56.4 | +38.3 | +26.2 | +74.2 | 2.6 | 30.2 | 62.3 | 0.87 | 2026-03-22 | -| 71 | return_max_long_v6new.1 | 43.8 | +131.2 | +17.0 | +105.2 | +123.7 | 3.4 | 34.7 | 71.6 | 3.03 | 2026-03-23 | -| 72 | return_max_long_v1.192 | 43.4 | +51.6 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 73 | return_max_long_v1.188 | 42.7 | +48.9 | +37.5 | +47.6 | +108.2 | 4.0 | 41.1 | 66.7 | 1.16 | 2026-03-22 | -| 74 | return_max_long_v1.194 | 42.6 | +51.6 | +37.5 | +47.6 | +108.2 | 4.0 | 41.1 | 66.7 | 1.16 | 2026-03-22 | -| 75 | return_max_long_v6new.4 | 42.0 | +85.6 | +18.4 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | -| 76 | return_max_long_v6new.8 | 41.5 | +71.1 | +40.5 | +48.9 | +111.6 | 4.2 | 46.4 | 77.8 | 1.05 | 2026-03-24 | -| 77 | return_max_long_v1.278 | 41.2 | +52.2 | +31.2 | +53.6 | +124.5 | 4.0 | 41.5 | 71.1 | 1.29 | 2026-03-23 | -| 78 | return_max_long_v1.180 | 41.0 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | -| 79 | return_max_long_v1.174 | 40.5 | +43.0 | +36.9 | +46.1 | +104.3 | 4.0 | 40.4 | 66.7 | 1.14 | 2026-03-22 | -| 80 | return_max_long_v1.201 | 39.9 | +54.1 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 81 | return_max_long_v6.44 | 39.6 | +36.3 | +20.5 | +43.1 | +96.2 | 4.8 | 42.6 | 70.4 | 1.01 | 2026-03-23 | -| 82 | return_max_long_v1.218 | 39.5 | +57.1 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 83 | return_max_long_v1.207 | 39.0 | +56.7 | +37.5 | +47.3 | +107.3 | 4.0 | 41.9 | 72.6 | 1.13 | 2026-03-22 | -| 84 | return_max_long_v4.12 | 37.9 | +54.8 | +30.5 | +26.7 | +87.2 | 2.5 | 30.9 | 68.4 | 0.86 | 2026-03-22 | -| 85 | return_max_long_v1.170 | 37.1 | +43.5 | +35.3 | +41.4 | +92.0 | 4.7 | 39.0 | 58.5 | 1.06 | 2026-03-22 | -| 86 | return_max_long_v4.16 | 37.0 | +57.1 | +30.1 | +24.7 | +79.5 | 3.0 | 31.5 | 68.4 | 0.78 | 2026-03-22 | -| 87 | return_max_long_v4.9 | 34.9 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | -| 88 | return_max_long_v4.11 | 34.9 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | -| 89 | return_max_long_v6new.5 | 33.7 | +97.9 | +15.5 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | -| 90 | return_max_long_v4.10 | 33.2 | +44.0 | +37.5 | +47.7 | +108.4 | 4.0 | 40.2 | 66.7 | 1.19 | 2026-03-22 | -| 91 | return_max_long_v6.29 | 32.3 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | -| 92 | return_max_long_v6new.1 | 29.9 | +131.2 | +17.0 | +105.2 | +123.7 | 3.4 | 34.7 | 71.6 | 3.03 | 2026-03-23 | -| 93 | return_max_long_v1.102 | 28.5 | +35.6 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | -| 94 | return_max_long_v1.128 | 28.5 | +35.6 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | -| 95 | return_max_long_v2.4 | 28.4 | +35.6 | +35.3 | +42.5 | +94.8 | 5.0 | 34.9 | 40.7 | 1.22 | 2026-03-22 | -| 96 | return_max_long_v1.101 | 28.2 | +36.7 | +35.3 | +42.6 | +95.1 | 4.7 | 34.8 | 40.7 | 1.23 | 2026-03-22 | -| 97 | return_max_long_v6new.7 | 27.8 | +58.1 | +42.7 | +59.2 | +139.9 | 4.0 | 38.0 | 63.7 | 1.56 | 2026-03-24 | -| 98 | return_max_long_v6new.7 | 27.8 | +58.1 | +42.7 | +59.2 | +139.9 | 4.0 | 38.0 | 63.7 | 1.56 | 2026-03-24 | -| 99 | return_max_long_v1.51 | 26.4 | +37.9 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | -| 100 | return_max_long_v6new.6 | 25.2 | +51.5 | +17.5 | +37.9 | +83.2 | 1.3 | 23.5 | 57.8 | 1.62 | 2026-03-23 | -| 101 | return_max_long_v1.52 | 24.9 | +40.0 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | -| 102 | return_max_long_v4.17 | 24.5 | +54.8 | +30.5 | +26.7 | +87.2 | 2.5 | 30.9 | 68.4 | 0.86 | 2026-03-22 | -| 103 | return_max_long_v2.3 | 21.0 | +30.7 | +35.3 | +28.2 | +59.7 | 4.7 | 33.3 | 39.3 | 0.85 | 2026-03-22 | -| 104 | return_max_long_v3.7 | 17.4 | +37.2 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | -| 105 | return_max_long_v2.5 | 16.5 | +21.7 | +35.3 | +54.5 | +126.9 | 4.7 | 35.0 | 40.7 | 1.56 | 2026-03-22 | -| 106 | return_max_long_v4.6 | 14.8 | +30.8 | +39.6 | +34.1 | +73.6 | 4.0 | 47.9 | 70.4 | 0.71 | 2026-03-22 | -| 107 | return_max_long_v3.16 | 14.6 | +33.1 | +29.9 | +51.4 | +118.4 | 4.9 | 22.8 | 26.7 | 2.25 | 2026-03-22 | -| 108 | return_max_long_v3.20 | 14.6 | +34.1 | +31.4 | +56.5 | +132.3 | 10.1 | 25.0 | 28.9 | 2.26 | 2026-03-22 | -| 109 | return_max_long_v3.2 | 14.4 | +15.9 | +36.6 | +44.5 | +99.9 | 4.7 | 43.7 | 52.6 | 1.02 | 2026-03-22 | -| 110 | return_max_long_v3.5 | 14.2 | +35.8 | +28.3 | +32.9 | +70.7 | 5.4 | 33.0 | 37.0 | 1.00 | 2026-03-22 | -| 111 | return_max_long_v3.3 | 14.0 | +25.5 | +35.3 | +37.4 | +81.8 | 4.9 | 47.3 | 56.3 | 0.79 | 2026-03-22 | -| 112 | return_max_long_v3.1 | 13.8 | +3.8 | +39.9 | +50.7 | +116.4 | 4.7 | 42.0 | 51.9 | 1.21 | 2026-03-22 | -| 113 | return_max_long_v1.53 | 13.5 | +50.9 | +38.8 | +43.4 | +97.2 | 6.8 | 36.3 | 45.2 | 1.19 | 2026-03-22 | -| 114 | return_max_long_v3.8 | 13.3 | +38.2 | +27.6 | +42.3 | +94.3 | 4.8 | 34.6 | 40.7 | 1.22 | 2026-03-22 | -| 115 | return_max_long_v4.7 | 13.2 | +23.0 | +37.6 | +33.6 | +72.4 | 3.2 | 42.9 | 70.4 | 0.78 | 2026-03-22 | -| 116 | return_max_long_v4.8 | 11.7 | +25.7 | +42.6 | +49.1 | +112.2 | 3.4 | 36.3 | 67.4 | 1.35 | 2026-03-22 | -| 117 | return_max_long_v1c.4 | 8.6 | +36.3 | +12.1 | +16.3 | +32.9 | 9.0 | 30.6 | 40.0 | 0.53 | 2026-03-22 | -| 118 | return_max_long_v1c.4 | 8.6 | +36.3 | +12.1 | +16.3 | +32.9 | 9.0 | 30.6 | 40.0 | 0.53 | 2026-03-22 | -| 119 | return_max_long_v1c.1 | 7.4 | +34.4 | +11.8 | +15.0 | +30.1 | 8.5 | 27.9 | 40.0 | 0.54 | 2026-03-22 | -| 120 | return_max_long_v1c.1 | 7.4 | +34.4 | +11.8 | +15.0 | +30.1 | 8.5 | 27.9 | 40.0 | 0.54 | 2026-03-22 | -| 121 | return_max_long_v1c.9 | 6.3 | +36.3 | +12.1 | +22.3 | +46.0 | 8.8 | 34.7 | 45.2 | 0.64 | 2026-03-22 | -| 122 | return_max_long_v1c.15 | 6.2 | +40.1 | +14.8 | +23.1 | +47.9 | 11.5 | 40.6 | 47.4 | 0.57 | 2026-03-22 | -| 123 | return_max_long_v1c.14 | 6.1 | +38.9 | +13.9 | +21.7 | +44.7 | 11.5 | 39.4 | 47.4 | 0.55 | 2026-03-22 | -| 124 | return_max_long_v1.129 | 5.4 | +41.3 | +29.5 | +47.4 | +107.7 | 5.7 | 36.4 | 49.6 | 1.30 | 2026-03-22 | -| 125 | return_max_long_v1c.7 | 4.7 | +41.4 | +15.7 | +17.0 | +34.4 | 11.8 | 36.7 | 42.2 | 0.46 | 2026-03-22 | -| 126 | return_max_long_v1c.7 | 4.7 | +41.4 | +15.7 | +17.0 | +34.4 | 11.8 | 36.7 | 42.2 | 0.46 | 2026-03-22 | -| 127 | return_max_long_v1.143 | 4.5 | +35.1 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | -| 128 | return_max_long_v1.55 | 3.6 | +37.9 | +35.3 | +48.0 | +109.3 | 4.7 | 34.4 | 39.3 | 1.40 | 2026-03-22 | -| 129 | return_max_long_v1.76 | 3.6 | +37.9 | +35.3 | +48.0 | +109.3 | 4.7 | 34.4 | 39.3 | 1.40 | 2026-03-22 | -| 130 | return_max_long_v1c.13 | 3.3 | +41.4 | +15.7 | +24.5 | +51.0 | 11.5 | 41.7 | 47.4 | 0.59 | 2026-03-22 | -| 131 | return_max_long_v1.146 | 3.2 | +27.2 | +35.2 | +50.1 | +114.8 | 6.0 | 37.1 | 49.6 | 1.35 | 2026-03-22 | -| 132 | return_max_long_v2.2 | 2.9 | +28.2 | +33.5 | +32.2 | +69.1 | 3.6 | 28.6 | 31.9 | 1.13 | 2026-03-22 | -| 133 | return_max_long_v4.1 | 1.7 | +22.8 | +16.5 | +15.1 | +30.3 | 7.3 | 39.4 | 41.5 | 0.38 | 2026-03-22 | -| 134 | return_max_long_v2.1 | 0.4 | +13.8 | +13.2 | +22.2 | +45.9 | 3.2 | 22.3 | 28.1 | 0.99 | 2026-03-22 | +| 11 | return_max_long_v6new.19 | 62.8 | +62.8 | +37.9 | +47.4 | +107.5 | 3.4 | 37.2 | 77.8 | 1.27 | 2026-03-24 | +| 12 | return_max_long_v6new.11 | 62.7 | +61.7 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | +| 13 | return_max_long_v6.59 | 62.6 | +61.0 | +39.3 | +56.4 | +132.1 | 4.0 | 43.8 | 82.2 | 1.29 | 2026-03-23 | +| 14 | return_max_long_v6.84 | 62.4 | +59.6 | +39.9 | +57.4 | +134.8 | 4.0 | 44.2 | 82.2 | 1.30 | 2026-03-23 | +| 15 | return_max_long_v6.45 | 62.4 | +59.5 | +40.5 | +55.2 | +128.6 | 4.0 | 40.5 | 71.1 | 1.36 | 2026-03-23 | +| 16 | return_max_long_v1.312 | 61.9 | +51.3 | +35.8 | +48.2 | +109.8 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | +| 17 | return_max_long_v6new.10 | 61.9 | +61.2 | +41.0 | +58.8 | +138.9 | 4.0 | 38.5 | 69.6 | 1.53 | 2026-03-24 | +| 18 | return_max_long_v1.314 | 61.8 | +51.3 | +35.8 | +51.7 | +119.0 | 4.0 | 40.1 | 71.1 | 1.29 | 2026-03-23 | +| 19 | return_max_long_v6new.8 | 61.8 | +71.1 | +40.5 | +48.9 | +111.6 | 4.2 | 46.4 | 77.8 | 1.05 | 2026-03-24 | +| 20 | return_max_long_v6.29 | 61.7 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | +| 21 | return_max_long_v1.319 | 61.6 | +50.4 | +36.1 | +48.3 | +110.1 | 4.0 | 40.4 | 71.1 | 1.20 | 2026-03-23 | +| 22 | return_max_long_v6.34 | 61.5 | +62.3 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | +| 23 | return_max_long_v1.315 | 61.3 | +50.6 | +36.3 | +51.9 | +119.8 | 4.0 | 39.9 | 71.1 | 1.30 | 2026-03-23 | +| 24 | return_max_long_v6new.14 | 61.2 | +57.5 | +41.1 | +50.8 | +116.7 | 4.2 | 44.6 | 81.5 | 1.14 | 2026-03-24 | +| 25 | return_max_long_v1.304 | 61.0 | +51.3 | +35.8 | +48.3 | +110.0 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | +| 26 | return_max_long_v6.35 | 60.8 | +51.3 | +38.1 | +57.2 | +134.2 | 4.1 | 41.5 | 75.6 | 1.38 | 2026-03-23 | +| 27 | return_max_long_v6.33 | 60.7 | +61.3 | +41.9 | +56.7 | +132.9 | 4.0 | 39.3 | 68.1 | 1.44 | 2026-03-23 | +| 28 | return_max_long_v6.39 | 60.7 | +61.9 | +41.0 | +57.7 | +135.8 | 4.1 | 40.0 | 68.1 | 1.44 | 2026-03-23 | +| 29 | return_max_long_v1.298 | 60.6 | +51.8 | +35.1 | +48.3 | +110.0 | 4.0 | 40.5 | 71.1 | 1.19 | 2026-03-23 | +| 30 | return_max_long_v6.42 | 60.1 | +59.5 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-23 | +| 31 | return_max_long_v6new.16 | 59.8 | +54.3 | +41.1 | +52.1 | +120.1 | 4.0 | 44.4 | 80.0 | 1.17 | 2026-03-24 | +| 32 | return_max_long_v6new.17 | 59.1 | +64.8 | +24.2 | +36.5 | +79.7 | 2.9 | 30.5 | 66.7 | 1.20 | 2026-03-24 | +| 33 | return_max_long_v6new.15 | 58.6 | +55.1 | +37.1 | +50.3 | +115.3 | 4.0 | 43.6 | 77.8 | 1.15 | 2026-03-24 | +| 34 | return_max_long_v6.26 | 57.6 | +67.5 | +40.3 | +57.1 | +134.1 | 4.1 | 41.4 | 74.8 | 1.38 | 2026-03-23 | +| 35 | return_max_long_v6.25 | 57.2 | +69.0 | +40.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | +| 36 | return_max_long_v1.275 | 57.0 | +53.8 | +35.8 | +47.2 | +107.1 | 4.0 | 40.5 | 69.6 | 1.16 | 2026-03-23 | +| 37 | return_max_long_v6.22 | 57.0 | +62.9 | +38.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | +| 38 | return_max_long_v6.20 | 56.7 | +69.1 | +40.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | +| 39 | return_max_long_v6.18 | 56.4 | +64.0 | +38.3 | +59.1 | +139.7 | 4.1 | 40.5 | 73.3 | 1.46 | 2026-03-23 | +| 40 | return_max_long_v6.15 | 54.8 | +63.8 | +34.5 | +59.1 | +139.7 | 4.1 | 40.3 | 73.3 | 1.47 | 2026-03-23 | +| 41 | return_max_long_v1.284 | 54.0 | +59.4 | +35.8 | +48.6 | +110.9 | 4.0 | 40.4 | 70.4 | 1.20 | 2026-03-23 | +| 42 | return_max_long_v1.256 | 52.1 | +58.3 | +35.8 | +46.8 | +106.0 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-23 | +| 43 | return_max_long_v6.3 | 52.0 | +52.6 | +35.2 | +59.6 | +141.0 | 4.1 | 39.9 | 70.4 | 1.49 | 2026-03-23 | +| 44 | return_max_long_v6new.2 | 51.9 | +129.8 | +20.4 | +82.3 | +95.9 | 3.4 | 32.1 | 68.4 | 2.56 | 2026-03-23 | +| 45 | return_max_long_v1.236 | 51.7 | +55.5 | +35.5 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | +| 46 | return_max_long_v1.248 | 51.1 | +56.7 | +35.5 | +47.2 | +107.1 | 4.0 | 41.6 | 66.7 | 1.13 | 2026-03-23 | +| 47 | return_max_long_v1.251 | 50.9 | +58.0 | +35.3 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-23 | +| 48 | return_max_long_v1.231 | 50.9 | +51.6 | +35.5 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | +| 49 | return_max_long_v1.227 | 50.8 | +51.8 | +35.0 | +46.8 | +105.9 | 4.0 | 42.0 | 69.6 | 1.11 | 2026-03-22 | +| 50 | return_max_long_v4.41 | 50.4 | +52.6 | +35.2 | +59.2 | +140.0 | 4.1 | 39.7 | 70.4 | 1.49 | 2026-03-22 | +| 51 | return_max_long_v1.232 | 50.3 | +52.8 | +35.5 | +47.2 | +107.1 | 4.0 | 41.6 | 66.7 | 1.13 | 2026-03-22 | +| 52 | return_max_long_v6new.5 | 50.2 | +97.9 | +15.5 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | +| 53 | return_max_long_v6.4 | 49.7 | +55.3 | +37.2 | +59.8 | +141.8 | 4.1 | 39.3 | 70.4 | 1.52 | 2026-03-23 | +| 54 | return_max_long_v6.15 | 48.9 | - | +34.5 | +59.1 | +139.7 | 4.1 | 40.3 | 73.3 | 1.47 | 2026-03-23 | +| 55 | return_max_long_v4.42 | 47.9 | +53.3 | +35.8 | +27.7 | +90.8 | 2.3 | 34.7 | 70.5 | 0.80 | 2026-03-22 | +| 56 | return_max_long_v1.264 | 47.7 | +58.5 | +36.2 | +46.9 | +106.3 | 4.0 | 41.9 | 69.6 | 1.12 | 2026-03-23 | +| 57 | return_max_long_v6new.21 | 46.9 | +43.4 | +34.8 | +40.8 | +90.4 | 4.1 | 33.2 | 61.5 | 1.23 | 2026-03-24 | +| 58 | return_max_long_v4.40 | 46.2 | +52.8 | +33.9 | +59.1 | +139.6 | 4.0 | 38.3 | 63.7 | 1.54 | 2026-03-22 | +| 59 | return_max_long_v4.38 | 45.6 | +52.8 | +33.9 | +59.1 | +139.6 | 4.0 | 37.9 | 63.0 | 1.56 | 2026-03-22 | +| 60 | return_max_long_v1.214 | 45.6 | +54.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 61 | return_max_long_v4.39 | 45.4 | +53.3 | +35.8 | +27.6 | +90.8 | 2.3 | 33.0 | 69.5 | 0.84 | 2026-03-22 | +| 62 | return_max_long_v1.212 | 45.3 | +54.4 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 63 | return_max_long_v1.199 | 45.3 | +53.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 64 | return_max_long_v1.199 | 45.3 | +53.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 65 | return_max_long_v1.204 | 45.1 | +54.5 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 66 | return_max_long_v4.28 | 45.0 | +51.8 | +37.5 | +59.1 | +139.8 | 4.0 | 37.8 | 63.0 | 1.56 | 2026-03-22 | +| 67 | return_max_long_v4.43 | 44.9 | +52.9 | +33.9 | +59.0 | +139.5 | 4.1 | 39.6 | 63.7 | 1.49 | 2026-03-22 | +| 68 | return_max_long_v4.36 | 44.7 | +52.3 | +38.4 | +58.6 | +138.2 | 4.1 | 39.3 | 63.0 | 1.49 | 2026-03-22 | +| 69 | return_max_long_v4.19 | 44.6 | +54.8 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 70 | return_max_long_v4.20 | 44.3 | +55.4 | +30.5 | +27.6 | +90.8 | 2.3 | 33.0 | 69.5 | 0.84 | 2026-03-22 | +| 71 | return_max_long_v4.31 | 44.2 | +55.9 | +38.4 | +27.7 | +79.3 | 2.3 | 29.8 | 62.3 | 0.93 | 2026-03-22 | +| 72 | return_max_long_v4.29 | 43.8 | +56.4 | +38.3 | +26.2 | +74.2 | 2.6 | 30.2 | 62.3 | 0.87 | 2026-03-22 | +| 73 | return_max_long_v6new.1 | 43.8 | +131.2 | +17.0 | +105.2 | +123.7 | 3.4 | 34.7 | 71.6 | 3.03 | 2026-03-23 | +| 74 | return_max_long_v1.192 | 43.4 | +51.6 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 75 | return_max_long_v1.188 | 42.7 | +48.9 | +37.5 | +47.6 | +108.2 | 4.0 | 41.1 | 66.7 | 1.16 | 2026-03-22 | +| 76 | return_max_long_v1.194 | 42.6 | +51.6 | +37.5 | +47.6 | +108.2 | 4.0 | 41.1 | 66.7 | 1.16 | 2026-03-22 | +| 77 | return_max_long_v6new.4 | 42.0 | +85.6 | +18.4 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | +| 78 | return_max_long_v6new.8 | 41.5 | +71.1 | +40.5 | +48.9 | +111.6 | 4.2 | 46.4 | 77.8 | 1.05 | 2026-03-24 | +| 79 | return_max_long_v1.278 | 41.2 | +52.2 | +31.2 | +53.6 | +124.5 | 4.0 | 41.5 | 71.1 | 1.29 | 2026-03-23 | +| 80 | return_max_long_v1.180 | 41.0 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | +| 81 | return_max_long_v1.174 | 40.5 | +43.0 | +36.9 | +46.1 | +104.3 | 4.0 | 40.4 | 66.7 | 1.14 | 2026-03-22 | +| 82 | return_max_long_v1.201 | 39.9 | +54.1 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 83 | return_max_long_v6.44 | 39.6 | +36.3 | +20.5 | +43.1 | +96.2 | 4.8 | 42.6 | 70.4 | 1.01 | 2026-03-23 | +| 84 | return_max_long_v1.218 | 39.5 | +57.1 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | +| 85 | return_max_long_v1.207 | 39.0 | +56.7 | +37.5 | +47.3 | +107.3 | 4.0 | 41.9 | 72.6 | 1.13 | 2026-03-22 | +| 86 | return_max_long_v4.12 | 37.9 | +54.8 | +30.5 | +26.7 | +87.2 | 2.5 | 30.9 | 68.4 | 0.86 | 2026-03-22 | +| 87 | return_max_long_v1.170 | 37.1 | +43.5 | +35.3 | +41.4 | +92.0 | 4.7 | 39.0 | 58.5 | 1.06 | 2026-03-22 | +| 88 | return_max_long_v4.16 | 37.0 | +57.1 | +30.1 | +24.7 | +79.5 | 3.0 | 31.5 | 68.4 | 0.78 | 2026-03-22 | +| 89 | return_max_long_v4.9 | 34.9 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | +| 90 | return_max_long_v4.11 | 34.9 | +42.9 | +37.5 | +47.7 | +108.4 | 4.0 | 40.9 | 66.7 | 1.17 | 2026-03-22 | +| 91 | return_max_long_v6new.5 | 33.7 | +97.9 | +15.5 | +77.9 | +90.7 | 3.1 | 26.5 | 64.9 | 2.94 | 2026-03-23 | +| 92 | return_max_long_v4.10 | 33.2 | +44.0 | +37.5 | +47.7 | +108.4 | 4.0 | 40.2 | 66.7 | 1.19 | 2026-03-22 | +| 93 | return_max_long_v6.29 | 32.3 | +61.9 | +40.5 | +56.8 | +133.2 | 4.0 | 39.5 | 71.1 | 1.44 | 2026-03-24 | +| 94 | return_max_long_v6new.1 | 29.9 | +131.2 | +17.0 | +105.2 | +123.7 | 3.4 | 34.7 | 71.6 | 3.03 | 2026-03-23 | +| 95 | return_max_long_v1.102 | 28.5 | +35.6 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | +| 96 | return_max_long_v1.128 | 28.5 | +35.6 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | +| 97 | return_max_long_v2.4 | 28.4 | +35.6 | +35.3 | +42.5 | +94.8 | 5.0 | 34.9 | 40.7 | 1.22 | 2026-03-22 | +| 98 | return_max_long_v1.101 | 28.2 | +36.7 | +35.3 | +42.6 | +95.1 | 4.7 | 34.8 | 40.7 | 1.23 | 2026-03-22 | +| 99 | return_max_long_v6new.7 | 27.8 | +58.1 | +42.7 | +59.2 | +139.9 | 4.0 | 38.0 | 63.7 | 1.56 | 2026-03-24 | +| 100 | return_max_long_v6new.7 | 27.8 | +58.1 | +42.7 | +59.2 | +139.9 | 4.0 | 38.0 | 63.7 | 1.56 | 2026-03-24 | +| 101 | return_max_long_v1.51 | 26.4 | +37.9 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | +| 102 | return_max_long_v6new.6 | 25.2 | +51.5 | +17.5 | +37.9 | +83.2 | 1.3 | 23.5 | 57.8 | 1.62 | 2026-03-23 | +| 103 | return_max_long_v1.52 | 24.9 | +40.0 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | +| 104 | return_max_long_v4.17 | 24.5 | +54.8 | +30.5 | +26.7 | +87.2 | 2.5 | 30.9 | 68.4 | 0.86 | 2026-03-22 | +| 105 | return_max_long_v2.3 | 21.0 | +30.7 | +35.3 | +28.2 | +59.7 | 4.7 | 33.3 | 39.3 | 0.85 | 2026-03-22 | +| 106 | return_max_long_v3.7 | 17.4 | +37.2 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | +| 107 | return_max_long_v2.5 | 16.5 | +21.7 | +35.3 | +54.5 | +126.9 | 4.7 | 35.0 | 40.7 | 1.56 | 2026-03-22 | +| 108 | return_max_long_v4.6 | 14.8 | +30.8 | +39.6 | +34.1 | +73.6 | 4.0 | 47.9 | 70.4 | 0.71 | 2026-03-22 | +| 109 | return_max_long_v3.16 | 14.6 | +33.1 | +29.9 | +51.4 | +118.4 | 4.9 | 22.8 | 26.7 | 2.25 | 2026-03-22 | +| 110 | return_max_long_v3.20 | 14.6 | +34.1 | +31.4 | +56.5 | +132.3 | 10.1 | 25.0 | 28.9 | 2.26 | 2026-03-22 | +| 111 | return_max_long_v3.2 | 14.4 | +15.9 | +36.6 | +44.5 | +99.9 | 4.7 | 43.7 | 52.6 | 1.02 | 2026-03-22 | +| 112 | return_max_long_v3.5 | 14.2 | +35.8 | +28.3 | +32.9 | +70.7 | 5.4 | 33.0 | 37.0 | 1.00 | 2026-03-22 | +| 113 | return_max_long_v3.3 | 14.0 | +25.5 | +35.3 | +37.4 | +81.8 | 4.9 | 47.3 | 56.3 | 0.79 | 2026-03-22 | +| 114 | return_max_long_v3.1 | 13.8 | +3.8 | +39.9 | +50.7 | +116.4 | 4.7 | 42.0 | 51.9 | 1.21 | 2026-03-22 | +| 115 | return_max_long_v1.53 | 13.5 | +50.9 | +38.8 | +43.4 | +97.2 | 6.8 | 36.3 | 45.2 | 1.19 | 2026-03-22 | +| 116 | return_max_long_v3.8 | 13.3 | +38.2 | +27.6 | +42.3 | +94.3 | 4.8 | 34.6 | 40.7 | 1.22 | 2026-03-22 | +| 117 | return_max_long_v4.7 | 13.2 | +23.0 | +37.6 | +33.6 | +72.4 | 3.2 | 42.9 | 70.4 | 0.78 | 2026-03-22 | +| 118 | return_max_long_v4.8 | 11.7 | +25.7 | +42.6 | +49.1 | +112.2 | 3.4 | 36.3 | 67.4 | 1.35 | 2026-03-22 | +| 119 | return_max_long_v1c.4 | 8.6 | +36.3 | +12.1 | +16.3 | +32.9 | 9.0 | 30.6 | 40.0 | 0.53 | 2026-03-22 | +| 120 | return_max_long_v1c.4 | 8.6 | +36.3 | +12.1 | +16.3 | +32.9 | 9.0 | 30.6 | 40.0 | 0.53 | 2026-03-22 | +| 121 | return_max_long_v1c.1 | 7.4 | +34.4 | +11.8 | +15.0 | +30.1 | 8.5 | 27.9 | 40.0 | 0.54 | 2026-03-22 | +| 122 | return_max_long_v1c.1 | 7.4 | +34.4 | +11.8 | +15.0 | +30.1 | 8.5 | 27.9 | 40.0 | 0.54 | 2026-03-22 | +| 123 | return_max_long_v1c.9 | 6.3 | +36.3 | +12.1 | +22.3 | +46.0 | 8.8 | 34.7 | 45.2 | 0.64 | 2026-03-22 | +| 124 | return_max_long_v1c.15 | 6.2 | +40.1 | +14.8 | +23.1 | +47.9 | 11.5 | 40.6 | 47.4 | 0.57 | 2026-03-22 | +| 125 | return_max_long_v1c.14 | 6.1 | +38.9 | +13.9 | +21.7 | +44.7 | 11.5 | 39.4 | 47.4 | 0.55 | 2026-03-22 | +| 126 | return_max_long_v1.129 | 5.4 | +41.3 | +29.5 | +47.4 | +107.7 | 5.7 | 36.4 | 49.6 | 1.30 | 2026-03-22 | +| 127 | return_max_long_v1c.7 | 4.7 | +41.4 | +15.7 | +17.0 | +34.4 | 11.8 | 36.7 | 42.2 | 0.46 | 2026-03-22 | +| 128 | return_max_long_v1c.7 | 4.7 | +41.4 | +15.7 | +17.0 | +34.4 | 11.8 | 36.7 | 42.2 | 0.46 | 2026-03-22 | +| 129 | return_max_long_v1.143 | 4.5 | +35.1 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | +| 130 | return_max_long_v1.55 | 3.6 | +37.9 | +35.3 | +48.0 | +109.3 | 4.7 | 34.4 | 39.3 | 1.40 | 2026-03-22 | +| 131 | return_max_long_v1.76 | 3.6 | +37.9 | +35.3 | +48.0 | +109.3 | 4.7 | 34.4 | 39.3 | 1.40 | 2026-03-22 | +| 132 | return_max_long_v1c.13 | 3.3 | +41.4 | +15.7 | +24.5 | +51.0 | 11.5 | 41.7 | 47.4 | 0.59 | 2026-03-22 | +| 133 | return_max_long_v1.146 | 3.2 | +27.2 | +35.2 | +50.1 | +114.8 | 6.0 | 37.1 | 49.6 | 1.35 | 2026-03-22 | +| 134 | return_max_long_v2.2 | 2.9 | +28.2 | +33.5 | +32.2 | +69.1 | 3.6 | 28.6 | 31.9 | 1.13 | 2026-03-22 | +| 135 | return_max_long_v4.1 | 1.7 | +22.8 | +16.5 | +15.1 | +30.3 | 7.3 | 39.4 | 41.5 | 0.38 | 2026-03-22 | +| 136 | return_max_long_v2.1 | 0.4 | +13.8 | +13.2 | +22.2 | +45.9 | 3.2 | 22.3 | 28.1 | 0.99 | 2026-03-22 | ## Recent Entries -### IMP-0533 (2026-03-24) — return_max_long_v6new.17 -Hypothesis: v6new.9 + v10 macro regime scoring (VIX>18 + HY>3.25 bonus) -Verdict: **UNKNOWN** (SQS 59.1) +### IMP-0539 (2026-03-24) — return_max_long_v6.97 +Hypothesis: v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | downsize guidance_unknown_premarket_orderly on corrected snapshot research branch +Verdict: **UNKNOWN** (SQS None) +Reasoning: Auto-synced from official manifest. -### IMP-0532 (2026-03-24) — return_max_long_v6new.16 -Hypothesis: v6new.9 + trailing warmup 8d, max holding 27d (moderate patience) -Verdict: **UNKNOWN** (SQS 59.8) +### IMP-0538 (2026-03-24) — return_max_long_v6.96 +Hypothesis: v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | disable guidance_unknown_premarket_orderly on corrected snapshot research branch +Verdict: **UNKNOWN** (SQS None) +Reasoning: Auto-synced from official manifest. -### IMP-0531 (2026-03-24) — return_max_long_v6new.15 -Hypothesis: execution tuning v6new.15 -Verdict: **UNKNOWN** (SQS 58.6) +### IMP-0537 (2026-03-24) — return_max_long_v6new.21 +Hypothesis: vix_pead sizing: boost VIX>18, penalize VIX 15-18 +Verdict: **WORSE** (SQS 46.9) -### IMP-0530 (2026-03-24) — return_max_long_v6new.15 -Hypothesis: v6new.9 + tighter early failure (no progress d1->d2, r 0.15->0.20) to cut bad trades faster +### IMP-0536 (2026-03-24) — return_max_long_v6.95 +Hypothesis: v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | split broad_oneoff into low-close sibling, residual parent risk=0.007 Verdict: **UNKNOWN** (SQS None) Reasoning: Auto-synced from official manifest. -### IMP-0529 (2026-03-24) — return_max_long_v6new.14 -Hypothesis: execution tuning v6new.14 -Verdict: **UNKNOWN** (SQS 61.2) +### IMP-0535 (2026-03-24) — return_max_long_v6.94 +Hypothesis: v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | split broad_oneoff into high-gap sibling, residual parent risk=0.007 +Verdict: **UNKNOWN** (SQS None) +Reasoning: Auto-synced from official manifest. diff --git a/journal/improvement_journal.jsonl b/journal/improvement_journal.jsonl index ce59d1f..a461c34 100644 --- a/journal/improvement_journal.jsonl +++ b/journal/improvement_journal.jsonl @@ -531,3 +531,9 @@ {"entry_id":"IMP-0531","timestamp":"2026-03-24T05:07:03.960255+00:00","experiment_name":"return_max_long_v6new.15","hypothesis":"execution tuning v6new.15","config_delta":{"base_experiment":"return_max_long_v6new.9","changes":{}},"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050148191130_23adb6b4","trade_count":116,"profit_factor":2.8278674126039838,"total_return_pct":55.13686646075693,"annualized_return_pct":15.9157399378415,"win_rate":0.6120689655172413,"max_drawdown_pct":6.240681237104638,"sharpe_ratio":1.6858283342317861,"monthly_win_rate":0.6296296296296297,"equity_curve_r_squared":0.8400482666285128,"avg_gross_exposure_pct":37.614931941855325,"avg_net_exposure_pct":37.614931941855325,"days_in_market_pct":69.34404283801874},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050153368503_23adb6b4","trade_count":15,"profit_factor":15.455780469524532,"total_return_pct":37.13643381018963,"annualized_return_pct":79.06283234271126,"win_rate":0.6,"max_drawdown_pct":4.603342060193211,"sharpe_ratio":2.9101482222658595,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8084977093079841,"avg_gross_exposure_pct":23.46299180228114,"avg_net_exposure_pct":23.46299180228114,"days_in_market_pct":53.23741007194245},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050156745514_23adb6b4","trade_count":28,"profit_factor":7.490241681887483,"total_return_pct":50.27314785105852,"annualized_return_pct":115.28820381353259,"win_rate":0.7142857142857143,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.4140659551956647,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.8719439946222227,"avg_gross_exposure_pct":43.565095631063414,"avg_net_exposure_pct":43.565095631063414,"days_in_market_pct":77.77777777777779}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214184863_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214308096_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214184863_23adb6b4","trade_count":11,"profit_factor":1.3814534408655645,"total_return_pct":0.645836789132809,"annualized_return_pct":null,"win_rate":0.5454545454545454,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":0.21784686345694718,"monthly_win_rate":0.5,"equity_curve_r_squared":0.1149438936321136,"avg_gross_exposure_pct":7.102131173119326,"avg_net_exposure_pct":7.102131173119326,"days_in_market_pct":25.296442687747035},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214308096_23adb6b4","trade_count":8,"profit_factor":1.0705477434378325,"total_return_pct":0.1494066601152881,"annualized_return_pct":null,"win_rate":0.375,"max_drawdown_pct":2.782570514391107,"sharpe_ratio":0.1264807083551004,"monthly_win_rate":0.25,"equity_curve_r_squared":0.3869807575137277,"avg_gross_exposure_pct":36.59873716175309,"avg_net_exposure_pct":36.59873716175309,"days_in_market_pct":96.875}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214408240_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214622611_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214408240_23adb6b4","trade_count":20,"profit_factor":0.958237694627994,"total_return_pct":-0.13913679091002268,"annualized_return_pct":null,"win_rate":0.45,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":-0.006746618269560042,"monthly_win_rate":0.42857142857142855,"equity_curve_r_squared":0.30190641178615835,"avg_gross_exposure_pct":17.27813671449091,"avg_net_exposure_pct":17.27813671449091,"days_in_market_pct":50.39682539682539},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214622611_23adb6b4","trade_count":10,"profit_factor":5.624276290886923,"total_return_pct":6.781396712685804,"annualized_return_pct":null,"win_rate":0.8,"max_drawdown_pct":1.7291166312962378,"sharpe_ratio":3.0798161966116457,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8579832640226348,"avg_gross_exposure_pct":35.71419075773615,"avg_net_exposure_pct":35.71419075773615,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214728139_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215005216_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050214728139_23adb6b4","trade_count":30,"profit_factor":2.6368917750484617,"total_return_pct":8.574965979453482,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":1.2799706679655503,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6260349254966325,"avg_gross_exposure_pct":27.560196327932623,"avg_net_exposure_pct":27.560196327932623,"days_in_market_pct":68.77470355731225},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215005216_23adb6b4","trade_count":14,"profit_factor":5.139564762040555,"total_return_pct":9.1208409400105,"annualized_return_pct":null,"win_rate":0.7857142857142857,"max_drawdown_pct":2.6035573429472927,"sharpe_ratio":3.7581823525258913,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5983426404501401,"avg_gross_exposure_pct":43.484013453036106,"avg_net_exposure_pct":43.484013453036106,"days_in_market_pct":89.0625}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215134150_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215580655_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215134150_23adb6b4","trade_count":42,"profit_factor":3.086956015403449,"total_return_pct":16.732283683749877,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":3.9227639037561373,"sharpe_ratio":1.940244354177891,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.769769618545105,"avg_gross_exposure_pct":39.11260525632952,"avg_net_exposure_pct":39.11260525632952,"days_in_market_pct":85.37549407114624},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215580655_23adb6b4","trade_count":17,"profit_factor":3.2865176726425434,"total_return_pct":5.6407659772577174,"annualized_return_pct":null,"win_rate":0.5882352941176471,"max_drawdown_pct":4.075514117981166,"sharpe_ratio":2.0019526465333097,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.1773619216250303,"avg_gross_exposure_pct":61.02670364204819,"avg_net_exposure_pct":61.02670364204819,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215863324_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050216329651_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050215863324_23adb6b4","trade_count":49,"profit_factor":3.7270479925061557,"total_return_pct":24.36036264945357,"annualized_return_pct":null,"win_rate":0.6530612244897959,"max_drawdown_pct":4.073764191182275,"sharpe_ratio":2.3833977243840194,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8719340932897923,"avg_gross_exposure_pct":48.63539902930978,"avg_net_exposure_pct":48.63539902930978,"days_in_market_pct":90.51383399209486},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050216329651_23adb6b4","trade_count":14,"profit_factor":3.195161494391466,"total_return_pct":11.414267805445167,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":3.1844852462682094,"sharpe_ratio":3.237582141132407,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6591501073154372,"avg_gross_exposure_pct":50.53889248839552,"avg_net_exposure_pct":50.53889248839552,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050216510003_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217060057_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050216510003_23adb6b4","trade_count":54,"profit_factor":3.6623770990849858,"total_return_pct":36.09535288185824,"annualized_return_pct":null,"win_rate":0.6111111111111112,"max_drawdown_pct":4.071474559832314,"sharpe_ratio":2.8520195897614817,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8827817814196774,"avg_gross_exposure_pct":52.480191183462914,"avg_net_exposure_pct":52.480191183462914,"days_in_market_pct":90.11857707509881},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217060057_23adb6b4","trade_count":14,"profit_factor":6.180372802382087,"total_return_pct":7.9625819862345235,"annualized_return_pct":null,"win_rate":0.7142857142857143,"max_drawdown_pct":4.988486166877827,"sharpe_ratio":2.1478239068834006,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8411430120049073,"avg_gross_exposure_pct":63.18040015502978,"avg_net_exposure_pct":63.18040015502978,"days_in_market_pct":96.875}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217253844_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217838237_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217253844_23adb6b4","trade_count":58,"profit_factor":4.099204642867192,"total_return_pct":41.531169926194536,"annualized_return_pct":null,"win_rate":0.6379310344827587,"max_drawdown_pct":4.982421617332535,"sharpe_ratio":2.8135767706861934,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.9307848163323601,"avg_gross_exposure_pct":59.1251441539821,"avg_net_exposure_pct":59.1251441539821,"days_in_market_pct":96.04743083003953},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217838237_23adb6b4","trade_count":15,"profit_factor":0.9398325150688185,"total_return_pct":-0.17766072165014338,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.6541987991263625,"sharpe_ratio":-0.09151990282864132,"monthly_win_rate":0.5,"equity_curve_r_squared":0.33251050185197567,"avg_gross_exposure_pct":43.80445080741524,"avg_net_exposure_pct":43.80445080741524,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217995558_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050218657870_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050217995558_23adb6b4","trade_count":60,"profit_factor":2.773589026615472,"total_return_pct":27.772963878714158,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":5.438346986120745,"sharpe_ratio":2.078057728652619,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8516908062046044,"avg_gross_exposure_pct":58.23244630051377,"avg_net_exposure_pct":58.23244630051377,"days_in_market_pct":97.23320158102767},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050218657870_23adb6b4","trade_count":14,"profit_factor":0.7229019839290854,"total_return_pct":-1.1684979991884903,"annualized_return_pct":null,"win_rate":0.21428571428571427,"max_drawdown_pct":4.511967058698718,"sharpe_ratio":-0.37636969530335757,"monthly_win_rate":0.25,"equity_curve_r_squared":0.28036691562905186,"avg_gross_exposure_pct":55.435119291199676,"avg_net_exposure_pct":55.435119291199676,"days_in_market_pct":67.1875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050218855206_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050219515913_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050218855206_23adb6b4","trade_count":57,"profit_factor":2.389355630075853,"total_return_pct":21.69750939454243,"annualized_return_pct":null,"win_rate":0.5263157894736842,"max_drawdown_pct":6.241182993281157,"sharpe_ratio":1.6649408964664312,"monthly_win_rate":0.5,"equity_curve_r_squared":0.628420197256455,"avg_gross_exposure_pct":56.71573422122369,"avg_net_exposure_pct":56.71573422122369,"days_in_market_pct":90.9090909090909},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050219515913_23adb6b4","trade_count":7,"profit_factor":9.50849914998883,"total_return_pct":7.367456914772251,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":3.8461059903039927,"sharpe_ratio":1.881712313899184,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6415801945485577,"avg_gross_exposure_pct":19.590139658283725,"avg_net_exposure_pct":19.590139658283725,"days_in_market_pct":57.8125}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050219613777_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220176654_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050219613777_23adb6b4","trade_count":44,"profit_factor":1.8691053739121917,"total_return_pct":7.682807540655544,"annualized_return_pct":null,"win_rate":0.5227272727272727,"max_drawdown_pct":6.230206954322322,"sharpe_ratio":0.7936044704942016,"monthly_win_rate":0.3333333333333333,"equity_curve_r_squared":0.3768856145481795,"avg_gross_exposure_pct":64.26021340280799,"avg_net_exposure_pct":64.26021340280799,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220176654_23adb6b4","trade_count":8,"profit_factor":16.203838360715043,"total_return_pct":20.579142583785668,"annualized_return_pct":null,"win_rate":0.75,"max_drawdown_pct":3.097888155597302,"sharpe_ratio":3.050192017252888,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6512505864446878,"avg_gross_exposure_pct":16.369525239345776,"avg_net_exposure_pct":16.369525239345776,"days_in_market_pct":39.0625}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220283031_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220734414_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220283031_23adb6b4","trade_count":36,"profit_factor":1.9418620153965012,"total_return_pct":7.053573941035472,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":4.460694737839057,"sharpe_ratio":0.9312645161933217,"monthly_win_rate":0.45454545454545453,"equity_curve_r_squared":0.5193985226439526,"avg_gross_exposure_pct":69.36012346688219,"avg_net_exposure_pct":69.36012346688219,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220734414_23adb6b4","trade_count":14,"profit_factor":2.38081786773707,"total_return_pct":6.687739423740336,"annualized_return_pct":null,"win_rate":0.5714285714285714,"max_drawdown_pct":3.546668004763916,"sharpe_ratio":1.6895139005696036,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.3967051215455213,"avg_gross_exposure_pct":25.290973135056174,"avg_net_exposure_pct":25.290973135056174,"days_in_market_pct":57.8125}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220869629_23adb6b4","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324050221228945_23adb6b4","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050220869629_23adb6b4","trade_count":36,"profit_factor":2.8244446230478393,"total_return_pct":15.532222885536948,"annualized_return_pct":null,"win_rate":0.4722222222222222,"max_drawdown_pct":4.711210700848106,"sharpe_ratio":1.5608013909764877,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7361088605928339,"avg_gross_exposure_pct":71.09897730812719,"avg_net_exposure_pct":71.09897730812719,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324050221228945_23adb6b4","trade_count":13,"profit_factor":18.75664126828514,"total_return_pct":27.24678272039871,"annualized_return_pct":null,"win_rate":0.9230769230769231,"max_drawdown_pct":3.2536121492392946,"sharpe_ratio":4.330498951920408,"monthly_win_rate":1.0,"equity_curve_r_squared":0.7665049198417522,"avg_gross_exposure_pct":40.50696957923369,"avg_net_exposure_pct":40.50696957923369,"days_in_market_pct":76.5625}}],"train_aggregate":{"mean_return_pct":17.29,"median_return_pct":16.13,"worst_return_pct":-0.14,"positive_fold_rate_pct":91.7,"mean_profit_factor":2.61,"mean_max_drawdown_pct":4.54,"mean_trade_count":41.4,"mean_win_rate":0.5635},"test_aggregate":{"mean_return_pct":8.47,"median_return_pct":7.07,"worst_return_pct":-1.17,"positive_fold_rate_pct":83.3,"mean_profit_factor":6.08,"mean_max_drawdown_pct":3.44,"mean_trade_count":12.3,"mean_win_rate":0.5983},"gap_stats":{"mean_train_test_return_gap_pct":8.83,"worst_train_test_return_gap_pct":41.71,"fold_return_cv":0.982},"engine_reliability_ratio":null},"robustness_matrix_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252,504],"step_days":21,"overall_window_count":199,"overall_positive_window_rate_pct":83.4,"overall_worst_return_pct":-1.52,"horizon_summaries":[{"horizon_days":21,"window_count":48,"mean_return_pct":2.13,"median_return_pct":1.02,"worst_return_pct":-1.52,"positive_window_rate_pct":62.5,"mean_max_drawdown_pct":1.26},{"horizon_days":63,"window_count":46,"mean_return_pct":6.28,"median_return_pct":3.79,"worst_return_pct":-1.24,"positive_window_rate_pct":78.3,"mean_max_drawdown_pct":2.81},{"horizon_days":126,"window_count":43,"mean_return_pct":12.68,"median_return_pct":8.9,"worst_return_pct":-0.25,"positive_window_rate_pct":90.7,"mean_max_drawdown_pct":3.66},{"horizon_days":252,"window_count":37,"mean_return_pct":19.93,"median_return_pct":19.76,"worst_return_pct":-0.14,"positive_window_rate_pct":97.3,"mean_max_drawdown_pct":4.55},{"horizon_days":504,"window_count":25,"mean_return_pct":44.21,"median_return_pct":45.56,"worst_return_pct":23.98,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":5.54}]},"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252],"step_days":21,"overall_window_count":30,"overall_positive_window_rate_pct":83.3,"overall_worst_return_pct":-2.5,"horizon_summaries":[{"horizon_days":21,"window_count":12,"mean_return_pct":5.8,"median_return_pct":6.87,"worst_return_pct":-2.5,"positive_window_rate_pct":58.3,"mean_max_drawdown_pct":1.82},{"horizon_days":63,"window_count":10,"mean_return_pct":16.76,"median_return_pct":14.53,"worst_return_pct":6.75,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.4},{"horizon_days":126,"window_count":7,"mean_return_pct":39.46,"median_return_pct":42.9,"worst_return_pct":29.61,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.0},{"horizon_days":252,"window_count":1,"mean_return_pct":100.24,"median_return_pct":100.24,"worst_return_pct":100.24,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.6}]},"sqs_score":58.6,"sqs_breakdown":{"base_score":58.6,"gate_factor":1.0,"rb_gate_positive_rate":1.0,"rb_gate_63d_median":1.0,"rb_gate_252d_median":1.0,"rb_gate_worst_return":1.0,"oot_gate_factor":1.0,"oot_quality_factor":1.0,"oot_quality":100.0,"oot_rb_gate_positive_rate":1.0,"oot_rb_gate_63d_median":1.0,"oot_rb_gate_252d_median":1.0,"oot_rb_gate_worst_return":1.0,"oot_rb_quality_positive_rate":100.0,"oot_rb_quality_63d_median":100.0,"oot_rb_quality_252d_median":100.0,"oot_rb_quality_worst_return":100.0,"activity_factor":1.0,"activity_quality":100.0,"activity_test_trades":100.0,"activity_wf_mean_trades":100.0,"activity_days_in_market":100.0},"sqs_v2_score":91.9,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":60.0,"capital_efficiency":100.0},"promotion_score":51.4,"promotion_breakdown":{"valid_quality":44.3,"test_quality":91.9,"floor_quality":44.3},"unified_score":33.2,"unified_breakdown":{"valid_quality":56.7,"test_quality":81.9,"floor_quality":56.7,"gap_quality":32.7},"rqs_score":82.9,"rqs_breakdown":{"train_quality":78.0,"valid_quality":84.3,"test_quality":83.0,"floor_quality":78.0,"gap_quality":100.0},"wfqs_score":54.9,"wfqs_breakdown":{"median_return":28.3,"mean_return":33.9,"worst_return":25.5,"positive_fold_rate":66.6,"profit_factor":100.0,"drawdown":88.9,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":38.7,"wfqs_v2_breakdown":{"base_score":53.3,"median_return":28.3,"mean_return":33.9,"worst_return":25.5,"positive_fold_rate":66.6,"profit_factor":100.0,"drawdown":88.9,"fold_count":100.0,"overall_quality":51.1,"recent_quality":61.8,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.855,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":67.5,"deployment_breakdown":{"rqs_quality":82.9,"wfqs_quality":54.9,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"","next_direction":"","tags":["return","max","long","v6new.15"]} {"entry_id":"IMP-0532","timestamp":"2026-03-24T05:19:17.085029+00:00","experiment_name":"return_max_long_v6new.16","hypothesis":"v6new.9 + trailing warmup 8d, max holding 27d (moderate patience)","config_delta":{"base_experiment":"return_max_long_v6new.9","changes":{}},"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051739937845_459a25e1","trade_count":117,"profit_factor":2.4814692452405587,"total_return_pct":54.31431511643214,"annualized_return_pct":15.708670261760705,"win_rate":0.6153846153846154,"max_drawdown_pct":9.431426775919718,"sharpe_ratio":1.5692439080298586,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8429576265413268,"avg_gross_exposure_pct":37.63664860706335,"avg_net_exposure_pct":37.63664860706335,"days_in_market_pct":72.15528781793842},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051744119600_459a25e1","trade_count":15,"profit_factor":17.20441009607544,"total_return_pct":41.081822733519715,"annualized_return_pct":88.68128056049531,"win_rate":0.6,"max_drawdown_pct":4.483587387944912,"sharpe_ratio":3.179490436624968,"monthly_win_rate":0.8,"equity_curve_r_squared":0.785639647232203,"avg_gross_exposure_pct":25.195066696032825,"avg_net_exposure_pct":25.195066696032825,"days_in_market_pct":56.83453237410072},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051746609478_459a25e1","trade_count":28,"profit_factor":8.713661333348142,"total_return_pct":52.065132976158665,"annualized_return_pct":120.14713204128573,"win_rate":0.75,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.524125686899738,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8907940285009529,"avg_gross_exposure_pct":44.444186265125055,"avg_net_exposure_pct":44.444186265125055,"days_in_market_pct":80.0}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757717569_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757842271_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757717569_459a25e1","trade_count":11,"profit_factor":1.215906462540695,"total_return_pct":0.44464654397475534,"annualized_return_pct":null,"win_rate":0.5454545454545454,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":0.15364378657234717,"monthly_win_rate":0.5,"equity_curve_r_squared":0.11568170800329665,"avg_gross_exposure_pct":7.450247643416617,"avg_net_exposure_pct":7.450247643416617,"days_in_market_pct":28.458498023715418},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757842271_459a25e1","trade_count":8,"profit_factor":1.0705477434378325,"total_return_pct":0.1494066601152881,"annualized_return_pct":null,"win_rate":0.375,"max_drawdown_pct":2.782570514391107,"sharpe_ratio":0.1264807083551004,"monthly_win_rate":0.25,"equity_curve_r_squared":0.3869807575137277,"avg_gross_exposure_pct":36.59873716175309,"avg_net_exposure_pct":36.59873716175309,"days_in_market_pct":96.875}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757941081_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758144271_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051757941081_459a25e1","trade_count":20,"profit_factor":0.958237694627994,"total_return_pct":-0.13913679091003722,"annualized_return_pct":null,"win_rate":0.45,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":-0.006070404061117617,"monthly_win_rate":0.42857142857142855,"equity_curve_r_squared":0.30149472413768774,"avg_gross_exposure_pct":17.629157411592864,"avg_net_exposure_pct":17.629157411592864,"days_in_market_pct":53.57142857142857},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758144271_459a25e1","trade_count":10,"profit_factor":5.624276290886923,"total_return_pct":6.781396712685804,"annualized_return_pct":null,"win_rate":0.8,"max_drawdown_pct":1.7291166312962378,"sharpe_ratio":3.0798161966116457,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8579832640226348,"avg_gross_exposure_pct":35.71419075773615,"avg_net_exposure_pct":35.71419075773615,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758260250_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758513944_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758260250_459a25e1","trade_count":30,"profit_factor":2.6368917750484617,"total_return_pct":8.574965979453482,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":1.272232373711952,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6249555707367079,"avg_gross_exposure_pct":27.909829591449192,"avg_net_exposure_pct":27.909829591449192,"days_in_market_pct":71.93675889328063},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758513944_459a25e1","trade_count":13,"profit_factor":3.944799363183027,"total_return_pct":8.577774272632407,"annualized_return_pct":null,"win_rate":0.7692307692307693,"max_drawdown_pct":3.381020006252908,"sharpe_ratio":3.4355052102900454,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5287571869723583,"avg_gross_exposure_pct":42.56480709985079,"avg_net_exposure_pct":42.56480709985079,"days_in_market_pct":93.75}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758639739_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759012146_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051758639739_459a25e1","trade_count":41,"profit_factor":2.8383414298895944,"total_return_pct":16.133810356385524,"annualized_return_pct":null,"win_rate":0.6341463414634146,"max_drawdown_pct":4.694848230171718,"sharpe_ratio":1.850105968907692,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7422368380500679,"avg_gross_exposure_pct":39.127975700652605,"avg_net_exposure_pct":39.127975700652605,"days_in_market_pct":88.53754940711462},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759012146_459a25e1","trade_count":17,"profit_factor":3.2865176726425434,"total_return_pct":5.6407659772577174,"annualized_return_pct":null,"win_rate":0.5882352941176471,"max_drawdown_pct":4.075514117981166,"sharpe_ratio":1.9904155577392313,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.17665723521964,"avg_gross_exposure_pct":61.39355581759731,"avg_net_exposure_pct":61.39355581759731,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759179927_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759604108_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759179927_459a25e1","trade_count":48,"profit_factor":3.3342901254563206,"total_return_pct":22.526826596309505,"annualized_return_pct":null,"win_rate":0.6458333333333334,"max_drawdown_pct":4.687782251550587,"sharpe_ratio":2.203235426152647,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8652011070297944,"avg_gross_exposure_pct":47.759983681517355,"avg_net_exposure_pct":47.759983681517355,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759604108_459a25e1","trade_count":12,"profit_factor":4.365817077236997,"total_return_pct":12.780927042734112,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":3.1844852462682094,"sharpe_ratio":3.611159138647994,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6665056693179084,"avg_gross_exposure_pct":48.251672364551,"avg_net_exposure_pct":48.251672364551,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759760725_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800239434_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051759760725_459a25e1","trade_count":53,"profit_factor":3.216306123312565,"total_return_pct":33.23683728659802,"annualized_return_pct":null,"win_rate":0.6037735849056604,"max_drawdown_pct":4.6930820641169335,"sharpe_ratio":2.635530175678661,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8657594897839395,"avg_gross_exposure_pct":51.58470741736275,"avg_net_exposure_pct":51.58470741736275,"days_in_market_pct":91.30434782608695},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800239434_459a25e1","trade_count":14,"profit_factor":1.356860421477746,"total_return_pct":2.030611683192983,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":8.630053059697536,"sharpe_ratio":0.5410342981735481,"monthly_win_rate":0.5,"equity_curve_r_squared":0.12011737524162651,"avg_gross_exposure_pct":64.17601766708538,"avg_net_exposure_pct":64.17601766708538,"days_in_market_pct":98.4375}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800413685_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800957147_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800413685_459a25e1","trade_count":57,"profit_factor":2.558754870871372,"total_return_pct":31.02050413986709,"annualized_return_pct":null,"win_rate":0.6140350877192983,"max_drawdown_pct":8.628246426565072,"sharpe_ratio":2.044275049609745,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.9137891615816778,"avg_gross_exposure_pct":58.588134321084965,"avg_net_exposure_pct":58.588134321084965,"days_in_market_pct":97.62845849802372},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051800957147_459a25e1","trade_count":15,"profit_factor":0.9416871304626493,"total_return_pct":-0.16954377780886715,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.6461129756493444,"sharpe_ratio":-0.0864259969213187,"monthly_win_rate":0.5,"equity_curve_r_squared":0.32944475507939747,"avg_gross_exposure_pct":43.890500016434395,"avg_net_exposure_pct":43.890500016434395,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801113705_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801673553_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801113705_459a25e1","trade_count":58,"profit_factor":2.185695613955411,"total_return_pct":22.32225064142923,"annualized_return_pct":null,"win_rate":0.603448275862069,"max_drawdown_pct":9.405384964801502,"sharpe_ratio":1.6122139147076253,"monthly_win_rate":0.5833333333333334,"equity_curve_r_squared":0.7217607283037368,"avg_gross_exposure_pct":57.60953935363502,"avg_net_exposure_pct":57.60953935363502,"days_in_market_pct":97.62845849802372},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801673553_459a25e1","trade_count":15,"profit_factor":3.9690659877906054,"total_return_pct":8.34324606561946,"annualized_return_pct":null,"win_rate":0.4666666666666667,"max_drawdown_pct":2.8698762930173256,"sharpe_ratio":2.595940862502822,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7593845557050733,"avg_gross_exposure_pct":54.34786052983895,"avg_net_exposure_pct":54.34786052983895,"days_in_market_pct":67.1875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801872599_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051802485850_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051801872599_459a25e1","trade_count":56,"profit_factor":2.3418932201126905,"total_return_pct":24.79707187376647,"annualized_return_pct":null,"win_rate":0.5714285714285714,"max_drawdown_pct":9.42009488848146,"sharpe_ratio":1.733179734141294,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5226616864627504,"avg_gross_exposure_pct":56.32006549682266,"avg_net_exposure_pct":56.32006549682266,"days_in_market_pct":94.86166007905138},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051802485850_459a25e1","trade_count":7,"profit_factor":9.50849914998883,"total_return_pct":7.367456914772251,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":3.8461059903039927,"sharpe_ratio":1.8777860536456403,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6424098093075702,"avg_gross_exposure_pct":19.81088675601021,"avg_net_exposure_pct":19.81088675601021,"days_in_market_pct":59.375}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051802587624_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803102826_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051802587624_459a25e1","trade_count":46,"profit_factor":1.8060971171083606,"total_return_pct":10.119515249009739,"annualized_return_pct":null,"win_rate":0.5652173913043478,"max_drawdown_pct":9.441993772044224,"sharpe_ratio":0.8997960505163802,"monthly_win_rate":0.5,"equity_curve_r_squared":0.48224735430690396,"avg_gross_exposure_pct":61.61791975167249,"avg_net_exposure_pct":61.61791975167249,"days_in_market_pct":97.23320158102767},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803102826_459a25e1","trade_count":8,"profit_factor":19.17749502829058,"total_return_pct":24.06098385454359,"annualized_return_pct":null,"win_rate":0.75,"max_drawdown_pct":3.694067373375656,"sharpe_ratio":3.5293053447858744,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6759698097431274,"avg_gross_exposure_pct":19.910078871981522,"avg_net_exposure_pct":19.910078871981522,"days_in_market_pct":45.3125}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803205055_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803594252_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803205055_459a25e1","trade_count":35,"profit_factor":3.0930759422239733,"total_return_pct":15.878255825844331,"annualized_return_pct":null,"win_rate":0.5428571428571428,"max_drawdown_pct":3.6461129756493444,"sharpe_ratio":1.6652748777295636,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7791219454544973,"avg_gross_exposure_pct":64.16968475391135,"avg_net_exposure_pct":64.16968475391135,"days_in_market_pct":96.83794466403161},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803594252_459a25e1","trade_count":14,"profit_factor":3.0366607786809645,"total_return_pct":8.04258505639722,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":2.91958545563676,"sharpe_ratio":2.0781549828706605,"monthly_win_rate":1.0,"equity_curve_r_squared":0.5707054188134211,"avg_gross_exposure_pct":25.21966675030856,"avg_net_exposure_pct":25.21966675030856,"days_in_market_pct":60.9375}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803730232_459a25e1","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324051804047285_459a25e1","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051803730232_459a25e1","trade_count":25,"profit_factor":5.2545756891186945,"total_return_pct":16.73536437078913,"annualized_return_pct":null,"win_rate":0.56,"max_drawdown_pct":3.04367815662477,"sharpe_ratio":1.7677298828194032,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.8040444138748309,"avg_gross_exposure_pct":69.73343181222073,"avg_net_exposure_pct":69.73343181222073,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324051804047285_459a25e1","trade_count":13,"profit_factor":18.75664126828514,"total_return_pct":27.24678272039871,"annualized_return_pct":null,"win_rate":0.9230769230769231,"max_drawdown_pct":3.260644537187968,"sharpe_ratio":4.342219148941361,"monthly_win_rate":1.0,"equity_curve_r_squared":0.762707705611827,"avg_gross_exposure_pct":43.20949924361955,"avg_net_exposure_pct":43.20949924361955,"days_in_market_pct":78.125}}],"train_aggregate":{"mean_return_pct":16.8,"median_return_pct":16.43,"worst_return_pct":-0.14,"positive_fold_rate_pct":91.7,"mean_profit_factor":2.62,"mean_max_drawdown_pct":5.67,"mean_trade_count":40.0,"mean_win_rate":0.578},"test_aggregate":{"mean_return_pct":9.24,"median_return_pct":7.71,"worst_return_pct":-0.17,"positive_fold_rate_pct":91.7,"mean_profit_factor":6.25,"mean_max_drawdown_pct":3.67,"mean_trade_count":12.2,"mean_win_rate":0.6239},"gap_stats":{"mean_train_test_return_gap_pct":7.57,"worst_train_test_return_gap_pct":31.21,"fold_return_cv":0.926},"engine_reliability_ratio":null},"robustness_matrix_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252,504],"step_days":21,"overall_window_count":199,"overall_positive_window_rate_pct":81.9,"overall_worst_return_pct":-4.11,"horizon_summaries":[{"horizon_days":21,"window_count":48,"mean_return_pct":2.11,"median_return_pct":1.02,"worst_return_pct":-2.29,"positive_window_rate_pct":62.5,"mean_max_drawdown_pct":1.29},{"horizon_days":63,"window_count":46,"mean_return_pct":6.63,"median_return_pct":4.52,"worst_return_pct":-3.29,"positive_window_rate_pct":73.9,"mean_max_drawdown_pct":2.93},{"horizon_days":126,"window_count":43,"mean_return_pct":13.41,"median_return_pct":9.62,"worst_return_pct":-4.11,"positive_window_rate_pct":88.4,"mean_max_drawdown_pct":4.02},{"horizon_days":252,"window_count":37,"mean_return_pct":19.81,"median_return_pct":19.15,"worst_return_pct":-0.14,"positive_window_rate_pct":97.3,"mean_max_drawdown_pct":5.6},{"horizon_days":504,"window_count":25,"mean_return_pct":40.94,"median_return_pct":40.2,"worst_return_pct":22.17,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":8.22}]},"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252],"step_days":21,"overall_window_count":30,"overall_positive_window_rate_pct":83.3,"overall_worst_return_pct":-1.7,"horizon_summaries":[{"horizon_days":21,"window_count":12,"mean_return_pct":6.13,"median_return_pct":6.87,"worst_return_pct":-1.7,"positive_window_rate_pct":58.3,"mean_max_drawdown_pct":1.84},{"horizon_days":63,"window_count":10,"mean_return_pct":18.17,"median_return_pct":15.95,"worst_return_pct":6.75,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.42},{"horizon_days":126,"window_count":7,"mean_return_pct":43.75,"median_return_pct":46.96,"worst_return_pct":34.44,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.98},{"horizon_days":252,"window_count":1,"mean_return_pct":108.47,"median_return_pct":108.47,"worst_return_pct":108.47,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.48}]},"sqs_score":59.8,"sqs_breakdown":{"base_score":59.8,"gate_factor":1.0,"rb_gate_positive_rate":1.0,"rb_gate_63d_median":1.0,"rb_gate_252d_median":1.0,"rb_gate_worst_return":1.0,"oot_gate_factor":1.0,"oot_quality_factor":1.0,"oot_quality":100.0,"oot_rb_gate_positive_rate":1.0,"oot_rb_gate_63d_median":1.0,"oot_rb_gate_252d_median":1.0,"oot_rb_gate_worst_return":1.0,"oot_rb_quality_positive_rate":100.0,"oot_rb_quality_63d_median":100.0,"oot_rb_quality_252d_median":100.0,"oot_rb_quality_worst_return":100.0,"activity_factor":1.0,"activity_quality":100.0,"activity_test_trades":100.0,"activity_wf_mean_trades":100.0,"activity_days_in_market":100.0},"sqs_v2_score":91.9,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":60.0,"capital_efficiency":100.0},"promotion_score":51.4,"promotion_breakdown":{"valid_quality":44.3,"test_quality":91.9,"floor_quality":44.3},"unified_score":33.7,"unified_breakdown":{"valid_quality":57.2,"test_quality":81.5,"floor_quality":57.2,"gap_quality":35.7},"rqs_score":80.6,"rqs_breakdown":{"train_quality":72.8,"valid_quality":86.4,"test_quality":83.3,"floor_quality":72.8,"gap_quality":92.8},"wfqs_score":59.3,"wfqs_breakdown":{"median_return":30.8,"mean_return":37.0,"worst_return":32.2,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":87.2,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":42.8,"wfqs_v2_breakdown":{"base_score":57.7,"median_return":30.8,"mean_return":37.0,"worst_return":32.2,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":87.2,"fold_count":100.0,"overall_quality":55.9,"recent_quality":65.0,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.872,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":68.9,"deployment_breakdown":{"rqs_quality":80.6,"wfqs_quality":59.3,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"","next_direction":"","tags":["return","max","long","v6new.16"]} {"entry_id":"IMP-0533","timestamp":"2026-03-24T06:14:15.088448+00:00","experiment_name":"return_max_long_v6new.17","hypothesis":"v6new.9 + v10 macro regime scoring (VIX>18 + HY>3.25 bonus)","config_delta":{"base_experiment":"return_max_long_v6new.9","changes":{}},"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061229826409_f511f50f","trade_count":122,"profit_factor":3.287884218190509,"total_return_pct":64.78953957396033,"annualized_return_pct":18.293006822478496,"win_rate":0.6475409836065574,"max_drawdown_pct":6.23421062730483,"sharpe_ratio":1.877150221694649,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8400712961529752,"avg_gross_exposure_pct":37.354844075307746,"avg_net_exposure_pct":37.354844075307746,"days_in_market_pct":69.34404283801874},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061234372690_f511f50f","trade_count":21,"profit_factor":3.6998979744452574,"total_return_pct":24.18229592578915,"annualized_return_pct":49.11166370102356,"win_rate":0.47619047619047616,"max_drawdown_pct":7.280870709408488,"sharpe_ratio":2.0531773742684285,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.6997059481758438,"avg_gross_exposure_pct":23.76286172497292,"avg_net_exposure_pct":23.76286172497292,"days_in_market_pct":51.07913669064749},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061237134273_f511f50f","trade_count":27,"profit_factor":7.668576325917324,"total_return_pct":36.502350925899464,"annualized_return_pct":79.65224297292528,"win_rate":0.7407407407407407,"max_drawdown_pct":2.9467161972945894,"sharpe_ratio":3.3616466483889242,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8679889346967121,"avg_gross_exposure_pct":30.456500008811393,"avg_net_exposure_pct":30.456500008811393,"days_in_market_pct":66.66666666666666}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248337548_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248461246_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248337548_f511f50f","trade_count":11,"profit_factor":1.3814534408655645,"total_return_pct":0.645836789132809,"annualized_return_pct":null,"win_rate":0.5454545454545454,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":0.21784686345694718,"monthly_win_rate":0.5,"equity_curve_r_squared":0.1149438936321136,"avg_gross_exposure_pct":7.102131173119326,"avg_net_exposure_pct":7.102131173119326,"days_in_market_pct":25.296442687747035},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248461246_f511f50f","trade_count":8,"profit_factor":1.0705477434378325,"total_return_pct":0.1494066601152881,"annualized_return_pct":null,"win_rate":0.375,"max_drawdown_pct":2.782570514391107,"sharpe_ratio":0.1264807083551004,"monthly_win_rate":0.25,"equity_curve_r_squared":0.3869807575137277,"avg_gross_exposure_pct":36.59873716175309,"avg_net_exposure_pct":36.59873716175309,"days_in_market_pct":96.875}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248577089_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248775545_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248577089_f511f50f","trade_count":20,"profit_factor":0.958237694627994,"total_return_pct":-0.13913679091002268,"annualized_return_pct":null,"win_rate":0.45,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":-0.006746618269560042,"monthly_win_rate":0.42857142857142855,"equity_curve_r_squared":0.30190641178615835,"avg_gross_exposure_pct":17.27813671449091,"avg_net_exposure_pct":17.27813671449091,"days_in_market_pct":50.39682539682539},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248775545_f511f50f","trade_count":10,"profit_factor":5.624276290886923,"total_return_pct":6.781396712685804,"annualized_return_pct":null,"win_rate":0.8,"max_drawdown_pct":1.7291166312962378,"sharpe_ratio":3.0798161966116457,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8579832640226348,"avg_gross_exposure_pct":35.71419075773615,"avg_net_exposure_pct":35.71419075773615,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248873401_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249124976_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061248873401_f511f50f","trade_count":30,"profit_factor":2.6368917750484617,"total_return_pct":8.574965979453482,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.445312924871961,"sharpe_ratio":1.2799706679655503,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6260349254966325,"avg_gross_exposure_pct":27.560196327932623,"avg_net_exposure_pct":27.560196327932623,"days_in_market_pct":68.77470355731225},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249124976_f511f50f","trade_count":14,"profit_factor":5.139564762040555,"total_return_pct":9.1208409400105,"annualized_return_pct":null,"win_rate":0.7857142857142857,"max_drawdown_pct":2.6035573429472927,"sharpe_ratio":3.7581823525258913,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5983426404501401,"avg_gross_exposure_pct":43.484013453036106,"avg_net_exposure_pct":43.484013453036106,"days_in_market_pct":89.0625}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249252207_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249615846_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249252207_f511f50f","trade_count":42,"profit_factor":3.086956015403449,"total_return_pct":16.732283683749877,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":3.9227639037561373,"sharpe_ratio":1.940244354177891,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.769769618545105,"avg_gross_exposure_pct":39.11260525632952,"avg_net_exposure_pct":39.11260525632952,"days_in_market_pct":85.37549407114624},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249615846_f511f50f","trade_count":17,"profit_factor":3.2865176726425434,"total_return_pct":5.6407659772577174,"annualized_return_pct":null,"win_rate":0.5882352941176471,"max_drawdown_pct":4.075514117981166,"sharpe_ratio":2.0019526465333097,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.1773619216250303,"avg_gross_exposure_pct":61.02670364204819,"avg_net_exposure_pct":61.02670364204819,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249803099_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250246491_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061249803099_f511f50f","trade_count":49,"profit_factor":3.7270479925061557,"total_return_pct":24.36036264945357,"annualized_return_pct":null,"win_rate":0.6530612244897959,"max_drawdown_pct":4.073764191182275,"sharpe_ratio":2.3833977243840194,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8719340932897923,"avg_gross_exposure_pct":48.63539902930978,"avg_net_exposure_pct":48.63539902930978,"days_in_market_pct":90.51383399209486},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250246491_f511f50f","trade_count":17,"profit_factor":3.9662293139327303,"total_return_pct":11.731163646116926,"annualized_return_pct":null,"win_rate":0.6470588235294118,"max_drawdown_pct":3.1844852462682094,"sharpe_ratio":3.173893869625148,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6443644890775859,"avg_gross_exposure_pct":49.961011325477,"avg_net_exposure_pct":49.961011325477,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250430075_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250979007_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250430075_f511f50f","trade_count":58,"profit_factor":4.03581076832494,"total_return_pct":36.50415655225245,"annualized_return_pct":null,"win_rate":0.6724137931034483,"max_drawdown_pct":4.071474559832314,"sharpe_ratio":2.829075584593358,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8846007957886843,"avg_gross_exposure_pct":52.321873716754055,"avg_net_exposure_pct":52.321873716754055,"days_in_market_pct":90.11857707509881},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061250979007_f511f50f","trade_count":14,"profit_factor":6.180372802382087,"total_return_pct":7.9625819862345235,"annualized_return_pct":null,"win_rate":0.7142857142857143,"max_drawdown_pct":4.988486166877827,"sharpe_ratio":2.1478239068834006,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8411430120049073,"avg_gross_exposure_pct":63.18040015502978,"avg_net_exposure_pct":63.18040015502978,"days_in_market_pct":96.875}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251178782_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251753800_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251178782_f511f50f","trade_count":62,"profit_factor":4.431244100433132,"total_return_pct":40.99189510424356,"annualized_return_pct":null,"win_rate":0.6774193548387096,"max_drawdown_pct":4.9809204669105185,"sharpe_ratio":2.7483434221995298,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.9313760023344859,"avg_gross_exposure_pct":58.70439799521667,"avg_net_exposure_pct":58.70439799521667,"days_in_market_pct":96.04743083003953},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251753800_f511f50f","trade_count":15,"profit_factor":0.9398325150688185,"total_return_pct":-0.17766072165014338,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.6541987991263625,"sharpe_ratio":-0.09151990282864132,"monthly_win_rate":0.5,"equity_curve_r_squared":0.33251050185197567,"avg_gross_exposure_pct":43.80445080741524,"avg_net_exposure_pct":43.80445080741524,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251907980_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061252501644_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061251907980_f511f50f","trade_count":63,"profit_factor":2.9085807353971633,"total_return_pct":27.293678985315605,"annualized_return_pct":null,"win_rate":0.6349206349206349,"max_drawdown_pct":5.437641766270816,"sharpe_ratio":2.0201453171813233,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8516901404467807,"avg_gross_exposure_pct":57.79665185614626,"avg_net_exposure_pct":57.79665185614626,"days_in_market_pct":97.23320158102767},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061252501644_f511f50f","trade_count":15,"profit_factor":4.552043487537767,"total_return_pct":8.699734792409245,"annualized_return_pct":null,"win_rate":0.4666666666666667,"max_drawdown_pct":2.8692711393031916,"sharpe_ratio":2.7212446302403785,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7634625166684934,"avg_gross_exposure_pct":54.33278549525135,"avg_net_exposure_pct":54.33278549525135,"days_in_market_pct":67.1875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061252699912_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061253389846_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061252699912_f511f50f","trade_count":61,"profit_factor":3.0842921413289512,"total_return_pct":28.945700103748212,"annualized_return_pct":null,"win_rate":0.6065573770491803,"max_drawdown_pct":6.238981143136957,"sharpe_ratio":2.07987031344997,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.708783519903663,"avg_gross_exposure_pct":56.018928812250635,"avg_net_exposure_pct":56.018928812250635,"days_in_market_pct":90.9090909090909},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061253389846_f511f50f","trade_count":7,"profit_factor":9.50849914998883,"total_return_pct":7.367456914772251,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":3.8461059903039927,"sharpe_ratio":1.881712313899184,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6415801945485577,"avg_gross_exposure_pct":19.590139658283725,"avg_net_exposure_pct":19.590139658283725,"days_in_market_pct":57.8125}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061253495791_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254077425_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061253495791_f511f50f","trade_count":46,"profit_factor":2.8352511591681773,"total_return_pct":15.668224984521077,"annualized_return_pct":null,"win_rate":0.5869565217391305,"max_drawdown_pct":6.230206954322322,"sharpe_ratio":1.459471353960371,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6931443312692425,"avg_gross_exposure_pct":60.79931794468846,"avg_net_exposure_pct":60.79931794468846,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254077425_f511f50f","trade_count":6,"profit_factor":11.80461981543794,"total_return_pct":14.523599419866922,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":2.7376478433106826,"sharpe_ratio":2.6300567858612305,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6506643759146662,"avg_gross_exposure_pct":10.708354254355227,"avg_net_exposure_pct":10.708354254355227,"days_in_market_pct":34.375}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254181516_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254634535_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254181516_f511f50f","trade_count":37,"profit_factor":3.231101718012319,"total_return_pct":16.164332828665078,"annualized_return_pct":null,"win_rate":0.5675675675675675,"max_drawdown_pct":4.460694737839057,"sharpe_ratio":1.8601910228105913,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7770264006812272,"avg_gross_exposure_pct":63.00852525032112,"avg_net_exposure_pct":63.00852525032112,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254634535_f511f50f","trade_count":14,"profit_factor":3.524551460897127,"total_return_pct":8.49528092252514,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":2.270775565783805,"sharpe_ratio":2.1932712144006956,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6468258517954852,"avg_gross_exposure_pct":24.11410319852168,"avg_net_exposure_pct":24.11410319852168,"days_in_market_pct":57.8125}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254779887_f511f50f","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324061255124904_f511f50f","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061254779887_f511f50f","trade_count":27,"profit_factor":6.020307231502915,"total_return_pct":18.16696271480527,"annualized_return_pct":null,"win_rate":0.5555555555555556,"max_drawdown_pct":2.8692711393031916,"sharpe_ratio":2.1551486305332435,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.8384961729854519,"avg_gross_exposure_pct":67.80820138383437,"avg_net_exposure_pct":67.80820138383437,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324061255124904_f511f50f","trade_count":13,"profit_factor":18.75664126828514,"total_return_pct":27.24678272039871,"annualized_return_pct":null,"win_rate":0.9230769230769231,"max_drawdown_pct":3.2536121492392946,"sharpe_ratio":4.330498951920408,"monthly_win_rate":1.0,"equity_curve_r_squared":0.7665049198417522,"avg_gross_exposure_pct":40.50696957923369,"avg_net_exposure_pct":40.50696957923369,"days_in_market_pct":76.5625}}],"train_aggregate":{"mean_return_pct":19.49,"median_return_pct":17.45,"worst_return_pct":-0.14,"positive_fold_rate_pct":91.7,"mean_profit_factor":3.19,"mean_max_drawdown_pct":4.39,"mean_trade_count":42.2,"mean_win_rate":0.5994},"test_aggregate":{"mean_return_pct":8.96,"median_return_pct":8.23,"worst_return_pct":-0.18,"positive_fold_rate_pct":91.7,"mean_profit_factor":6.2,"mean_max_drawdown_pct":3.17,"mean_trade_count":12.5,"mean_win_rate":0.6365},"gap_stats":{"mean_train_test_return_gap_pct":10.53,"worst_train_test_return_gap_pct":41.17,"fold_return_cv":0.792},"engine_reliability_ratio":null},"robustness_matrix_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252,504],"step_days":21,"overall_window_count":199,"overall_positive_window_rate_pct":83.9,"overall_worst_return_pct":-1.52,"horizon_summaries":[{"horizon_days":21,"window_count":48,"mean_return_pct":2.02,"median_return_pct":1.02,"worst_return_pct":-1.52,"positive_window_rate_pct":62.5,"mean_max_drawdown_pct":1.23},{"horizon_days":63,"window_count":46,"mean_return_pct":6.16,"median_return_pct":4.17,"worst_return_pct":-1.24,"positive_window_rate_pct":80.4,"mean_max_drawdown_pct":2.65},{"horizon_days":126,"window_count":43,"mean_return_pct":12.1,"median_return_pct":10.41,"worst_return_pct":-0.25,"positive_window_rate_pct":90.7,"mean_max_drawdown_pct":3.47},{"horizon_days":252,"window_count":37,"mean_return_pct":21.51,"median_return_pct":20.51,"worst_return_pct":-0.14,"positive_window_rate_pct":97.3,"mean_max_drawdown_pct":4.45},{"horizon_days":504,"window_count":25,"mean_return_pct":49.04,"median_return_pct":49.65,"worst_return_pct":23.98,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":5.54}]},"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252],"step_days":21,"overall_window_count":30,"overall_positive_window_rate_pct":83.3,"overall_worst_return_pct":-0.82,"horizon_summaries":[{"horizon_days":21,"window_count":12,"mean_return_pct":4.52,"median_return_pct":1.92,"worst_return_pct":-0.82,"positive_window_rate_pct":58.3,"mean_max_drawdown_pct":1.83},{"horizon_days":63,"window_count":10,"mean_return_pct":13.0,"median_return_pct":11.18,"worst_return_pct":6.08,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.27},{"horizon_days":126,"window_count":7,"mean_return_pct":28.12,"median_return_pct":29.53,"worst_return_pct":19.51,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.85},{"horizon_days":252,"window_count":1,"mean_return_pct":67.53,"median_return_pct":67.53,"worst_return_pct":67.53,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":7.28}]},"sqs_score":59.1,"sqs_breakdown":{"base_score":59.1,"gate_factor":1.0,"rb_gate_positive_rate":1.0,"rb_gate_63d_median":1.0,"rb_gate_252d_median":1.0,"rb_gate_worst_return":1.0,"oot_gate_factor":1.0,"oot_quality_factor":1.0,"oot_quality":100.0,"oot_rb_gate_positive_rate":1.0,"oot_rb_gate_63d_median":1.0,"oot_rb_gate_252d_median":1.0,"oot_rb_gate_worst_return":1.0,"oot_rb_quality_positive_rate":100.0,"oot_rb_quality_63d_median":100.0,"oot_rb_quality_252d_median":100.0,"oot_rb_quality_worst_return":100.0,"activity_factor":1.0,"activity_quality":100.0,"activity_test_trades":100.0,"activity_wf_mean_trades":100.0,"activity_days_in_market":100.0},"sqs_v2_score":93.2,"sqs_v2_breakdown":{"profitability":100.0,"risk":89.2,"consistency":100.0,"robustness":59.4,"capital_efficiency":100.0},"promotion_score":82.4,"promotion_breakdown":{"valid_quality":80.5,"test_quality":93.2,"floor_quality":80.5},"unified_score":40.1,"unified_breakdown":{"valid_quality":66.0,"test_quality":84.9,"floor_quality":66.0,"gap_quality":53.7},"rqs_score":77.0,"rqs_breakdown":{"train_quality":82.7,"valid_quality":66.2,"test_quality":83.2,"floor_quality":66.2,"gap_quality":86.0},"wfqs_score":60.0,"wfqs_breakdown":{"median_return":32.9,"mean_return":35.8,"worst_return":32.1,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":91.0,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":44.5,"wfqs_v2_breakdown":{"base_score":57.4,"median_return":32.9,"mean_return":35.8,"worst_return":32.1,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":91.0,"fold_count":100.0,"overall_quality":56.6,"recent_quality":60.2,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.912,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":67.7,"deployment_breakdown":{"rqs_quality":77.0,"wfqs_quality":60.0,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"","next_direction":"","tags":["return","max","long","v6new.17"]} +{"entry_id":"IMP-0534","timestamp":"2026-03-24T06:25:39.195742+00:00","experiment_name":"return_max_long_v6new.19","hypothesis":"v6new.9 + spy_qqq macro regime sizing (risk_off=0.55)","config_delta":{"base_experiment":"return_max_long_v6new.9","changes":{}},"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217455154_c86b5640","trade_count":122,"profit_factor":3.378201504235805,"total_return_pct":62.82438654793968,"annualized_return_pct":17.816671455225276,"win_rate":0.639344262295082,"max_drawdown_pct":5.856351512700548,"sharpe_ratio":2.0532035254795735,"monthly_win_rate":0.6296296296296297,"equity_curve_r_squared":0.8467104108927067,"avg_gross_exposure_pct":34.06954859555456,"avg_net_exposure_pct":34.06954859555456,"days_in_market_pct":69.34404283801874},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062223538908_c86b5640","trade_count":15,"profit_factor":17.138245251721273,"total_return_pct":37.92839649491699,"annualized_return_pct":80.97506185985637,"win_rate":0.6,"max_drawdown_pct":4.604413808230403,"sharpe_ratio":3.201152472370939,"monthly_win_rate":1.0,"equity_curve_r_squared":0.7988762343646265,"avg_gross_exposure_pct":21.597642124758032,"avg_net_exposure_pct":21.597642124758032,"days_in_market_pct":53.23741007194245},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062226937913_c86b5640","trade_count":28,"profit_factor":10.918886505691054,"total_return_pct":47.37180095823697,"annualized_return_pct":107.52917326283806,"win_rate":0.75,"max_drawdown_pct":3.4031756979950805,"sharpe_ratio":3.7475209036397885,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.8847934506075761,"avg_gross_exposure_pct":37.210798993184504,"avg_net_exposure_pct":37.210798993184504,"days_in_market_pct":77.77777777777779}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062241612524_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062241785312_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062241612524_c86b5640","trade_count":11,"profit_factor":1.350576748064944,"total_return_pct":0.5400403421821538,"annualized_return_pct":null,"win_rate":0.5454545454545454,"max_drawdown_pct":3.1130307943817903,"sharpe_ratio":0.2015884734462806,"monthly_win_rate":0.25,"equity_curve_r_squared":0.04715318398494963,"avg_gross_exposure_pct":6.338982997258678,"avg_net_exposure_pct":6.338982997258678,"days_in_market_pct":25.296442687747035},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062241785312_c86b5640","trade_count":10,"profit_factor":0.9969955681123174,"total_return_pct":0.020052792466362008,"annualized_return_pct":null,"win_rate":0.4,"max_drawdown_pct":2.6977378803280243,"sharpe_ratio":0.04313126836397594,"monthly_win_rate":0.25,"equity_curve_r_squared":0.3497218907461946,"avg_gross_exposure_pct":35.550433242014684,"avg_net_exposure_pct":35.550433242014684,"days_in_market_pct":96.875}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242030729_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242297038_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242030729_c86b5640","trade_count":20,"profit_factor":0.8890957690417572,"total_return_pct":-0.3823360101232684,"annualized_return_pct":null,"win_rate":0.45,"max_drawdown_pct":3.1130307943817903,"sharpe_ratio":-0.0653564691876595,"monthly_win_rate":0.2857142857142857,"equity_curve_r_squared":0.22191589061116845,"avg_gross_exposure_pct":16.26042802146805,"avg_net_exposure_pct":16.26042802146805,"days_in_market_pct":50.39682539682539},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242297038_c86b5640","trade_count":10,"profit_factor":9.711028114527467,"total_return_pct":6.983623297549391,"annualized_return_pct":null,"win_rate":0.8,"max_drawdown_pct":1.274273210940581,"sharpe_ratio":3.657714079654349,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8766171068717651,"avg_gross_exposure_pct":30.307605219145376,"avg_net_exposure_pct":30.307605219145376,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242449408_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243021483_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062242449408_c86b5640","trade_count":30,"profit_factor":2.9855259248251977,"total_return_pct":8.526512209214793,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.1130307943817903,"sharpe_ratio":1.383555558573005,"monthly_win_rate":0.5555555555555556,"equity_curve_r_squared":0.602258418005998,"avg_gross_exposure_pct":25.183902353970677,"avg_net_exposure_pct":25.183902353970677,"days_in_market_pct":68.77470355731225},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243021483_c86b5640","trade_count":14,"profit_factor":5.351354251387967,"total_return_pct":8.695408824472732,"annualized_return_pct":null,"win_rate":0.7857142857142857,"max_drawdown_pct":2.4338920834636903,"sharpe_ratio":3.6245069972459434,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6127776245452399,"avg_gross_exposure_pct":39.63858076111363,"avg_net_exposure_pct":39.63858076111363,"days_in_market_pct":89.0625}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243414464_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243870539_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243414464_c86b5640","trade_count":41,"profit_factor":3.596736927047405,"total_return_pct":17.13170806125301,"annualized_return_pct":null,"win_rate":0.6341463414634146,"max_drawdown_pct":3.1108854898988625,"sharpe_ratio":2.1037466305318064,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7946346027441235,"avg_gross_exposure_pct":35.45564312224936,"avg_net_exposure_pct":35.45564312224936,"days_in_market_pct":85.37549407114624},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062243870539_c86b5640","trade_count":17,"profit_factor":3.5155153772740424,"total_return_pct":5.800839189679915,"annualized_return_pct":null,"win_rate":0.5882352941176471,"max_drawdown_pct":3.9269542548938086,"sharpe_ratio":2.0809279073839697,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.21423507528004132,"avg_gross_exposure_pct":59.58466265781868,"avg_net_exposure_pct":59.58466265781868,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062244144802_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062244831601_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062244144802_c86b5640","trade_count":51,"profit_factor":4.326004747482925,"total_return_pct":24.94887693455645,"annualized_return_pct":null,"win_rate":0.6470588235294118,"max_drawdown_pct":3.9420017494338384,"sharpe_ratio":2.5433675455965123,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8936872899924793,"avg_gross_exposure_pct":45.02809749770162,"avg_net_exposure_pct":45.02809749770162,"days_in_market_pct":90.51383399209486},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062244831601_c86b5640","trade_count":18,"profit_factor":3.4781322598238096,"total_return_pct":11.337355077924514,"annualized_return_pct":null,"win_rate":0.6111111111111112,"max_drawdown_pct":2.808370508125212,"sharpe_ratio":3.9893177919689116,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6402008657507305,"avg_gross_exposure_pct":48.63379767132594,"avg_net_exposure_pct":48.63379767132594,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062245204653_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062246090263_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062245204653_c86b5640","trade_count":58,"profit_factor":4.195932795797452,"total_return_pct":36.81781578874291,"annualized_return_pct":null,"win_rate":0.6551724137931034,"max_drawdown_pct":3.930308253262487,"sharpe_ratio":3.2210485277847294,"monthly_win_rate":0.75,"equity_curve_r_squared":0.9044799492367657,"avg_gross_exposure_pct":48.61266874953386,"avg_net_exposure_pct":48.61266874953386,"days_in_market_pct":90.11857707509881},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062246090263_c86b5640","trade_count":14,"profit_factor":4.983619147156824,"total_return_pct":6.035338078235829,"annualized_return_pct":null,"win_rate":0.7142857142857143,"max_drawdown_pct":4.96106464437579,"sharpe_ratio":1.9878507017562004,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7814786882619212,"avg_gross_exposure_pct":51.0446243213467,"avg_net_exposure_pct":51.0446243213467,"days_in_market_pct":96.875}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062246297597_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062247249147_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062246297597_c86b5640","trade_count":62,"profit_factor":4.068328709674985,"total_return_pct":37.551371138566466,"annualized_return_pct":null,"win_rate":0.6612903225806451,"max_drawdown_pct":4.947998037121777,"sharpe_ratio":2.9188067516622427,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.9352677402279812,"avg_gross_exposure_pct":53.97238362443248,"avg_net_exposure_pct":53.97238362443248,"days_in_market_pct":96.04743083003953},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062247249147_c86b5640","trade_count":15,"profit_factor":0.9538647562723525,"total_return_pct":-0.09850255395114071,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.538349503607193,"sharpe_ratio":-0.049566193032384596,"monthly_win_rate":0.5,"equity_curve_r_squared":0.3793068934224603,"avg_gross_exposure_pct":39.012770125720074,"avg_net_exposure_pct":39.012770125720074,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062247413047_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062248078016_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062247413047_c86b5640","trade_count":64,"profit_factor":2.7929212453563377,"total_return_pct":25.232415273233418,"annualized_return_pct":null,"win_rate":0.625,"max_drawdown_pct":5.165179864648657,"sharpe_ratio":2.197101056279663,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8435030880724677,"avg_gross_exposure_pct":52.71614999857293,"avg_net_exposure_pct":52.71614999857293,"days_in_market_pct":97.23320158102767},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062248078016_c86b5640","trade_count":15,"profit_factor":5.719250501494218,"total_return_pct":9.256543844757209,"annualized_return_pct":null,"win_rate":0.5333333333333333,"max_drawdown_pct":2.8648043568631634,"sharpe_ratio":3.027969296735872,"monthly_win_rate":0.75,"equity_curve_r_squared":0.76757225678662,"avg_gross_exposure_pct":50.33007553170435,"avg_net_exposure_pct":50.33007553170435,"days_in_market_pct":67.1875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062248313921_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062320923363_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062248313921_c86b5640","trade_count":62,"profit_factor":2.8506354856187337,"total_return_pct":26.278375068314432,"annualized_return_pct":null,"win_rate":0.5806451612903226,"max_drawdown_pct":5.876098844373769,"sharpe_ratio":2.2149400779551884,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6821827032328059,"avg_gross_exposure_pct":51.17975628228856,"avg_net_exposure_pct":51.17975628228856,"days_in_market_pct":90.9090909090909},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062320923363_c86b5640","trade_count":7,"profit_factor":12.074046259195603,"total_return_pct":7.418028922526268,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":3.8478167143152433,"sharpe_ratio":1.9008185516598906,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6478388145917486,"avg_gross_exposure_pct":17.263469067033775,"avg_net_exposure_pct":17.263469067033775,"days_in_market_pct":57.8125}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062323167536_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062336518603_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062323167536_c86b5640","trade_count":46,"profit_factor":2.8194917495755845,"total_return_pct":14.103443254320636,"annualized_return_pct":null,"win_rate":0.5869565217391305,"max_drawdown_pct":5.896284622364416,"sharpe_ratio":1.4857549776219654,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6643369506686576,"avg_gross_exposure_pct":55.69935090592931,"avg_net_exposure_pct":55.69935090592931,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062336518603_c86b5640","trade_count":8,"profit_factor":16.762815466869526,"total_return_pct":21.31783709299381,"annualized_return_pct":null,"win_rate":0.75,"max_drawdown_pct":2.1173866796559544,"sharpe_ratio":3.578263780877,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6588703879699245,"avg_gross_exposure_pct":14.720357114312167,"avg_net_exposure_pct":14.720357114312167,"days_in_market_pct":39.0625}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062336976393_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062338172835_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062336976393_c86b5640","trade_count":36,"profit_factor":3.4106291475959303,"total_return_pct":16.016906224195452,"annualized_return_pct":null,"win_rate":0.5555555555555556,"max_drawdown_pct":4.277441598580781,"sharpe_ratio":1.9599989763631482,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.7732966996131443,"avg_gross_exposure_pct":60.8940082885743,"avg_net_exposure_pct":60.8940082885743,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062338172835_c86b5640","trade_count":14,"profit_factor":2.9177262100587296,"total_return_pct":6.161116977471087,"annualized_return_pct":null,"win_rate":0.6428571428571429,"max_drawdown_pct":2.7491375649599736,"sharpe_ratio":1.760754921768973,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.48124905251946515,"avg_gross_exposure_pct":17.945328975970618,"avg_net_exposure_pct":17.945328975970618,"days_in_market_pct":57.8125}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062338345794_c86b5640","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062339314360_c86b5640","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062338345794_c86b5640","trade_count":26,"profit_factor":7.259387382828908,"total_return_pct":18.791573671721153,"annualized_return_pct":null,"win_rate":0.5769230769230769,"max_drawdown_pct":2.8648043568631634,"sharpe_ratio":2.393436867217216,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.8353468232149118,"avg_gross_exposure_pct":66.36669607954316,"avg_net_exposure_pct":66.36669607954316,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062339314360_c86b5640","trade_count":13,"profit_factor":33.12682531819537,"total_return_pct":26.296278236928742,"annualized_return_pct":null,"win_rate":0.9230769230769231,"max_drawdown_pct":3.2536121492392946,"sharpe_ratio":4.987236502474788,"monthly_win_rate":1.0,"equity_curve_r_squared":0.7904054651931666,"avg_gross_exposure_pct":37.00448088491745,"avg_net_exposure_pct":37.00448088491745,"days_in_market_pct":76.5625}}],"train_aggregate":{"mean_return_pct":18.8,"median_return_pct":17.96,"worst_return_pct":-0.38,"positive_fold_rate_pct":91.7,"mean_profit_factor":3.38,"mean_max_drawdown_pct":4.11,"mean_trade_count":42.2,"mean_win_rate":0.5932},"test_aggregate":{"mean_return_pct":9.1,"median_return_pct":7.2,"worst_return_pct":-0.1,"positive_fold_rate_pct":91.7,"mean_profit_factor":8.3,"mean_max_drawdown_pct":3.04,"mean_trade_count":12.9,"mean_win_rate":0.6481},"gap_stats":{"mean_train_test_return_gap_pct":9.69,"worst_train_test_return_gap_pct":37.65,"fold_return_cv":0.847},"engine_reliability_ratio":null},"robustness_matrix_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252,504],"step_days":21,"overall_window_count":199,"overall_positive_window_rate_pct":81.9,"overall_worst_return_pct":-1.57,"horizon_summaries":[{"horizon_days":21,"window_count":48,"mean_return_pct":2.03,"median_return_pct":0.74,"worst_return_pct":-1.52,"positive_window_rate_pct":60.4,"mean_max_drawdown_pct":1.12},{"horizon_days":63,"window_count":46,"mean_return_pct":6.59,"median_return_pct":4.31,"worst_return_pct":-1.57,"positive_window_rate_pct":78.3,"mean_max_drawdown_pct":2.5},{"horizon_days":126,"window_count":43,"mean_return_pct":13.41,"median_return_pct":11.06,"worst_return_pct":-0.98,"positive_window_rate_pct":86.0,"mean_max_drawdown_pct":3.31},{"horizon_days":252,"window_count":37,"mean_return_pct":21.6,"median_return_pct":20.44,"worst_return_pct":-0.38,"positive_window_rate_pct":97.3,"mean_max_drawdown_pct":4.2},{"horizon_days":504,"window_count":25,"mean_return_pct":47.43,"median_return_pct":48.13,"worst_return_pct":24.45,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":5.28}]},"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252],"step_days":21,"overall_window_count":30,"overall_positive_window_rate_pct":83.3,"overall_worst_return_pct":-1.78,"horizon_summaries":[{"horizon_days":21,"window_count":12,"mean_return_pct":5.66,"median_return_pct":6.84,"worst_return_pct":-1.78,"positive_window_rate_pct":58.3,"mean_max_drawdown_pct":1.65},{"horizon_days":63,"window_count":10,"mean_return_pct":16.81,"median_return_pct":14.81,"worst_return_pct":6.75,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.14},{"horizon_days":126,"window_count":7,"mean_return_pct":40.03,"median_return_pct":43.81,"worst_return_pct":31.81,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.91},{"horizon_days":252,"window_count":1,"mean_return_pct":96.6,"median_return_pct":96.6,"worst_return_pct":96.6,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.6}]},"sqs_score":62.8,"sqs_breakdown":{"base_score":62.8,"gate_factor":1.0,"rb_gate_positive_rate":1.0,"rb_gate_63d_median":1.0,"rb_gate_252d_median":1.0,"rb_gate_worst_return":1.0,"oot_gate_factor":1.0,"oot_quality_factor":1.0,"oot_quality":100.0,"oot_rb_gate_positive_rate":1.0,"oot_rb_gate_63d_median":1.0,"oot_rb_gate_252d_median":1.0,"oot_rb_gate_worst_return":1.0,"oot_rb_quality_positive_rate":100.0,"oot_rb_quality_63d_median":100.0,"oot_rb_quality_252d_median":100.0,"oot_rb_quality_worst_return":100.0,"activity_factor":1.0,"activity_quality":100.0,"activity_test_trades":100.0,"activity_wf_mean_trades":100.0,"activity_days_in_market":100.0},"sqs_v2_score":92.7,"sqs_v2_breakdown":{"profitability":100.0,"risk":86.6,"consistency":100.0,"robustness":60.0,"capital_efficiency":100.0},"promotion_score":51.6,"promotion_breakdown":{"valid_quality":44.3,"test_quality":92.7,"floor_quality":44.3},"unified_score":33.2,"unified_breakdown":{"valid_quality":57.2,"test_quality":83.6,"floor_quality":57.2,"gap_quality":28.7},"rqs_score":86.3,"rqs_breakdown":{"train_quality":84.0,"valid_quality":86.5,"test_quality":84.5,"floor_quality":84.0,"gap_quality":100.0},"wfqs_score":59.3,"wfqs_breakdown":{"median_return":28.8,"mean_return":36.4,"worst_return":32.7,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":92.0,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":43.5,"wfqs_v2_breakdown":{"base_score":57.1,"median_return":28.8,"mean_return":36.4,"worst_return":32.7,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":92.0,"fold_count":100.0,"overall_quality":55.9,"recent_quality":61.8,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.896,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":71.5,"deployment_breakdown":{"rqs_quality":86.3,"wfqs_quality":59.3,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"","next_direction":"","tags":["return","max","long","v6new.19"]} +{"entry_id":"IMP-0535","timestamp":"2026-03-24T06:27:11.924003+00:00","experiment_name":"return_max_long_v6.94","hypothesis":"v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | split broad_oneoff into high-gap sibling, residual parent risk=0.007","config_delta":null,"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062124438596_bd522c51","trade_count":121,"profit_factor":3.0272487215506048,"total_return_pct":60.27535930734652,"annualized_return_pct":17.193091487337163,"win_rate":0.6198347107438017,"max_drawdown_pct":7.036573703813838,"sharpe_ratio":1.8301414892239374,"monthly_win_rate":0.7037037037037037,"equity_curve_r_squared":0.8317914486638253,"avg_gross_exposure_pct":34.569933760086556,"avg_net_exposure_pct":34.569933760086556,"days_in_market_pct":69.07630522088354},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062121905295_bd522c51","trade_count":22,"profit_factor":14.679518568297864,"total_return_pct":40.1517155865597,"annualized_return_pct":86.39302558855317,"win_rate":0.6363636363636364,"max_drawdown_pct":4.001765697299187,"sharpe_ratio":3.630989713474317,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8147215035169538,"avg_gross_exposure_pct":30.409925762343317,"avg_net_exposure_pct":30.409925762343317,"days_in_market_pct":71.94244604316546},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062120586454_bd522c51","trade_count":27,"profit_factor":11.7013548187565,"total_return_pct":56.39638828269107,"annualized_return_pct":132.10091475128056,"win_rate":0.7407407407407407,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.81127147354086,"monthly_win_rate":0.8571428571428571,"equity_curve_r_squared":0.9143171073993515,"avg_gross_exposure_pct":43.75809508489622,"avg_net_exposure_pct":43.75809508489622,"days_in_market_pct":82.22222222222221}},"walk_forward_summary":null,"robustness_matrix_summary":null,"out_of_time_robustness_summary":null,"sqs_score":89.8,"sqs_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4},"sqs_v2_score":91.5,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4,"capital_efficiency":96.7},"promotion_score":91.1,"promotion_breakdown":{"valid_quality":91.0,"test_quality":91.5,"floor_quality":91.0},"unified_score":51.0,"unified_breakdown":{"valid_quality":80.8,"test_quality":80.6,"floor_quality":80.6,"gap_quality":100.0},"rqs_score":84.4,"rqs_breakdown":{"train_quality":81.6,"valid_quality":83.0,"test_quality":83.9,"floor_quality":81.6,"gap_quality":100.0},"wfqs_score":null,"wfqs_breakdown":{},"wfqs_v2_score":null,"wfqs_v2_breakdown":{},"deployment_score":null,"deployment_breakdown":{},"verdict":"unknown","verdict_reasoning":"Auto-synced from official manifest.","next_direction":"","tags":["return-max","v4-lineage","ultra-addon","corrected-snapshot","oneoff-sibling"]} +{"entry_id":"IMP-0536","timestamp":"2026-03-24T06:27:14.711877+00:00","experiment_name":"return_max_long_v6.95","hypothesis":"v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | split broad_oneoff into low-close sibling, residual parent risk=0.007","config_delta":null,"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062124385357_4facdd75","trade_count":121,"profit_factor":3.0281453681089867,"total_return_pct":60.39410321858991,"annualized_return_pct":17.22228593482209,"win_rate":0.6198347107438017,"max_drawdown_pct":6.99618009748553,"sharpe_ratio":1.8307777439062176,"monthly_win_rate":0.7037037037037037,"equity_curve_r_squared":0.8319416027782708,"avg_gross_exposure_pct":34.62403954744137,"avg_net_exposure_pct":34.62403954744137,"days_in_market_pct":69.07630522088354},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062121917358_4facdd75","trade_count":22,"profit_factor":14.62105110908019,"total_return_pct":40.20992108654592,"annualized_return_pct":86.53584803448067,"win_rate":0.6363636363636364,"max_drawdown_pct":3.9494582023220164,"sharpe_ratio":3.646108233299888,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8157757904975146,"avg_gross_exposure_pct":30.536480265899048,"avg_net_exposure_pct":30.536480265899048,"days_in_market_pct":71.94244604316546},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062120632965_4facdd75","trade_count":27,"profit_factor":11.7013548187565,"total_return_pct":56.39638828269107,"annualized_return_pct":132.10091475128056,"win_rate":0.7407407407407407,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.81127147354086,"monthly_win_rate":0.8571428571428571,"equity_curve_r_squared":0.9143171073993515,"avg_gross_exposure_pct":43.75809508489622,"avg_net_exposure_pct":43.75809508489622,"days_in_market_pct":82.22222222222221}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217636461_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217760571_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217636461_4facdd75","trade_count":9,"profit_factor":2.6095598905556394,"total_return_pct":1.3738708764768235,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":2.75081147767825,"sharpe_ratio":0.49748992696879557,"monthly_win_rate":0.75,"equity_curve_r_squared":0.3038747555098787,"avg_gross_exposure_pct":6.372639711436572,"avg_net_exposure_pct":6.372639711436572,"days_in_market_pct":22.92490118577075},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217760571_4facdd75","trade_count":9,"profit_factor":1.3044485424665064,"total_return_pct":0.44889937991344775,"annualized_return_pct":null,"win_rate":0.4444444444444444,"max_drawdown_pct":2.560538365595378,"sharpe_ratio":0.31784419266314334,"monthly_win_rate":0.5,"equity_curve_r_squared":0.3865179096444006,"avg_gross_exposure_pct":35.607857113546395,"avg_net_exposure_pct":35.607857113546395,"days_in_market_pct":98.4375}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217888363_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218261615_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062217888363_4facdd75","trade_count":18,"profit_factor":1.3054344335606307,"total_return_pct":0.8907447404362174,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":2.911801631027322,"sharpe_ratio":0.2206962631694822,"monthly_win_rate":0.7142857142857143,"equity_curve_r_squared":0.5385297520211489,"avg_gross_exposure_pct":16.294720441485868,"avg_net_exposure_pct":16.294720441485868,"days_in_market_pct":48.01587301587302},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218261615_4facdd75","trade_count":11,"profit_factor":6.640309962000419,"total_return_pct":7.210244897225391,"annualized_return_pct":null,"win_rate":0.8181818181818182,"max_drawdown_pct":1.6119371794240678,"sharpe_ratio":3.372342896563104,"monthly_win_rate":1.0,"equity_curve_r_squared":0.860953131992197,"avg_gross_exposure_pct":34.57349381086875,"avg_net_exposure_pct":34.57349381086875,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218369849_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218759882_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218369849_4facdd75","trade_count":29,"profit_factor":3.01050436912504,"total_return_pct":8.43339346413569,"annualized_return_pct":null,"win_rate":0.6206896551724138,"max_drawdown_pct":2.911801631027322,"sharpe_ratio":1.3225005720422587,"monthly_win_rate":0.7777777777777778,"equity_curve_r_squared":0.7070303743113577,"avg_gross_exposure_pct":25.32533292444758,"avg_net_exposure_pct":25.32533292444758,"days_in_market_pct":66.40316205533597},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218759882_4facdd75","trade_count":13,"profit_factor":4.442359172672341,"total_return_pct":7.593720234829787,"annualized_return_pct":null,"win_rate":0.7692307692307693,"max_drawdown_pct":2.6039536385934388,"sharpe_ratio":3.022549671941789,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5601149250126166,"avg_gross_exposure_pct":39.10527848120213,"avg_net_exposure_pct":39.10527848120213,"days_in_market_pct":89.0625}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218897504_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062219235676_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062218897504_4facdd75","trade_count":40,"profit_factor":3.221091469338274,"total_return_pct":15.166171936301238,"annualized_return_pct":null,"win_rate":0.625,"max_drawdown_pct":3.684748467582572,"sharpe_ratio":1.808943305300065,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.7894119903096599,"avg_gross_exposure_pct":35.53053156129645,"avg_net_exposure_pct":35.53053156129645,"days_in_market_pct":83.00395256916995},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062219235676_4facdd75","trade_count":17,"profit_factor":4.145881518441891,"total_return_pct":6.47296294453781,"annualized_return_pct":null,"win_rate":0.5294117647058824,"max_drawdown_pct":4.7221722482788975,"sharpe_ratio":2.517510205544503,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.0426995543154322,"avg_gross_exposure_pct":50.98135697749296,"avg_net_exposure_pct":50.98135697749296,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062219516798_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220003781_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062219516798_4facdd75","trade_count":50,"profit_factor":3.236274957609573,"total_return_pct":20.389561006431116,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":5.528616500920447,"sharpe_ratio":2.096723386840316,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8672879447293764,"avg_gross_exposure_pct":42.87836185625499,"avg_net_exposure_pct":42.87836185625499,"days_in_market_pct":90.9090909090909},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220003781_4facdd75","trade_count":14,"profit_factor":3.4048102953436845,"total_return_pct":11.37626676421659,"annualized_return_pct":null,"win_rate":0.42857142857142855,"max_drawdown_pct":2.863078330548929,"sharpe_ratio":3.263116436348977,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6560871892781902,"avg_gross_exposure_pct":45.89391666573686,"avg_net_exposure_pct":45.89391666573686,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220266925_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220948240_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220266925_4facdd75","trade_count":54,"profit_factor":3.580283437493877,"total_return_pct":34.28188146623288,"annualized_return_pct":null,"win_rate":0.5740740740740741,"max_drawdown_pct":5.5372488074077,"sharpe_ratio":2.784164724150982,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.8554239490899889,"avg_gross_exposure_pct":46.44085043885089,"avg_net_exposure_pct":46.44085043885089,"days_in_market_pct":90.11857707509881},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062220948240_4facdd75","trade_count":15,"profit_factor":5.585685655042713,"total_return_pct":7.124891185924745,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":5.238209337297871,"sharpe_ratio":1.918220707866824,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8138162172666511,"avg_gross_exposure_pct":60.89296654625181,"avg_net_exposure_pct":60.89296654625181,"days_in_market_pct":96.875}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062221894714_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062223338066_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062221894714_4facdd75","trade_count":58,"profit_factor":3.87496775924043,"total_return_pct":37.893282290910896,"annualized_return_pct":null,"win_rate":0.5862068965517241,"max_drawdown_pct":5.525938534332903,"sharpe_ratio":2.6317045366064677,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.9127202259700001,"avg_gross_exposure_pct":53.041433336082136,"avg_net_exposure_pct":53.041433336082136,"days_in_market_pct":96.04743083003953},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062223338066_4facdd75","trade_count":18,"profit_factor":1.2339026642980366,"total_return_pct":0.8832128047482839,"annualized_return_pct":null,"win_rate":0.7222222222222222,"max_drawdown_pct":3.2387421592504837,"sharpe_ratio":0.6640805296729633,"monthly_win_rate":0.5,"equity_curve_r_squared":0.10114828419838665,"avg_gross_exposure_pct":46.85312350168033,"avg_net_exposure_pct":46.85312350168033,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062223690448_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062224536025_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062223690448_4facdd75","trade_count":63,"profit_factor":3.1496768363564267,"total_return_pct":30.3739641426408,"annualized_return_pct":null,"win_rate":0.6031746031746031,"max_drawdown_pct":5.638149741181885,"sharpe_ratio":2.30403744370886,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8684536883106774,"avg_gross_exposure_pct":54.42954133046653,"avg_net_exposure_pct":54.42954133046653,"days_in_market_pct":98.41897233201581},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062224536025_4facdd75","trade_count":16,"profit_factor":3.0672923471465734,"total_return_pct":7.48778153487698,"annualized_return_pct":null,"win_rate":0.5625,"max_drawdown_pct":3.6256106155487218,"sharpe_ratio":2.451404207965587,"monthly_win_rate":0.75,"equity_curve_r_squared":0.6753388840675698,"avg_gross_exposure_pct":51.890012817440734,"avg_net_exposure_pct":51.890012817440734,"days_in_market_pct":71.875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062224771046_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062226883976_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062224771046_4facdd75","trade_count":63,"profit_factor":2.841044056139923,"total_return_pct":28.977256815421832,"annualized_return_pct":null,"win_rate":0.6031746031746031,"max_drawdown_pct":6.987551677409345,"sharpe_ratio":2.1401151245792653,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.7001993022471521,"avg_gross_exposure_pct":54.81134704087057,"avg_net_exposure_pct":54.81134704087057,"days_in_market_pct":92.4901185770751},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062226883976_4facdd75","trade_count":10,"profit_factor":9.868697767536888,"total_return_pct":7.582747240486497,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":3.0779511535004,"sharpe_ratio":2.147499868215289,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6792487416660773,"avg_gross_exposure_pct":20.910196750858617,"avg_net_exposure_pct":20.910196750858617,"days_in_market_pct":65.625}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062226989333_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062227874229_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062226989333_4facdd75","trade_count":54,"profit_factor":2.4854529668010152,"total_return_pct":15.783566308751206,"annualized_return_pct":null,"win_rate":0.6111111111111112,"max_drawdown_pct":6.995935707928504,"sharpe_ratio":1.4655097462851878,"monthly_win_rate":0.5833333333333334,"equity_curve_r_squared":0.6981033634127515,"avg_gross_exposure_pct":58.838502873107984,"avg_net_exposure_pct":58.838502873107984,"days_in_market_pct":94.86166007905138},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062227874229_4facdd75","trade_count":13,"profit_factor":14.912462781429923,"total_return_pct":23.061995899899355,"annualized_return_pct":null,"win_rate":0.6923076923076923,"max_drawdown_pct":3.0564935652249168,"sharpe_ratio":4.081545780805274,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6835571955352837,"avg_gross_exposure_pct":30.418706974371627,"avg_net_exposure_pct":30.418706974371627,"days_in_market_pct":73.4375}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062228090472_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062230288725_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062228090472_4facdd75","trade_count":48,"profit_factor":3.6993004863780583,"total_return_pct":23.452513135927482,"annualized_return_pct":null,"win_rate":0.6458333333333334,"max_drawdown_pct":4.750839091382526,"sharpe_ratio":2.4110455851148656,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.8076328736246476,"avg_gross_exposure_pct":61.08259181365498,"avg_net_exposure_pct":61.08259181365498,"days_in_market_pct":93.67588932806325},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062230288725_4facdd75","trade_count":10,"profit_factor":24.141382364628072,"total_return_pct":10.544640285524482,"annualized_return_pct":null,"win_rate":0.7,"max_drawdown_pct":1.32202943456573,"sharpe_ratio":2.8465882404862355,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8184378676746354,"avg_gross_exposure_pct":18.44770557411673,"avg_net_exposure_pct":18.44770557411673,"days_in_market_pct":48.4375}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062231217300_4facdd75","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324062235645543_4facdd75","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062231217300_4facdd75","trade_count":38,"profit_factor":7.266291561236012,"total_return_pct":34.515214037792404,"annualized_return_pct":null,"win_rate":0.6842105263157895,"max_drawdown_pct":3.6256106155487218,"sharpe_ratio":3.069487428618886,"monthly_win_rate":0.9090909090909091,"equity_curve_r_squared":0.8961535700498169,"avg_gross_exposure_pct":65.23658142497284,"avg_net_exposure_pct":65.23658142497284,"days_in_market_pct":92.88537549407114},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324062235645543_4facdd75","trade_count":16,"profit_factor":9.35399938460615,"total_return_pct":26.41795407776798,"annualized_return_pct":null,"win_rate":0.875,"max_drawdown_pct":4.485048861007098,"sharpe_ratio":4.185791734779674,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7128732962702498,"avg_gross_exposure_pct":43.715049098732514,"avg_net_exposure_pct":43.715049098732514,"days_in_market_pct":98.4375}}],"train_aggregate":{"mean_return_pct":20.96,"median_return_pct":21.92,"worst_return_pct":0.89,"positive_fold_rate_pct":100.0,"mean_profit_factor":3.36,"mean_max_drawdown_pct":4.74,"mean_trade_count":43.7,"mean_win_rate":0.61},"test_aggregate":{"mean_return_pct":9.68,"median_return_pct":7.54,"worst_return_pct":0.45,"positive_fold_rate_pct":100.0,"mean_profit_factor":7.34,"mean_max_drawdown_pct":3.2,"mean_trade_count":13.5,"mean_win_rate":0.6424},"gap_stats":{"mean_train_test_return_gap_pct":11.28,"worst_train_test_return_gap_pct":37.01,"fold_return_cv":0.801},"engine_reliability_ratio":null},"robustness_matrix_summary":null,"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[63,126,189,252],"step_days":21,"overall_window_count":70,"overall_positive_window_rate_pct":81.4,"overall_worst_return_pct":-9.1,"horizon_summaries":[{"horizon_days":63,"window_count":22,"mean_return_pct":4.44,"median_return_pct":3.69,"worst_return_pct":-8.92,"positive_window_rate_pct":72.7,"mean_max_drawdown_pct":4.01},{"horizon_days":126,"window_count":19,"mean_return_pct":10.68,"median_return_pct":12.29,"worst_return_pct":-6.96,"positive_window_rate_pct":73.7,"mean_max_drawdown_pct":5.98},{"horizon_days":189,"window_count":16,"mean_return_pct":18.1,"median_return_pct":18.61,"worst_return_pct":-9.1,"positive_window_rate_pct":87.5,"mean_max_drawdown_pct":7.34},{"horizon_days":252,"window_count":13,"mean_return_pct":27.08,"median_return_pct":25.11,"worst_return_pct":8.85,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":8.19}]},"sqs_score":89.8,"sqs_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4},"sqs_v2_score":91.5,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4,"capital_efficiency":96.7},"promotion_score":91.2,"promotion_breakdown":{"valid_quality":91.1,"test_quality":91.5,"floor_quality":91.1},"unified_score":51.1,"unified_breakdown":{"valid_quality":80.9,"test_quality":80.6,"floor_quality":80.6,"gap_quality":100.0},"rqs_score":84.4,"rqs_breakdown":{"train_quality":81.7,"valid_quality":83.1,"test_quality":83.9,"floor_quality":81.7,"gap_quality":100.0},"wfqs_score":62.9,"wfqs_breakdown":{"median_return":30.2,"mean_return":38.7,"worst_return":36.3,"positive_fold_rate":100.0,"profit_factor":100.0,"drawdown":90.8,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":47.2,"wfqs_v2_breakdown":{"base_score":61.0,"median_return":30.2,"mean_return":38.7,"worst_return":36.3,"positive_fold_rate":100.0,"profit_factor":100.0,"drawdown":90.8,"fold_count":100.0,"overall_quality":59.7,"recent_quality":66.3,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.91,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":72.6,"deployment_breakdown":{"rqs_quality":84.4,"wfqs_quality":62.9,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"Auto-synced from official manifest.","next_direction":"","tags":["return-max","v4-lineage","ultra-addon","corrected-snapshot","oneoff-sibling"]} +{"entry_id":"IMP-0537","timestamp":"2026-03-24T06:33:59.266293+00:00","experiment_name":"return_max_long_v6new.21","hypothesis":"vix_pead sizing: boost VIX>18, penalize VIX 15-18","config_delta":{"base_experiment":"return_max_long_v6new.9","changes":{}},"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063128894440_6031063c","trade_count":96,"profit_factor":2.635928407802395,"total_return_pct":43.35968062690986,"annualized_return_pct":12.878302662258667,"win_rate":0.6041666666666666,"max_drawdown_pct":8.232522765894364,"sharpe_ratio":1.6465537358363305,"monthly_win_rate":0.6538461538461539,"equity_curve_r_squared":0.860656962395523,"avg_gross_exposure_pct":29.915081927414416,"avg_net_exposure_pct":29.915081927414416,"days_in_market_pct":56.35876840696118},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063134237974_6031063c","trade_count":10,"profit_factor":17.658802711252665,"total_return_pct":34.77322462731306,"annualized_return_pct":73.41210269265576,"win_rate":0.6,"max_drawdown_pct":4.6024637831581945,"sharpe_ratio":2.8653977217198228,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8128113196210778,"avg_gross_exposure_pct":19.657619718535894,"avg_net_exposure_pct":19.657619718535894,"days_in_market_pct":38.84892086330935},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063137591570_6031063c","trade_count":16,"profit_factor":12.899800896237304,"total_return_pct":40.769923182323396,"annualized_return_pct":90.37253160087812,"win_rate":0.8125,"max_drawdown_pct":4.1191453865787135,"sharpe_ratio":3.1726425915571554,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.8565054399147445,"avg_gross_exposure_pct":33.18355772852163,"avg_net_exposure_pct":33.18355772852163,"days_in_market_pct":61.48148148148148}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156334364_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156506488_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156334364_6031063c","trade_count":9,"profit_factor":1.5661252473260479,"total_return_pct":0.7298411636273814,"annualized_return_pct":null,"win_rate":0.5555555555555556,"max_drawdown_pct":2.7902003275937552,"sharpe_ratio":0.27156579248504026,"monthly_win_rate":0.25,"equity_curve_r_squared":0.024808660926742054,"avg_gross_exposure_pct":6.208255713535044,"avg_net_exposure_pct":6.208255713535044,"days_in_market_pct":21.73913043478261},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156506488_6031063c","trade_count":5,"profit_factor":0.3387637864464667,"total_return_pct":-0.7626062078984979,"annualized_return_pct":null,"win_rate":0.4,"max_drawdown_pct":2.272853098392481,"sharpe_ratio":-0.5097598452423905,"monthly_win_rate":0.3333333333333333,"equity_curve_r_squared":0.028870484849931485,"avg_gross_exposure_pct":30.122565070038096,"avg_net_exposure_pct":30.122565070038096,"days_in_market_pct":53.125}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156649975_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156872320_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156649975_6031063c","trade_count":16,"profit_factor":0.6673451379554177,"total_return_pct":-0.9734693164329801,"annualized_return_pct":null,"win_rate":0.4375,"max_drawdown_pct":3.285195900557372,"sharpe_ratio":-0.21174687632208838,"monthly_win_rate":0.2857142857142857,"equity_curve_r_squared":0.02884320336596319,"avg_gross_exposure_pct":14.715057597063536,"avg_net_exposure_pct":14.715057597063536,"days_in_market_pct":37.301587301587304},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063156872320_6031063c","trade_count":4,"profit_factor":null,"total_return_pct":7.245045035373157,"annualized_return_pct":null,"win_rate":1.0,"max_drawdown_pct":1.274273210940581,"sharpe_ratio":4.118922534595769,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8873134434237723,"avg_gross_exposure_pct":23.850977552887,"avg_net_exposure_pct":23.850977552887,"days_in_market_pct":45.3125}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063157018577_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063157933816_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063157018577_6031063c","trade_count":20,"profit_factor":3.9121583689756707,"total_return_pct":8.155119935151582,"annualized_return_pct":null,"win_rate":0.6,"max_drawdown_pct":3.285195900557372,"sharpe_ratio":1.3948832867587797,"monthly_win_rate":0.5555555555555556,"equity_curve_r_squared":0.5195655835701118,"avg_gross_exposure_pct":22.02041417860428,"avg_net_exposure_pct":22.02041417860428,"days_in_market_pct":48.616600790513836},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063157933816_6031063c","trade_count":9,"profit_factor":4.290474067605168,"total_return_pct":5.323122989039723,"annualized_return_pct":null,"win_rate":0.8888888888888888,"max_drawdown_pct":2.228127832600599,"sharpe_ratio":3.4962904990563612,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.3635605829177288,"avg_gross_exposure_pct":35.34779034550747,"avg_net_exposure_pct":35.34779034550747,"days_in_market_pct":67.1875}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158050609_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158351163_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158050609_6031063c","trade_count":26,"profit_factor":4.244358343510212,"total_return_pct":14.148126948787553,"annualized_return_pct":null,"win_rate":0.7307692307692307,"max_drawdown_pct":3.3117686315812267,"sharpe_ratio":2.081088433252809,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.8076009165036191,"avg_gross_exposure_pct":30.806087150786315,"avg_net_exposure_pct":30.806087150786315,"days_in_market_pct":63.24110671936759},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158351163_6031063c","trade_count":15,"profit_factor":4.7069925483042985,"total_return_pct":6.39177235251326,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":3.9723482762407643,"sharpe_ratio":2.3455861164407588,"monthly_win_rate":1.0,"equity_curve_r_squared":0.33888080736461157,"avg_gross_exposure_pct":54.05298003703566,"avg_net_exposure_pct":54.05298003703566,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158490364_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158850953_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158490364_6031063c","trade_count":33,"profit_factor":4.457290390666216,"total_return_pct":20.529938659880457,"annualized_return_pct":null,"win_rate":0.7272727272727273,"max_drawdown_pct":4.7479429455560425,"sharpe_ratio":2.4128188370655255,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.915429232623976,"avg_gross_exposure_pct":39.08549615520521,"avg_net_exposure_pct":39.08549615520521,"days_in_market_pct":66.79841897233202},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063158850953_6031063c","trade_count":14,"profit_factor":2.242702338038838,"total_return_pct":6.441470222420059,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":2.9379618673253334,"sharpe_ratio":2.43651502957385,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.4119305201926859,"avg_gross_exposure_pct":39.420653961296736,"avg_net_exposure_pct":39.420653961296736,"days_in_market_pct":68.75}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063159033156_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063200345320_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063159033156_6031063c","trade_count":42,"profit_factor":3.467747272252496,"total_return_pct":27.168084467878074,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":4.748608381486807,"sharpe_ratio":2.754496579006044,"monthly_win_rate":0.8333333333333334,"equity_curve_r_squared":0.9119554993582326,"avg_gross_exposure_pct":41.68803106545787,"avg_net_exposure_pct":41.68803106545787,"days_in_market_pct":72.33201581027669},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063200345320_6031063c","trade_count":13,"profit_factor":2.1699803032849263,"total_return_pct":3.037600232010329,"annualized_return_pct":null,"win_rate":0.5384615384615384,"max_drawdown_pct":4.967892536091004,"sharpe_ratio":1.2155607179311987,"monthly_win_rate":0.3333333333333333,"equity_curve_r_squared":0.40067032560790067,"avg_gross_exposure_pct":40.25128578372724,"avg_net_exposure_pct":40.25128578372724,"days_in_market_pct":82.8125}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063200562050_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063201383903_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063200562050_6031063c","trade_count":51,"profit_factor":2.6305938768246078,"total_return_pct":22.55912954368585,"annualized_return_pct":null,"win_rate":0.5882352941176471,"max_drawdown_pct":4.9548270753426715,"sharpe_ratio":2.0848157708979786,"monthly_win_rate":0.75,"equity_curve_r_squared":0.9217489688874811,"avg_gross_exposure_pct":47.12012139258258,"avg_net_exposure_pct":47.12012139258258,"days_in_market_pct":81.81818181818183},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063201383903_6031063c","trade_count":12,"profit_factor":0.9885564007343398,"total_return_pct":0.034930947061788176,"annualized_return_pct":null,"win_rate":0.5833333333333334,"max_drawdown_pct":3.373673387862545,"sharpe_ratio":0.05268729502905587,"monthly_win_rate":0.5,"equity_curve_r_squared":0.40465099112623315,"avg_gross_exposure_pct":33.369402978202004,"avg_net_exposure_pct":33.369402978202004,"days_in_market_pct":76.5625}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063201525308_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063202053778_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063201525308_6031063c","trade_count":54,"profit_factor":2.058750569048935,"total_return_pct":16.398654620864907,"annualized_return_pct":null,"win_rate":0.5555555555555556,"max_drawdown_pct":8.01169674708921,"sharpe_ratio":1.5828553382782815,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.7495366743460663,"avg_gross_exposure_pct":46.031810459415865,"avg_net_exposure_pct":46.031810459415865,"days_in_market_pct":86.95652173913044},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063202053778_6031063c","trade_count":13,"profit_factor":4.9437517233575425,"total_return_pct":9.1154696333928,"annualized_return_pct":null,"win_rate":0.5384615384615384,"max_drawdown_pct":1.7172884479696782,"sharpe_ratio":3.1510607085741746,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7828342254380992,"avg_gross_exposure_pct":44.49797306663217,"avg_net_exposure_pct":44.49797306663217,"days_in_market_pct":57.8125}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063205439739_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063208704557_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063205439739_6031063c","trade_count":52,"profit_factor":2.0973425006887334,"total_return_pct":17.102923598489596,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":8.239742636276684,"sharpe_ratio":1.6211181396651388,"monthly_win_rate":0.6363636363636364,"equity_curve_r_squared":0.50038111005654,"avg_gross_exposure_pct":43.862865597729346,"avg_net_exposure_pct":43.862865597729346,"days_in_market_pct":78.26086956521739},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063208704557_6031063c","trade_count":4,"profit_factor":18.096770135695174,"total_return_pct":7.464671936281826,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":3.84621087655254,"sharpe_ratio":1.9162635302628137,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6540452598145017,"avg_gross_exposure_pct":14.47579659455533,"avg_net_exposure_pct":14.47579659455533,"days_in_market_pct":37.5}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063208792684_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063209431666_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063208792684_6031063c","trade_count":42,"profit_factor":2.4256107973205676,"total_return_pct":13.932895580208045,"annualized_return_pct":null,"win_rate":0.5238095238095238,"max_drawdown_pct":8.239701965498408,"sharpe_ratio":1.470248291473382,"monthly_win_rate":0.5454545454545454,"equity_curve_r_squared":0.5572790838820295,"avg_gross_exposure_pct":47.494660004762004,"avg_net_exposure_pct":47.494660004762004,"days_in_market_pct":85.7707509881423},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063209431666_6031063c","trade_count":6,"profit_factor":15.453751574565032,"total_return_pct":19.56873636463206,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":2.831359527706352,"sharpe_ratio":3.0929572600483413,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6453221177492982,"avg_gross_exposure_pct":14.014292562430377,"avg_net_exposure_pct":14.014292562430377,"days_in_market_pct":32.8125}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063209697195_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210204212_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063209697195_6031063c","trade_count":35,"profit_factor":4.150895396788412,"total_return_pct":23.703185332694876,"annualized_return_pct":null,"win_rate":0.5428571428571428,"max_drawdown_pct":3.6040772725117227,"sharpe_ratio":2.1934589489544765,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.8372895775498683,"avg_gross_exposure_pct":50.78432341085593,"avg_net_exposure_pct":50.78432341085593,"days_in_market_pct":86.95652173913044},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210204212_6031063c","trade_count":8,"profit_factor":2.0823222888786663,"total_return_pct":3.2959204871881234,"annualized_return_pct":null,"win_rate":0.625,"max_drawdown_pct":4.14815974465173,"sharpe_ratio":1.0144717871231879,"monthly_win_rate":0.5,"equity_curve_r_squared":0.23290256093459719,"avg_gross_exposure_pct":10.40425250305223,"avg_net_exposure_pct":10.40425250305223,"days_in_market_pct":37.5}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210309050_6031063c","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210652669_6031063c","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210309050_6031063c","trade_count":29,"profit_factor":5.064380260383398,"total_return_pct":31.190721763565232,"annualized_return_pct":null,"win_rate":0.5862068965517241,"max_drawdown_pct":2.946660861133129,"sharpe_ratio":2.409358838847012,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.9030154862163075,"avg_gross_exposure_pct":56.18827828776487,"avg_net_exposure_pct":56.18827828776487,"days_in_market_pct":89.32806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063210652669_6031063c","trade_count":7,"profit_factor":null,"total_return_pct":21.7186318677986,"annualized_return_pct":null,"win_rate":1.0,"max_drawdown_pct":3.2536121492392946,"sharpe_ratio":4.684446407838736,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8141545161358467,"avg_gross_exposure_pct":33.14557954084641,"avg_net_exposure_pct":33.14557954084641,"days_in_market_pct":68.75}}],"train_aggregate":{"mean_return_pct":16.22,"median_return_pct":16.75,"worst_return_pct":-0.97,"positive_fold_rate_pct":91.7,"mean_profit_factor":3.06,"mean_max_drawdown_pct":4.85,"mean_trade_count":34.1,"mean_win_rate":0.5845},"test_aggregate":{"mean_return_pct":7.41,"median_return_pct":6.42,"worst_return_pct":-0.76,"positive_fold_rate_pct":91.7,"mean_profit_factor":5.11,"mean_max_drawdown_pct":3.07,"mean_trade_count":9.2,"mean_win_rate":0.659},"gap_stats":{"mean_train_test_return_gap_pct":8.81,"worst_train_test_return_gap_pct":24.13,"fold_return_cv":0.928},"engine_reliability_ratio":null},"robustness_matrix_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252,504],"step_days":21,"overall_window_count":199,"overall_positive_window_rate_pct":77.9,"overall_worst_return_pct":-4.02,"horizon_summaries":[{"horizon_days":21,"window_count":48,"mean_return_pct":1.64,"median_return_pct":0.16,"worst_return_pct":-2.86,"positive_window_rate_pct":54.2,"mean_max_drawdown_pct":1.06},{"horizon_days":63,"window_count":46,"mean_return_pct":5.51,"median_return_pct":3.49,"worst_return_pct":-2.66,"positive_window_rate_pct":71.7,"mean_max_drawdown_pct":2.51},{"horizon_days":126,"window_count":43,"mean_return_pct":11.28,"median_return_pct":9.22,"worst_return_pct":-4.02,"positive_window_rate_pct":83.7,"mean_max_drawdown_pct":3.48},{"horizon_days":252,"window_count":37,"mean_return_pct":18.74,"median_return_pct":17.56,"worst_return_pct":-0.97,"positive_window_rate_pct":94.6,"mean_max_drawdown_pct":4.91},{"horizon_days":504,"window_count":25,"mean_return_pct":39.37,"median_return_pct":37.74,"worst_return_pct":18.36,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":7.13}]},"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[21,63,126,252],"step_days":21,"overall_window_count":30,"overall_positive_window_rate_pct":83.3,"overall_worst_return_pct":-2.91,"horizon_summaries":[{"horizon_days":21,"window_count":12,"mean_return_pct":4.93,"median_return_pct":6.45,"worst_return_pct":-2.91,"positive_window_rate_pct":58.3,"mean_max_drawdown_pct":1.86},{"horizon_days":63,"window_count":10,"mean_return_pct":15.12,"median_return_pct":13.89,"worst_return_pct":4.35,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":3.66},{"horizon_days":126,"window_count":7,"mean_return_pct":36.39,"median_return_pct":34.77,"worst_return_pct":29.7,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.3},{"horizon_days":252,"window_count":1,"mean_return_pct":80.55,"median_return_pct":80.55,"worst_return_pct":80.55,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":4.6}]},"sqs_score":46.9,"sqs_breakdown":{"base_score":54.0,"gate_factor":1.0,"rb_gate_positive_rate":1.0,"rb_gate_63d_median":1.0,"rb_gate_252d_median":1.0,"rb_gate_worst_return":1.0,"oot_gate_factor":1.0,"oot_quality_factor":1.0,"oot_quality":100.0,"oot_rb_gate_positive_rate":1.0,"oot_rb_gate_63d_median":1.0,"oot_rb_gate_252d_median":1.0,"oot_rb_gate_worst_return":1.0,"oot_rb_quality_positive_rate":100.0,"oot_rb_quality_63d_median":100.0,"oot_rb_quality_252d_median":100.0,"oot_rb_quality_worst_return":100.0,"activity_factor":0.87,"activity_quality":73.5,"activity_test_trades":50.0,"activity_wf_mean_trades":88.6,"activity_days_in_market":100.0},"sqs_v2_score":45.5,"sqs_v2_breakdown":{"profitability":100.0,"risk":82.7,"consistency":100.0,"robustness":53.3,"capital_efficiency":100.0},"promotion_score":44.3,"promotion_breakdown":{"valid_quality":44.1,"test_quality":45.5,"floor_quality":44.1},"unified_score":36.7,"unified_breakdown":{"valid_quality":55.5,"test_quality":60.4,"floor_quality":55.5,"gap_quality":100.0},"rqs_score":80.0,"rqs_breakdown":{"train_quality":71.7,"valid_quality":85.0,"test_quality":83.5,"floor_quality":71.7,"gap_quality":93.4},"wfqs_score":56.8,"wfqs_breakdown":{"median_return":25.7,"mean_return":29.6,"worst_return":28.3,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":91.8,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":32.8,"wfqs_v2_breakdown":{"base_score":53.8,"median_return":25.7,"mean_return":29.6,"worst_return":28.3,"positive_fold_rate":83.4,"profit_factor":100.0,"drawdown":91.8,"fold_count":100.0,"overall_quality":53.2,"recent_quality":56.3,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.872,"trade_credibility":0.7,"engine_reliability":1.0},"deployment_score":67.2,"deployment_breakdown":{"rqs_quality":80.0,"wfqs_quality":56.8,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"worse","verdict_reasoning":"","next_direction":"","tags":["return","max","long","v6new.21"]} +{"entry_id":"IMP-0538","timestamp":"2026-03-24T06:35:32.787973+00:00","experiment_name":"return_max_long_v6.96","hypothesis":"v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | disable guidance_unknown_premarket_orderly on corrected snapshot research branch","config_delta":null,"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063152441651_c367e419","trade_count":113,"profit_factor":3.3863458660264576,"total_return_pct":63.67198842643833,"annualized_return_pct":18.022587844173476,"win_rate":0.6194690265486725,"max_drawdown_pct":5.593927504083213,"sharpe_ratio":1.92602292397025,"monthly_win_rate":0.7037037037037037,"equity_curve_r_squared":0.8257308274246391,"avg_gross_exposure_pct":33.5002976086193,"avg_net_exposure_pct":33.5002976086193,"days_in_market_pct":68.27309236947792},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063157814818_c367e419","trade_count":22,"profit_factor":14.606228077019269,"total_return_pct":40.12621428619692,"annualized_return_pct":86.33046724739259,"win_rate":0.6363636363636364,"max_drawdown_pct":3.943206625187624,"sharpe_ratio":3.6480444484800265,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8143881328530089,"avg_gross_exposure_pct":30.53910931616893,"avg_net_exposure_pct":30.53910931616893,"days_in_market_pct":71.94244604316546},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063200658634_c367e419","trade_count":27,"profit_factor":11.658303479123463,"total_return_pct":56.383671596233064,"annualized_return_pct":132.06538460426157,"win_rate":0.7407407407407407,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.810419808037156,"monthly_win_rate":0.8571428571428571,"equity_curve_r_squared":0.9142978838902245,"avg_gross_exposure_pct":43.780920373434085,"avg_net_exposure_pct":43.780920373434085,"days_in_market_pct":82.22222222222221}},"walk_forward_summary":{"window_mode":"rolling_fixed","train_days":252,"test_days":63,"step_days":63,"fold_count":12,"folds":[{"fold_index":0,"train_start":"2022-03-02","train_end":"2023-03-02","test_start":"2023-03-03","test_end":"2023-06-01","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251644544_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251743494_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251644544_c367e419","trade_count":9,"profit_factor":2.5433395654213573,"total_return_pct":1.359968038681036,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":2.801881708963479,"sharpe_ratio":0.48522974978031463,"monthly_win_rate":0.75,"equity_curve_r_squared":0.2908914070863455,"avg_gross_exposure_pct":6.423399567469616,"avg_net_exposure_pct":6.423399567469616,"days_in_market_pct":22.92490118577075},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251743494_c367e419","trade_count":7,"profit_factor":1.0421313184455203,"total_return_pct":0.07058412834549381,"annualized_return_pct":null,"win_rate":0.2857142857142857,"max_drawdown_pct":2.606505268318996,"sharpe_ratio":0.07658075658944186,"monthly_win_rate":0.5,"equity_curve_r_squared":0.3203537276616237,"avg_gross_exposure_pct":33.21155053048349,"avg_net_exposure_pct":33.21155053048349,"days_in_market_pct":90.625}},{"fold_index":1,"train_start":"2022-06-01","train_end":"2023-06-01","test_start":"2023-06-02","test_end":"2023-08-31","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251832120_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251992411_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251832120_c367e419","trade_count":16,"profit_factor":1.1669672852421777,"total_return_pct":0.4964963456078258,"annualized_return_pct":null,"win_rate":0.4375,"max_drawdown_pct":2.9776484777524095,"sharpe_ratio":0.1340770902638179,"monthly_win_rate":0.7142857142857143,"equity_curve_r_squared":0.49530111235015584,"avg_gross_exposure_pct":15.746260554314595,"avg_net_exposure_pct":15.746260554314595,"days_in_market_pct":46.03174603174603},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063251992411_c367e419","trade_count":11,"profit_factor":6.687349760515506,"total_return_pct":7.272319030492406,"annualized_return_pct":null,"win_rate":0.8181818181818182,"max_drawdown_pct":1.6532303825404449,"sharpe_ratio":3.3672661853885275,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8616217457551607,"avg_gross_exposure_pct":34.89505523999961,"avg_net_exposure_pct":34.89505523999961,"days_in_market_pct":73.4375}},{"fold_index":2,"train_start":"2022-08-31","train_end":"2023-08-31","test_start":"2023-09-01","test_end":"2023-11-30","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252148058_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252623043_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252148058_c367e419","trade_count":27,"profit_factor":2.926891978424314,"total_return_pct":8.130126315761329,"annualized_return_pct":null,"win_rate":0.5925925925925926,"max_drawdown_pct":2.9776484777524095,"sharpe_ratio":1.2734807888453417,"monthly_win_rate":0.7777777777777778,"equity_curve_r_squared":0.6698032361284098,"avg_gross_exposure_pct":24.926039919913915,"avg_net_exposure_pct":24.926039919913915,"days_in_market_pct":64.42687747035573},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252623043_c367e419","trade_count":12,"profit_factor":5.402513814087192,"total_return_pct":8.022144577128755,"annualized_return_pct":null,"win_rate":0.8333333333333334,"max_drawdown_pct":2.228127832600599,"sharpe_ratio":3.3512949204294853,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.5977807630663778,"avg_gross_exposure_pct":37.61869678509313,"avg_net_exposure_pct":37.61869678509313,"days_in_market_pct":89.0625}},{"fold_index":3,"train_start":"2022-11-30","train_end":"2023-11-30","test_start":"2023-12-01","test_end":"2024-03-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252719953_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252993286_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252719953_c367e419","trade_count":37,"profit_factor":3.369609124611534,"total_return_pct":15.258905368944106,"annualized_return_pct":null,"win_rate":0.6486486486486487,"max_drawdown_pct":3.375359870392922,"sharpe_ratio":1.84754715339884,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.7795490127055106,"avg_gross_exposure_pct":34.81497922647347,"avg_net_exposure_pct":34.81497922647347,"days_in_market_pct":81.02766798418972},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063252993286_c367e419","trade_count":17,"profit_factor":4.150479127360164,"total_return_pct":6.494769373952936,"annualized_return_pct":null,"win_rate":0.5294117647058824,"max_drawdown_pct":4.762967829994863,"sharpe_ratio":2.508405314269237,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.04103294602247677,"avg_gross_exposure_pct":51.26654990915274,"avg_net_exposure_pct":51.26654990915274,"days_in_market_pct":98.4375}},{"fold_index":4,"train_start":"2023-03-03","train_end":"2024-03-04","test_start":"2024-03-05","test_end":"2024-06-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253130182_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253472835_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253130182_c367e419","trade_count":47,"profit_factor":3.34246483769546,"total_return_pct":20.47013629923064,"annualized_return_pct":null,"win_rate":0.5957446808510638,"max_drawdown_pct":5.5334019750544305,"sharpe_ratio":2.1332462049281755,"monthly_win_rate":0.6923076923076923,"equity_curve_r_squared":0.8737796847243061,"avg_gross_exposure_pct":42.138827089466425,"avg_net_exposure_pct":42.138827089466425,"days_in_market_pct":88.93280632411067},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253472835_c367e419","trade_count":13,"profit_factor":4.206828891003439,"total_return_pct":12.367831074571498,"annualized_return_pct":null,"win_rate":0.46153846153846156,"max_drawdown_pct":2.863078330548929,"sharpe_ratio":3.5316194754723047,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.6639528655637745,"avg_gross_exposure_pct":43.154895793826455,"avg_net_exposure_pct":43.154895793826455,"days_in_market_pct":89.0625}},{"fold_index":5,"train_start":"2023-06-02","train_end":"2024-06-03","test_start":"2024-06-04","test_end":"2024-09-03","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253659462_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063254502915_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063253659462_c367e419","trade_count":52,"profit_factor":4.036230625520194,"total_return_pct":36.05136516092225,"annualized_return_pct":null,"win_rate":0.5961538461538461,"max_drawdown_pct":5.535431272565307,"sharpe_ratio":2.9295326585994017,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.8582730087346483,"avg_gross_exposure_pct":45.54952086558227,"avg_net_exposure_pct":45.54952086558227,"days_in_market_pct":90.11857707509881},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063254502915_c367e419","trade_count":15,"profit_factor":5.617140244036013,"total_return_pct":7.173430445672987,"annualized_return_pct":null,"win_rate":0.6666666666666666,"max_drawdown_pct":5.238209337297871,"sharpe_ratio":1.9380541235945172,"monthly_win_rate":0.75,"equity_curve_r_squared":0.8163358717403421,"avg_gross_exposure_pct":60.93242040402768,"avg_net_exposure_pct":60.93242040402768,"days_in_market_pct":96.875}},{"fold_index":6,"train_start":"2023-09-01","train_end":"2024-09-03","test_start":"2024-09-04","test_end":"2024-12-02","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063254652612_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063255082062_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063254652612_c367e419","trade_count":56,"profit_factor":4.362779219004516,"total_return_pct":39.83914597438468,"annualized_return_pct":null,"win_rate":0.6071428571428571,"max_drawdown_pct":5.526549834461774,"sharpe_ratio":2.7661894309664055,"monthly_win_rate":0.7692307692307693,"equity_curve_r_squared":0.9092453576013836,"avg_gross_exposure_pct":51.981695489142545,"avg_net_exposure_pct":51.981695489142545,"days_in_market_pct":96.04743083003953},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063255082062_c367e419","trade_count":17,"profit_factor":1.0983215767414984,"total_return_pct":0.3890422101340082,"annualized_return_pct":null,"win_rate":0.7058823529411765,"max_drawdown_pct":3.2387421592504837,"sharpe_ratio":0.3167462262816112,"monthly_win_rate":0.5,"equity_curve_r_squared":0.17488900127878207,"avg_gross_exposure_pct":44.63029901281238,"avg_net_exposure_pct":44.63029901281238,"days_in_market_pct":92.1875}},{"fold_index":7,"train_start":"2023-12-01","train_end":"2024-12-02","test_start":"2024-12-03","test_end":"2025-03-06","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063255236833_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256021109_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063255236833_c367e419","trade_count":61,"profit_factor":3.338620049802542,"total_return_pct":31.014426846107906,"annualized_return_pct":null,"win_rate":0.6065573770491803,"max_drawdown_pct":5.589450675266447,"sharpe_ratio":2.347786798298427,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.8675015654664172,"avg_gross_exposure_pct":53.28115431906111,"avg_net_exposure_pct":53.28115431906111,"days_in_market_pct":98.41897233201581},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256021109_c367e419","trade_count":13,"profit_factor":4.9031962092538555,"total_return_pct":9.37949198642766,"annualized_return_pct":null,"win_rate":0.6153846153846154,"max_drawdown_pct":2.0739681552186853,"sharpe_ratio":3.18953847039649,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7770238639537973,"avg_gross_exposure_pct":48.518249363265646,"avg_net_exposure_pct":48.518249363265646,"days_in_market_pct":67.1875}},{"fold_index":8,"train_start":"2024-03-05","train_end":"2025-03-06","test_start":"2025-03-07","test_end":"2025-06-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256179803_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256728827_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256179803_c367e419","trade_count":58,"profit_factor":3.359975020382822,"total_return_pct":31.855546743356882,"annualized_return_pct":null,"win_rate":0.6206896551724138,"max_drawdown_pct":5.591697115753043,"sharpe_ratio":2.350770071776889,"monthly_win_rate":0.6666666666666666,"equity_curve_r_squared":0.7345270558456188,"avg_gross_exposure_pct":52.14776279798484,"avg_net_exposure_pct":52.14776279798484,"days_in_market_pct":92.09486166007905},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256728827_c367e419","trade_count":10,"profit_factor":9.620654223423404,"total_return_pct":7.490673566764847,"annualized_return_pct":null,"win_rate":0.5,"max_drawdown_pct":3.087659528313366,"sharpe_ratio":2.140501578499066,"monthly_win_rate":0.5,"equity_curve_r_squared":0.6783587677970417,"avg_gross_exposure_pct":21.078457756342047,"avg_net_exposure_pct":21.078457756342047,"days_in_market_pct":65.625}},{"fold_index":9,"train_start":"2024-06-04","train_end":"2025-06-05","test_start":"2025-06-06","test_end":"2025-09-05","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256842747_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257443703_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063256842747_c367e419","trade_count":52,"profit_factor":2.912398913652819,"total_return_pct":17.500102833866084,"annualized_return_pct":null,"win_rate":0.6153846153846154,"max_drawdown_pct":5.591614264851887,"sharpe_ratio":1.647146047803799,"monthly_win_rate":0.5833333333333334,"equity_curve_r_squared":0.7434434696226037,"avg_gross_exposure_pct":57.145576116762214,"avg_net_exposure_pct":57.145576116762214,"days_in_market_pct":94.46640316205533},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257443703_c367e419","trade_count":13,"profit_factor":14.912462781429923,"total_return_pct":23.061995899899355,"annualized_return_pct":null,"win_rate":0.6923076923076923,"max_drawdown_pct":3.0564935652249168,"sharpe_ratio":4.081545780805274,"monthly_win_rate":1.0,"equity_curve_r_squared":0.6835571955352837,"avg_gross_exposure_pct":30.418706974371627,"avg_net_exposure_pct":30.418706974371627,"days_in_market_pct":73.4375}},{"fold_index":10,"train_start":"2024-09-04","train_end":"2025-09-05","test_start":"2025-09-08","test_end":"2025-12-04","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257549441_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257964918_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257549441_c367e419","trade_count":49,"profit_factor":3.9723647507798043,"total_return_pct":24.27482746109288,"annualized_return_pct":null,"win_rate":0.6326530612244898,"max_drawdown_pct":3.2387421592504837,"sharpe_ratio":2.531246904195206,"monthly_win_rate":0.7272727272727273,"equity_curve_r_squared":0.8252197529583742,"avg_gross_exposure_pct":60.11607850792296,"avg_net_exposure_pct":60.11607850792296,"days_in_market_pct":93.2806324110672},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063257964918_c367e419","trade_count":10,"profit_factor":24.141382364628072,"total_return_pct":10.544640285524482,"annualized_return_pct":null,"win_rate":0.7,"max_drawdown_pct":1.32202943456573,"sharpe_ratio":2.8465882404862355,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8184378676746354,"avg_gross_exposure_pct":18.44770557411673,"avg_net_exposure_pct":18.44770557411673,"days_in_market_pct":48.4375}},{"fold_index":11,"train_start":"2024-12-03","train_end":"2025-12-04","test_start":"2025-12-05","test_end":"2026-03-09","train_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063258057457_c367e419","test_run_id":"bt_return_max_long_v1_midlarge-liq_20260324063258633646_c367e419","train_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063258057457_c367e419","trade_count":41,"profit_factor":8.130623334993226,"total_return_pct":35.97904579572531,"annualized_return_pct":null,"win_rate":0.6585365853658537,"max_drawdown_pct":2.104463001946697,"sharpe_ratio":3.2242783629903706,"monthly_win_rate":0.9090909090909091,"equity_curve_r_squared":0.8926646102564029,"avg_gross_exposure_pct":65.36901257365331,"avg_net_exposure_pct":65.36901257365331,"days_in_market_pct":91.699604743083},"test_metrics":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063258633646_c367e419","trade_count":16,"profit_factor":9.355556444928697,"total_return_pct":26.42287209430493,"annualized_return_pct":null,"win_rate":0.875,"max_drawdown_pct":4.485048861007098,"sharpe_ratio":4.1866605001420565,"monthly_win_rate":0.75,"equity_curve_r_squared":0.7129477936492177,"avg_gross_exposure_pct":43.724418921344665,"avg_net_exposure_pct":43.724418921344665,"days_in_market_pct":98.4375}}],"train_aggregate":{"mean_return_pct":21.85,"median_return_pct":22.37,"worst_return_pct":0.5,"positive_fold_rate_pct":100.0,"mean_profit_factor":3.62,"mean_max_drawdown_pct":4.24,"mean_trade_count":42.1,"mean_win_rate":0.6065},"test_aggregate":{"mean_return_pct":9.89,"median_return_pct":7.76,"worst_return_pct":0.07,"positive_fold_rate_pct":100.0,"mean_profit_factor":7.59,"mean_max_drawdown_pct":3.05,"mean_trade_count":12.8,"mean_win_rate":0.6403},"gap_stats":{"mean_train_test_return_gap_pct":11.96,"worst_train_test_return_gap_pct":39.45,"fold_return_cv":0.792},"engine_reliability_ratio":null},"robustness_matrix_summary":null,"out_of_time_robustness_summary":{"window_mode":"rolling_horizon","horizons_days":[63,126,189,252],"step_days":21,"overall_window_count":70,"overall_positive_window_rate_pct":80.0,"overall_worst_return_pct":-11.31,"horizon_summaries":[{"horizon_days":63,"window_count":22,"mean_return_pct":3.79,"median_return_pct":3.25,"worst_return_pct":-8.92,"positive_window_rate_pct":68.2,"mean_max_drawdown_pct":4.01},{"horizon_days":126,"window_count":19,"mean_return_pct":9.5,"median_return_pct":12.02,"worst_return_pct":-9.29,"positive_window_rate_pct":73.7,"mean_max_drawdown_pct":5.92},{"horizon_days":189,"window_count":16,"mean_return_pct":16.55,"median_return_pct":17.82,"worst_return_pct":-11.31,"positive_window_rate_pct":87.5,"mean_max_drawdown_pct":7.39},{"horizon_days":252,"window_count":13,"mean_return_pct":25.01,"median_return_pct":24.61,"worst_return_pct":5.53,"positive_window_rate_pct":100.0,"mean_max_drawdown_pct":8.4}]},"sqs_score":89.8,"sqs_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4},"sqs_v2_score":91.5,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4,"capital_efficiency":96.7},"promotion_score":91.2,"promotion_breakdown":{"valid_quality":91.1,"test_quality":91.5,"floor_quality":91.1},"unified_score":51.1,"unified_breakdown":{"valid_quality":80.9,"test_quality":80.6,"floor_quality":80.6,"gap_quality":100.0},"rqs_score":85.4,"rqs_breakdown":{"train_quality":84.6,"valid_quality":83.0,"test_quality":83.9,"floor_quality":83.0,"gap_quality":100.0},"wfqs_score":63.0,"wfqs_breakdown":{"median_return":31.0,"mean_return":39.6,"worst_return":33.8,"positive_fold_rate":100.0,"profit_factor":100.0,"drawdown":91.9,"train_test_gap":100.0,"fold_count":100.0},"wfqs_v2_score":47.3,"wfqs_v2_breakdown":{"base_score":60.9,"median_return":31.0,"mean_return":39.6,"worst_return":33.8,"positive_fold_rate":100.0,"profit_factor":100.0,"drawdown":91.9,"fold_count":100.0,"overall_quality":59.6,"recent_quality":66.1,"recent_fold_count":4.0,"recent_fold_weight":0.2,"gap_penalty":1.0,"fold_variance_penalty":0.912,"trade_credibility":0.85,"engine_reliability":1.0},"deployment_score":73.1,"deployment_breakdown":{"rqs_quality":85.4,"wfqs_quality":63.0,"gate_factor":1.0,"gate_positive_fold_rate":1.0,"gate_median_return":1.0,"gate_worst_return":1.0,"gate_train_test_gap":1.0},"verdict":"unknown","verdict_reasoning":"Auto-synced from official manifest.","next_direction":"","tags":["return-max","v4-lineage","ultra-addon","corrected-snapshot","oneoff-sibling"]} +{"entry_id":"IMP-0539","timestamp":"2026-03-24T06:35:35.335559+00:00","experiment_name":"return_max_long_v6.97","hypothesis":"v6.59 + lower per-trade risk on other_material_unknown_orderly (0.007) | other_material_unknown_orderly risk=0.0065 | other_material_unknown_orderly risk=0.006 | downsize guidance_unknown_premarket_orderly on corrected snapshot research branch","config_delta":null,"results":{"train":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063209221870_b085ac5f","trade_count":121,"profit_factor":3.167127153232068,"total_return_pct":62.10835002759681,"annualized_return_pct":17.64216250057624,"win_rate":0.6115702479338843,"max_drawdown_pct":6.449391831436527,"sharpe_ratio":1.8806422554566298,"monthly_win_rate":0.7037037037037037,"equity_curve_r_squared":0.8293417926093665,"avg_gross_exposure_pct":34.30294641438045,"avg_net_exposure_pct":34.30294641438045,"days_in_market_pct":69.07630522088354},"valid":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063219418284_b085ac5f","trade_count":22,"profit_factor":14.606228077019269,"total_return_pct":40.12621428619692,"annualized_return_pct":86.33046724739259,"win_rate":0.6363636363636364,"max_drawdown_pct":3.943206625187624,"sharpe_ratio":3.6480444484800265,"monthly_win_rate":1.0,"equity_curve_r_squared":0.8143881328530089,"avg_gross_exposure_pct":30.53910931616893,"avg_net_exposure_pct":30.53910931616893,"days_in_market_pct":71.94244604316546},"test":{"run_id":"bt_return_max_long_v1_midlarge-liq_20260324063223571884_b085ac5f","trade_count":27,"profit_factor":11.658303479123463,"total_return_pct":56.383671596233064,"annualized_return_pct":132.06538460426157,"win_rate":0.7407407407407407,"max_drawdown_pct":3.955196894681068,"sharpe_ratio":3.810419808037156,"monthly_win_rate":0.8571428571428571,"equity_curve_r_squared":0.9142978838902245,"avg_gross_exposure_pct":43.780920373434085,"avg_net_exposure_pct":43.780920373434085,"days_in_market_pct":82.22222222222221}},"walk_forward_summary":null,"robustness_matrix_summary":null,"out_of_time_robustness_summary":null,"sqs_score":89.8,"sqs_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4},"sqs_v2_score":91.5,"sqs_v2_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":59.4,"capital_efficiency":96.7},"promotion_score":91.2,"promotion_breakdown":{"valid_quality":91.1,"test_quality":91.5,"floor_quality":91.1},"unified_score":51.1,"unified_breakdown":{"valid_quality":80.9,"test_quality":80.6,"floor_quality":80.6,"gap_quality":100.0},"rqs_score":84.9,"rqs_breakdown":{"train_quality":82.9,"valid_quality":83.0,"test_quality":83.9,"floor_quality":82.9,"gap_quality":100.0},"wfqs_score":null,"wfqs_breakdown":{},"wfqs_v2_score":null,"wfqs_v2_breakdown":{},"deployment_score":null,"deployment_breakdown":{},"verdict":"unknown","verdict_reasoning":"Auto-synced from official manifest.","next_direction":"","tags":["return-max","v4-lineage","ultra-addon","corrected-snapshot","oneoff-sibling"]} diff --git a/libs/backtest/allocator.py b/libs/backtest/allocator.py index 72031ef..9c27224 100644 --- a/libs/backtest/allocator.py +++ b/libs/backtest/allocator.py @@ -22,6 +22,13 @@ logger = get_logger(__name__) _KILL_SWITCH_DRAWDOWN_PCT = 25.0 +def _resolve_sizing_equity(portfolio_state: DailyPortfolioState) -> float: + """Return sizing_equity if set, otherwise fall back to equity.""" + if portfolio_state.sizing_equity is not None: + return portfolio_state.sizing_equity + return portfolio_state.equity + + def compute_stop_price(candidate: Candidate, config: RiskConfig) -> float: """Compute stop price based on ATR-14 or a percentage fallback. @@ -37,7 +44,33 @@ def compute_stop_price(candidate: Candidate, config: RiskConfig) -> float: stop_distance = price * 0.02 if candidate.trade_direction == "short": return price + stop_distance - return max(0.01, price - stop_distance) + atr_stop = max(0.01, price - stop_distance) + if candidate.engine_use_reaction_day_low_stop is False: + return atr_stop + reaction_day_low = candidate.features.get("reaction_day_low") + if reaction_day_low is None: + return atr_stop + try: + reaction_stop = float(reaction_day_low) + except (TypeError, ValueError): + return atr_stop + if reaction_stop <= 0: + return atr_stop + return max(0.01, max(atr_stop, reaction_stop)) + + +def _resolve_stop_risk_config(candidate: Candidate, config: BacktestConfig) -> RiskConfig: + profile = config.get_event_profile(candidate.event_type) + stop_atr_mult = ( + candidate.engine_stop_atr_multiplier + if candidate.engine_stop_atr_multiplier is not None + else ( + profile.stop_atr_multiplier_override + if profile and profile.stop_atr_multiplier_override is not None + else config.risk.stop_atr_multiplier + ) + ) + return RiskConfig(**{**config.risk.model_dump(), "stop_atr_multiplier": stop_atr_mult}) def compute_target_price( @@ -75,16 +108,103 @@ def compute_shares( entry_price: float, stop_price: float, config: RiskConfig, + risk_pct_override: float | None = None, ) -> int: """Compute integer share count. Always math.floor() -- never round up.""" stop_distance = abs(entry_price - stop_price) if stop_distance <= 0: return 0 - risk_dollars = equity * config.per_trade_risk_pct + risk_dollars = equity * (risk_pct_override if risk_pct_override is not None else config.per_trade_risk_pct) raw_shares = risk_dollars / stop_distance return max(0, math.floor(raw_shares)) +def _cap_shares_to_cash( + shares: int, + candidate: Candidate, + portfolio_state: DailyPortfolioState, +) -> int: + """Clamp long share count to the available cash budget. + + The prior behavior rejected the order entirely when risk-based sizing + implied a notional bigger than current cash. For long-only sleeves with + low participation this discards viable trades unnecessarily. We instead + scale down to the largest whole-share position that the account can fund. + """ + if shares <= 0: + return 0 + entry_price = float(candidate.entry_price_est) + if entry_price <= 0: + return 0 + if candidate.trade_direction == "long": + max_cash_shares = math.floor(portfolio_state.cash_available / entry_price) + return max(0, min(shares, max_cash_shares)) + return shares + + +def _cap_shares_by_position_limits( + shares: int, + candidate: Candidate, + portfolio_state: DailyPortfolioState, + config: BacktestConfig, +) -> int: + """Apply notional and liquidity caps before the final cash clamp.""" + if shares <= 0: + return 0 + + entry_price = float(candidate.entry_price_est) + if entry_price <= 0: + return 0 + + capped = shares + + max_position_value_pct = config.risk.max_position_value_pct + if max_position_value_pct is not None and max_position_value_pct > 0: + max_position_value = _resolve_sizing_equity(portfolio_state) * max_position_value_pct + capped = min(capped, math.floor(max_position_value / entry_price)) + + max_adv_fraction = config.risk.max_adv_fraction + if max_adv_fraction is not None and max_adv_fraction > 0 and candidate.avg_dollar_volume > 0: + max_adv_notional = candidate.avg_dollar_volume * max_adv_fraction + capped = min(capped, math.floor(max_adv_notional / entry_price)) + + return max(0, capped) + + +def _remaining_risk_budget_dollars( + candidate: Candidate, + portfolio_state: DailyPortfolioState, + config: BacktestConfig, + *, + engine_daily_new_risk_used: float = 0.0, +) -> tuple[float, float, float]: + """Return remaining (effective, daily, engine) risk budget in dollars.""" + sizing_equity = _resolve_sizing_equity(portfolio_state) + daily_budget = sizing_equity * config.risk.max_daily_new_risk_pct + daily_remaining = max(0.0, daily_budget - portfolio_state.daily_new_risk_used) + + engine_budget = daily_budget * candidate.engine_risk_budget_pct + engine_remaining = max(0.0, engine_budget - engine_daily_new_risk_used) + effective_remaining = min(daily_remaining, engine_remaining) + return effective_remaining, daily_remaining, engine_remaining + + +def _cap_shares_to_remaining_risk_budget( + shares: int, + entry_price: float, + stop_price: float, + remaining_risk_dollars: float, +) -> int: + """Clip shares to fit the remaining risk budget.""" + if shares <= 0: + return 0 + stop_distance = abs(entry_price - stop_price) + if stop_distance <= 0: + return 0 + max_budget_shares = math.floor(remaining_risk_dollars / stop_distance) + return max(0, min(shares, max_budget_shares)) + + def _count_sector_positions(open_positions: list[OpenPosition], sector: str) -> int: return sum(1 for p in open_positions if p.plan.candidate.sector == sector) @@ -93,6 +213,149 @@ def _open_symbols(open_positions: list[OpenPosition]) -> set[str]: return {p.plan.candidate.symbol for p in open_positions} +def _is_a_tier_candidate(candidate: Candidate, config: BacktestConfig) -> bool: + threshold = config.signal.a_tier_score_threshold + return threshold is not None and candidate.score >= threshold + + +def _resolve_per_trade_risk_pct(candidate: Candidate, config: BacktestConfig) -> float: + if candidate.engine_per_trade_risk_pct is not None: + return candidate.engine_per_trade_risk_pct + if _is_a_tier_candidate(candidate, config) and config.risk.per_trade_risk_pct_a_tier is not None: + return config.risk.per_trade_risk_pct_a_tier + return config.risk.per_trade_risk_pct + + +def _resolve_oneoff_threshold(candidate: Candidate, config: BacktestConfig) -> float: + if candidate.engine_veto_oneoff_penalty is not None: + return candidate.engine_veto_oneoff_penalty + return config.risk.veto_oneoff_penalty + + +def _allow_oneoff_downsizing(candidate: Candidate, config: BacktestConfig) -> bool: + if candidate.engine_allow_oneoff_downsizing is not None: + return candidate.engine_allow_oneoff_downsizing + return config.risk.allow_oneoff_downsizing + + +def _resolve_oneoff_downsize_floor(candidate: Candidate, config: BacktestConfig) -> float: + if candidate.engine_oneoff_downsize_floor is not None: + return candidate.engine_oneoff_downsize_floor + return config.risk.oneoff_downsize_floor + + +def _oneoff_risk_scaler(candidate: Candidate, config: BacktestConfig) -> float: + if not _allow_oneoff_downsizing(candidate, config): + return 1.0 + + oneoff = candidate.features.get("oneoff_penalty") + if oneoff is None: + return 1.0 + + threshold = _resolve_oneoff_threshold(candidate, config) + try: + oneoff_value = float(oneoff) + except (TypeError, ValueError): + return 1.0 + + if oneoff_value < threshold: + return 1.0 + + span = max(1e-9, 1.0 - threshold) + excess = min(1.0, max(0.0, (oneoff_value - threshold) / span)) + floor = min(1.0, max(0.0, _resolve_oneoff_downsize_floor(candidate, config))) + return 1.0 - excess * (1.0 - floor) + + +def _resolve_effective_per_trade_risk_pct(candidate: Candidate, config: BacktestConfig) -> float: + return _resolve_per_trade_risk_pct(candidate, config) * _oneoff_risk_scaler(candidate, config) + + +def _macro_regime_state(config: BacktestConfig, macro_data: dict[str, Any] | None) -> str: + if not config.risk.macro_regime_enabled or not macro_data: + return "disabled" + + if config.risk.macro_regime_mode == "spy_qqq_scaler": + spy_close = macro_data.get("spy_close") + spy_sma = macro_data.get("spy_sma_20") + qqq_close = macro_data.get("qqq_close") + qqq_sma = macro_data.get("qqq_sma_20") + if None in (spy_close, spy_sma, qqq_close, qqq_sma): + return "unknown" + spy_on = float(spy_close) >= float(spy_sma) + qqq_on = float(qqq_close) >= float(qqq_sma) + if spy_on and qqq_on: + return "risk_on" + if spy_on or qqq_on: + return "neutral" + return "risk_off" + + spy_close = macro_data.get("spy_close") + spy_sma = macro_data.get("spy_sma_20") + if spy_close is None or spy_sma is None: + return "unknown" + return "risk_off" if float(spy_close) < float(spy_sma) else "risk_on" + + +def _macro_size_scaler(config: BacktestConfig, regime_state: str) -> float: + if regime_state in {"disabled", "unknown", "risk_on"}: + return 1.0 + if config.risk.macro_regime_mode == "spy_qqq_scaler": + if regime_state == "neutral": + return config.risk.macro_regime_neutral_size_scaler or 0.6 + if regime_state == "risk_off": + return config.risk.macro_regime_risk_off_size_scaler or 0.35 + if regime_state == "risk_off": + return config.risk.macro_regime_size_scaler + return 1.0 + + +def _vix_continuous_size_scaler(config: BacktestConfig, macro_data: dict[str, Any] | None) -> float: + """Continuous position sizing scaler based on VIX level. + + Uses FRED series VIXCLS from macro_observations table. + + Mode "vix_continuous" (default): defensive — scales DOWN as VIX rises. + Linearly interpolates between 1.0 (at vix_low) and vix_min (at vix_high). + + Mode "vix_pead": PEAD-optimized — scales UP when VIX > 18 (favorable PEAD + regime with 62.3% WR), penalizes VIX 15-18 complacent zone (48.2% WR). + Uses vix_size_scaler_min as the complacent-zone floor. + + Returns 1.0 if VIX data is missing or mode is not vix_continuous/vix_pead. + """ + if config.risk.macro_regime_mode not in ("vix_continuous", "vix_pead"): + return 1.0 + if not macro_data: + return 1.0 + vix = macro_data.get("VIXCLS") + if vix is None: + return 1.0 + try: + vix_val = float(vix) + except (TypeError, ValueError): + return 1.0 + + if config.risk.macro_regime_mode == "vix_pead": + # PEAD-optimized: high VIX = boost, mid VIX = penalize + if vix_val > 18: + return min(1.3, 1.0 + (vix_val - 18) / 20) # +5% per VIX point above 18, max 1.3 + if 15 < vix_val <= 18: + return config.risk.vix_size_scaler_min # complacent zone penalty + return 1.0 # low VIX = normal + + # Default: defensive + low = config.risk.vix_size_scaler_low + high = config.risk.vix_size_scaler_high + floor = config.risk.vix_size_scaler_min + if vix_val <= low: + return 1.0 + if vix_val >= high: + return floor + frac = (vix_val - low) / (high - low) + return 1.0 - frac * (1.0 - floor) + + def run_entry_gates( candidate: Candidate, portfolio_state: DailyPortfolioState, @@ -120,14 +383,16 @@ def run_entry_gates( 12. Unknown direction (veto: event_direction == "unknown") 13. Bearish direction (veto: event_direction == "bearish") """ - # Gate 0: Macro regime filter (hard block only when size_scaler >= 1.0) - if config.risk.macro_regime_enabled and macro_data: - spy_close = macro_data.get("spy_close") - spy_sma = macro_data.get("spy_sma_20") - if spy_close is not None and spy_sma is not None and spy_close < spy_sma: - if config.risk.macro_regime_size_scaler >= 1.0: - return "macro_regime_unfavorable" - # else: size scaler applied in build_planned_order + # Gate 0: Macro regime filter / tier restriction + regime_state = _macro_regime_state(config, macro_data) + regime_scaler = _macro_size_scaler(config, regime_state) + if config.risk.macro_regime_enabled: + if config.risk.macro_regime_mode == "spy_qqq_scaler": + if regime_state == "risk_off" and config.risk.macro_regime_risk_off_a_tier_only: + if candidate.trade_direction != "long" or not _is_a_tier_candidate(candidate, config): + return "macro_regime_risk_off_non_a_tier" + elif regime_state == "risk_off" and regime_scaler >= 1.0: + return "macro_regime_unfavorable" # Gate 1: Kill switch (skip if log-only mode) if portfolio_state.current_drawdown_pct >= _KILL_SWITCH_DRAWDOWN_PCT: @@ -140,35 +405,75 @@ def run_entry_gates( # Gate 3: Duplicate symbol if candidate.symbol in _open_symbols(open_positions): - return "duplicate_symbol" + if not candidate.is_add_on: + return "duplicate_symbol" + if candidate.parent_position_id is None: + return "orphan_add_on" + parent = next( + (position for position in open_positions if position.position_id == candidate.parent_position_id), + None, + ) + if parent is None: + return "orphan_add_on" + allowed_add_on_count = candidate.engine_add_on_max_count or 1 + existing_add_on_count = sum( + position.plan.candidate.symbol == candidate.symbol + and position.parent_position_id == candidate.parent_position_id + and position.is_add_on + for position in open_positions + ) + if existing_add_on_count >= allowed_add_on_count: + return "duplicate_add_on" # Gate 4: Sector concentration sector_count = _count_sector_positions(open_positions, candidate.sector) - if sector_count >= config.risk.max_positions_per_sector: + max_positions_per_sector = ( + candidate.engine_max_positions_per_sector + if candidate.engine_max_positions_per_sector is not None + else config.risk.max_positions_per_sector + ) + if sector_count >= max_positions_per_sector: return "sector_limit" # Gate 5: Daily new risk budget - trade_risk = portfolio_state.equity * config.risk.per_trade_risk_pct - daily_budget = portfolio_state.equity * config.risk.max_daily_new_risk_pct - if portfolio_state.daily_new_risk_used + trade_risk > daily_budget: + trade_risk_pct = _resolve_effective_per_trade_risk_pct(candidate, config) + trade_risk = _resolve_sizing_equity(portfolio_state) * trade_risk_pct + remaining_risk, daily_remaining, engine_remaining = _remaining_risk_budget_dollars( + candidate, + portfolio_state, + config, + engine_daily_new_risk_used=engine_daily_new_risk_used, + ) + daily_budget = _resolve_sizing_equity(portfolio_state) * config.risk.max_daily_new_risk_pct + if daily_remaining <= 0: return "daily_risk_budget" engine_budget = daily_budget * candidate.engine_risk_budget_pct if engine_budget <= 0: return "engine_daily_risk_budget" - if engine_daily_new_risk_used + trade_risk > engine_budget: + if engine_remaining <= 0: return "engine_daily_risk_budget" + if not config.risk.allow_budget_downsizing: + if portfolio_state.daily_new_risk_used + trade_risk > daily_budget: + return "daily_risk_budget" + if engine_daily_new_risk_used + trade_risk > engine_budget: + return "engine_daily_risk_budget" + elif remaining_risk <= 0: + return "daily_risk_budget" # Gate 6: Cash available (estimate position cost) - stop_price = compute_stop_price(candidate, config.risk) + stop_price = compute_stop_price(candidate, _resolve_stop_risk_config(candidate, config)) est_shares = compute_shares( - portfolio_state.equity, + _resolve_sizing_equity(portfolio_state), candidate.entry_price_est, stop_price, config.risk, + risk_pct_override=trade_risk_pct, ) - est_cost = est_shares * candidate.entry_price_est - if est_cost > portfolio_state.cash_available: + if candidate.forced_shares is not None: + est_shares = candidate.forced_shares + est_shares = _cap_shares_to_cash(est_shares, candidate, portfolio_state) + if est_shares <= 0: return "insufficient_cash" # Gate 7: Cooldown @@ -188,17 +493,34 @@ def run_entry_gates( # Gate 10: High one-off risk oneoff = candidate.features.get("oneoff_penalty") - if oneoff is not None and float(oneoff) >= config.risk.veto_oneoff_penalty: + oneoff_threshold = _resolve_oneoff_threshold(candidate, config) + if ( + oneoff is not None + and float(oneoff) >= oneoff_threshold + and not _allow_oneoff_downsizing(candidate, config) + ): return "high_oneoff_risk" # Gate 11: Low parse confidence parse_conf = candidate.features.get("parse_confidence_overall") - if parse_conf is not None and float(parse_conf) < config.risk.veto_parse_confidence_min: + parse_threshold = ( + candidate.engine_veto_parse_confidence_min + if candidate.engine_veto_parse_confidence_min is not None + else config.risk.veto_parse_confidence_min + ) + if parse_conf is not None and float(parse_conf) < parse_threshold: return "low_parse_confidence" # Gate 12: Unknown direction + # Engines that explicitly target unknown direction (event_directions includes "unknown") + # are exempt — their selection IS the intent to handle these events. event_dir = candidate.features.get("event_direction") - if config.risk.veto_unknown_direction and event_dir is not None and str(event_dir).lower() == "unknown": + if ( + config.risk.veto_unknown_direction + and event_dir is not None + and str(event_dir).lower() == "unknown" + and not candidate.engine_allow_unknown_direction + ): return "unknown_direction" # Gate 13: Bearish direction (all event types, document-based) @@ -226,14 +548,10 @@ def build_planned_order( ) exec_cfg = execution_config or config.execution + trade_risk_pct = _resolve_effective_per_trade_risk_pct(candidate, config) # Apply event-type-specific overrides for stop/target ATR multipliers profile = config.get_event_profile(candidate.event_type) - stop_atr_mult = ( - profile.stop_atr_multiplier_override - if profile and profile.stop_atr_multiplier_override is not None - else config.risk.stop_atr_multiplier - ) target_atr_mult = ( candidate.engine_target_atr_multiplier if candidate.engine_target_atr_multiplier is not None @@ -244,49 +562,105 @@ def build_planned_order( ) ) - stop_price = compute_stop_price( - candidate, RiskConfig(**{**config.risk.model_dump(), "stop_atr_multiplier": stop_atr_mult}) - ) + stop_price = compute_stop_price(candidate, _resolve_stop_risk_config(candidate, config)) target_r = exec_cfg.target_1_r or 2.0 - target_price = compute_target_price( - candidate.entry_price_est, - stop_price, - target_r, - target_model=exec_cfg.target_model, - target_atr_multiplier=target_atr_mult, - atr_14=candidate.atr_14, - trade_direction=candidate.trade_direction, - ) + if exec_cfg.use_tiered_targets: + if _is_a_tier_candidate(candidate, config): + if exec_cfg.a_tier_target_1_r is not None: + target_r = exec_cfg.a_tier_target_1_r + else: + if exec_cfg.non_a_tier_target_1_r is not None: + target_r = exec_cfg.non_a_tier_target_1_r shares = 0 risk_dollars = 0.0 if skip_reason is None: - shares = compute_shares( - portfolio_state.equity, - candidate.entry_price_est, - stop_price, - config.risk, - ) + if candidate.forced_shares is not None: + shares = candidate.forced_shares + else: + shares = compute_shares( + _resolve_sizing_equity(portfolio_state), + candidate.entry_price_est, + stop_price, + config.risk, + risk_pct_override=trade_risk_pct, + ) if shares == 0: skip_reason = "zero_shares" else: - # Apply macro size scaler when SPY < SMA and scaler < 1.0 - if ( - config.risk.macro_regime_enabled - and config.risk.macro_regime_size_scaler < 1.0 - and macro_data - ): - spy_close = macro_data.get("spy_close") - spy_sma = macro_data.get("spy_sma_20") - if ( - spy_close is not None - and spy_sma is not None - and spy_close < spy_sma + regime_state = _macro_regime_state(config, macro_data) + scaler = _macro_size_scaler(config, regime_state) + if config.risk.macro_regime_enabled and scaler < 1.0: + shares = max(1, math.floor(shares * scaler)) + vix_scaler = _vix_continuous_size_scaler(config, macro_data) + if vix_scaler != 1.0: + shares = max(1, math.floor(shares * vix_scaler)) + if config.risk.allow_budget_downsizing: + remaining_risk, daily_remaining, engine_remaining = _remaining_risk_budget_dollars( + candidate, + portfolio_state, + config, + engine_daily_new_risk_used=engine_daily_new_risk_used, + ) + shares = _cap_shares_to_remaining_risk_budget( + shares, + candidate.entry_price_est, + stop_price, + remaining_risk, + ) + shares = _cap_shares_by_position_limits( + shares, + candidate, + portfolio_state, + config, + ) + shares = _cap_shares_to_cash(shares, candidate, portfolio_state) + if shares == 0: + if config.risk.allow_budget_downsizing and ( + daily_remaining <= 0 or engine_remaining <= 0 ): - shares = max(1, math.floor(shares * config.risk.macro_regime_size_scaler)) + skip_reason = "daily_risk_budget" if daily_remaining <= 0 else "engine_daily_risk_budget" + else: + skip_reason = "zero_shares" + risk_dollars = 0.0 + target_price = compute_target_price( + candidate.entry_price_est, + stop_price, + target_r, + target_model=exec_cfg.target_model, + target_atr_multiplier=target_atr_mult, + atr_14=candidate.atr_14, + trade_direction=candidate.trade_direction, + ) + return PlannedOrder( + candidate=candidate, + shares=shares, + entry_price_limit=candidate.entry_price_est, + stop_price=stop_price, + target_price=target_price, + risk_dollars=risk_dollars, + event_date=candidate.event_date, + timing_class=candidate.timing_class, + engine_id=candidate.engine_id, + entry_timing_policy=candidate.entry_timing_policy, + shadow_only=candidate.shadow_only, + parent_position_id=candidate.parent_position_id, + is_add_on=candidate.is_add_on, + skip_reason=skip_reason, + ) risk_dollars = abs(candidate.entry_price_est - stop_price) * shares + target_price = compute_target_price( + candidate.entry_price_est, + stop_price, + target_r, + target_model=exec_cfg.target_model, + target_atr_multiplier=target_atr_mult, + atr_14=candidate.atr_14, + trade_direction=candidate.trade_direction, + ) + return PlannedOrder( candidate=candidate, shares=shares, @@ -299,5 +673,7 @@ def build_planned_order( engine_id=candidate.engine_id, entry_timing_policy=candidate.entry_timing_policy, shadow_only=candidate.shadow_only, + parent_position_id=candidate.parent_position_id, + is_add_on=candidate.is_add_on, skip_reason=skip_reason, )