| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- version: 0.2
- project: chinext50_regime
- trading:
- frequency: daily
- execution_timing: next_open_approx
- instrument_type: domestic_stock_etf
- max_exposure: 1.0
- min_exposure: 0.0
- exposure_mode: ladder
- exposure_ladder_step: 0.1
- max_daily_exposure_change: 0.3
- fee_bps_roundtrip: 8
- slippage_bps_oneway: 4
- extreme_day_move_threshold: 0.03
- extreme_day_cost_multiplier: 1.5
- gap_slippage_factor: 0.02
- annualization: 252
- state_machine:
- min_state_duration: 3
- crash_override: true
- thresholds:
- risk_off_down_hazard: 0.67
- risk_off_stress: 0.89
- risk_off_trend_floor: -0.14
- crash_override_down_hazard: 0.77
- trend_score: 0.45
- trend_breadth_min: -0.05
- trend_stress_max: 0.45
- euphoric_crowding: 0.7
- euphoric_rebound_hazard: 0.68
- repair_hazard: 0.58
- repair_stress_max: 0.85
- repair_d_stress_max: 0.0
- policy:
- trend: 0.9
- euphoric_late: 0.6
- chop: 0.3
- risk_off: 0.0
- repair_rebound_base: 0.35
- repair_rebound_max: 0.8
- evaluation:
- objective: net_utility
- positive_window_ratio_threshold: 0.6
- upside_capture_min: 0.75
- max_drawdown_ratio_max: 0.75
- primary_window_success_upside_min: 0.25
- primary_window_success_drawdown_ratio_max: 0.8
- primary_window_success_turnover_max: 22.0
- primary_window_success_require_positive_return: true
- primary_window_success_ratio_min: 0.5
- primary_window_success_ratio_target: 0.6
- primary_window_min_rows: 180
- utility_upside_target: 0.55
- utility_turnover_penalty_start: 8.0
- utility_turnover_penalty_rate: 0.01
- data_quality:
- strict_mode_default: false
- default_min_coverage: 0.95
- critical_columns:
- - open
- - high
- - low
- - close
- - volume
- - hs300_close
- - star50_close
- - csi1000_close
- - pct_constituents_above_20dma
- - pct_constituents_above_60dma
- - pct_new_high_20
- - pct_new_low_20
- - eq_weight_ret_5
- - weighted_ret_5
- - top3_contribution_5
- - top1_contribution_5
- - top10_contribution_5
- - sector_concentration_20
- - corr_spike_20
- - dispersion_20
- blocking_columns:
- - open
- - high
- - low
- - close
- - volume
- - hs300_close
- - star50_close
- - csi1000_close
- - pct_constituents_above_20dma
- - pct_constituents_above_60dma
- - pct_new_high_20
- - pct_new_low_20
- - eq_weight_ret_5
- - weighted_ret_5
- - top3_contribution_5
- - corr_spike_20
- - dispersion_20
- column_min_coverage: {}
- breadth_integrity_min_unique_non_null: 3
- breadth_integrity_max_dominant_value_ratio: 0.995
- breadth_integrity_std_floor: 1e-8
- breadth_semantic_require_official_index_weight: true
- breadth_semantic_require_time_varying_membership: true
- breadth_semantic_max_industry_unknown_ratio: 0.1
- low_info_min_unique_non_null: 3
- low_info_std_floor: 1e-8
- low_info_max_dominant_ratio: 0.995
- low_info_feature_columns:
- - concentration_spread_5
- - breadth_thrust_5
- - up_down_imbalance_20
- - breadth_divergence
- - top3_vs_top10_ratio_5
- - top1_top3_pressure_5
- - sector_concentration_change_20
- - volume_z_20
- - upper_wick_ratio_5
- - range_pos_120
- low_info_blocking_columns:
- - concentration_spread_5
- - breadth_thrust_5
- - up_down_imbalance_20
- - breadth_divergence
- - top3_vs_top10_ratio_5
- - top1_top3_pressure_5
- - sector_concentration_change_20
- - volume_z_20
- - upper_wick_ratio_5
- - range_pos_120
- frozen_validation:
- window_mode: expanding
- min_train_years: 2
- test_years: 1
- allow_partial_last_test: true
- min_train_rows: 120
- min_test_rows: 40
- candidate_selection:
- use_hard_constraints: true
- upside_capture_min: 0.28
- max_drawdown_ratio_vs_benchmark: 0.72
- annual_turnover_soft_max: 18.0
- annual_return_override_abs: 0.05
- annual_return_override_ratio: 0.4
- return_ratio_weight: 0.3
- upside_weight: 0.3
- drawdown_weight: 0.2
- sharpe_delta_weight: 0.1
- stability_weight: 0.1
- turnover_penalty_per_unit: 0.015
- score_cap: 1.2
- upside_target: 0.45
- drawdown_improvement_target: 0.35
- sharpe_delta_shift: 0.05
- sharpe_delta_scale: 0.15
- turnover_penalty_start: 12.0
- core_utility_floor: -0.05
- core_utility_target: 0.1
- fallback_mode: closest_to_feasible_frontier
- candidates:
- - id: defensive
- overrides:
- policy:
- trend: 0.8
- euphoric_late: 0.3
- chop: 0.2
- repair_rebound_base: 0.3
- repair_rebound_max: 0.65
- trading:
- max_daily_exposure_change: 0.2
- - id: baseline
- overrides: {}
- - id: balanced_capture
- overrides:
- policy:
- trend: 0.95
- euphoric_late: 0.65
- chop: 0.35
- repair_rebound_base: 0.4
- repair_rebound_max: 0.85
- trading:
- max_daily_exposure_change: 0.3
- - id: pro_risk
- overrides:
- policy:
- trend: 1.0
- euphoric_late: 0.7
- chop: 0.45
- repair_rebound_base: 0.5
- repair_rebound_max: 0.95
- trading:
- max_daily_exposure_change: 0.35
|