# 实验设计.md 创建人员:MB-X 文件职责:由 MB-X 初始化的项目体系文档。 ## 实验设计:EXP-WUJI-BREADTH-3000-2023-2026 - 所属事项名称:2023-2026 全 A 日级 3000 家上涨 / 下跌天数统计 - 所属事项 ID:EXP-WUJI-BREADTH-3000-2023-2026 - 执行人:experiment.experimenter / laoan - 创建时间:2026-06-07T16:00:32+08:00 - 当前状态:完成 - 当前结论:审核通过。按 `up_count >= 3000`、`down_count >= 3000` 和其他三类统计,实际覆盖 2023-01-04 至 2026-04-24,共 799 个交易日;3000 家上涨 284 天,3000 家下跌 321 天,其他 194 天,双阈值冲突 0 天。 - 来源聊天记录: - 用户原文 1:你现在拿K先做个小实验,我想知道从2023年到2026年数据源里有的数据里,多少天是3000家上涨,多少天是3000家下跌,多少天是其他 - 用户原文 2:你用 exp 来设计实验,按流程了来走完设计流程,你直接开始执行流程 ### 目标和假设 - 要验证的问题:在当前全局数据源已有的 2023-2026 日级全 A 市场广度记录中,交易日可按 3000 家上涨、3000 家下跌、其他三类归纳,各类天数可被稳定统计。 - 假设:`ts_market_breadth_daily_cache` 的 `ALL_A_SHARE/ALL` 记录已按交易日汇总全 A 上涨数、平盘数、下跌数,可直接回答本轮日级统计问题。 - 不验证内容:不验证 3000 家上涨/下跌对收益、择时、策略或案例成功率的解释能力;不验证日内是否曾达到 3000 家上涨。 ### 数据源和样本范围 - 数据源:`MYSQL_TIANXIA_LOCAL`,数据库 `tianxia`,表 `ts_market_breadth_daily_cache`。 - 字段口径:`trade_date` 为交易日;`up_count` 为上涨数;`down_count` 为下跌数;`flat_count` 为平盘数;`stock_count` 为股票数。 - 样本过滤:`scope_type='ALL_A_SHARE'`、`scope_value='ALL'`、`trade_date >= '2023-01-01'`、`trade_date <= '2026-12-31'`。 - 样本实际覆盖:执行前已只读确认全 A 日级记录存在 799 行,日期范围为 2023-01-04 到 2026-04-24;最终以执行结果包中的 manifest 为准。 - 实验组 / 对照组:本轮是描述性统计,不设策略实验组或收益对照组;自检项使用按日分类明细与聚合计数互相校验。 ### 分类规则 - `3000家上涨`:`up_count >= 3000`。 - `3000家下跌`:`down_count >= 3000`。 - `其他`:既不满足 `up_count >= 3000`,也不满足 `down_count >= 3000`。 - 冲突检查:如果同一交易日同时满足 `up_count >= 3000` 与 `down_count >= 3000`,在结果包中单独暴露 `both_3000_days`;若该值大于 0,则三分类统计不得直接作为无冲突结论使用。 ### 步骤计划 - STEP-EXP-WUJI-BREADTH-3000-001:确认治理和数据源口径,读取实验规范、全局存储体系和全局数据格式。 - STEP-EXP-WUJI-BREADTH-3000-002:只读查询 `ts_market_breadth_daily_cache` 的 schema、全 A 记录范围和样本行数。 - STEP-EXP-WUJI-BREADTH-3000-003:执行分类统计,生成按日分类明细、聚合统计、manifest 和 summary。 - STEP-EXP-WUJI-BREADTH-3000-004:写入执行日志,说明输入、输出、关键计数、自检、偏离设计和结论边界。 ### 防偏差和安全性 - 未来函数:本轮是后验描述性统计,不做预测、收益率、回放或自动动作,不要求按实盘决策时点防未来函数;结论必须降读为“当前数据源中已有交易日的历史统计”。 - 样本污染:只使用 `scope_type='ALL_A_SHARE'`、`scope_value='ALL'`,不混入行业记录、分时峰值表或文件镜像。 - 源数据切换:本轮记录 `price_source_table` 和 `run_id`,避免把缓存来源误读为新扫描 K 线。 - 结论过读:不得把天数统计解释为策略规则成立、市场状态预测或交易建议。 ### 输出产物 - 结果包目录:`exp-data/result/RUN-EXP-WUJI-BREADTH-3000-20260607-001/` - 计划产物: - `daily_classification.csv`:每个交易日的 `stock_count/up_count/flat_count/down_count` 和分类。 - `summary.json`:聚合统计、日期范围、源表、查询口径和自检结果。 - `summary.md`:人类可读摘要。 - `manifest.json`:结果包文件清单、行数和哈希。 ### PASS / FAIL / HELD 判定 - PASS:能连接只读数据源;全 A 日级记录非空;日期范围、行数、三分类计数和按日明细行数互相一致;`both_3000_days = 0`;结果包可读。 - FAIL:SQL 口径与设计不一致、分类计数与明细不一致、结果包缺关键文件、或出现无法解释的冲突分类。 - HELD:数据库凭据不可用、表缺失、字段缺失、全 A 记录为空、或数据源覆盖无法确认。 ### 设计审核记录 - 设计审核状态:设计+执行合并审核通过;审计 ID 为 AUDIT-EXP-WUJI-BREADTH-3000-20260607-001。 - 偏离说明:用户在可见会话中要求“按流程走完设计流程,直接开始执行流程”,本轮先按轻量实验记录设计并执行;该流程偏离已由 `experiment.reviewer` 判定为一般问题且可接受。 ### 执行结果回填:RUN-EXP-WUJI-BREADTH-3000-20260607-001 - 执行时间:2026-06-07T16:02:45+08:00 - 实际样本:`scope_type='ALL_A_SHARE'`、`scope_value='ALL'`,2023-01-04 至 2026-04-24,共 799 个交易日。 - 源表和缓存:`price_source_table=a_share_daily_price`;`breadth_cache_run_id=ts_market_breadth_cache_20260529`。 - 分类结果: - `3000家上涨`:284 天。 - `3000家下跌`:321 天。 - `其他`:194 天。 - 同时满足上涨和下跌 3000 的冲突天数:0 天。 - 结果包:`exp-data/result/RUN-EXP-WUJI-BREADTH-3000-20260607-001/` - 产物清单: - `daily_classification.tsv` - `daily_classification.csv` - `summary.json` - `summary.md` - `manifest.json` - PASS / FAIL / HELD 自判:PASS,原因是全 A 日级记录非空、分类计数之和等于总交易日数、阈值原始计数与分类计数一致、冲突天数为 0、结果包已落盘。 - 审核结论:`experiment.reviewer` 已通过设计+执行合并审核;审计 ID 为 AUDIT-EXP-WUJI-BREADTH-3000-20260607-001;该实验状态已回写为完成。 ### 审核完成回填:2026-06-07T16:14:41+08:00 - 审计 ID:AUDIT-EXP-WUJI-BREADTH-3000-20260607-001 - 审计报告入口:`exp-doc/实验审计报告.md` - MB-X 审核结果消息:msg_20260607161322235_d83572f2 - 最终状态:完成 - 结论边界:本实验仅作为后验描述性统计,不得外推为策略、预测、收益、实时筛选、日内峰值、行业拆分或涨跌原因解释。 ## 实验设计:EXP-WUJI-BREADTH-4000-2023-2026 - 所属事项名称:2023-2026 全 A 日级 4000 家上涨 / 下跌天数统计 - 所属事项 ID:EXP-WUJI-BREADTH-4000-2023-2026 - 执行人:experiment.experimenter / laoan - 创建时间:2026-06-07T16:12:45+08:00 - 当前状态:完成 - 当前结论:执行审核通过。按 `up_count >= 4000`、`down_count >= 4000` 和其他三类统计,实际覆盖 2023-01-04 至 2026-04-24,共 799 个交易日;4000 家上涨 116 天,4000 家下跌 137 天,其他 546 天,双阈值冲突 0 天。 - 来源聊天记录: - 用户原文:你重新再跑一次实验,严格按exp来,这次实验变成4000家 涨 和跌和其他 ### 目标和假设 - 要验证的问题:在当前全局数据源已有的 2023-2026 日级全 A 市场广度记录中,交易日可按 4000 家上涨、4000 家下跌、其他三类归纳,各类天数可被稳定统计。 - 假设:`ts_market_breadth_daily_cache` 的 `ALL_A_SHARE/ALL` 记录已按交易日汇总全 A 上涨数、平盘数、下跌数,可直接回答本轮日级统计问题。 - 不验证内容:不验证 4000 家上涨/下跌对收益、择时、策略或案例成功率的解释能力;不验证日内是否曾达到 4000 家上涨或下跌。 ### 数据源和样本范围 - 数据源:`MYSQL_TIANXIA_LOCAL`,数据库 `tianxia`,表 `ts_market_breadth_daily_cache`。 - 字段口径:`trade_date` 为交易日;`up_count` 为上涨数;`down_count` 为下跌数;`flat_count` 为平盘数;`stock_count` 为股票数。 - 样本过滤:`scope_type='ALL_A_SHARE'`、`scope_value='ALL'`、`trade_date >= '2023-01-01'`、`trade_date <= '2026-12-31'`。 - 预期覆盖:前序 3000 阈值实验已只读确认同一全 A 日级记录存在 799 行,日期范围为 2023-01-04 到 2026-04-24;本轮执行时仍需重新冻结实际覆盖并写入结果包。 - 实验组 / 对照组:本轮是描述性统计,不设策略实验组或收益对照组;自检项使用按日分类明细与聚合计数互相校验。 ### 分类规则 - `4000家上涨`:`up_count >= 4000`。 - `4000家下跌`:`down_count >= 4000`。 - `其他`:既不满足 `up_count >= 4000`,也不满足 `down_count >= 4000`。 - 冲突检查:如果同一交易日同时满足 `up_count >= 4000` 与 `down_count >= 4000`,在结果包中单独暴露 `both_4000_days`;若该值大于 0,则三分类统计不得直接作为无冲突结论使用。 ### 步骤计划 - STEP-EXP-WUJI-BREADTH-4000-001:确认治理和数据源口径,读取实验规范、全局存储体系和全局数据格式。 - STEP-EXP-WUJI-BREADTH-4000-002:提交本设计给 `experiment.reviewer` 做设计审核;未通过前停止。 - STEP-EXP-WUJI-BREADTH-4000-003:设计审核通过后,只读查询 `ts_market_breadth_daily_cache` 的 schema、全 A 记录范围和样本行数。 - STEP-EXP-WUJI-BREADTH-4000-004:按 4000 阈值执行分类统计,生成按日分类明细、聚合统计、manifest 和 summary。 - STEP-EXP-WUJI-BREADTH-4000-005:写入执行日志,说明输入、输出、关键计数、自检和结论边界。 - STEP-EXP-WUJI-BREADTH-4000-006:提交执行审核;执行审核通过前不标记完成。 ### 防偏差和安全性 - 未来函数:本轮是后验描述性统计,不做预测、收益率、回放或自动动作,不要求按实盘决策时点防未来函数;结论必须降读为“当前数据源中已有交易日的历史统计”。 - 样本污染:只使用 `scope_type='ALL_A_SHARE'`、`scope_value='ALL'`,不混入行业记录、分时峰值表或文件镜像。 - 源数据切换:本轮执行时必须记录 `price_source_table` 和 `run_id`,避免把缓存来源误读为新扫描 K 线。 - 结论过读:不得把天数统计解释为策略规则成立、市场状态预测或交易建议。 ### 输出产物 - 结果包目录:`exp-data/result/RUN-EXP-WUJI-BREADTH-4000-20260607-001/` - 计划产物: - `daily_classification.csv`:每个交易日的 `stock_count/up_count/flat_count/down_count` 和分类。 - `summary.json`:聚合统计、日期范围、源表、查询口径和自检结果。 - `summary.md`:人类可读摘要。 - `manifest.json`:结果包文件清单、行数和哈希。 ### PASS / FAIL / HELD 判定 - PASS:设计审核通过;能连接只读数据源;全 A 日级记录非空;日期范围、行数、三分类计数和按日明细行数互相一致;`both_4000_days = 0`;结果包可读;执行审核通过。 - FAIL:设计审核未通过且无法修复、SQL 口径与设计不一致、分类计数与明细不一致、结果包缺关键文件、或出现无法解释的冲突分类。 - HELD:数据库凭据不可用、表缺失、字段缺失、全 A 记录为空、设计审核未回复、或数据源覆盖无法确认。 ### 设计审核记录 - 设计审核状态:通过;审计 ID 为 AUDIT-EXP-WUJI-BREADTH-4000-20260607-DESIGN-001。 - 严格流程要求:本轮不得在设计审核通过前执行统计;如果审核反馈不通过或 HELD,应先修订总纲和设计后重新提交。 ### 设计送审记录:2026-06-07T16:16:21+08:00 - 交接角色:experiment.experimenter -> experiment.reviewer - 使用技能:skill_alias=route;skill_alias=exp - MB-X 消息 ID:msg_20260607161621268_dd8325cc - 发送策略:--dispatch auto - 送审范围:仅设计审核;审核通过前不执行统计、不生成结果包。 ### 设计审核通过回写:2026-06-07T16:22:31+08:00 - 审计 ID:AUDIT-EXP-WUJI-BREADTH-4000-20260607-DESIGN-001 - 审计报告入口:`exp-doc/实验审计报告.md` - MB-X 审核结果消息:msg_20260607162231227_85406978 - 审核结论:设计审核通过。 - 允许下一步:执行 `RUN-EXP-WUJI-BREADTH-4000-20260607-001`。 - 限制:执行审核通过前不得标记完成。 ### 执行结果回填:RUN-EXP-WUJI-BREADTH-4000-20260607-001 - 执行时间:2026-06-07T16:25:36+08:00 - 实际样本:`scope_type='ALL_A_SHARE'`、`scope_value='ALL'`,2023-01-04 至 2026-04-24,共 799 个交易日。 - 源表和缓存:`price_source_table=a_share_daily_price`;`breadth_cache_run_id=ts_market_breadth_cache_20260529`。 - 分类结果: - `4000家上涨`:116 天。 - `4000家下跌`:137 天。 - `其他`:546 天。 - 同时满足上涨和下跌 4000 的冲突天数:0 天。 - 结果包:`exp-data/result/RUN-EXP-WUJI-BREADTH-4000-20260607-001/` - 产物清单: - `query.sql` - `daily_classification.tsv` - `daily_classification.csv` - `summary.json` - `summary.md` - `manifest.json` - PASS / FAIL / HELD 自判:PASS;执行侧自检通过,且 `experiment.reviewer` 已通过执行审核。 - 审核结论:执行审核通过;执行审计 ID 为 AUDIT-EXP-WUJI-BREADTH-4000-20260607-EXEC-001;该实验状态已回写为完成。 ### 审核完成回填:2026-06-07T16:35:13+08:00 - 设计审计 ID:AUDIT-EXP-WUJI-BREADTH-4000-20260607-DESIGN-001 - 执行审计 ID:AUDIT-EXP-WUJI-BREADTH-4000-20260607-EXEC-001 - 审计报告入口:`exp-doc/实验审计报告.md` - MB-X 审核结果消息:msg_20260607163513431_6a45f88f - 最终状态:完成 - 结论边界:本实验仅作为后验描述性统计,不得外推为策略、预测、收益、实时筛选、日内峰值、行业拆分或涨跌原因解释。