{
  "platform": {
    "name": "rentech_stock_book_cm_dip",
    "log_dir": "RenTech/data/logs/live_platform",
    "kill_switch_path": "RenTech/live/config/KILL_SWITCH",
    "state_dir": "RenTech/data/live_state"
  },
  "broker": {
    "adapter": "ibkr",
    "host": "127.0.0.1",
    "port": 7497,
    "client_id": 5,
    "connect_timeout_sec": 15,
    "market_data_type": 3
  },
  "risk": {
    "max_daily_loss_usd": 2500,
    "max_daily_loss_pct_nav": 0.03,
    "min_net_liq_usd": 25000,
    "max_margin_utilization": 0.85,
    "halt_on_kill_switch": true,
    "recommend_only": true,
    "min_excess_liquidity_usd": 5000,
    "block_if_pending_orders": true
  },
  "strategies": [
    {
      "id": "stock_book_cm_dip",
      "enabled": true,
      "module": "RenTech.live.strategies.stock_book_ibkr:StockBookIbkrStrategy",
      "priority": 15,
      "capital_budget_mode": "nav_pct",
      "capital_budget_nav_pct": 0.255,
      "max_new_entries_per_day": 10,
      "max_open_positions": 10,
      "enabled_for_entries": true,
      "config": {
        "fund_scale": 1.5,
        "equity_dip_weight": 0.17,
        "max_holdings": 10,
        "limit_atr_mult": 0.9,
        "profit_atr_mult": 0.5,
        "hold_trading_days": 10,
        "bootstrap_from_ib": true,
        "entry_after_et": "09:35",
        "entry_before_et": "15:30",
        "exit_after_et": "15:50",
        "exit_before_et": "16:00",
        "state_path": "RenTech/data/live_state/cm_dip_positions.json",
        "recommend_out": "RenTech/data/logs/stock_book_cm_dip_recommendation.json"
      }
    }
  ]
}
