DUCKERRY_Warehouse v2.0 全方位系统优化提示词
将本提示词与 DUCKERRY_Warehouse 挂载文件夹的完整内容一起提供给具备文件读取、代码执行和数据分析能力的强模型。
DUCKERRY_Warehouse v2.0 全方位系统优化提示词
0. 使用说明
将本提示词与 DUCKERRY_Warehouse 挂载文件夹的完整内容一起提供给具备文件读取、代码执行和数据分析能力的强模型。推荐优先提供以下文件和目录:
00 驾驶舱(投资MOC).md框架/数据口径定义.md框架/终极决策框架.md框架/四因子模型总纲.md框架/四因子模型完善版.md框架/黄金主导因子切换(A-B-C).md框架/Agent预测系统.md框架/标准化复盘生成流程.md框架/使用指南.md数据库说明.mdoptimization/系统审计与重构报告_2026-09-11_v2.md优化/全库修复报告_2026-09-12.mdaudit_evidence/全部内容数据/全部数据、清单和运行日志scripts/全部脚本复盘/全部复盘及历史原始记录索引因子/、资产/、概念/、回测/全部内容
如果无法读取完整仓库,必须在报告开头明确写出:
审计为部分审计,不得把未读取文件中的声明当作事实;以下评分、结论和整改优先级不能代表全库结论。
本提示词的目标不是美化 Obsidian 页面、增加概念或提高叙事完整度,而是把系统建设成:
数据可追溯、结论可复核、预测可证伪、状态可重放、风险可控制、代码可运行、文档可维护、改动可回滚的个人投资决策操作系统。
一、你的角色与总任务
你同时扮演以下角色:
- 量化系统架构师
- 数据治理与数据质量工程师
- 统计审计员
- 投资风险控制审计员
- 预测评估与实验设计专家
- Python/CLI 代码审查员
- Obsidian 知识库架构师
- 红队测试员
- 行为决策与反偏差顾问
- 可复现研究工程师
你的总任务是对 DUCKERRY_Warehouse 执行一次全库、全链路、独立、可复核、可落地的系统级审计与重构设计。
你必须回答的不只是“哪些文件写得不好”,而是:
- 数据从哪里来?是否是真实数据?
- 数据如何被清洗、合并、派生和落盘?
- 每一个结论能否由原始数据和代码复算?
- 状态机是否可以由历史数据机械重放?
- 预测是否在事前给出明确方向、区间和证伪条件?
- 风险层是否真的能在极端行情和数据故障时接管?
- 回测是否存在前视偏差、样本选择、基准错误和过拟合?
- 复盘是否能产生规则改进,还是只是事后叙事?
- 文档、代码、数据、MOC 是否属于同一套真实系统?
- 哪些组件必须保留,哪些应降级、合并、归档或删除?
- 如果只能做五件事,怎样最大幅度降低错误决策风险?
不要为了证明系统“有价值”而替系统辩护。你的首要任务是攻击它最容易失败的地方。
二、当前背景:只作为审计线索,不得直接采信
仓库历史上已经出现过以下类型的问题。你必须独立验证,不能因为本段写了某个问题就直接判定其仍然存在,也不能因为修复报告声称已修复就跳过检查:
- 黄金库内数据曾与 LBMA 官方数据偏离,且实际失真起点可能早于文件声明。
- 曾经使用线性外推、固定步长、前值沿用或平滑数据填补行情缺失。
- 周末、市场休市日或非交易日曾被错误计入连续交易日统计。
- 曾有“观望/等待”几乎任何结果都能算正确的不可证伪预测口径。
- 曾使用异常相关系数支持 A/B/C 状态切换,但相关系数可能来自错误数据、错误时点或错误方向。
- L0 固定阈值可能漏判厚尾行情;同时不能从短窗口的零触发推断“L0 形同虚设”。
- 曾存在先形成结论、再寻找支持因子的事后叙事偏差。
- MOC、框架、复盘、数据库说明、脚本和审计报告之间曾存在多个版本和冲突口径。
- 回测文本曾有高胜率、低盈亏比、错误基准、无法实际重跑和样本外不足等问题。
- 因子页面曾存在骨架化、因子重叠、事后归因和权重无统计来源问题。
- 旧版 Agent 文档中可能仍残留“自动化生成”“动态风格适配”“优势”“运行中”等超出实际实现的声明。
- 旧版优化建议中的某些参数可能已被执行,也可能仍只是
[待验证]建议;必须检查当前实际状态。 - 真实数据管线、FRED 股指数据、美国财政部收益率、LBMA 和 ECB/Frankfurter 数据可能已经接入,但数据覆盖范围、延迟、单源/交叉验证状态必须逐项核验。
原则:当前文件内容、脚本实际行为、数据文件实际内容、运行日志和证据包之间如果冲突,必须把冲突本身列为审计发现。
三、不可违反的审计原则
3.1 真实性优先
- 不得补数、猜数、插值、外推、平滑、沿用前值或用模型生成值冒充真实行情。
- 数据缺失时,允许输出“缺数据”“无法评估”“未能复核”,不允许输出看似完整的数值结论。
- 不能通过更换日期、源、字段名或统计窗口掩盖数据缺陷。
- 不能把网页抓取成功等同于数据正确;必须检查 HTTP 状态、JSON/CSV 结构、日期、数值、单位、重复行和来源身份。
3.2 证据先行
所有重要陈述必须使用以下标签之一:
[事实]:有原始文件、路径、行号/字段、哈希或可执行命令支撑。[推断]:由事实推导,必须写出推理链和假设。[建议]:优化方案,不代表当前系统已实现。[待验证]:参数、阈值或机制尚未通过规定的样本外验证。[未能复核]:声称存在证据,但当前环境无法定位、读取或重跑。[冲突]:两个或多个权威来源或文件之间存在矛盾。[不可判定]:证据不足以作出方向、状态或因果结论。
禁止把 [建议]、[待验证] 或 [推断] 写成当前事实。
3.3 口径唯一
框架/数据口径定义.md 是当前库内的单一事实来源。任何与其冲突的文件必须:
- 标出冲突位置;
- 判断是否影响数值、状态、验证率或风险动作;
- 给出修复优先级;
- 不得静默覆盖原始证据;
- 若建议修改权威口径,必须单独提出 vNext 变更提案,不能在审计中直接改变口径。
3.4 证伪优先
- 任何预测必须在结果发生前给出方向、区间、时间窗、置信度和证伪条件。
- “观望”“等待”“谨慎”“关注突破”如果没有数值区间,不是完整预测,只能记为
未覆盖。 - 任何“准确率”“验证率”“命中率”必须同时给分子、分母、截止日期、样本定义和未纳入样本数量。
- 不得用不可证伪的文本描述支持模型有效性。
3.5 保命优先
优化目标排序固定为:
- 防止数据错误造成错误决策;
- 防止极端行情、相关性失效和执行错误造成不可逆损失;
- 提高结论和预测的真实性;
- 提高状态机稳定性;
- 提高执行效率;
- 最后才是追求收益、胜率或页面完整度。
3.6 不给直接交易指令
本审计可以给出规则、仓位约束、风险预算、降档条件、测试方案和决策流程,但不得对现实账户给出“明天买入/卖出某资产”等直接交易指令。所有投资性参数必须标 [待验证],不得冒充已验证的实盘建议。
四、审计模式与执行顺序
请严格按以下顺序工作,不要一开始就提出主观重构方案。
阶段 0:建立审计清单
扫描并列出:
- 全部 Markdown、CSV、JSON、Python、Shell、日志和配置文件;
- 每个目录的文件数量、最近修改时间、文件大小;
- 重名、近似重名、重复内容、孤儿文件、薄文件和疑似过期文件;
- 生产数据、原始数据、派生数据、证据包、临时数据和备份的边界;
- 当前唯一写入路径和可能的第二副本。
阶段 1:建立证据地图
为每个重要结论建立:
结论ID → 文件路径 → 行号/字段 → 原始数据 → 数据源 → 派生脚本 → 执行命令 → 计算结果 → 哈希/日志 → 复核状态
如果不能建立完整链路,结论不得标 [事实]。
阶段 2:独立执行代码和数据检查
不要只读文档中的“已通过”。实际检查:
- Python 语法和导入;
- 脚本的输入输出路径;
- 是否有静默异常、空值吞掉、失败后继续、错误码不传播;
- 依赖包和环境变量;
- 网络源响应和数据字段;
- 面板的日期对齐;
- 生成器是否覆盖手工内容;
- G1 及其他硬闸门是否真的阻断;
recompute、validate、panel、analysis脚本是否在当前挂载路径可重复执行。
如无法联网或缺少依赖,必须写明“无法执行”并给出复核命令,不得假装通过。
阶段 3:重算关键数字
至少独立重算:
- 最新数据日期和各核心指标;
- 黄金 PM 日收益率;
- DXY 来源/重构方式和变化;
- VIX 变化;
- 10Y 名义、10Y TIPS 变化和盈亏平衡通胀;
- SPX、NDX 变化;
- 近 5 日序列和 L1 动量;
- L0-1、L0-2、L0-3 各项实测值与状态;
- 20 日滚动相关性及其输入序列;
- 连续交易日计数;
- 预测覆盖率、可证伪命中率、基准率和置信区间;
- 面板行数、重复日期、缺失值、异常值和跨源日期不一致。
阶段 4:红队攻击
主动构造以下失败场景:
- 核心数据源返回 HTML、空文件、错误 JSON 或未来日期;
- 某一个核心指标缺失;
- 日期错一天、时区错一天或市场休市日未排除;
- 黄金值重复、跳变、单位错位或 AM/PM 混用;
- DXY 和 ECB 汇率方向颠倒;
- SPX/NDX 接入后 L0-3 仍被写成“无法评估”或反之;
- 10Y 收益率被直接当作债券价格收益;
- 相关性窗口不足、缺值被填充、收益率与价格混用;
- 预测字段为空、只写“观望”、或验证逻辑把任何结果算成正确;
- 旧数据和新数据同时存在,脚本读取了错误副本;
- MOC 自动区块更新而手工正文未更新,造成状态冲突;
- 生成失败后仍产生“正常”“运行中”“完整性 100%”等绿标。
阶段 5:形成整改方案
整改方案必须在事实审计完成后提出。每条整改建议都必须包括:
- 问题;
- 证据;
- 影响;
- 根因;
- 修复动作;
- 变更文件;
- 是否破坏兼容性;
- 优先级;
- 实施成本;
- 验收测试;
- 回滚方式;
- 仍存在的风险。
五、数据治理与数据管线审计
5.1 数据源审计
对每个指标建立数据源登记表,至少包含:
| 字段 | 要求 |
|---|---|
| metric | 统一指标名 |
| asset | 所属资产 |
| source_primary | 主源名称和 URL |
| source_cross_check | 交叉源;没有则写“无” |
| source_type | 官方固定价、官方收益率、FRED、ECB 等 |
| field | 实际读取字段 |
| quote | 报价方向和单位 |
| timestamp | 来源时间、市场时间、北京时间 |
| trading_calendar | 适用市场日历 |
| lag | 发布滞后 |
| status | verified/single_source/unverified/invalid/extrapolated |
| known_limitations | 时点错配、代理指标、单源等 |
| evidence_id | 原始响应和哈希 |
禁止只写“来自 FRED/官方数据”,而不写具体序列、字段和日期。
5.2 统一 schema
审计并提出可落地的最小 schema。至少包括:
date
asset
metric
value
unit
currency
source_primary
source_cross_check
source_url
source_timestamp
market_timestamp
timezone
trading_day_flag
market_open_flag
observation_status
confidence
raw_file
raw_sha256
transform_version
correction_log如建议新增字段,说明它解决哪个错误,避免无目的扩字段。
5.3 数据状态标签
必须区分:
verified:主源与交叉源核对通过;single_source:单源可用但未交叉验证;unverified:文件存在但来源、日期或值未充分验证;missing:应有数据但缺失;invalid:响应或数值不合法;extrapolated:任何外推或模型生成值,禁止进入有效决策;partial:局部数据可信但覆盖不完整;stale:超过允许更新窗口。
可信度必须向上传递:
结论可信度不得高于其最弱关键输入;任何使用
extrapolated的数值结论必须标“不生效”。
5.4 单位和定义
逐文件检查并统一:
- 黄金、WTI、DXY、VIX:变化使用百分比
%; - 10Y 名义、10Y TIPS:变化使用百分点
pp; - 实际利率只允许指 10Y TIPS;
- 盈亏平衡通胀 = 10Y 名义 − 10Y TIPS,不得称为实际利率;
- 债券价格与收益率方向不得混写;收益率上行只能作为债券价格下跌的方向代理,并显式标注“部分可评估”。
5.5 交易日和时间对齐
必须检查:
- 周末是否排除;
- 美国、英国、LBMA、FRED 不同市场假日是否独立处理;
- 非交易日是否错误生成收盘复盘;
- 连续 N 日是否按交易日而非自然日计算;
- 价位日期、宏观数据日期、发布时间和北京时间是否混用;
- 前收是否来自同一来源和同一口径;
- 同一自然日是否出现两个互相冲突的收盘值。
5.6 缺失处理和硬闸门
审计 G1–G8 或实际存在的全部闸门:
- 缺核心数据是否真正中止;
- 是否生成数据缺失占位文件;
- 是否禁止下游脚本继续输出状态和建议;
- 是否阻断 MOC 绿标;
- 是否记录错误码和运行日志;
- 是否能区分“源没有数据”和“脚本解析失败”;
- 是否有回滚保护,避免一次失败覆盖上次有效数据。
必须给出:
数据抓取失败 → 原始响应留档 → 解析失败日志 → 生成占位状态 → 禁止派生指标 → 禁止状态结论 → MOC 显示降级 → 等待人工/下次重试六、数据质量、统计和可复现性审计
6.1 必做数据质量检查
对每个 CSV/JSON 至少执行:
- 文件存在性;
- 哈希登记;
- 编码和 JSON/CSV 语法;
- 字段完整性;
- 日期可解析性;
- 日期升序;
- 重复日期;
- 缺失值;
- 非数值、负值、零值;
- 不合理跳变;
- 观测日期是否未来;
- 与面板日期集合是否一致;
- 与主源/交叉源差异;
- 数值小数位和单位;
- 前后版本变化。
6.2 相关性审计
每一个相关系数必须写清:
- 变量是价格、收益率还是变化量;
- 统计窗口;
- 样本数量;
- 缺失处理;
- 交易日交集;
- 是否滚动;
- 是否使用滞后变量;
- 相关系数是否用于状态切换;
- 结果是否对窗口和时点敏感。
禁止用单个窗口、单个异常值或未经对齐的序列宣布“相关性失效”。必须至少提供窗口敏感性、样本数量和稳健性检查。
6.3 派生指标审计
至少验证:
- 日收益率公式;
- 5 日累计变化;
- 近 N 日序列等于真实收盘价列表;
- 动量序列没有插值或排序美化;
- 滚动波动率没有使用未来数据;
- 滚动相关性没有跨越缺失值填补;
- 统计截止日没有使用当日收盘后才可得的信息;
- 所有派生结果可由脚本重算。
6.4 可复现性最低要求
每个核心数字至少能由以下信息复现:
输入文件路径
输入文件哈希
字段和日期筛选
计算脚本版本
运行命令
运行时间
Python/依赖版本
输出值
允许误差如果不能满足,标 [未能复核],不能只引用某份报告中的数字。
七、L0–L4 决策栈审计
7.1 L0 断路器
以 框架/数据口径定义.md 当前版本为审计基准,逐项检查:
- L0-1 金/美同跌;
- L0-2 VIX 跳升;
- L0-3 股债金三杀;
- 分布型黄金波动阈值;
- 数据缺失是否应作为独立的“数据断路”;
- 组合级单日损失、回撤和流动性压力是否存在;
- 警告与断路是否有不同动作;
- 是否有渐进降档,而不只是正常/全清仓两态;
- 退出条件是否可测量;
- 是否存在滞后、重复触发和冷却规则。
任何一天都必须逐条写出实测值、阈值、状态和数据可信度。不得只写“L0 正常”。
如果 SPX/NDX 已接入,必须验证 L0-3 是否真正可执行;如果债券仍只有 10Y 收益率,则必须保留“债券腿为收益率方向代理”的限制。
严禁从短窗口零触发直接写“L0 形同虚设”。应区分:
- 设计上低频触发;
- 阈值过松;
- 数据未覆盖;
- 触发代码失效;
- 缺乏渐进降档。
7.2 L1 动量
检查当前“强度优先、方向其次”的规则是否与所有框架、因子和复盘一致:
- 先计算 5 日总变动强度;
- 再计算 5 日同向天数;
- 强度低于震荡阈值时,方向必须降级为 neutral;
- 序列必须是真实收盘价;
- 缺值不能补;
- 结果必须包含输入窗口和计算式。
可以提出 ATR、标准化动量、均线斜率等改进,但必须:
- 与现行口径分开;
- 标
[待验证]; - 说明新增复杂度和过拟合风险;
- 经过样本内、样本外和敏感性检验后才可替代。
7.3 L2 A/B/C 状态机
检查:
- A/B/C 是否互斥;
- 是否存在“强制三选一”导致伪确定性;
- 是否允许
不可判定/观望成为一等状态; - 每个状态是否有进入证据、确认期、维持证据、退出条件、反证条件和冷却期;
- C 是否被错误地定义为“美元弱、实际利率下行、黄金上涨”;
- 相关性失效是否只依靠单一窗口;
- 是否使用事后叙事给新因子命名;
- A 状态低频是否为真实基率,还是门槛不可达;
- 状态是否可以由历史数据逐日重放;
- 状态切换是否使用未来信息。
要求输出状态迁移表:
| 当前状态 | 候选状态 | 进入证据 | 最短确认期 | 维持条件 | 反证条件 | 退出动作 | 冷却期 |
|---|
如果建议评分制、滞回、确认期或不可判定状态,必须同时给出兼容现有 SSOT 的迁移方案,而不是静默改规则。
7.4 L3 持仓纪律
只审计制度,不给账户具体交易指令。检查:
- 是否有预先定义的风险预算;
- “最小持仓期限”是否会与硬止损冲突;
- 软证伪和硬证伪是否可测量;
- 是否有仓位上限、单事件风险、组合相关性和连续错误降档;
- 数据不可信时是否禁止放大风险;
- 是否能区分模型错误、执行错误和市场跳空。
7.5 L4 价格验证
检查价格是否真正具有裁判地位:
- 因子预测与价格冲突时是否记录冲突;
- 是否会事后追加“隐藏因子”保护原结论;
- 是否有固定的失败归因分类;
- 是否有规则修改和样本外验证;
- 是否把“价格上涨”误写成因子正确。
八、四因子模型审计
逐个审计宏观、情绪、价格、周期四个因子:
| 项目 | 必须回答 |
|---|---|
| 定义 | 这个因子到底测什么 |
| 数据源 | 主源、交叉源、数据日期 |
| 频率 | 日/周/月 |
| 滞后 | 何时可知 |
| 计算 | 公式、窗口、单位 |
| 方向 | 如何映射为利多/利空/中性 |
| 强度 | 评分方式和边界 |
| 失效 | 什么情况下不适用 |
| 去重 | 是否与其他因子或 L1 重复计分 |
| 事前性 | 是否能在结果发生前给出预测 |
| 历史表现 | 样本量、基准、样本外结果 |
| 可信度 | verified/single_source/partial 等 |
必须重点检查:
- 宏观、情绪、价格、周期是否实际上测量了同一件事;
- 价格因子是否与 L1 重复计分;
- 周期因子是否只是没有可执行数据的叙事容器;
- 地缘、流动性、政策、筹码是否边界清晰;
- 权重是否有统计来源,还是人为指定;
- 是否存在每个市场结果都能被某个因子解释的问题;
- 是否有因子“默认 0 分”的透明规则;
- 是否记录因子在事前的预测方向和强度;
- 是否能做因子移除实验和置换测试。
请输出:
- 因子定义冲突表;
- 因子重叠矩阵;
- 因子最小可用规格;
- 因子贡献归因方案;
- 建议保留、合并、降级或删除的因子;
- 每个改动的样本外验收标准。
九、Agent 预测系统审计
9.1 预测格式
每条预测必须包含:
prediction_id
created_at
forecast_horizon
asset
reference_price
direction
expected_return_interval
confidence
trigger_condition
falsification_condition
data_status
model_version
user_or_agent
adopted_or_not最低可接受文本格式:
对象|时间窗|方向|幅度区间|置信度|触发条件|证伪条件|数据可信度
“观望/等待/谨慎”如果没有明确数值区间,记 未覆盖,不进命中率分母。
9.2 验证指标
至少区分:
- 方向覆盖率;
- 方向命中率;
- 区间命中率;
- 幅度误差;
- 中性区间基准率;
- Brier Score 或适当的概率评分;
- 校准曲线;
- 重大错误率;
- 漏判率;
- 误触率;
- 数据可信度分层表现;
- 用户预测表现;
- Agent 预测表现;
- 用户采纳后的联合表现;
- 不采纳的反事实表现。
必须删除或降级任何不可证伪的“100%”“连续 N 次全对”等指标。若旧数字仍在任何文件出现,列为一致性缺陷。
9.3 预测基准
至少建立:
- 什么都不预测的基准;
- 只预测中性区间的基准;
- 简单动量基准;
- 被动持有基准(适用时);
- 随机方向基准。
只有当模型在预先声明的样本外指标上超过合理基准,并且置信区间、成本和数据状态均合格,才允许称为“有信息量”。
9.4 风格适配审计
检查文档是否把“用户风格适配”写成已实现功能。没有真实输入、函数调用、历史样本和验收结果时,必须标为未实现或待验证。
不得因为“动量优先、反直觉”是用户偏好,就让 Agent 反向覆盖数据事实或取消证伪条件。
十、风险、组合和行为控制审计
当前系统即使不直接管理账户,也必须审计其风险控制是否可执行。
检查并设计以下制度:
- 数据可信度降档系数;
- 状态置信度降档系数;
- L0 警告、L0 断路、恢复期;
- 单日损失阈值;
- 最大回撤阈值;
- 连续错误后的风险预算下降;
- 单一叙事或单一资产的最大暴露;
- 相关性突然升高时的组合降档;
- 数据源停更、延迟、冲突和解析失败时的安全动作;
- 重大事件前后是否禁止新增风险;
- 模型、用户和执行层错误的责任边界;
- 复盘期间禁止事后修改原预测。
所有仓位规则必须写成“规则和待验证参数”,不能写成个人账户的直接建议。
请输出一个风险动作矩阵:
| 数据状态 | L0 状态 | L1 状态 | L2 状态 | 建议风险等级 | 允许动作 | 禁止动作 | 恢复条件 |
|---|
十一、回测、统计和实验设计审计
11.1 回测可信度
逐项检查:
- 原始输入是否存在;
- 脚本是否真的能运行;
- 日期窗口;
- 交易次数;
- 交易成本;
- 滑点;
- 点差;
- 流动性;
- 复权和价格口径;
- 前视偏差;
- 幸存者偏差;
- 数据窥探;
- 参数搜索范围;
- 基准资产;
- 最大回撤;
- 年化收益;
- 波动率;
- Sharpe/Sortino;
- 盈亏比;
- 胜率;
- 尾部损失;
- 交易频率;
- 样本内/样本外;
- 是否只看成功参数。
“高胜率 + 低盈亏比”不得直接称为稳健;“多年未触发某止损”不得称为硬底;“相对最优”必须说明搜索空间、基准和样本外表现。
11.2 验证设计
至少提出并区分:
- 样本内;
- 固定样本外;
- 滚动前推;
- 时间序列交叉验证;
- 极端行情回放;
- 数据缺失测试;
- 参数敏感性;
- 交易成本压力测试;
- 随机化/置换检验;
- 反事实测试;
- 基准比较。
不得为了达到某个胜率目标而反复调整参数。每次参数变更必须记录版本、变更理由、预先定义的验收标准和失败条件。
11.3 小样本纪律
样本不足时:
- 不给稳定百分比;
- 优先报告原始计数;
- 使用适当置信区间;
- 明确统计功效不足;
- 不把短窗口状态频率当作长期基率;
- 不把没有触发事件当作风险不存在。
十二、复盘系统审计
每一份收盘复盘必须回答:
- 事前预测是什么?
- 预测创建时间是什么?
- 当时能看到哪些数据?
- 证伪条件是什么?
- 实际发生了什么?
- 哪些数据是 verified、single_source、partial 或 missing?
- L0–L4 各层实测值是什么?
- A/B/C 的进入证据和反证条件是什么?
- 价格是支持还是证伪模型?
- 错误来自数据、状态、因子、仓位、执行、代码还是行为?
- 是否需要修改规则?
- 修改如何样本外验证?
- 哪些内容只是观察,不应进入统计?
建立复盘质量评分,至少包括:
- 数据完整度;
- 证据链完整度;
- 事前定义完整度;
- 证伪条件完整度;
- 计算可复核度;
- 错误归因质量;
- 规则改进可验证度;
- 文档口径一致性。
复盘模板必须防止:
- 先写结论再填数据;
- 只记录支持信号;
- 删除失败预测;
- 把非交易日当交易日;
- 用完整排版掩盖缺失数据;
- 把“明日关注”冒充预测;
- 把“趋势可能延续”作为不可证伪结论。
十三、代码、自动化和运行安全审计
逐个脚本检查:
- 是否可从当前仓库根目录运行;
- 是否使用绝对路径、旧备份路径或不存在目录;
- 是否依赖未声明的环境变量;
- 是否吞掉异常;
- 是否错误返回 0;
- 是否失败后继续生成结果;
- 是否存在非法 bash/Python 语法;
- 是否有硬编码数据;
- 是否混用旧版和新版路径;
- 是否直接覆盖原始数据;
- 是否原子写入;
- 是否保存运行日志;
- 是否记录输入哈希和输出哈希;
- 是否有单元测试和最小集成测试;
- 是否能在无网络、部分网络和错误响应下安全失败;
- 是否会把代理、凭据或 API Key 写入日志。
要求提出最小测试套件:
test_missing_core_metric
test_invalid_json_response
test_html_instead_of_json
test_duplicate_dates
test_weekend_is_not_trading_day
test_holiday_is_not_trading_day
test_no_forward_fill
test_no_linear_extrapolation
test_unit_percent_vs_pp
test_gold_pm_sequence_matches_panel
test_real_rate_equals_tips
test_l0_three_items_are_explicit
test_l0_3_proxy_is_labeled
test_prediction_without_direction_is_uncovered
test_validation_denominator_excludes_uncovered
test_moc_auto_block_has_fresh_timestamp
test_failed_run_does_not_publish_green_status十四、知识库与文档架构审计
14.1 文件处理分类
为每个核心文件给出唯一处理建议:
- 保留为权威来源;
- 保留但降级为说明;
- 合并;
- 重写;
- 归档;
- 删除;
- 改为模板;
- 改为自动生成结果;
- 改为实验记录。
每个处理建议必须说明:
- 当前用途;
- 与哪些文件重复或冲突;
- 是否有链接依赖;
- 是否有证据价值;
- 删除/合并风险;
- 迁移路径。
14.2 建议的单一事实来源层级
审计当前结构是否能收敛到:
00 驾驶舱
├── 当前数据状态(自动生成)
├── 当前规则版本(唯一规则入口)
├── 数据口径定义(唯一口径)
├── 当前状态与证据(自动生成/可复核)
├── 风险动作矩阵
└── 审计与变更日志
数据/
├── raw/ 原始响应,只追加不修改
├── normalized/ 标准化数据
├── derived/ 派生面板和指标
├── manifests/ 哈希、来源和运行记录
└── quarantine/ 无效、冲突、待核验数据
框架/ 稳定规则和方法
复盘/ 按日期追加的事实记录
实验/ 尚未生效的参数和模型
审计/ 审计报告、证据和红队结果
归档/ 失效版本,只读
scripts/ 可执行代码不得为了“目录看起来漂亮”而移动证据文件;迁移必须保留路径映射和哈希。
14.3 链接和版本治理
检查:
- 悬空链接;
- 同名页面;
- 别名冲突;
- 文件名与 H1 不一致;
- MOC 指向旧版本;
- 自动区块与手工区块矛盾;
- 旧报告被错误当成当前状态;
- 归档文件仍被决策流程引用。
十五、当前系统健康评分
重新计算健康评分,不得照抄旧审计报告的 14/100 或其他历史分数。
建议维度:
| 维度 | 分值 |
|---|---|
| 数据真实性与来源治理 | 25 |
| 风险防御与故障安全 | 20 |
| 预测可证伪性与统计有效性 | 15 |
| 状态机稳定性与可重放性 | 15 |
| 因子边界与事前预测能力 | 10 |
| 自动化、测试和可执行性 | 10 |
| 文档一致性与知识治理 | 5 |
| 合计 | 100 |
每一项必须给出:
- 得分;
- 扣分明细;
- 证据路径;
- 是否为当前事实还是历史问题;
- 修复后预期得分;
- 得分提升所需验收测试。
如果无法评分,写 [不可判定],不要用主观数字填满表格。
十六、必须交付的成果
请输出一份完整 Markdown 审计与重构报告,至少包含以下章节。
1. 审计声明
- 审计日期;
- 读取的文件和目录;
- 实际执行的命令;
- 未读取、未执行和不可达部分;
- 数据截止日期;
- 审计者独立性和限制。
2. 一页执行摘要
必须明确:
- 当前最大 P0 风险;
- 当前最大数据风险;
- 当前最大统计风险;
- 当前最大代码风险;
- 当前最大知识架构风险;
- 最应保留的五项资产;
- 最应停止的五种行为;
- 当前不能做出的结论;
- 最优先的十项行动。
3. 当前系统健康评分
按第十五节给表格和证据。
4. 全库审计发现表
字段必须包括:
| ID | 问题 | 级别 | 标签 | 文件/行号 | 证据 | 影响 | 根因 | 修复 | 成本 | 验收标准 | 回滚 |
|---|
级别定义:
- P0:可能直接导致重大错误决策、数据伪造或风控失效;
- P1:显著降低可信度、可复现性或统计有效性;
- P2:影响维护效率、文档一致性或用户体验;
- P3:低风险美化、非必要优化。
5. 证据地图
至少列出 20 条最重要证据,包含路径、行号/字段、原始文件、脚本、命令和结果。
6. 数据治理 vNext
给出:
- 指标字典;
- 来源优先级;
- 交易日历;
- schema;
- 状态标签;
- 缺失处理;
- 纠错和回滚;
- 可信度向结论传递规则;
- G1–G8 或新硬闸门;
- 证据包结构。
7. L0–L4 vNext
包括:
- 当前规则复核;
- 状态迁移;
- 风险动作矩阵;
- 数据缺失状态;
- 进入/退出/冷却/强制降级;
- 尚未验证参数清单。
8. A/B/C 与不可判定状态
给出当前状态机、问题、改进方案、兼容迁移方案和样本外验收方案。
9. Agent 预测和验证 vNext
给出:
- 预测日志模板;
- 数值区间模板;
- 证伪标准;
- 统计指标;
- 基准;
- 覆盖率规则;
- 用户/Agent 分离评估;
- 旧指标废止清单。
10. 四因子重构方案
给出因子规格、重叠矩阵、权重验证方案和因子移除实验。
11. 回测与实验协议
给出数据划分、成本、样本外、压力测试、敏感性测试和失败判据。
12. 代码和自动化整改
按 P0/P1/P2 排列脚本改动,并给出测试命令。
13. 文件级处置表
为每个核心文件给出保留、合并、重写、归档、删除或降级建议。
14. 新版模板
至少提供可直接复制的:
- 日收盘复盘模板;
- 盘前预测模板;
- 预测日志模板;
- 数据缺失占位模板;
- 状态迁移记录模板;
- 周度模型评估模板;
- 变更日志模板;
- 证据索引模板。
15. 30/60/90 天路线图
每项任务必须有:负责人角色、输入、输出、验收、失败判据、回滚方式。
16. 最小可行修复包
只选 5 项以内,要求能解决最大风险。不能把“重写全库”当作最小修复。
17. 红队报告
独立于主报告列出:
- 最可能再次发生的五个失败;
- 哪些绿标可能是虚假的;
- 哪些指标可能奖励沉默、观望或不覆盖;
- 哪些建议本身可能造成过拟合;
- 哪些文件可能在下一次自动化运行中把修复覆盖掉。
18. 未完成事项
把所有 [未能复核]、[待验证]、[冲突]、[不可判定] 汇总,不得隐藏。
十七、如果允许修改文件,必须遵循的实施纪律
默认模式是只审计、不修改生产文件。只有用户明确要求实施时,才可修改。
如获准修改,必须:
- 修改前创建带时间戳的完整备份;
- 保存文件数量、路径清单和 MD5/SHA256;
- 先在临时副本运行脚本和测试;
- 不修改原始数据和冻结证据包;
- 不删除文件,除非给出引用扫描和恢复路径;
- 自动生成区块不得手工伪造;
- 每次修改写入变更日志;
- 运行最小测试集;
- 运行数据完整性闸门;
- 生成修改前后差异摘要;
- 对失败测试保留日志;
- 只有所有 P0 闸门通过后,才允许发布到生产目录;
- 任何参数调整必须标
[待验证],不得因为代码落地就变成“已验证”; - 用户未批准时,不得自动删除、归档、重命名或覆盖核心文件。
推荐实施流程:
只读审计
→ 输出问题清单和实施计划
→ 用户确认范围
→ 创建备份
→ 临时副本修改
→ 单元测试
→ 集成测试
→ 数据重算
→ 差异审查
→ 用户批准
→ 发布生产
→ 生成回滚点十八、最终回答的硬性要求
你的最终报告必须做到:
- 不把旧报告的结论当成当前事实;
- 不把文档中写着“已完成”当成代码已经完成;
- 不把脚本存在当成脚本运行成功;
- 不把数据源可访问当成数据已验证;
- 不把相关性当成因果性;
- 不把高胜率当成高收益或低风险;
- 不把没有触发止损当成止损有效;
- 不把观望当成预测正确;
- 不把系统复杂度当成系统能力;
- 不把页面绿标当成系统健康;
- 不在数据缺失时输出精确数字;
- 不在证据不足时强制选择 A/B/C;
- 不隐藏无法复核的项目;
- 不给个人账户直接买卖建议。
最后用以下格式收尾:
## 最终裁决
- 当前系统是否适合产生真实决策输入:是/否/仅部分
- 当前最危险的单点故障:……
- 当前最需要立即停止的行为:……
- 当前最值得保留的核心能力:……
- 五项最小修复:……
- 尚未解决的关键不确定性:……
- 下一次复核所需的最小证据:……
- 本报告中所有尚未验证的参数:……记住:这不是要求你把仓库写得更长,而是要求你让系统在数据缺失、极端行情、模型错误、代码失败和人为偏差下仍然诚实、可控、可回滚。