-- 回测运行头(plan.md §47 原则 6:可复现四元组) -- 由 src/hdiv/data/schema.py 生成,请勿手工修改 CREATE TABLE IF NOT EXISTS `hd_backtest_run` ( `run_id` VARCHAR(32) NOT NULL, `strategy_id` VARCHAR(32) NOT NULL, `strategy_version` VARCHAR(16) NOT NULL, `mode` VARCHAR(16) NOT NULL DEFAULT 'single' COMMENT 'single/in_sample/out_of_sample/walkforward_window', `wf_id` VARCHAR(32) NULL, `window_index` INT NULL, `start_date` DATE NOT NULL, `end_date` DATE NOT NULL, `initial_capital` DECIMAL(24,4) NOT NULL, `final_capital` DECIMAL(24,4) NULL, `total_dividend_net` DECIMAL(24,4) NOT NULL DEFAULT 0 COMMENT '累计现金分红(税后)', `total_dividend_tax` DECIMAL(24,4) NOT NULL DEFAULT 0 COMMENT '累计代扣红利税', `total_fees` DECIMAL(24,4) NOT NULL DEFAULT 0 COMMENT '累计交易费用', `cash_final` DECIMAL(24,4) NULL COMMENT '期末现金(用于资金对账)', `strategy_config_json` MEDIUMTEXT NOT NULL, `config_hash` VARCHAR(64) NOT NULL, `backtest_config_json` TEXT NULL, `cost_json` TEXT NULL, `data_version` VARCHAR(64) NULL, `code_version` VARCHAR(32) NULL, `seed` INT NULL, `status` VARCHAR(16) NOT NULL DEFAULT 'OK' COMMENT 'OK/FAIL/PARTIAL', `unimplemented_json` TEXT NULL COMMENT '未建模部分显式声明(如涨跌停近似)', `display_name` VARCHAR(128) NULL COMMENT '用户命名', `notes` VARCHAR(500) NULL COMMENT '用户备注', `universe_run_id` VARCHAR(32) NULL COMMENT '关联的股票池筛选记录(--universe-run 指定时写入)', `archived_at` DATETIME NULL COMMENT '归档时间;NULL=未归档', `deleted_at` DATETIME NULL COMMENT '软删除时间;NULL=未删除', `created_at` DATETIME NOT NULL, PRIMARY KEY (`run_id`), KEY `ix_hd_bt_strategy` (`strategy_id`,`strategy_version`), KEY `ix_hd_bt_wf` (`wf_id`,`window_index`), KEY `ix_hd_bt_period` (`start_date`,`end_date`), KEY `ix_hd_bt_universe` (`universe_run_id`), KEY `ix_hd_bt_state` (`deleted_at`,`archived_at`,`created_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='回测运行头';