{
  "input": {
    "path": "ohlc-20260928.csv.gz",
    "sha256": "16824ebcafc13ba6fe779a67a7b165f12df96a0c210d7aa74c32296b43efaacd",
    "expected_sha256": "16824ebcafc13ba6fe779a67a7b165f12df96a0c210d7aa74c32296b43efaacd",
    "source_rows": 4344852,
    "invalid_date_rows": 0,
    "duplicate_stock_code_date_rows": 0,
    "excluded_missing_listing_rows": 2124,
    "excluded_missing_listing_codes": [
      "^TWII"
    ],
    "runner_sha256": "5eee3eef483999e01f8eae3ac2642700b828c5ec407060ca3ee795921e23c112"
  },
  "scope": {
    "requested_start": "2018-01-01",
    "requested_end": "2026-09-24",
    "basis": "adjusted OHLC",
    "signal_timing": "close T",
    "execution_timing": "next global captured session adjusted open",
    "entry_policy": "earliest common eligible while flat; repeat after existing cooldown",
    "slippage": 0.0,
    "survivorship_claim": false,
    "execution_mode": "conservative",
    "diagnostic_event_outcomes_computed": false
  },
  "config": {
    "initial_capital_per_ticker": 5000000.0,
    "buy_fee": 0.001425,
    "sell_fee": 0.001425,
    "tax": 0.003,
    "lot_size": 1000,
    "max_position_pct": 0.1,
    "cooldown_days": 5,
    "risk_free_rate": 0.015
  },
  "coverage": {
    "source_rows": 4344852,
    "rows": 4342728,
    "source_stock_codes": 2615,
    "tradable_stock_codes": 2614,
    "instruments": 2614,
    "source_exchange_identities": 2632,
    "codes_with_listing_transfer": 18,
    "excluded_missing_listing_rows": 2124,
    "excluded_missing_listing_codes": [
      "^TWII"
    ],
    "min_date": "2018-01-02",
    "max_date": "2026-09-24",
    "global_sessions": 2125,
    "invalid_adjusted_bars": 0,
    "zero_or_missing_volume_bars": 0,
    "instruments_without_swing": 5,
    "instruments_without_common_entry": 5,
    "histories_start_after_global_start": 867,
    "histories_end_before_global_end": 259
  },
  "diagnostics": {
    "old_same_day_close20": {
      "eligible_observations": 4342728,
      "breach_observations": 0,
      "breach_rate": 0.0,
      "executed_events": 0,
      "censored_events": 0,
      "post_event_20_complete": 0,
      "terminal_return_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mae_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mfe_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      }
    },
    "old_prior_known_close20": {
      "eligible_observations": 4340114,
      "breach_observations": 426473,
      "breach_rate": 0.09826308709863381,
      "executed_events": 0,
      "censored_events": 0,
      "post_event_20_complete": 0,
      "terminal_return_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mae_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mfe_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      }
    },
    "confirmed_swing_low": {
      "eligible_observations": 4282259,
      "breach_observations": 724729,
      "breach_rate": 0.16923988016605254,
      "executed_events": 0,
      "censored_events": 0,
      "post_event_20_complete": 0,
      "terminal_return_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mae_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mfe_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      }
    }
  },
  "policies": [
    {
      "rule": "old_same_day_close20",
      "initial_capital": 13070000000.0,
      "final_equity": 15571121328.926458,
      "total_return": 0.1913635293746334,
      "cagr": 0.020269655934662012,
      "sharpe": 0.23741892364736256,
      "max_drawdown": 0.054650006938264384,
      "completed_trades": 2264,
      "stop_exits": 0,
      "win_rate": 0.730565371024735,
      "profit_factor": 27.239182787717812,
      "net_pnl": 2461594934.3092275,
      "post_stop_20_complete": 0,
      "post_stop_20_censored": 0,
      "continued_fall_count": 0,
      "continued_fall_rate": null,
      "rebound_count": 0,
      "rebound_rate": null,
      "flat_count": 0,
      "stop_exit_rate_per_entry": 0.0,
      "terminal_return_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mae_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "mfe_20_distribution": {
        "count": 0,
        "p05": null,
        "p25": null,
        "median": null,
        "p75": null,
        "p95": null,
        "mean": null
      },
      "avoided_loss_net": 0.0,
      "missed_rebound_net": 0.0,
      "net_20_session_advantage": 0.0,
      "execution_counters": {
        "entry_signals": 7672,
        "entry_executed": 2601,
        "entry_censored_missing_bar": 151,
        "entry_censored_bad_open": 0,
        "entry_censored_zero_volume": 0,
        "entry_censored_single_price": 300,
        "entry_blocked_cooldown": 0,
        "stop_signals": 0,
        "stop_executed": 0,
        "stop_censored_missing_bar": 0,
        "stop_censored_bad_open": 0,
        "stop_censored_zero_volume": 0,
        "stop_censored_single_price": 0,
        "stop_censored_not_held": 0,
        "executed_zero_volume_entries": 0,
        "executed_zero_volume_exits": 0,
        "executed_single_price_entries": 0,
        "executed_single_price_exits": 0,
        "executed_single_price_down_entries": 0,
        "executed_single_price_down_exits": 0,
        "forced_closes": 2264,
        "end_open_positions": 337
      }
    },
    {
      "rule": "old_prior_known_close20",
      "initial_capital": 13070000000.0,
      "final_equity": 14156261503.970558,
      "total_return": 0.0831110561568904,
      "cagr": 0.009191672846234011,
      "sharpe": -0.5927763139768942,
      "max_drawdown": 0.01662689225749936,
      "completed_trades": 155940,
      "stop_exits": 153956,
      "win_rate": 0.2749903809157368,
      "profit_factor": 1.4806479898678098,
      "net_pnl": 1071092418.0748824,
      "post_stop_20_complete": 151813,
      "post_stop_20_censored": 2143,
      "continued_fall_count": 74318,
      "continued_fall_rate": 0.48953646920882926,
      "rebound_count": 75360,
      "rebound_rate": 0.49640017653297147,
      "flat_count": 2135,
      "stop_exit_rate_per_entry": 0.985532851948584,
      "terminal_return_20_distribution": {
        "count": 151813,
        "p05": -0.1452999027149824,
        "p25": -0.044324944593819304,
        "median": 0.0,
        "p75": 0.04529441368897835,
        "p95": 0.18072341214150045,
        "mean": 0.00715399594062078
      },
      "mae_20_distribution": {
        "count": 151813,
        "p05": -0.22080867513446245,
        "p25": -0.09457364341085273,
        "median": -0.045455944120497804,
        "p75": -0.01639550101656939,
        "p95": 0.005392526947667014,
        "mean": -0.067048386698657
      },
      "mfe_20_distribution": {
        "count": 151813,
        "p05": -0.005380552926962153,
        "p25": 0.017777360494178884,
        "median": 0.04655472852114695,
        "p75": 0.10165404147870727,
        "p95": 0.26769296341599474,
        "mean": 0.07860694752457352
      },
      "avoided_loss_net": 2482344779.7504473,
      "missed_rebound_net": 3031544678.0267954,
      "net_20_session_advantage": -549199898.2763475,
      "execution_counters": {
        "entry_signals": 614995,
        "entry_executed": 156216,
        "entry_censored_missing_bar": 6297,
        "entry_censored_bad_open": 0,
        "entry_censored_zero_volume": 0,
        "entry_censored_single_price": 19072,
        "entry_blocked_cooldown": 404749,
        "stop_signals": 161916,
        "stop_executed": 153956,
        "stop_censored_missing_bar": 1645,
        "stop_censored_bad_open": 0,
        "stop_censored_zero_volume": 0,
        "stop_censored_single_price": 6222,
        "stop_censored_not_held": 0,
        "executed_zero_volume_entries": 0,
        "executed_zero_volume_exits": 0,
        "executed_single_price_entries": 0,
        "executed_single_price_exits": 0,
        "executed_single_price_down_entries": 0,
        "executed_single_price_down_exits": 0,
        "forced_closes": 1984,
        "end_open_positions": 276
      }
    },
    {
      "rule": "confirmed_swing_low",
      "initial_capital": 13070000000.0,
      "final_equity": 14164585692.863813,
      "total_return": 0.08374794895668036,
      "cagr": 0.009259664127439615,
      "sharpe": -0.5835167438515372,
      "max_drawdown": 0.017152674022273384,
      "completed_trades": 96630,
      "stop_exits": 94696,
      "win_rate": 0.2994101210804098,
      "profit_factor": 1.609280962437939,
      "net_pnl": 1078107221.11142,
      "post_stop_20_complete": 93457,
      "post_stop_20_censored": 1239,
      "continued_fall_count": 45580,
      "continued_fall_rate": 0.48771092588035136,
      "rebound_count": 46764,
      "rebound_rate": 0.5003798538365237,
      "flat_count": 1113,
      "stop_exit_rate_per_entry": 0.9772952443857331,
      "terminal_return_20_distribution": {
        "count": 93457,
        "p05": -0.14426050740896262,
        "p25": -0.04532572145400049,
        "median": 0.0004263257770027451,
        "p75": 0.04648400459150581,
        "p95": 0.1800136777277158,
        "mean": 0.0077915227581290885
      },
      "mae_20_distribution": {
        "count": 93457,
        "p05": -0.225490684592971,
        "p25": -0.0972972972972973,
        "median": -0.04704635936995616,
        "p75": -0.0168974411242947,
        "p95": 0.006045985074247265,
        "mean": -0.06850554189139305
      },
      "mfe_20_distribution": {
        "count": 93457,
        "p05": -0.006487839042983643,
        "p25": 0.018120437396913935,
        "median": 0.04737008137021115,
        "p75": 0.10261544518814336,
        "p95": 0.2697536680576117,
        "mean": 0.0792445957716921
      },
      "avoided_loss_net": 1552188896.7172875,
      "missed_rebound_net": 1936735667.1252623,
      "net_20_session_advantage": -384546770.40797496,
      "execution_counters": {
        "entry_signals": 260101,
        "entry_executed": 96896,
        "entry_censored_missing_bar": 3311,
        "entry_censored_bad_open": 0,
        "entry_censored_zero_volume": 0,
        "entry_censored_single_price": 9988,
        "entry_blocked_cooldown": 122926,
        "stop_signals": 101516,
        "stop_executed": 94696,
        "stop_censored_missing_bar": 1410,
        "stop_censored_bad_open": 0,
        "stop_censored_zero_volume": 0,
        "stop_censored_single_price": 5360,
        "stop_censored_not_held": 0,
        "executed_zero_volume_entries": 0,
        "executed_zero_volume_exits": 0,
        "executed_single_price_entries": 0,
        "executed_single_price_exits": 0,
        "executed_single_price_down_entries": 0,
        "executed_single_price_down_exits": 0,
        "forced_closes": 1934,
        "end_open_positions": 266
      }
    }
  ],
  "artifacts": {
    "events": null,
    "trades": "stop-backtest-conservative-trades.csv.gz",
    "coverage": "stop-backtest-conservative-coverage.csv",
    "equity": "stop-backtest-conservative-equity.csv.gz",
    "report": "stop-backtest-conservative-report.md",
    "availability": "Large capture/event/trade/equity files are task-local; reproduce with the runner and verified capture. Summary only is committed."
  }
}
