output_dir: "./output/helix_research"

benchmark:
  mode: "research"

data:
  targets:
    - name: "h1_open_to_close"
      entry_delay_bars: 1
      holding_bars: 1
      price_pair: "open_to_close"
      return_transform: "simple"
    - name: "h3_open_to_close"
      entry_delay_bars: 1
      holding_bars: 3
      price_pair: "open_to_close"
      return_transform: "simple"
    - name: "h6_open_to_close"
      entry_delay_bars: 1
      holding_bars: 6
      price_pair: "open_to_close"
      return_transform: "simple"
    - name: "h1_close_to_close"
      entry_delay_bars: 0
      holding_bars: 1
      price_pair: "close_to_close"
      return_transform: "simple"
    - name: "h5_close_to_close"
      entry_delay_bars: 0
      holding_bars: 5
      price_pair: "close_to_close"
      return_transform: "simple"
  default_target: "h1_open_to_close"

research:
  enabled: true
  primary_objective: "weighted_multi_horizon"
  target_aggregation: "weighted"
  horizon_weights:
    h1_open_to_close: 0.35
    h3_open_to_close: 0.25
    h6_open_to_close: 0.15
    h1_close_to_close: 0.15
    h5_close_to_close: 0.10
  uncertainty:
    bootstrap_samples: 200
    block_size: 20
    shrinkage_strength: 1.0
    lcb_zscore: 1.0
  admission:
    use_residual_ic: true
    use_effective_rank_gain: true
    turnover_penalty: 0.05
    redundancy_penalty: 0.20
    min_score: 0.04
    min_lcb: 0.0
    min_span_gain: 0.05
  selection:
    models: ["ridge", "elastic_net", "lasso", "xgboost"]
  regimes:
    enabled: true
    definition: "return_volatility_liquidity"
  execution:
    cost_model: "linear_bps"
    cost_bps: 4.0

phase2:
  causal:
    enabled: true
  regime:
    enabled: true
  capacity:
    enabled: true
  significance:
    enabled: true
  debate:
    enabled: true
  helix:
    enabled: true
    enable_knowledge_graph: true
    enable_embeddings: true
    enable_canonicalization: true
