MetaZero-OS/13-Futures/data/event_calendar_source.jsonMetaZero-OS/scripts/build_event_calendar.py(7 项自检闸)横轴=日期(按天),纵轴=具体项目名称。 同一个项目的多次发布排在同一行——所以
「CPI 这条线在未来三个月什么时候出、间隔多久、和 FOMC 撞不撞」是一眼可读的,而不是把
每次发布拆成一行淹没在列表里。
财报与公司 / 政策与政治 / 市场结构与资金流
- 5 系统级:可重定价全球利率/汇率/股债
- 4 高:大概率引发当日显著波动
- 3 中:确认性信号,影响预期边际
- 2 低:局部或分项关注
- 1 信息节点:背景数据,单独看不驱动价格
点线=惯例估算
3 个月/到年底 + 深浅色
124 个事件点的来源分布:
| 等级 | 数量 | 占比 | 含义 |
|---|---|---|---|
| 官方确认 CONFIRMED | 70 | 56% | 逐条核到发布机构官方日程页 |
| 规则推算 RULE | 45 | 36% | 官方有固定发布规则(每周四初请、每月第一个工作日 ISM、纪要会后第三个周三),按规则推算 |
| 惯例估算 EST | 9 | 7% | 官方尚未定档,按历史惯例估算,页内写明去哪核 |
官方确认 + 官方固定规则 = 93%。
已逐条核到的官方一级源:
12/8-9(决议 12/9);8 月无会议
PPI 8/13、9/10、10/15;JOLTS 8/4、9/1、9/29、11/3;ECI 10/30
8/18、9/17、10/20
统计局英文版 2026 发布日历里,9 月 PMI 那一行印的是「31/Mon」——但 9 月没有 31 日,
且 2026-09-30 是周三不是周一。这是官方英文表格的排印错误。处理方式:不照抄、也不假装确认,
按 NBS「当月最后一日发布」的惯例估为 9/30,在页面上降级标为「惯例估算」并写明临期以官方中文
日历为准。
最拥挤的一天是 2026-09-30,当日重要性合计 25,同一天叠了:
另一段风险高度集中的是 10/28–10/30 三天:FOMC 决议(10/28)→ ECB 决议 + Q3 GDP 初值 +
9 月 PCE(10/29)→ 日央行决议含展望报告 + Q3 ECI(10/30),且大型科技股 Q3 财报窗口正好压在
这三天上。
| 检查项 | 命令 | 结果 |
|---|---|---|
| 生成器 7 项自检 | python3 MetaZero-OS/scripts/build_event_calendar.py | ✅ 全过(248 次日期检查 / 167 次重要性检查 / 124 次来源等级检查 / 43 条 id 唯一 / 43 条有可点来源) |
| 本地运行时冒烟(防黑屏) | node MetaZero-OS/scripts/smoke_page.mjs web/terminal/economic-calendar/index.html | ✅ 2 个 script 块初始化无崩溃 |
| 真浏览器渲染 | Chromium 1600×1000 实开 | ✅ 108 个方块 + 3 个区间条 + 8 个分组 + 61 根强度柱,零 JS 报错,无横向溢出 |
| 交互实测 | 搜「CPI」/ 切深色 / 切列表 | ✅ 筛出 6 项目 16 事件;深色对比度正常;列表 111 行按日期排序 |
| 线上内容核实 | curl 线上页 grep 关键字 | ✅ 标题/项目名/强度条/数据变量全部命中 |
| 线上运行时冒烟 | node smoke_page.mjs <线上URL> 经济投资主要事件日历 | ✅ 通过 |
| 线上=本地 | diff 线上字节 本地文件 | ✅ 完全一致 |
| 已推 main | git ls-tree origin/main | ✅ 三个文件均在 origin/main(88a5bc5) |
9 个「惯例估算」条目,临期必须回官方页核:
1. 杰克逊霍尔主席主旨演讲 8/28 —— 年会 8/27–29 是官方确认的,但主席演讲惯例排周五,
官方议程尚未公布,可能挪一天
2. 大型科技股 Q3 财报窗口 10/20–10/30 —— 区间估算,各公司具体日期临期公告
3. 大型银行 Q3 财报开场 10/13–10/16 —— 同上
4. 中国 9 月 PMI 9/30 —— 官方英文表排印错误,见上文
5. OPEC+ 月度部长级会议 8/2、9/6、10/4 —— 近年惯例月初周日线上会,以 opec.org 公告为准
6. SLOOS Q3 调查 8/3 —— 季度调查惯例 2/5/8/11 月初,具体日期临期公告
7. 11 月财政部再融资声明 11/4 —— 惯例为 2/5/8/11 月第一个周三
另需说明:RULE 级(36%)不是官方逐条确认的日期表,而是按官方固定规则推算(如初请每周四、
ISM 每月第一个工作日)。遇美国法定假日会顺延,实际使用时以当周官方公告为准。
改一个文件就行:
`bash
MetaZero-OS/13-Futures/data/event_calendar_source.json
python3 MetaZero-OS/scripts/build_event_calendar.py
cd web/terminal && CLOUDFLARE_API_TOKEN=... npx wrangler@3 pages deploy . --project-name=metazero-terminal --branch=main
`
要补「其他主要 events」(科技/地缘/能源/加密等),加一个 category 再加对应 series,
页面自动长出新分组,不用改任何代码。
主席反馈两点:①每个项目要有分析(预测 / 关联什么资产 / 怎么看这些数据);②要能按时间顺序排,
直接看得出"第二天有哪些东西"。已完成:
固定四段,都是机制性内容、不随时间过期:
| 段 | 内容 |
|---|---|
| 📖 怎么看这个数据 | 该看哪个分项,而不是看头条数字。例:CPI 看核心环比+住房+超核心服务;非农看"前两月修正值";零售看控制组;耐用品看核心资本品订单 |
| ⚡ 什么算意外 | 结构性描述 + 数据本身的可信度陷阱。例:JOLTS 回收率低不宜重仓解读;PCE 因 CPI/PPI 已先出,意外空间小 |
| 💹 影响哪些资产 | 表格形式,分偏强 / 偏弱两个方向逐一列出。例:FOMC 偏鹰 → 2 年期收益率↑、美元↑、黄金↓、纳指↓、中概↓;偏鸽则全部反向 |
| 🔭 本轮看点 | 这一次特别要注意什么,含情景推演(凡推演均标 🔭 前缀) |
关于"预测"的取舍(重要):刻意不写"市场一致预期是核心 CPI +0.3%"这类具体数字——
这类数值我无法可靠核实、且一周即过期,写进页面就是垃圾数据(违反 Rule-GIGO-001)。
页面明确提示:当期预期请临期查 CME FedWatch 与主流一致预期。给出的是反应函数
(什么方向 → 哪些资产怎么动),这部分不会过期,才是能反复用的东西。
| 视图 | 用途 |
|---|---|
| 📅 按时间排(默认) | 一天一块、从早到晚,只显示有事件的日子(3 个月窗口内 56 天)。每块头部给:日期、星期、当天几件事、当日强度条;强度达阈值的自动打「⚠ 高密度日」标。顶部有 8/9/10 月跳转 |
| ▦ 网格:项目 × 日期 | 原来的矩阵视图,看单个项目的发布节奏与撞车 |
| ☰ 列表明细 | 按日期排序的表格,每行带来源链接与「看分析」按钮 |
三个视图里点任意事件,都会从右侧滑出【详情抽屉】,显示该项目完整分析卡。
新增第 ⑧ 项:每个项目必须有完整分析卡(四段非空 + ≥2 条资产影响 + 每条资产三字段齐全),
且"偏强/偏弱轴"必须能用『 / 』切成正好两半。这道闸在本次构建中当场拦下 1 条不合格数据
(ADP 只写了 1 条资产影响),已补齐——闸不是摆设。
| 检查 | 结果 |
|---|---|
| 生成器 8 项自检 | ✅ 全过(分析卡检查 308 次) |
| 本地运行时冒烟 | ✅ 无崩溃 |
| 真浏览器渲染 | ✅ 56 个日期块、111 条事件、3 个月份锚点、4 个高密度日高亮,零 JS 报错 |
| 时间顺序 | ✅ 程序化断言日期严格递增(8/2 → 8/3 → 8/4 …) |
| 抽屉内容 | ✅ 六段齐全;FOMC 资产表头正确显示「结果偏鹰(利率更高更久)」/「偏鸽(降息更快更多)」,5 行资产双向对照 |
| 中英夹生扫描 | ✅ 扫出 2 处并修复("市场still 紧"、"continued 通缩");保留的英文均为必要专有名词(CME FedWatch、GDPNow、美联储原文量词 slight/modest/several 等) |
| 线上核实 | ✅ 关键内容全部命中;线上字节与本地完全一致;线上运行时冒烟通过 |
主席指出:时间轴能按时间排了,网格里也要能按时间排。已完成。
网格视图顶部新增【行排序】开关,两档:
| 档位 | 行怎么排 | 什么时候用 |
|---|---|---|
| ⏱ 按时间(默认) | 行按「该项目在当前窗口内最早的一次发布」从早到晚排;同一天则重要性高的在上。左侧带时间顺位序号 1…42,副标题显示「首次 08/02 · 政策与政治」 | 想知道先后顺序:谁最先来、接下来轮到谁 |
| 🗂 按分类分组 | 原来的 8 大类分组排法,带分组标题行 | 想看某一类内部的节奏(如所有通胀数据的间隔) |
效果:按时间排后,整张网格呈阶梯状——最早的事件在左上角,依次向右下方递降,时间先后一眼可读。
分类色条与分类名在按时间模式下仍保留在每行左侧,所以不会丢失分类信息。
| 检查 | 结果 |
|---|---|
| 生成器 8 项自检 | ✅ 全过 |
| 本地运行时冒烟 | ✅ 无崩溃 |
| 真浏览器 · 按时间排 | ✅ 42 行;序号连续 1…42;首次日期 08/02 → 10/30 单调不减;分组头数 = 0 |
| 真浏览器 · 切回分类排 | ✅ 8 个分组头恢复;行按类别归位 |
| 筛选后仍正确 | ✅ 搜「央行」筛出 9 行,排序规则不变 |
| JS 报错 | ✅ 零 |
| 线上核实 | ✅ 关键内容命中;线上字节与本地完全一致;线上运行时冒烟通过 |
> 部署过程中曾出现一次 Cloudflare 边缘缓存返回旧版(首查 grep 不到「行排序」)。
> 已用本次部署的直连地址 + 缓存绕过参数交叉确认新版确实已发布,等缓存过期后生产域名复查通过。
> 记录在此,供以后部署后立刻验真时参考:首查失败不等于没上线,要用直连地址交叉确认再下结论。
economy-flow 经济流动全景(22 指标压力分 + 五层传导链 + 19 资产预测器)管的是「因果与幅度」——某个指标动了会传导到哪、资产大概怎么变。
build_calendar.py(M-180 宏观数据发布日历)是纯数据 JSON+md 的三年期跟踪表,不是网页,两者不重复;本次未动它。