Add xsmom disk cache + promote v9.3.2b as champion, retire v9 sweep configs
- New: libs/backtest/xsmom_cache.py — disk cache for xsmom ranked-universe per rebalance date; keyed by snapshot fingerprint + param hash; top_n is NOT in key so v9.3.1 (top20) and v9.3.2c (top10) share one cache file - libs/backtest/cross_sectional_momentum.py — add cache= param to build_candidates(); hit path skips 900-symbol scan; miss path writes ranked rows post-quality-gate to cache buffer - libs/backtest/snapshot_store.py — expose snapshot_dir attribute; propagate through slice_by_date_range() so runner always has the path - apps/backtester/run.py — wire up XsmomRankCache per engine (lazy init, flush after simulation loop); cache is no-op when snapshot_dir is None - configs: add return_max_long_v9.3.2b_fc.json (SQS 93.5 champion, ER days[2,8]); remove all other v9 sweep variants from .index.json Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>main
parent
d000731cc7
commit
f1782f5fd3
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,748 @@
|
||||
{
|
||||
"experiment_name": "return_max_long_v9.3.2b_fc",
|
||||
"dataset_snapshot_id": "pead_v931_iluk",
|
||||
"description": "v9.3.2b: ER days [2,8] (wider entry window). Built on v9.3.1 (ER25/xs5 champion, SQS 93.2).",
|
||||
"base_config": "configs/backtest/return_max_long_v1.json",
|
||||
"overrides": {
|
||||
"signal": {
|
||||
"scoring_model": "return_max_long_v13e",
|
||||
"score_threshold": 0.45,
|
||||
"max_candidates_per_day": 18,
|
||||
"a_tier_score_threshold": 0.58
|
||||
},
|
||||
"risk": {
|
||||
"per_trade_risk_pct": 0.65,
|
||||
"per_trade_risk_pct_a_tier": 0.715,
|
||||
"max_daily_new_risk_pct": 50,
|
||||
"max_positions": 30,
|
||||
"max_positions_per_sector": 5,
|
||||
"max_position_value_pct": 1.0,
|
||||
"max_adv_fraction": 0.3,
|
||||
"macro_regime_neutral_size_scaler": 1,
|
||||
"macro_regime_risk_off_size_scaler": 1,
|
||||
"veto_unknown_direction": false,
|
||||
"macro_regime_risk_off_a_tier_only": false,
|
||||
"stop_atr_multiplier": 3,
|
||||
"allow_budget_downsizing": true,
|
||||
"cash_parking_preset": "qqqm_low_dd_tqqq_active_v2_gld_brake_v3",
|
||||
"fixed_capital_sizing": true,
|
||||
"buying_power_multiplier": 1.0
|
||||
},
|
||||
"execution": {
|
||||
"a_tier_target_1_r": 3.5,
|
||||
"a_tier_target_1_fraction": 0,
|
||||
"non_a_tier_target_1_r": 2.25,
|
||||
"non_a_tier_target_1_fraction": 0,
|
||||
"trailing_warmup_days": 7,
|
||||
"max_holding_days": 12,
|
||||
"early_failure_no_progress_days": 1,
|
||||
"early_failure_no_progress_r": 0.15,
|
||||
"early_failure_no_progress_fraction": 1,
|
||||
"lookback_entry_enabled": true
|
||||
},
|
||||
"event_type_profiles": {
|
||||
"material_contract": {
|
||||
"enabled": true,
|
||||
"direction_filter": "any",
|
||||
"max_holding_days_override": 20
|
||||
},
|
||||
"other_material_event": {
|
||||
"enabled": true,
|
||||
"direction_filter": "any",
|
||||
"max_holding_days_override": 20
|
||||
},
|
||||
"unknown": {
|
||||
"enabled": true,
|
||||
"direction_filter": "any",
|
||||
"max_holding_days_override": 12
|
||||
},
|
||||
"earnings_runup_preevent": {
|
||||
"enabled": true,
|
||||
"direction_filter": "any",
|
||||
"max_holding_days_override": 7
|
||||
},
|
||||
"xsmom_12_1": {
|
||||
"enabled": true,
|
||||
"direction_filter": "any",
|
||||
"max_holding_days_override": 21
|
||||
}
|
||||
},
|
||||
"idle_alpha_sleeve_preset": "micro_event_alpha_plus_event_plus_cash_convex_microcap8_guarded",
|
||||
"form4_capture_sleeve_preset": "reserve_form4_cluster_plus_fresh_same_day_v3_aggressive_plus_cooldown180_high_maxval500m",
|
||||
"ownership_capture_sleeve_preset": "ownership_13d_raise_reserve_ultra_balanced_purpose_plus_cooldown90_r95",
|
||||
"risk_off_alpha_sleeve_preset": "risk_off_alpha_gld_crisis65_balanced_refined"
|
||||
},
|
||||
"strategy_engines": [
|
||||
{
|
||||
"engine_id": "next_open_long_unknown_material_patient",
|
||||
"_disabled_reason": "LOO: removing adds +234pp CW on ftb_fix_v2",
|
||||
"event_types": [
|
||||
"material_contract"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.25,
|
||||
"reaction_day_return_min": 0,
|
||||
"reaction_day_return_max": 0.15,
|
||||
"close_location_min": 0.5,
|
||||
"close_location_max": 0.85,
|
||||
"gap_size_min": 0,
|
||||
"gap_size_max": 0.02,
|
||||
"volume_ratio_min": 0.8,
|
||||
"volume_ratio_max": 2,
|
||||
"max_market_cap_proxy": 10000000000,
|
||||
"document_quality_score_min": 0.5,
|
||||
"parse_confidence_overall_min": 0.45,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"veto_parse_confidence_min_override": 0.45,
|
||||
"next_open_gap_cap_pct": 0.02,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": true,
|
||||
"early_failure_no_progress_days_override": 15,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": false,
|
||||
"min_market_cap_proxy": 5000000000,
|
||||
"macro_vix_max": 30
|
||||
},
|
||||
{
|
||||
"engine_id": "reaction_close_long_core",
|
||||
"event_types": [
|
||||
"earnings_release",
|
||||
"guidance_update"
|
||||
],
|
||||
"timing_class": "same_day",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "reaction_close",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 1,
|
||||
"reaction_day_return_min": 0,
|
||||
"reaction_day_return_max": 0.18,
|
||||
"close_location_min": 0.45,
|
||||
"volume_ratio_min": 1,
|
||||
"gap_size_min": 0,
|
||||
"weak_reaction_threshold": 0.03,
|
||||
"weak_reaction_gap_max": 0.02,
|
||||
"unknown_direction_reaction_min": 0.05,
|
||||
"unknown_direction_close_location_min": 0.7,
|
||||
"attention_max_wiki_spike_10d": 6,
|
||||
"score_threshold_override": 0.42,
|
||||
"enabled": true,
|
||||
"residual_reserve_selected": true,
|
||||
"mixed_inline_close_location_max": 0.88,
|
||||
"mixed_inline_gap_size_max": 0.1,
|
||||
"unknown_inline_exit_close_location_min": 0.9,
|
||||
"unknown_inline_exit_gap_size_max": 0.04,
|
||||
"unknown_inline_early_failure_no_progress_days_override": 2,
|
||||
"unknown_inline_early_failure_no_progress_r_override": 0.1,
|
||||
"unknown_inline_early_failure_no_progress_fraction_override": 1,
|
||||
"per_trade_risk_pct_override": 1.39,
|
||||
"trailing_warmup_days_override": 8,
|
||||
"macro_vix_max": 30,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_r_override": 0.2
|
||||
},
|
||||
{
|
||||
"engine_id": "reaction_close_long_residual_lowclose_gap_d3",
|
||||
"event_types": [
|
||||
"earnings_release",
|
||||
"guidance_update"
|
||||
],
|
||||
"timing_class": "same_day",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "reaction_close",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.12,
|
||||
"reaction_day_return_min": 0.03,
|
||||
"reaction_day_return_max": 0.2,
|
||||
"close_location_min": 0.35,
|
||||
"close_location_max": 0.45,
|
||||
"volume_ratio_min": 1.25,
|
||||
"gap_size_min": 0.05,
|
||||
"gap_size_max": 0.1,
|
||||
"max_market_cap_proxy": 10000000000,
|
||||
"score_threshold_override": 0.35,
|
||||
"target_1_r_override": 3,
|
||||
"target_1_fraction_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 3,
|
||||
"early_failure_no_progress_r_override": 0.25,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"enabled": true,
|
||||
"macro_vix_max": 30
|
||||
},
|
||||
{
|
||||
"engine_id": "reaction_close_long_residual_smallcap_gap",
|
||||
"event_types": [
|
||||
"earnings_release",
|
||||
"guidance_update"
|
||||
],
|
||||
"timing_class": "same_day",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "reaction_close",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.12,
|
||||
"reaction_day_return_min": 0.03,
|
||||
"reaction_day_return_max": 0.2,
|
||||
"close_location_min": 0.45,
|
||||
"volume_ratio_min": 1.25,
|
||||
"gap_size_min": 0.05,
|
||||
"gap_size_max": 0.1,
|
||||
"max_market_cap_proxy": 10000000000,
|
||||
"score_threshold_override": 0.35,
|
||||
"target_1_r_override": 3,
|
||||
"target_1_fraction_override": 0,
|
||||
"enabled": false,
|
||||
"macro_vix_max": 30,
|
||||
"_loo_disabled": 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": 12,
|
||||
"engine_risk_budget_pct": 0.35,
|
||||
"reaction_day_return_min": 0.2,
|
||||
"reaction_day_return_max": 0.4,
|
||||
"close_location_min": 0.83,
|
||||
"volume_ratio_min": 6,
|
||||
"gap_size_min": 0,
|
||||
"gap_size_max": 0.15,
|
||||
"attention_max_wiki_spike_10d": 6,
|
||||
"score_threshold_override": 0.65,
|
||||
"enabled": true,
|
||||
"target_1_r_override": 99,
|
||||
"target_1_fraction_override": 0,
|
||||
"trailing_warmup_days_override": 8,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": null,
|
||||
"early_failure_no_progress_r_override": null,
|
||||
"early_failure_no_progress_fraction_override": null,
|
||||
"per_trade_risk_pct_override": 1.5,
|
||||
"macro_vix_max": 30
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_unknown_inline_hivol",
|
||||
"event_types": [
|
||||
"earnings_release"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"inline_or_maintained"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.1,
|
||||
"reaction_day_return_min": 0,
|
||||
"reaction_day_return_max": 0.06,
|
||||
"close_location_min": 0.74,
|
||||
"close_location_max": 0.86,
|
||||
"gap_size_min": 0,
|
||||
"gap_size_max": 0.04,
|
||||
"volume_ratio_min": 2.1,
|
||||
"volume_ratio_max": 2.8,
|
||||
"document_quality_score_min": 0.5,
|
||||
"parse_confidence_overall_min": 0.5,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"veto_oneoff_penalty_override": 1,
|
||||
"next_open_gap_cap_pct": 0.04,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 15,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": false,
|
||||
"per_trade_risk_pct_override": 1.95,
|
||||
"macro_vix_max": 30,
|
||||
"_opt_disabled_reason": "v7.373 candidate: negative fixed-pipeline attribution"
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_guidance_unknown_orderly",
|
||||
"event_types": [
|
||||
"guidance_update"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.0675,
|
||||
"reaction_day_return_min": -0.03,
|
||||
"reaction_day_return_max": 0.05,
|
||||
"close_location_min": 0.9,
|
||||
"gap_size_min": -0.02,
|
||||
"gap_size_max": 0.03,
|
||||
"volume_ratio_min": 0.8,
|
||||
"min_market_cap_proxy": 9000000000,
|
||||
"document_quality_score_min": 0.52,
|
||||
"parse_confidence_overall_min": 0.48,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.03,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 15,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 4,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 15,
|
||||
"enabled": false,
|
||||
"veto_parse_confidence_min_override": 0.48,
|
||||
"per_trade_risk_pct_override": 0.98,
|
||||
"stop_atr_multiplier_override": 2,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 30,
|
||||
"_disabled_reason": "v8 TQQQ-allowed DD rebuild: positive aggregate PnL but caused 2025 drawdown/cash displacement; disabling improved return/DD on fixed dual-convention snapshot."
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_earnings_mixed_inline_orderly",
|
||||
"event_types": [
|
||||
"earnings_release"
|
||||
],
|
||||
"event_directions": [
|
||||
"mixed"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"inline_or_maintained"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.03,
|
||||
"reaction_day_return_min": -0.03,
|
||||
"reaction_day_return_max": 0.06,
|
||||
"close_location_min": 0.5,
|
||||
"gap_size_min": -0.02,
|
||||
"gap_size_max": 0.05,
|
||||
"volume_ratio_min": 1,
|
||||
"min_market_cap_proxy": 8000000000,
|
||||
"document_quality_score_min": 0.5,
|
||||
"parse_confidence_overall_min": 0.5,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.04,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 8,
|
||||
"early_failure_no_progress_r_override": 0.05,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": true,
|
||||
"veto_parse_confidence_min_override": 0.5,
|
||||
"per_trade_risk_pct_override": 1.34,
|
||||
"stop_atr_multiplier_override": 3,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 30,
|
||||
"_v8_change": "v8.7+: tighten no-progress exit; sweep best kept RVMD winners while reducing dead-money tail."
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_unknown_material_orderly",
|
||||
"event_types": [
|
||||
"material_contract"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.02,
|
||||
"reaction_day_return_min": -0.02,
|
||||
"reaction_day_return_max": 0.07,
|
||||
"close_location_min": 0.5,
|
||||
"close_location_max": 0.8,
|
||||
"gap_size_min": -0.02,
|
||||
"gap_size_max": 0.02,
|
||||
"volume_ratio_min": 0.9,
|
||||
"volume_ratio_max": 1.4,
|
||||
"min_market_cap_proxy": 10000000000,
|
||||
"max_market_cap_proxy": 100000000000,
|
||||
"document_quality_score_min": 0.5,
|
||||
"parse_confidence_overall_min": 0.45,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.03,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 15,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": false,
|
||||
"veto_parse_confidence_min_override": 0.45,
|
||||
"per_trade_risk_pct_override": 0.23,
|
||||
"stop_atr_multiplier_override": 3,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 30,
|
||||
"_disabled_reason": "LOO v7.132: +37pp delta"
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_megacap_material_contract_orderly",
|
||||
"event_types": [
|
||||
"material_contract",
|
||||
"other_material_event"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown",
|
||||
"mixed"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 8,
|
||||
"engine_risk_budget_pct": 0.03,
|
||||
"reaction_day_return_min": 0.02,
|
||||
"reaction_day_return_max": 0.12,
|
||||
"close_location_min": 0.55,
|
||||
"volume_ratio_min": 1,
|
||||
"min_market_cap_proxy": 100000000000,
|
||||
"document_quality_score_min": 0.45,
|
||||
"parse_confidence_overall_min": 0.4,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.05,
|
||||
"gap_size_min": -0.01,
|
||||
"gap_size_max": 0.05,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 2,
|
||||
"early_failure_no_progress_r_override": 0.1,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 3,
|
||||
"target_1_fraction_override": 0.15,
|
||||
"trailing_warmup_days_override": 8,
|
||||
"enabled": true,
|
||||
"veto_parse_confidence_min_override": 0.4,
|
||||
"per_trade_risk_pct_override": 0.57,
|
||||
"stop_atr_multiplier_override": 2.5,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 28
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_other_material_mixed_orderly",
|
||||
"_disabled_reason": "LOO: zero CW contribution on ftb_fix_v2",
|
||||
"event_types": [
|
||||
"other_material_event"
|
||||
],
|
||||
"event_directions": [
|
||||
"mixed"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.02,
|
||||
"reaction_day_return_min": -0.04,
|
||||
"reaction_day_return_max": 0.06,
|
||||
"close_location_min": 0.45,
|
||||
"gap_size_min": -0.03,
|
||||
"gap_size_max": 0.05,
|
||||
"volume_ratio_min": 1,
|
||||
"min_market_cap_proxy": 6000000000,
|
||||
"document_quality_score_min": 0.54,
|
||||
"parse_confidence_overall_min": 0.5,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.04,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 1,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": false,
|
||||
"veto_parse_confidence_min_override": 0.5,
|
||||
"veto_oneoff_penalty_override": 0,
|
||||
"per_trade_risk_pct_override": 0.23,
|
||||
"stop_atr_multiplier_override": 3,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 30
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_unknown_ome_orderly",
|
||||
"_disabled_reason": "LOO: removing adds +336pp CW on ftb_fix_v2",
|
||||
"event_types": [
|
||||
"other_material_event"
|
||||
],
|
||||
"event_directions": [
|
||||
"unknown"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"not_provided"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 12,
|
||||
"engine_risk_budget_pct": 0.04,
|
||||
"reaction_day_return_min": 0,
|
||||
"reaction_day_return_max": 0.12,
|
||||
"close_location_min": 0.55,
|
||||
"volume_ratio_min": 1,
|
||||
"min_market_cap_proxy": 4000000000,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"next_open_gap_cap_pct": 0.04,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 1,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"enabled": false,
|
||||
"veto_parse_confidence_min_override": 0.4,
|
||||
"per_trade_risk_pct_override": 0.13,
|
||||
"stop_atr_multiplier_override": 4,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"macro_vix_max": 30
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_bullish_raised_recovery_broad_oneoff",
|
||||
"event_types": [
|
||||
"earnings_release"
|
||||
],
|
||||
"event_directions": [
|
||||
"bullish"
|
||||
],
|
||||
"guidance_statuses": [
|
||||
"raised"
|
||||
],
|
||||
"filing_time_buckets": [
|
||||
"post_market"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"max_holding_days": 10,
|
||||
"engine_risk_budget_pct": 0.03,
|
||||
"reaction_day_return_min": 0.01,
|
||||
"reaction_day_return_max": 0.1,
|
||||
"close_location_min": 0.3,
|
||||
"close_location_max": 0.62,
|
||||
"gap_size_min": 0.01,
|
||||
"gap_size_max": 0.12,
|
||||
"volume_ratio_min": 1.3,
|
||||
"volume_ratio_max": 3.2,
|
||||
"min_market_cap_proxy": 30000000000.0,
|
||||
"document_quality_score_min": 0.5,
|
||||
"parse_confidence_overall_min": 0.5,
|
||||
"score_threshold_override": 0,
|
||||
"residual_reserve_selected": true,
|
||||
"veto_parse_confidence_min_override": 0.5,
|
||||
"veto_oneoff_penalty_override": 0.75,
|
||||
"allow_oneoff_downsizing_override": true,
|
||||
"oneoff_downsize_floor_override": 0.15,
|
||||
"next_open_gap_cap_pct": 0.12,
|
||||
"early_failure_close_below_entry_and_reaction_close_override": false,
|
||||
"early_failure_no_progress_days_override": 10,
|
||||
"early_failure_no_progress_r_override": 0,
|
||||
"early_failure_no_progress_fraction_override": 1,
|
||||
"target_1_r_override": 5,
|
||||
"target_1_fraction_override": 0.1,
|
||||
"trailing_warmup_days_override": 12,
|
||||
"per_trade_risk_pct_override": 0.55,
|
||||
"stop_atr_multiplier_override": 3,
|
||||
"use_reaction_day_low_stop_override": false,
|
||||
"enabled": true,
|
||||
"macro_vix_max": 30,
|
||||
"max_position_value_pct_override": 1.0,
|
||||
"_v8_change": "v8.7+: cap this drawdown-driving broad oneoff engine at 92% of equity."
|
||||
},
|
||||
{
|
||||
"engine_id": "next_open_long_guidance_mixed_micro_postmarket",
|
||||
"enabled": false,
|
||||
"post_allocation_idle_only": true,
|
||||
"_opt_disabled_reason": "v7.373 candidate: block preset-injected negative engine"
|
||||
},
|
||||
{
|
||||
"engine_id": "er_silo",
|
||||
"event_types": [
|
||||
"earnings_runup_preevent"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"engine_risk_budget_pct": 1.0,
|
||||
"score_threshold_override": 0.0,
|
||||
"max_holding_days": 7,
|
||||
"macro_vix_max": 30.0,
|
||||
"earnings_runup_enabled": true,
|
||||
"earnings_runup_days_to_earnings_min": 2,
|
||||
"earnings_runup_days_to_earnings_max": 8,
|
||||
"earnings_runup_attention_zscore_20d_min": 1.5,
|
||||
"earnings_runup_dollar_volume_zscore_20d_min": 1.0,
|
||||
"earnings_runup_min_avg_dollar_volume": 50000000.0,
|
||||
"earnings_runup_stop_pct": 0.04,
|
||||
"earnings_runup_target_pct": 0.08,
|
||||
"earnings_runup_trailing_activate_pct": 0.05,
|
||||
"earnings_runup_trailing_giveback_pct": 0.03,
|
||||
"earnings_runup_calendar_buffer_days": 1,
|
||||
"enabled": true,
|
||||
"capital_bucket_id": "er_silo",
|
||||
"capital_bucket_allocation_pct": 0.25
|
||||
},
|
||||
{
|
||||
"engine_id": "xsmom_silo",
|
||||
"event_types": [
|
||||
"xsmom_12_1"
|
||||
],
|
||||
"timing_class": "after_close",
|
||||
"direction": "long_only",
|
||||
"entry_timing_policy": "next_open",
|
||||
"engine_risk_budget_pct": 1.0,
|
||||
"score_threshold_override": 0.0,
|
||||
"max_holding_days": 21,
|
||||
"xsmom_enabled": true,
|
||||
"xsmom_lookback_days": 252,
|
||||
"xsmom_skip_days": 21,
|
||||
"xsmom_top_n": 20,
|
||||
"xsmom_holding_days": 21,
|
||||
"xsmom_momentum_min": 0.0,
|
||||
"xsmom_min_avg_dollar_volume": 10000000.0,
|
||||
"xsmom_min_price": 5.0,
|
||||
"xsmom_volatility_20d_max": 0.08,
|
||||
"xsmom_stop_pct": 0.1,
|
||||
"xsmom_target_pct": 0.3,
|
||||
"xsmom_vix_max": 30.0,
|
||||
"xsmom_spy_sma_filter_period": 50,
|
||||
"enabled": true,
|
||||
"capital_bucket_id": "xsmom_silo",
|
||||
"capital_bucket_allocation_pct": 0.05
|
||||
}
|
||||
],
|
||||
"splits": [
|
||||
{
|
||||
"kind": "named_snapshot",
|
||||
"params": {
|
||||
"name": "train"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "named_snapshot",
|
||||
"params": {
|
||||
"name": "valid"
|
||||
}
|
||||
},
|
||||
{
|
||||
"kind": "named_snapshot",
|
||||
"params": {
|
||||
"name": "test"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"de-risk",
|
||||
"drawdown-reduction",
|
||||
"fixed-capital",
|
||||
"no-buying-power-leverage",
|
||||
"no-leverage",
|
||||
"pead-rebuild",
|
||||
"pead-v8",
|
||||
"return-max",
|
||||
"tqqq-allowed",
|
||||
"v6new",
|
||||
"hybrid-3way",
|
||||
"er-silo",
|
||||
"xsmom-silo"
|
||||
],
|
||||
"notes": "2026-05-12 PEAD v8 improvement from v8.4. TQQQ is allowed only through cash parking; buying_power_multiplier remains 1.0. ORB/intraday configs are intentionally untouched.",
|
||||
"aliases": [
|
||||
"v9.3.2b-champion"
|
||||
],
|
||||
"version_family": "v9",
|
||||
"created_at": "2026-05-12T15:00:00",
|
||||
"created_by": "ai_agent",
|
||||
"status": "promoted",
|
||||
"generation": 3,
|
||||
"changelog": "v9.3.2b: ER days [2,8] (wider entry window)",
|
||||
"parent": "return_max_long_v9.3.1_er25_xs5_fc",
|
||||
"id": 1381,
|
||||
"performance_summary": {},
|
||||
"has_journal_entry": false,
|
||||
"metadata": {
|
||||
"parent": "return_max_long_v9.3_v92_er30_xs10",
|
||||
"validation_snapshot": "pead_dualconv_ftb_fix_v2_probe",
|
||||
"performance_fixed_capital": {
|
||||
"total_return_pct": 585.97,
|
||||
"sqs": 93.2,
|
||||
"risk_score": 72.8,
|
||||
"trades": null
|
||||
}
|
||||
},
|
||||
"lineage": {
|
||||
"parent": "return_max_long_v8.4_composed_gld_tqqq_return",
|
||||
"changes": [
|
||||
"Set next_open_long_earnings_mixed_inline_orderly early_failure_no_progress_days_override from 15 to 8",
|
||||
"Set next_open_long_earnings_mixed_inline_orderly early_failure_no_progress_r_override from 0 to 0.05",
|
||||
"Set next_open_long_bullish_raised_recovery_broad_oneoff max_position_value_pct_override to 0.92",
|
||||
"Keep buying_power_multiplier at 1.0; TQQQ remains cash-parking overlay only"
|
||||
]
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue