From 8dacdaab4e4aefb410714a53b86c662f144e62e6 Mon Sep 17 00:00:00 2001 From: I Luk Kim Date: Mon, 23 Mar 2026 23:18:25 -0700 Subject: [PATCH] =?UTF-8?q?Add=20v10=20macro=20regime=20scoring=20(VIX+HY)?= =?UTF-8?q?=20and=20FRED=20macro=20features=20=E2=80=94=20SQS=2059.1=20(re?= =?UTF-8?q?jected)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New features: - _enrich_macro_features() in snapshot_export: adds macro_vix, macro_hy_spread from FRED - compute_return_max_long_score_v10: +12% bonus in favorable regime (VIX>18+HY>3.25) - _macro_regime_score(): regime-aware scoring component Findings: - VIX signal is statistically strong: 62.3% WR (VIX>18+HY>3.25) vs 50.8% (other) - But scoring bonus promotes marginal trades, diluting OOS quality - Same pattern as eps_growth, drift bonus: raw signal ≠ scoring improvement - v6new.17 SQS 59.1 < v6new.9 SQS 63.3 v6new.9 remains best at SQS 63.3 after 17 experiments. Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/backtester/run.py | 11 +- .../experiments/return_max_long_v6new.17.json | 839 ++++++++++++++++++ journal/LEADERBOARD.md | 207 ++--- journal/improvement_journal.jsonl | 1 + libs/backtest/scoring.py | 47 + libs/export/snapshot_export.py | 47 + 6 files changed, 1047 insertions(+), 105 deletions(-) create mode 100644 configs/experiments/return_max_long_v6new.17.json diff --git a/apps/backtester/run.py b/apps/backtester/run.py index 69f5e55..b9988de 100644 --- a/apps/backtester/run.py +++ b/apps/backtester/run.py @@ -626,7 +626,7 @@ class BacktestRunner: def _engine_requires_attention(self, engine: Any) -> bool: if ( - self.config.signal.scoring_model in {"return_max_long_v1", "return_max_long_v2", "return_max_long_v3", "return_max_long_v4", "return_max_long_v5", "return_max_long_v6", "return_max_long_v7", "return_max_long_v8", "return_max_long_v9", "return_max_long_v9g"} + self.config.signal.scoring_model in {"return_max_long_v1", "return_max_long_v2", "return_max_long_v3", "return_max_long_v4", "return_max_long_v5", "return_max_long_v6", "return_max_long_v7", "return_max_long_v8", "return_max_long_v9", "return_max_long_v9g", "return_max_long_v10"} and engine.direction != "short_only" ): return True @@ -816,6 +816,7 @@ class BacktestRunner: compute_return_max_long_score_v8, compute_return_max_long_score_v9, compute_return_max_long_score_v9g, + compute_return_max_long_score_v10, ) rescored_features = dict(candidate.features) @@ -825,7 +826,9 @@ class BacktestRunner: "event_direction": rescored_features.get("event_direction"), } ) - if self.config.signal.scoring_model == "return_max_long_v9g": + if self.config.signal.scoring_model == "return_max_long_v10": + score = compute_return_max_long_score_v10(rescored_features) + elif self.config.signal.scoring_model == "return_max_long_v9g": score = compute_return_max_long_score_v9g(rescored_features) elif self.config.signal.scoring_model == "return_max_long_v9": score = compute_return_max_long_score_v9(rescored_features) @@ -1834,6 +1837,10 @@ def _build_store( from libs.backtest.scoring import compute_return_max_long_score_v9g scoring_fn = compute_return_max_long_score_v9g + elif config.signal.scoring_model == "return_max_long_v10": + from libs.backtest.scoring import compute_return_max_long_score_v10 + + scoring_fn = compute_return_max_long_score_v10 elif config.signal.scoring_model == "patient_drift": from libs.backtest.scoring import compute_patient_drift_score diff --git a/configs/experiments/return_max_long_v6new.17.json b/configs/experiments/return_max_long_v6new.17.json new file mode 100644 index 0000000..dd9bc25 --- /dev/null +++ b/configs/experiments/return_max_long_v6new.17.json @@ -0,0 +1,839 @@ +{ + "experiment_name": "return_max_long_v6new.17", + "dataset_snapshot_id": "midlarge-liquid-long-v1", + "description": "v6new.9 + v10 macro regime scoring (VIX+HY spread). 62.3% WR in favorable vs 50.8% neutral.", + "base_config": "configs/backtest/return_max_long_v1.json", + "overrides": { + "signal": { + "scoring_model": "return_max_long_v10", + "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 + }, + "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" + ], + "notes": "V10 scoring: +12% bonus when VIX>18 + HY>3.25 (favorable PEAD regime), -6% penalty when VIX 15-18 (complacent regime)." +} \ No newline at end of file diff --git a/journal/LEADERBOARD.md b/journal/LEADERBOARD.md index a9b5a58..02a8c9c 100644 --- a/journal/LEADERBOARD.md +++ b/journal/LEADERBOARD.md @@ -1,5 +1,5 @@ # Strategy Improvement Leaderboard -_Updated: 2026-03-24T05:22:29.808098+00:00_ +_Updated: 2026-03-24T06:17:45.329064+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._ @@ -35,111 +35,116 @@ _Default view excludes retired legacy PEAD / short-core / exact-pocket families | 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.15 | 58.6 | +55.1 | +37.1 | +50.3 | +115.3 | 4.0 | 43.6 | 77.8 | 1.15 | 2026-03-24 | -| 32 | 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 | -| 33 | 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 | -| 34 | 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 | -| 35 | 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 | -| 36 | 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 | -| 37 | 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 | -| 38 | 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 | -| 39 | 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 | -| 40 | 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 | -| 41 | 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 | -| 42 | 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 | -| 43 | 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 | -| 44 | 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 | -| 45 | 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 | -| 46 | 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 | -| 47 | 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 | -| 48 | 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 | -| 49 | 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 | -| 50 | 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 | -| 51 | 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 | -| 52 | return_max_long_v6.15 | 48.9 | - | +34.5 | +59.1 | +139.7 | 4.1 | 40.3 | 73.3 | 1.47 | 2026-03-23 | -| 53 | 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 | -| 54 | 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 | -| 55 | 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 | -| 56 | 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 | -| 57 | 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 | -| 58 | 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 | -| 59 | 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 | -| 60 | 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 | +| 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.204 | 45.1 | +54.5 | +37.5 | +47.1 | +106.9 | 4.0 | 41.5 | 66.7 | 1.14 | 2026-03-22 | -| 63 | 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 | -| 64 | 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 | -| 65 | 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 | -| 66 | 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 | -| 67 | 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 | -| 68 | 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 | -| 69 | 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 | -| 70 | 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 | -| 71 | 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 | -| 72 | 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 | -| 73 | 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 | -| 74 | 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 | -| 75 | 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 | -| 76 | 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 | -| 77 | 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 | -| 78 | 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 | -| 79 | 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 | -| 80 | 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 | -| 81 | 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 | -| 82 | 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 | -| 83 | 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 | -| 84 | 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 | -| 85 | 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 | -| 86 | 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 | -| 87 | 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 | -| 88 | 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 | -| 89 | 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 | -| 90 | 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 | -| 91 | 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 | -| 92 | 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 | -| 93 | 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 | -| 94 | 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 | -| 95 | 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 | -| 96 | 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 | +| 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_v1.51 | 26.4 | +37.9 | +35.3 | +42.7 | +95.3 | 4.7 | 35.0 | 40.7 | 1.22 | 2026-03-22 | -| 99 | 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 | -| 100 | 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 | -| 101 | 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 | -| 102 | 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 | -| 103 | 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 | -| 104 | 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 | -| 105 | 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 | -| 106 | 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 | -| 107 | 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 | -| 108 | 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 | -| 109 | 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 | -| 110 | 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 | -| 111 | 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 | -| 112 | 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 | -| 113 | 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 | -| 114 | 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 | -| 115 | 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 | -| 116 | 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 | +| 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.1 | 7.4 | +34.4 | +11.8 | +15.0 | +30.1 | 8.5 | 27.9 | 40.0 | 0.54 | 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.9 | 6.3 | +36.3 | +12.1 | +22.3 | +46.0 | 8.8 | 34.7 | 45.2 | 0.64 | 2026-03-22 | -| 121 | 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 | -| 122 | 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 | -| 123 | 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 | -| 124 | 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 | +| 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_v1.143 | 4.5 | +35.1 | +35.3 | +42.6 | +95.0 | 4.7 | 34.7 | 40.7 | 1.23 | 2026-03-22 | -| 127 | 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 | -| 128 | 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 | -| 129 | 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 | -| 130 | 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 | -| 131 | 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 | -| 132 | 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 | -| 133 | 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 | +| 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 | ## 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-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) @@ -157,7 +162,3 @@ Reasoning: Auto-synced from official manifest. Hypothesis: execution tuning v6new.14 Verdict: **UNKNOWN** (SQS 61.2) -### IMP-0528 (2026-03-24) — return_max_long_v6new.13 -Hypothesis: v6new.9 risk tuning experiment 13 -Verdict: **UNKNOWN** (SQS 63.3) - diff --git a/journal/improvement_journal.jsonl b/journal/improvement_journal.jsonl index 1768056..ce59d1f 100644 --- a/journal/improvement_journal.jsonl +++ b/journal/improvement_journal.jsonl @@ -530,3 +530,4 @@ {"entry_id":"IMP-0530","timestamp":"2026-03-24T05:05:15.462140+00:00","experiment_name":"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","config_delta":null,"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":null,"robustness_matrix_summary":null,"out_of_time_robustness_summary":null,"sqs_score":89.9,"sqs_breakdown":{"profitability":100.0,"risk":83.6,"consistency":100.0,"robustness":60.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":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","v6new","exit-tuning"]} {"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"]} diff --git a/libs/backtest/scoring.py b/libs/backtest/scoring.py index e67b5de..94b2745 100644 --- a/libs/backtest/scoring.py +++ b/libs/backtest/scoring.py @@ -334,6 +334,23 @@ def _orderly_material_gap_score(row: dict[str, Any]) -> float: return 0.0 +def compute_return_max_long_score_v10(row: dict[str, Any]) -> float: + """V10 = V5 + macro regime bonus from VIX and HY spread. + + High VIX (>18) + wide HY spread (>3.25) = favorable PEAD regime. + Empirical: 62.3% WR vs 50.8% in neutral regime (+11.5pp, n=2648). + Adds up to +12% bonus in favorable regime, -5% penalty in adverse regime. + """ + return _compute_return_max_long_score( + row, + earnings_reaction_fallback=True, + use_signal_strength_proxy=True, + weights=_RETURN_MAX_LONG_V2_WEIGHTS, + allow_generic_material_events=True, + use_macro_regime_bonus=True, + ) + + def compute_return_max_long_score_v9g(row: dict[str, Any]) -> float: """V9G = V9 + hard gate: reject events with negative prior same-ticker drift. @@ -375,6 +392,7 @@ def _compute_return_max_long_score( use_market_confirmed_gate: bool = False, use_financial_bonus: bool = False, use_prior_drift_momentum: bool = False, + use_macro_regime_bonus: bool = False, ) -> float: """Long-biased score for return-max event strategies. @@ -471,6 +489,9 @@ def _compute_return_max_long_score( if use_prior_drift_momentum: raw += _prior_drift_momentum_score(row) * 0.10 + if use_macro_regime_bonus: + raw += _macro_regime_score(row) * 0.12 + return _clamp(raw) @@ -670,6 +691,32 @@ def _exhaustion_penalty(row: dict[str, Any]) -> float: return penalty +def _macro_regime_score(row: dict[str, Any]) -> float: + """Score from macro regime: VIX level and HY credit spread. + + Empirical finding on 2,648 earnings events: + - VIX > 18 AND HY > 3.25: 62.3% WR, +1.61% mean (favorable) + - Otherwise: 50.8% WR, +0.09% mean (neutral/adverse) + + Returns [-0.5, +1.0]; caller scales by weight (e.g. 0.12 = 12%). + """ + vix = _safe_float(row.get("macro_vix")) + hy = _safe_float(row.get("macro_hy_spread")) + + if vix is None: + return 0.0 + + # Favorable: high VIX + wide HY = fear regime, PEAD strongest + if vix > 18 and hy is not None and hy > 3.25: + return min(1.0, (vix - 18) / 10) # 0.0 at VIX=18, 1.0 at VIX=28 + + # Adverse: mid VIX (15-18) = complacent, PEAD weakest + if 15 < vix <= 18: + return -0.5 + + return 0.0 + + def _prior_drift_momentum_score(row: dict[str, Any]) -> float: """Score from prior same-ticker event's 5d forward return (cross-event momentum). diff --git a/libs/export/snapshot_export.py b/libs/export/snapshot_export.py index 2150b75..483624f 100644 --- a/libs/export/snapshot_export.py +++ b/libs/export/snapshot_export.py @@ -236,6 +236,50 @@ def _parse_iso_date(raw: Any) -> dt.date | None: return None +async def _enrich_macro_features(rows: list[dict[str, Any]]) -> None: + """Add VIX and HY spread from FRED as macro regime features. + + Uses forward-fill for weekends/holidays. These features enable + macro-aware scoring: high VIX + wide HY spread = favorable PEAD regime. + """ + if not rows: + return + try: + from libs.oracle_client import FredService, make_oracle_client + import pandas as pd + + dates = sorted({r.get("event_date", "") for r in rows if r.get("event_date")}) + if not dates: + return + start = dates[0] + + async with make_oracle_client() as client: + svc = FredService(client) + vix_resp = await svc.get_observations("VIXCLS", start=start) + hy_resp = await svc.get_observations("BAMLH0A0HYM2", start=start) + + vix_series = pd.Series( + {o.date: o.value for o in vix_resp.observations if o.value is not None} + ).sort_index() + hy_series = pd.Series( + {o.date: o.value for o in hy_resp.observations if o.value is not None} + ).sort_index() + + for row in rows: + ed = row.get("event_date", "") + if not ed: + continue + prior_vix = vix_series[vix_series.index <= ed] + row["macro_vix"] = float(prior_vix.iloc[-1]) if len(prior_vix) > 0 else None + prior_hy = hy_series[hy_series.index <= ed] + row["macro_hy_spread"] = float(prior_hy.iloc[-1]) if len(prior_hy) > 0 else None + + enriched = sum(1 for r in rows if r.get("macro_vix") is not None) + logger.info("macro_features_enriched", count=enriched, total=len(rows)) + except Exception as exc: + logger.warning("macro_features_failed", error=str(exc)) + + def _enrich_prior_event_drift(rows: list[dict[str, Any]]) -> None: """Add prior_event_fwd5d: the same ticker's most recent prior event's fwd_return_5d. @@ -486,6 +530,9 @@ async def export_dataset_snapshot( # Compute cross-event momentum: prior same-ticker event's 5d forward return _enrich_prior_event_drift(preliminary_rows) + # Enrich with macro regime features (VIX, HY spread) + await _enrich_macro_features(preliminary_rows) + rows: list[dict[str, Any]] = [] for row in preliminary_rows: market_cap_proxy = row.get("market_cap_proxy")