# project B 实验设计 创建人员:Codex 文件职责:记录 project B 内所有实验设计、执行步骤、产物、判定标准和设计审核。 管理规范/模板:../../common/exp-doc/实验设计模版.md 引用文件:实验总纲.md;实验执行日志.md;实验审计报告.md;实验存储体系.md。 ## 0. 当前设计总览 - 当前最新设计:DESIGN-20260601-KLINE-VOLUME-PULLBACK-002,已完成 - 当前可执行设计:无;当前 K 线实验设计已执行完成 - 当前阻断设计:无 - 当前下一步:如需正式业务实验,在本文件末尾追加新设计块 ## 0A. 文档定位和证据索引职责 - 本文件是 project B 的具体实验设计与证据索引主入口。 - 它负责回答:每个实验想解决什么问题、怎么验证、当前状态是什么、关键证据和结果包在哪里。 - 实验总纲回答“为什么做和最后怎么读”;实验设计回答“具体怎么做、证据在哪里、结果包是什么”。 - 后续新增实验、修订实验边界、回填执行结果,都应追加到本文件末尾,不得覆盖历史设计。 ## 1. 固定设计口径 - 维护方式:append-only;新设计、新修订、执行结果回填追加到文件末尾,最新内容在最后。 - 旧设计处理:不得删除;若失效,追加“失效/降读/被替代”说明。 - 设计与计划合并:本文件同时记录“要怎么验证”和“按什么步骤执行”。 - 设计审核要求:设计审核通过后才能执行;未通过则追加修订块,不覆盖旧设计。 - 路径规则:项目内文件默认使用相对路径。 ## 2. 实验设计追加区 ## 2026-06-01 DESIGN-20260601-TIMESERIES-SMOKE-001:轻量时序图 smoke 实验环境闭环验证 - 所属实验事项:EXP-20260601-TIMESERIES-SMOKE-001 - 创建人员:Codex - 创建时间:2026-06-01 16:07:20 - 当前状态:完成 - 当前结论:设计已执行并通过审计。 - 来源聊天记录:见 `实验总纲.md` 中对应实验块。 ### 当前约定 - 本轮要验证:project B 的实验环境是否能完整支撑一个轻量时序图实验。 - 本轮不验证:真实业务数据、业务规则、预测能力。 - 与来源聊天要求的一致性:用户要求创建实验体系并跑一个轻量实验;本设计直接覆盖这两个目标。 - 前置依赖:`../../common/exp-doc/实验环境创建指南.md` ### 实验方法和样本 - 核心假设:如果总纲、设计、执行日志、结果包、图片、manifest、审计报告和问题记录均能串起来,则实验环境可用。 - 数据源:合成时序数据,由 `../exp-data/tmp/run_timeseries_smoke_experiment.py` 生成。 - 样本范围:1 个合成对象,20 个工作日。 - 实验组:合成时序序列。 - 对照组:不需要;本轮目标是环境闭环,不验证规则效果。 - 边界样本:前 4 行移动均线为空。 - 防偏差要求:本实验不形成业务结论;使用合成数据并在 summary/readout 中标明边界。 - 是否需要防未来函数:不适用。 - 判断理由:实验目标是验证环境闭环,不是预测、收益率或实时决策。 ### 执行顺序 1. STEP-001:创建实验环境;输入为实验环境创建指南;输出为 exp-doc / exp-data。 2. STEP-002:运行轻量时序图 smoke;输入为 runner script;输出为 raw/result/img/summary/manifest。 3. STEP-003:审计闭环;输入为总纲/设计/日志/结果包;输出为审计报告。 ### 字段、指标和状态 | 名称 | 类型 | 定义 | 来源 | 计算/判定口径 | 输出位置 | 备注 | |---|---|---|---|---|---|---| | row_count | 指标 | 输入行数 | raw csv | 输入表行数 | summary.json | 期望 20 | | signal_count | 指标 | 示例信号数量 | result csv | flag 求和 | summary.json | 只作 smoke 指标 | | ma5_breakout_flag | 字段 | 示例信号 | runner | 结束值上穿 MA5 | timeseries_signal_result.csv | 非业务建议 | | chart | 产物 | SVG 图 | runner | 按 OHLC 绘制 | exp-data/img | 人读复核 | ### 输出产物 - 结果包目录:`../exp-data/result/RUN-20260601-TIMESERIES-SMOKE-001` - 核心输出表:`../exp-data/result/RUN-20260601-TIMESERIES-SMOKE-001/timeseries_signal_result.csv` - 核心图表:`../exp-data/img/EXP-20260601-TIMESERIES-SMOKE-001/RUN-20260601-TIMESERIES-SMOKE-001/OBJECT001_2026-05_timeseries_ma5_breakout.svg` - summary/readout:`summary.json`;`readout.md` - manifest/输入快照:`input_manifest.csv`;`output_manifest.csv` - 执行日志:`实验执行日志.md` 中 `RUN-20260601-TIMESERIES-SMOKE-001` ### 判定标准 - PASS:核心目录和项目级文档存在;结果包存在;核心表、图、summary、manifest 可读;审计报告记录通过。 - FAIL:核心文档缺失、结果包缺关键产物、manifest 无法追踪产物、审计报告缺失。 - HELD:项目路径或数据路径无法确认。 - 降读规则:即使 PASS,也只能读成实验环境可用,不读成业务规则有效。 - 停止或转向条件:如果要验证真实业务规则,必须新建正式实验并使用真实或授权数据。 ### 风险和不做事项 - 关键风险:合成数据不能支持业务结论。 - 阻断项:无。 - 可接受缺口:没有真实数据和对照组,因为不属于本轮目标。 - 本轮不做:不使用真实数据,不做收益统计,不进入业务结论。 ### 设计审核 - 设计审核状态:通过 - 审核人:Codex - 审核时间:2026-06-01 16:07:20 - 审核结论:设计能回答本轮目标,可以执行。 - 未通过问题:无。 - 复审记录:无。 ### 执行结果回填 - run_id:RUN-20260601-TIMESERIES-SMOKE-001 - 结果包:`../exp-data/result/RUN-20260601-TIMESERIES-SMOKE-001` - 关键结果:raw 20 行;result 20 行;chart 1 张;manifest 已生成。 - 当前读法:环境 smoke PASS。 - 是否纳入实验总纲结论:是。 ## 2026-06-01 DESIGN-20260601-KLINE-MA5-BREAKOUT-001:K 线 MA5 突破实验闭环验证 - 所属实验事项:EXP-20260601-KLINE-MA5-BREAKOUT-001 - 创建人员:Codex - 创建时间:2026-06-01 17:11:44 - 当前状态:完成 - 当前结论:设计已执行并通过审计。 - 来源聊天记录:见 `实验总纲.md` 中对应实验块。 ### 当前约定 - 本轮要验证:project B 能否完整记录一个 K 线 MA5 突破类实验。 - 本轮不验证:真实行情、真实交易规则、收益率、预测能力。 - 与来源聊天要求的一致性:用户要求两个 K 线相关实验;本设计覆盖第一个实验。 - 前置依赖:实验体系已创建;设计审核通过后执行。 ### 实验方法和样本 - 核心假设:如果 K 线实验的 raw/result/chart/summary/manifest/readout 能与总纲、设计、日志和审计串起来,则实验体系支持 K 线类实验闭环。 - 数据源:合成 K 线数据,由 `../exp-data/tmp/run_kline_dual_experiments.py` 生成。 - 样本范围:1 个合成对象,25 个交易日。 - 实验组:合成 K 线序列。 - 对照组:不需要;本轮目标是环境和记录流程,不是规则效果。 - 边界样本:MA5 不足 5 日时为空;上穿信号只在前一日未站上且当日站上时触发。 - 防偏差要求:summary/readout 明确写入 synthetic_kline 和结论边界。 - 是否需要防未来函数:不适用。 - 判断理由:本轮实验目标是记录闭环,不是实时决策、收益或预测。 ### 执行顺序 1. STEP-001:生成合成 K 线 raw;输入为脚本内固定序列;输出为 `synthetic_kline_input.csv`。 2. STEP-002:计算 MA5 上穿示例信号;输入为 raw;输出为 `kline_ma5_breakout_result.csv`。 3. STEP-003:生成 SVG 图和 summary/readout/manifest;输入为 result;输出为结果包和图。 4. STEP-004:写执行日志、执行审计和问题记录。 ### 字段、指标和状态 | 名称 | 类型 | 定义 | 来源 | 计算/判定口径 | 输出位置 | 备注 | |---|---|---|---|---|---|---| | row_count | 指标 | 输入/结果行数 | result csv | 结果表行数 | summary.json | 期望 25 | | signal_count | 指标 | MA5 突破信号数 | result csv | signal_flag 求和 | summary.json | 只作 smoke 指标 | | signal_flag | 字段 | 示例信号 | runner | close 上穿 MA5 | kline_ma5_breakout_result.csv | 非业务建议 | | chart | 产物 | K 线图 | runner | SVG 绘制 | exp-data/img | 人读复核 | ### 输出产物 - 结果包目录:`../exp-data/result/RUN-20260601-KLINE-MA5-BREAKOUT-001` - 中间特征表:`../exp-data/result/RUN-20260601-KLINE-MA5-BREAKOUT-001/intermediate/kline_feature_panel.csv` - 核心输出表:`../exp-data/result/RUN-20260601-KLINE-MA5-BREAKOUT-001/kline_ma5_breakout_result.csv` - 核心图表:`../exp-data/img/EXP-20260601-KLINE-MA5-BREAKOUT-001/RUN-20260601-KLINE-MA5-BREAKOUT-001/KOBJ001_ma5_breakout.svg` - summary/readout:`summary.json`;`readout.md` - manifest/输入快照:`input_manifest.csv`;`output_manifest.csv` - 执行日志:`实验执行日志.md` 中 `RUN-20260601-KLINE-MA5-BREAKOUT-001` ### 判定标准 - PASS:raw/result/chart/summary/readout/manifest 全部存在且可读;审计报告记录通过。 - FAIL:缺核心产物、证据链断裂或 summary 状态失败。 - HELD:路径或数据无法确认。 - 降读规则:即使 PASS,也只读成实验体系闭环可用,不读成信号有效。 - 停止或转向条件:如果要验证真实 K 线规则,必须新建正式业务实验。 ### 设计审核 - 设计审核状态:通过 - 审核人:Codex - 审核时间:2026-06-01 17:11:44 - 审核结论:设计能回答本轮目标,可以执行。 - 未通过问题:无。 - 复审记录:无。 ### 执行结果回填 - run_id:RUN-20260601-KLINE-MA5-BREAKOUT-001 - 结果包:`../exp-data/result/RUN-20260601-KLINE-MA5-BREAKOUT-001` - 关键结果:raw 25 行;intermediate feature 25 行;result 25 行;chart 1 张;signal_count 1;manifest 已生成。 - 当前读法:K 线 MA5 突破实验闭环 PASS。 - 是否纳入实验总纲结论:是。 ## 2026-06-01 DESIGN-20260601-KLINE-VOLUME-PULLBACK-002:K 线缩量回踩实验闭环验证 - 所属实验事项:EXP-20260601-KLINE-VOLUME-PULLBACK-002 - 创建人员:Codex - 创建时间:2026-06-01 17:11:44 - 当前状态:完成 - 当前结论:设计已执行并通过审计。 - 来源聊天记录:见 `实验总纲.md` 中对应实验块。 ### 当前约定 - 本轮要验证:project B 能否连续记录第二个 K 线实验,并保持证据链可追踪。 - 本轮不验证:真实行情、真实交易规则、收益率、预测能力。 - 与来源聊天要求的一致性:用户要求两个 K 线相关实验;本设计覆盖第二个实验。 - 前置依赖:第一个 K 线实验已跑通;设计审核通过后执行。 ### 实验方法和样本 - 核心假设:如果第二个 K 线实验也能完整回写到同一套滚动账本,则实验体系能支撑连续实验记录。 - 数据源:合成 K 线数据,由 `../exp-data/tmp/run_kline_dual_experiments.py` 生成。 - 样本范围:1 个合成对象,25 个交易日。 - 实验组:合成 K 线序列。 - 对照组:不需要;本轮目标是记录流程,不是规则效果。 - 边界样本:MA10 不足 10 日时为空;缩量回踩信号只用于验证字段和图表链路。 - 防偏差要求:summary/readout 明确写入 synthetic_kline 和结论边界。 - 是否需要防未来函数:不适用。 - 判断理由:本轮实验目标是记录闭环,不是实时决策、收益或预测。 ### 执行顺序 1. STEP-001:生成合成 K 线 raw;输入为脚本内固定序列;输出为 `synthetic_kline_input.csv`。 2. STEP-002:计算缩量回踩 MA10 示例信号;输入为 raw;输出为 `kline_volume_pullback_result.csv`。 3. STEP-003:生成 SVG 图和 summary/readout/manifest;输入为 result;输出为结果包和图。 4. STEP-004:写执行日志、执行审计和问题记录。 ### 字段、指标和状态 | 名称 | 类型 | 定义 | 来源 | 计算/判定口径 | 输出位置 | 备注 | |---|---|---|---|---|---|---| | row_count | 指标 | 输入/结果行数 | result csv | 结果表行数 | summary.json | 期望 25 | | signal_count | 指标 | 缩量回踩信号数 | result csv | signal_flag 求和 | summary.json | 只作 smoke 指标 | | signal_flag | 字段 | 示例信号 | runner | low 接近 MA10 且 volume 小于前一日 | kline_volume_pullback_result.csv | 非业务建议 | | chart | 产物 | K 线图 | runner | SVG 绘制 | exp-data/img | 人读复核 | ### 输出产物 - 结果包目录:`../exp-data/result/RUN-20260601-KLINE-VOLUME-PULLBACK-002` - 中间特征表:`../exp-data/result/RUN-20260601-KLINE-VOLUME-PULLBACK-002/intermediate/kline_feature_panel.csv` - 核心输出表:`../exp-data/result/RUN-20260601-KLINE-VOLUME-PULLBACK-002/kline_volume_pullback_result.csv` - 核心图表:`../exp-data/img/EXP-20260601-KLINE-VOLUME-PULLBACK-002/RUN-20260601-KLINE-VOLUME-PULLBACK-002/KOBJ002_volume_pullback.svg` - summary/readout:`summary.json`;`readout.md` - manifest/输入快照:`input_manifest.csv`;`output_manifest.csv` - 执行日志:`实验执行日志.md` 中 `RUN-20260601-KLINE-VOLUME-PULLBACK-002` ### 判定标准 - PASS:raw/result/chart/summary/readout/manifest 全部存在且可读;审计报告记录通过。 - FAIL:缺核心产物、证据链断裂或 summary 状态失败。 - HELD:路径或数据无法确认。 - 降读规则:即使 PASS,也只读成实验体系闭环可用,不读成信号有效。 - 停止或转向条件:如果要验证真实 K 线规则,必须新建正式业务实验。 ### 设计审核 - 设计审核状态:通过 - 审核人:Codex - 审核时间:2026-06-01 17:11:44 - 审核结论:设计能回答本轮目标,可以执行。 - 未通过问题:无。 - 复审记录:无。 ### 执行结果回填 - run_id:RUN-20260601-KLINE-VOLUME-PULLBACK-002 - 结果包:`../exp-data/result/RUN-20260601-KLINE-VOLUME-PULLBACK-002` - 关键结果:raw 25 行;intermediate feature 25 行;result 25 行;chart 1 张;signal_count 6;manifest 已生成。 - 当前读法:K 线缩量回踩实验闭环 PASS。 - 是否纳入实验总纲结论:是。