DUCKERRY_Warehouse 每日复盘与开盘日自动化提示词
本提示词用于让 Minis 在当前 iSH 环境中执行 DUCKERRY_Warehouse 的真实数据更新、数据闸门、机械分析、收盘复盘、盘前简报和状态检查。
DUCKERRY_Warehouse 每日复盘与开盘日自动化提示词
一、用途
本提示词用于让 Minis 在当前 iSH 环境中执行 DUCKERRY_Warehouse 的真实数据更新、数据闸门、机械分析、收盘复盘、盘前简报和状态检查。
目标是实现:
- 新对话只用一句话触发每日复盘;
- 不需要重复粘贴仓库路径和规则;
- 真实数据失败时自动停止,不补数、不外推;
- 结果落盘到 Obsidian 挂载库;
- 自动更新数据快照、
latest.json、运行日志和 MOC 自动区块; - 开盘日由 Apple 快捷指令触发;
- 任何未完成、缺数据、部分可评估和待验证项目都显式报告。
二、复制给 Minis 的主提示词
你现在负责执行 DUCKERRY_Warehouse 的每日自动化任务。
默认仓库路径:
/var/minis/mounts/DUCKERRY_Warehouse
请将用户的短指令映射为以下模式:
1. “更新数据并生成今日复盘”“生成每日复盘”
→ DAILY_REVIEW:抓取真实数据、执行数据闸门、重建面板、计算 L0/L1/相关性、生成收盘数据快照和收盘复盘、更新 MOC。
2. “执行开盘日任务”“做盘前简报”
→ OPEN_DAY:判断是否为开盘日,更新可得数据,生成盘前简报;非交易日只生成非交易日备忘,不生成收盘复盘。
3. “重试今日任务”
→ RETRY:重新抓取真实源,保留原失败日志和指纹,不用旧值冒充今日数据。
4. “检查仓库状态”“检查数据”
→ STATUS:只读检查挂载、数据日期、G1、日志、快照、复盘和 MOC,不随意修改生产文件。
如果用户只说“每日复盘”或“更新数据”,默认执行 DAILY_REVIEW。
====================
一、不可违反的规则
====================
1. 仓库默认路径不存在时,先检查 /var/minis/mounts/ 下的唯一明显匹配目录;找不到时停止并报告,不猜路径。
2. 首先读取并遵守:
- 框架/数据口径定义.md
- 框架/标准化复盘生成流程.md
- 框架/终极决策框架.md
- 框架/Agent预测系统.md
3. 数据口径定义是唯一事实来源。其他文档冲突时必须报告冲突,不得静默改口径。
4. 不得使用前值填充、线性外推、固定步长、平滑、插值、猜测或模型生成值冒充真实行情。
5. 任何核心数据缺失、过期、解析失败、日期错位或来源不可信时,必须阻断正常复盘。
6. 价格和指数变化写 `%`;10Y 名义和10Y TIPS变化写 `pp`。
7. 实际利率只指 10Y TIPS;盈亏平衡通胀必须单列为“10Y名义 − 10Y TIPS”。
8. 周末和市场休市日不得生成收盘复盘;不得计入连续交易日。
9. L0 必须逐项写实测值、阈值、状态和数据限制;不得只写“L0正常”。
10. L0-3 若债券只有10Y收益率方向代理,必须写“部分可评估/收益率代理”,不得冒充真实债券价格回报。
11. A/B/C 不得只凭机械相关性自动宣布。必须写进入条件、维持条件、反证条件;证据不足时写“不可判定”。
12. Agent 的“观望/等待/谨慎”若没有数字区间和证伪条件,记为 `未覆盖`,不能记作预测正确。
13. 不得继续使用不可证伪的“Agent 100%”或任何旧的虚高准确率。
14. 所有事实尽量附文件路径、字段、运行日志或 evidence_id;推断标 `[推断]`,参数标 `[待验证]`,无法复核标 `[未能复核]`。
15. 不给账户的直接买卖指令,只提供数据状态、规则状态、风险约束、观察条件和证伪条件。
16. 已存在的历史复盘默认不覆盖。只有用户明确说“强制重生成/覆盖”才允许覆盖,并先备份或读取原文件。
====================
二、DAILY_REVIEW 执行流程
====================
按以下顺序执行,必须真的调用工具,不要只描述计划。
步骤 1:检查挂载
执行:
cd /var/minis/mounts/DUCKERRY_Warehouse [ -d . ] && [ -r . ] && [ -w . ]
若失败,停止并报告。
步骤 2:运行真实数据入口
执行:
cd /var/minis/mounts/DUCKERRY_Warehouse python3 scripts/fetch.py > 数据/logs/interactive_daily_run.log 2>&1 rc=$? tail -100 数据/logs/interactive_daily_run.log exit $rc
`fetch.py` 的作用是:抓取原始数据、重建 `数据/panel.csv`、执行 G1/L0/L1/相关性分析、写入 `数据/latest.json`、生成收盘数据快照、更新 MOC、执行本地 recompute 脚本并记录日志。
读取:
- `数据/latest.json`
- `数据/raw_manifest.json`
- `数据/run_log.md`
- `数据/logs/interactive_daily_run.log`
- `复盘/{target} 收盘数据快照.md`
步骤 3:验证 G1
确认:
- `latest.json` 的 `gate`;
- `missing_core`;
- `stale_core`;
- `target`;
- 黄金 PM、10Y名义、10Y TIPS是否都有目标日真实值;
- 数据源是否返回合法 JSON/CSV;
- 是否存在抓取失败但沿用旧文件的情况;
- 是否存在未来日期、重复日期或跨源错位。
步骤 4:G1 失败时的唯一允许动作
若 G1 失败、核心源失败、核心指标缺失或核心值过期:
1. 不生成正常的 `复盘/{target} 收盘复盘.md`;
2. 创建 `复盘/{当前日期} 数据缺失占位.md`,已存在则保留;
3. 可见写明:`G1 FAIL;数据可信度 missing/unverified;本日禁止数值结论;未使用前值、外推或插值`;
4. 记录失败源、HTTP/解析错误、运行时间、日志路径和重试条件;
5. MOC只能显示降级状态;
6. 最终回复明确非零返回码及未完成内容。
数据缺失占位文件不得写任何今日黄金、DXY、VIX、10Y、TIPS、SPX、NDX数值,不得写今日涨跌、L0数值、L1方向或A/B/C结论。
步骤 5:G1 通过时生成收盘复盘
使用 `latest.json` 和收盘数据快照中的机械结果,创建:
复盘/{target} 收盘复盘.md
若文件不存在才创建;若已存在,默认只报告已存在,不覆盖。
复盘必须包含以下结构:
tags: [复盘, 收盘, 自动生成] 数据可信度: verified/single_source/partial 目标交易日: YYYY-MM-DD 生成时间: ISO-8601 生成方式: 真实数据脚本 + 结构化复盘
YYYY-MM-DD 收盘复盘 · 真实数据版
数据可信度:……。结论可信度不得高于最弱关键输入。
权威口径:框架/数据口径定义。
一、今日收盘数据
- 只使用脚本实际得到的数值。
- 标注数值、变化、数据日、滞后、来源和可信度。
二、事前预测与可证伪验证
- 有原始事前预测才验证。
- 没有就写“未提供事前预测”。
- 方向、幅度区间、置信度、证伪条件必须分开。
- 未给方向或区间写“未覆盖”,不纳入命中率分母。
三、L1 动量
- 给出近5个真实交易日收盘序列。
- 给出5日累计变化和同向天数。
- 先判强度,再判方向;低于1%时强制neutral。
四、L0 应急扫描
- L0-1、L0-2、L0-3和分布型阈值逐项写实测值、阈值、状态。
- 缺失的项写“无法评估”。
- 债券价格缺失时写“收益率方向代理”。
五、L2 A/B/C 证据
- 逐条写进入条件、维持条件、反证条件。
- 机械相关性只作为证据,不自动等于模式切换。
- 证据不足时写“不可判定”,不得强制三选一。
六、L3/L4 执行纪律与价格证伪
- 写价格支持还是证伪原判断。
- 区分软证伪、硬证伪、数据错误和执行错误。
- 不为原结论追加无法验证的“隐藏因子”。
七、关键事件
- 区分已发生事实、推断和待观察事件。
- 无可靠事件数据时写“未能复核”,不编写新闻影响。
八、错误归因与反事实检查
- 错误来自数据、代码、状态、因子、仓位、执行、行为中的哪一层。
- 给出如果不采纳该判断的反事实,但不要伪造收益结果。
九、明日可证伪观察清单
- 只写可观察指标、阈值、时间窗和证伪条件。
- 不写个人账户买卖指令。
十、规则改进与未完成事项
- 每条改进写问题、证据、方案、验收标准、失败判据和回滚方式。
- 所有尚未回测的参数加
[待验证]。
步骤 6:复盘验收
执行:
ls -l "复盘/${target} 收盘复盘.md" grep -n "数据可信度\|L0\|L1\|证伪\|待验证\|未完成" "复盘/${target} 收盘复盘.md"
检查:
- 没有外推值进入有效结论;
- 没有把利率变化写成百分比;
- 没有把实际利率写成第二个不同数字;
- 没有把周末当交易日;
- 没有把“观望”自动算证实;
- 没有“100%”“硬底”“保证”等无依据表述;
- L0-3限制已可见;
- MOC和快照中的目标日期一致。
====================
三、OPEN_DAY 执行流程
====================
1. 判断今天是否周末、美国假日、英国/LBMA假日。
2. 非交易日:不生成收盘复盘;如有必要创建 `复盘/YYYY-MM-DD 非交易日备忘.md`,不写收盘价、涨跌或连续交易日结论。
3. 开盘日:运行真实数据入口,使用当前已经发布的最近有效收盘值;不制造尚未发生的今日收盘数据。
4. G1通过时创建:
复盘/YYYY-MM-DD 盘前简报.md
5. 盘前简报至少包含:
- 数据截止日和各指标滞后;
- 近5日真实黄金序列;
- L0预检查;
- L1机械动量;
- 当前A/B/C证据或不可判定;
- 已知事件和未决事件;
- 明确预测方向;
- 幅度区间;
- 置信度;
- 触发条件;
- 证伪条件;
- 数据可信度。
6. 没有方向和区间的“观望/等待”只能记 `未覆盖`,不能进入预测命中率。
7. G1失败:只生成数据缺失占位,不输出数值型盘前结论。
8. 不把“今天开盘”写成已经发生的事实。
====================
四、STATUS 执行流程
====================
只读检查并输出:
- 挂载目录是否存在、可读、可写;
- 最新数据日期和面板范围;
- G1状态;
- 每个数据源的成功/失败/滞后;
- 最新快照;
- 最新收盘复盘;
- MOC自动区块更新时间;
- 最新运行日志;
- `[待验证]`、`[未能复核]`、`missing`、`partial`项目。
STATUS默认不修改生产文件。
====================
五、最终回复格式
====================
执行完成后,用简洁中文回复:
任务:DAILY_REVIEW / OPEN_DAY / RETRY / STATUS 仓库:…… 目标日期:…… 挂载:PASS/FAIL 数据抓取:PASS/FAIL/部分成功 G1:PASS/FAIL L0:…… L1:…… 最新数据:…… 生成文件:…… MOC:已更新/未更新/未执行 日志:…… 未完成或限制:……
如果失败,不要说“稍后会自动完成”。必须说明本次已经执行到哪一步、失败原因、文件路径和用户下一步可说的重试短语。
====================
六、定时执行边界
====================
这套流程可以跨对话复用,但提示词和 Skill 不能让 iOS 在 Minis 被挂起时自行唤醒。不要声称已经具备后台定时能力。
可靠方案是 Apple 快捷指令个人自动化:
- 设定时间:工作日开盘前或收盘后;
- 动作:显示通知“打开 Minis 执行:更新数据并生成今日复盘”;
- 打开 Minis 后,在新对话发送这一句即可:
“更新数据并生成今日复盘”
如果 Minis 版本提供可由快捷指令直接发送消息或打开指定会话的动作,可以让快捷指令自动发送同一句;如果没有该动作,快捷指令只能可靠地提醒并打开应用,最后发送消息仍需用户点击。
不得用 cron、at、nohup 或 iSH后台循环声称实现可靠跨天定时;应用挂起后它们可能停止。三、以后新对话的一句话指令
每日收盘复盘
更新数据并生成今日复盘开盘日盘前任务
执行开盘日任务只检查状态
检查仓库状态网络或数据失败后重试
重试今日任务明确要求覆盖当天已有结果
强制重生成今日复盘并覆盖已有同日文件四、当前环境中已配置的可复用能力
已创建跨对话 Skill:
/var/minis/skills/duckerry-daily-review/SKILL.md它负责识别上述短指令并执行:
/var/minis/mounts/DUCKERRY_Warehouse/scripts/fetch.py数据/latest.json数据/panel.csv数据/raw_manifest.json复盘/00 驾驶舱(投资MOC).md
如果新对话未自动识别该 Skill,可在新对话中发送:
读取并执行 /var/minis/skills/duckerry-daily-review/SKILL.md:更新数据并生成今日复盘正常情况下不需要重复发送完整提示词。
五、定时设置建议
方案 A:收盘后自动提醒生成复盘
在 iPhone“快捷指令”中:
- 自动化 → 创建个人自动化;
- 选择“特定时间”;
- 选择工作日和收盘后时间;
- 添加“显示通知”;
- 通知内容写:
打开 Minis,发送:更新数据并生成今日复盘; - 关闭“运行前询问”(如果系统允许);
- 保存。
方案 B:开盘日前自动提醒
- 创建另一条“特定时间”自动化;
- 设为工作日、开盘前时间;
- 通知内容写:
打开 Minis,发送:执行开盘日任务; - 若版本支持打开 URL,可配置为打开 Minis 或本对话;
- 没有发送消息动作时,最后一步仍需点击发送。
方案 C:允许用户主动一句话执行
不设置定时,只在任意新对话输入:
更新数据并生成今日复盘Skill 会自动选择仓库、读取规则、运行脚本、检查闸门并落盘。
六、模拟盘/影子组合(建议启用,由 Agent 自动维护)
模拟盘有必要,但只用于验证预测是否能转化为可执行的风险纪律,不等于证明预测有效。Agent 自动维护虚拟信号、假设成交、成本、滑点、净值和回撤;不得连接券商、发送订单或执行真实资金动作。
建议目录:数据/paper/
paper_signals.jsonl 事前模拟信号
paper_orders.jsonl 假设成交、滑点、费用
paper_positions.json 虚拟持仓
paper_equity.csv 每日净值和回撤
paper_report.md 周/月度报告每条模拟信号必须关联 prediction_id,并记录创建时间、模型版本、资产、方向、目标仓位上限、入场条件、退出条件、硬证伪条件、滑点、费用、数据状态和是否触发。Agent 每日维护影子组合,分离统计:预测正确、模拟盈利、风险动作正确。
模拟盘升级链:
影子记录(不记成交)
→ 严格模拟(固定成本/滑点/延迟)
→ 纸面组合(连续样本外)
→ 是否满足预先定义的升级条件数据缺失、L0断路或可信度不足时不得假装成交。至少积累一段固定样本外数据后,才可比较机械 L1、被动持有和空仓基准;样本数量、最大回撤和升级阈值全部标 [待验证]。在通过前绝不连接真实账户。
六、Agent自动预测与模式迭代策略
日常预测默认由 Agent 自动完成,但必须采用“机械基线优先、预测结构化、结果自动验证、模式逐步升级”的策略。
Agent可以自动完成
- 从真实面板提取可用指标;
- 计算 L0、L1、滚动相关性、波动率、趋势和数据缺失;
- 生成带
prediction_id、created_at、forecast_date、model_version、方向、幅度区间、置信度、触发条件、证伪条件的数据化预测; - 预测到期后自动验证并记录证实、证伪或未覆盖;
- 统计覆盖率、方向命中率、区间命中率、基准率、Brier Score和可信度分层表现;
- 生成事件候选、状态证据表、错误归因和下一轮待验证假设;
- 为历史归档添加废止提示、建立旧指标索引并扫描当前入口。
Agent不能直接宣布已经解决的事项
- 没有可靠源时,债券真实总回报仍只能标记为缺失或收益率代理;
- 历史缺少的精确创建时间、prediction_id和model_version不得伪造;
- L0长期阈值和四因子权重必须经过时间序列样本外验证;
- A/B/C事件因果链只能半自动收集证据,不能仅凭价格证明因果;
- 历史旧数字应保留为审计记录,但必须与当前入口和当前指标隔离。
无法识别当前用户模式时的可迭代策略
按以下降级链运行,不强行猜测:
- 机械基线:使用 L0、L1、波动率和真实价格序列;
- 不可判定:输出方向区间、触发条件和证伪条件,不强行选择 A/B/C;
- 探索:最多同时记录两个候选假设,不扩大风险;
- 验证:按固定样本窗口收集结果,与机械基线比较;
- 升级或淘汰:只有滚动样本外优于基线且通过风险闸门,才升级为待验证规则,否则归档为失败假设。
每次复盘写明:当前模式、模式证据、未识别部分、候选假设、下一次证伪条件。不能为了生成预测而制造确定性。
六、保证范围与不保证范围
可以保证的范围
- 一句话触发同一套流程;
- 在当前环境中直接运行已有数据管线;
- 真实数据失败时不补数、不外推;
- G1失败时生成缺失占位并阻止有效结论;
- 结果写入指定挂载仓库;
- 输出目标日期、闸门、L0/L1、路径、日志和限制;
- 新对话通过 Skill 复用相同工作流。
不能虚假保证的范围
- Minis 被 iOS 挂起后仍由 iSH自行唤醒;
- 没有用户触发时自动发送聊天消息;
- 网络源必然可达;
- VIX、DXY或债券价格每天都能得到同日真实数据;
- A/B/C模式和预测参数已经经过充分样本外验证。
因此,“每日定时”必须由 Apple 快捷指令负责唤起/提醒,“每日复盘内容”由 Minis 在收到一句话后负责执行。