> 这是一台引擎,不是一篇文章。 换个起点、换段历史、换组资产,它能生成第二份、第三份同样合格的结论。
> 一键运行:python3 MetaZero-OS/scripts/macro_engine/run.py|自检:tests.py(六级测试,退出码 2 = 禁止交付)
> 本轮自检结果:21 项全绿,5 个故意注入的变异全部被闸抓红(证据见文末九闸报告)
1. 现在的身体状况:综合体检压力 50.3/100(中度)。但压力分布极不均匀——估值系统 88.5 分(重度红灯,CAPE 39.6 处于历史 98.6 分位),而货币 28.4、外部 29.1、增长 33.4 都相当健康。翻译成人话:经济本身没什么大病,贵的是资产价格。
2. 现在是哪一种病:按"增长×通胀"四象限判,2025 年落在滞胀象限(增长低于趋势、通胀高于趋势)——注意是相对趋势的滞胀,不是 1970 年代那种绝对滞胀(详见红队 R-2)。
3. 未来十年怎么走、该怎么配:十年里滞胀象限占 30%、过热 26%、衰退通缩 26%、复苏 18%——四个象限没有一个概率超过三分之一,这本身就是最重要的结论:未来十年不可押注单一情景。据此,引擎给出的稳健配置是 股 35% / 债 25% / 金 35% / 现金 5%,其十年年化实际回报中位数 +5.3%(P10 +1.4%、P90 +9.3%),跑输通胀的概率仅 4%——优于 60/40(中位 +5.0%,但跑输通胀概率 10%,最坏年份中位 −16%)。
| 系统 | 压力分 | 状态 | 说明 |
|---|---|---|---|
| 估值 | 88.5 | 🔴 重度 | CAPE 39.6 倍,历史 98.6 分位。唯一的重症 |
| 信用 | 58.5 | 🟠 中度偏高 | 主因联邦债务/GDP 122.6%(历史最高区) |
| 情绪 | 56.5 | 🟠 中度 | 消费者信心低迷,但 VIX 平静——情绪分化 |
| 流动性 | 44.0 | 🟡 中性 | M2 增速温和,金融条件不紧 |
| 增长 | 33.4 | 🟢 健康 | 失业率低、产出缺口接近零 |
| 外部 | 29.1 | 🟢 健康 | 美元与油价均未处极端 |
| 货币 | 28.4 | 🟢 健康 | 利率水平在历史区间中段偏低 |
| 综合 | 50.3 | 🟡 中度 | 加权后被健康的分项拉回中性 |
这张表最该看的一点:风险高度集中在"估值"一格。 这意味着——如果出事,最可能的触发路径不是"经济衰退拖垮股市",而是"估值自己回归,把经济也拖下水"。两者的对冲方式完全不同(见第五节)。
| 项 | 值 |
|---|---|
| 判定年份 | 2025(最后一个完整日历年) |
| 体制 | 滞胀象限 R3(增长↓ 通胀↑) |
| 增长信号 | −0.6(实际 GDP 增速低于过去 10 年中位数 0.6pct) |
| 通胀信号 | +0.43(CPI 高于过去 10 年中位数 0.43pct) |
| 金融危机标记 | 否(三票制 0 票:NFCI 未收紧、信用利差未走阔、失业未跳升) |
> ⚠️ 必须说清楚的一点:这个"滞胀"是相对自己近十年趋势的偏离,量级很小(增长只低 0.6pct、通胀只高 0.43pct)。它与 1974/1980 那种"通胀两位数 + 衰退"的绝对滞胀不是一回事。引擎把它们归到同一象限,是为了让统计有样本;解读时必须记住象限内部差异极大。
样本:1969–2025,共 57 年真实数据。全部为【实际回报】(已扣通胀,购买力口径)。
| 体制 | 年数 | 美股(含股息) | 10年期国债 | 现金/短债 | 黄金 | 一句话 |
|---|---|---|---|---|---|---|
| 复苏 R1(增长↑通胀↓) | 11 | +14.6%(胜率91%) | +5.0% | +1.9% | −6.0%(胜率18%) | 股票通杀,黄金唯一亏钱的象限 |
| 过热 R2(增长↑通胀↑) | 14 | +9.4% | −0.1% | +0.1% | +10.5% | 股金双牛,债券和现金被通胀吃掉 |
| 滞胀 R3(增长↓通胀↑) | 17 | +1.7% | −2.5% | −0.7% | +11.7%(胜率71%) | 股债现金全线跑输通胀,只有黄金赢 |
| 衰退通缩 R4(增长↓通胀↓) | 15 | +8.1% | +8.2%(胜率87%) | +1.2% | +7.0% | 债券的主场,且什么都不太差 |
| 金融危机年(叠加层) | 10 | −6.3% | +4.1% | +0.6% | +9.3%(胜率80%) | 股票唯一为负的情形;金债避险有效 |
| 全样本 | 57 | +7.8% | +2.4% | +0.5% | +6.8% | 长期基准线 |
危机年份清单(三票制判定,可复核):1970、1971、1973、1974、1975、1980、1981、1982、2002、2008。
| 体制 | 美股 | 国债 | 现金 | 黄金 | 该组合年化实际 | 波动σ | 最差年 | 样本 |
|---|---|---|---|---|---|---|---|---|
| 复苏 R1 | 44% | 8% | 46% | 2% | +7.6% | 5.4 | −1.0% | 11年 |
| 过热 R2 | 37% | 11% | 27% | 25% | +6.1% | 6.8 | −3.8% | 14年 |
| 滞胀 R3 | 27% | 6% | 31% | 36% | +4.3% | 13.0 | −15.2% | 17年 |
| 衰退通缩 R4 | 19% | 35% | 26% | 21% | +6.2% | 6.2 | −4.1% | 15年 |
| 金融危机 | 11% | 33% | 33% | 22% | +2.9% | 6.8 | −8.3% | 10年 |
读法(这是全篇最有操作价值的一张表):
上面的表是同期口径(用当年宏观状态解释当年回报),它回答"历史上滞胀年黄金表现如何"。但真要交易,你必须在年初就判断出今年是什么体制。引擎另跑了一版只用上一年末可观测信息(去年增长/通胀 + 收益率曲线 + 金融条件)预判体制:
| 体制 | 同期口径·股票 | 可交易口径·股票 | 同期口径·黄金 | 可交易口径·黄金 |
|---|---|---|---|---|
| 复苏 R1 | +14.6% | +11.1% | −6.0% | −0.5% |
| 过热 R2 | +9.4% | +6.9% | +10.5% | +17.2% |
| 滞胀 R3 | +1.7% | +3.1% | +11.7% | +4.2% |
| 衰退通缩 R4 | +8.1% | +9.5% | +7.0% | +5.4% |
结论要说难听的:滞胀象限里黄金的优势从 +11.7% 缩水到 +4.2%——"事后知道是滞胀"和"事前判断出滞胀",差了三分之二的收益。 这是本报告最重要的诚实披露:
| 今年\明年 | 复苏 | 过热 | 滞胀 | 衰退通缩 |
|---|---|---|---|---|
| 复苏 | 33.3% | 22.2% | 22.2% | 22.2% |
| 过热 | 13.0% | 39.1% | 30.4% | 17.4% |
| 滞胀 | 12.5% | 16.7% | 41.7% | 29.2% |
| 衰退通缩 | 21.7% | 26.1% | 17.4% | 34.8% |
读法:对角线(33%–42%)显著高于随机的 25%,说明体制有黏性——今年是什么,明年大概率还是什么。而滞胀最容易转去的是衰退通缩(29.2%),这是"紧缩治通胀→治过头"的历史规律。
| 年份 | 复苏 | 过热 | 滞胀 | 衰退通缩 |
|---|---|---|---|---|
| 2026 | 12% | 17% | 43% | 28% |
| 2027 | 17% | 24% | 32% | 27% |
| 2028 | 17% | 26% | 31% | 26% |
| 2030 | 18% | 26% | 30% | 26% |
| 2033 | 18% | 27% | 30% | 26% |
| 2035 | 18% | 26% | 30% | 26% |
| 十年平均 | 18% | 26% | 30% | 26% |
这张表的核心信息:起点的滞胀特征在 2–3 年内衰减(43%→31%),之后收敛到稳态分布。十年下来,没有任何一个象限的概率超过 1/3。
| 年份 | P10(乐观) | 中位 | P90(悲观) |
|---|---|---|---|
| 2026 | 32.6 | 43.4 | 55.2 |
| 2028 | 30.2 | 41.0 | 52.9 |
| 2030 | 28.7 | 39.1 | 51.1 |
| 2033 | 26.3 | 37.0 | 48.9 |
| 2035 | 24.9 | 35.7 | 47.5 |
压力中位数从 43.4 缓慢降到 35.7。但这个下降几乎全部来自一个假设:估值均值回归。 拆开看:
| 驱动 | 十年累计对综合分的影响 | 依据与等级 |
|---|---|---|
| 估值回归(CAPE 39.6 → 23.8) | −7.8 分 | 历史类比:过去 CAPE 处同等高分位的起点,10 年后 CAPE 中位为起点的 0.601 倍。样本仅 n=5,仅作方向 |
| 债务/GDP 上升(122.6% → 143.4%) | +0.16 分 | 过去 15 年实际斜率 +2.08pct/年外推。D 级趋势外推,方向与 CBO 长期展望一致 |
> ⚠️ 所以"未来十年更健康"这个结论是有条件的:它成立的前提是高估值真的回归。而估值回归本身,对股票持有人是坏消息不是好消息——体检分变好和你的账户变好,是两回事(见 4.4)。
| 方法 | 未来十年股票**实际**年化回报 | 说明 |
|---|---|---|
| 蒙特卡洛(体制抽样) | +6.6%(P10 −1.1%,P90 +13.4%) | 从历史同体制年份整块抽样,不看当前估值 |
| CAPE 回归锚 | +0.8%(±1σ:−3.9% ~ +5.6%) | log(CAPE) → 未来10年实际回报,R²=0.318,n=69 |
| 分歧 | 5.8pct |
这不是 bug,是本引擎最有价值的一次内部打架。 两个方法各有各的道理:
引擎的处理方式(不装作没看见):取中间地带做了"估值调整情景"——把股票十年中位数从 +6.6% 压到 +3.7%,重新优化配置。结果见下节。
| 方案 | 美股 | 国债 | 现金 | 黄金 | 年化实际 P10/中位/P90 | 十年跑输通胀概率 | 最坏年份(中位) |
|---|---|---|---|---|---|---|---|
| ① 稳健档(推荐) | 35% | 25% | 5% | 35% | +1.4 / +5.3 / +9.3% | 4% | −8% |
| ② 激进档(对数增长最优) | 50% | 0% | 0% | 50% | +1.2 / +6.5 / +12.0% | 6% | −13% |
| ③ 独立锚(体制概率加权) | 30% | 15% | 31% | 24% | — | — | — |
| ④ 估值调整后再优化 | 35% | 25% | 5% | 35% | +0.4 / +4.2 / +8.3% | 8% | −9% |
| — 对照:60/40 | 60% | 40% | 0% | 0% | −0.0 / +5.0 / +9.6% | 10% | −16% |
| — 对照:全天候式 | 30% | 40% | 15% | 15% | +1.0 / +4.1 / +7.0% | 5% | −7% |
| — 对照:等权四资产 | 25% | 25% | 25% | 25% | +1.1 / +4.1 / +7.1% | 4% | −4% |
| — 对照:全股票 | 100% | 0% | 0% | 0% | −1.1 / +6.6 / +13.4% | 14% | −22% |
四条可执行结论:
1. 推荐稳健档(股35/债25/金35/现金5)。它同时赢过 60/40 三项:中位回报更高(5.3% vs 5.0%)、跑输通胀概率更低(4% vs 10%)、最坏年份更浅(−8% vs −16%)。赢的来源只有一个:黄金——因为未来十年通胀高于趋势的象限(过热+滞胀)合计概率 56%,而 60/40 在这两个象限里完全没有对冲工具。
2. 一个重要的稳健性发现:把股票预期回报打掉近 3 个百分点(方案④),最优权重完全没变(仍是 35/25/5/35)。这说明这个配置不依赖"股票会涨多少"这个最不确定的判断——它是靠分散赢的,不是靠预测赢的。这比任何回测数字都更值得信任。
3. 不推荐激进档(股50/金50),尽管它中位回报最高。它是约束边界上的角点解——完全不持债券和现金意味着没有任何东西能在衰退通缩象限(26% 概率)里保护你,最坏年份中位 −13%。对数增长最大化(凯利全额)本身就以高波动容忍为代价,主席若无 10 年不动的确定持有期,不建议采用。
4. 现金的仓位由你的"钱什么时候要用"决定,不由模型决定。模型给 5%(下限),是因为它假设你完全不需要流动性。任何 3 年内可能动用的钱,都应该先从这个组合里划出去再谈配置。
| 触发信号(可每月自查) | 含义 | 建议动作 |
|---|---|---|
| 收益率曲线(10Y−3M)转负并持续 2 个季度 | 领先衰退 12–18 个月(前瞻力评级 5,全体系最高) | 向衰退通缩配置靠:债券 25%→35%,黄金 35%→25% |
| NFCI > 0.5 且 Baa 利差突破近 20 年 85 分位(两票同时) | 触发金融危机层判定 | 切危机配置:股票降到 11%,债+现金各 33% |
| CPI 连续 3 个月低于核心 PCE 且失业率升破 4.5% | 向通缩象限迁移 | 减黄金、加久期 |
| CAPE 回落到 28 以下 | 估值重症解除,最大的那个红灯灭掉 | 股票可上调至 45%+,黄金下调 |
| 失业率年内跳升 ≥0.8pct(Sahm 型) | 衰退已在发生 | 立即切危机配置,不等确认 |
| 美元体系/央行框架发生结构性变更 | ⛔ 超出本引擎能力边界 | 人工接管——历史抽样池里没有对应样本,模型此时不可信 |
| # | 预测 | 判定时点 | 什么算错 |
|---|---|---|---|
| P1 | 2026 年美国宏观落在滞胀或衰退通缩象限(合计 71%) | 2027 年初,用 2026 全年 FRED 数据重跑 classify_year | 落在复苏或过热象限 = 错 |
| P2 | 2026–2035 十年,黄金实际年化回报 > 10年期国债实际年化回报 | 2036 年初 | 债券 ≥ 黄金 = 错 |
| P3 | 稳健档(35/25/35/5)十年年化实际回报落在 +1.4% ~ +9.3% 区间内(P10–P90) | 2036 年初 | 落在区间外 = 模型分布错(20% 先验概率会自然落外) |
| P4 | 美股 2026–2035 实际年化回报低于 +6.6%(即 CAPE 锚方向对、蒙特卡洛偏乐观) | 2036 年初 | ≥ +6.6% = 错,说明估值锚在当前结构下失效 |
| # | 最强反对 | 引擎的回应 | 是否已处理 |
|---|---|---|---|
| R-1 | "蒙特卡洛无视了当前的极端估值,十年股票回报 +6.6% 是幻觉。" | 这条成立。CAPE 锚给 +0.8%,分歧 5.8pct。已在 4.4 全文披露,并给出估值调整情景(+3.7%);且已证明推荐配置对这个假设不敏感(权重不变) | ✅ 披露+对冲 |
| R-2 | "把 2004/2005/2016/2025 叫'滞胀',和 1974/1980 混在一个样本里算平均,等于把小感冒和肺炎放一起统计。" | 这条成立且是本引擎最大的方法论弱点。相对趋势定义让样本变多(统计才有意义),代价是象限内部异质性极大。缓解:所有统计同时报中位数、σ、最差年、胜率——滞胀象限黄金 σ 高达 34.0、最差年 −38.1%,读者能看到"平均 +11.7%"背后的巨大离散 | ⚠️ 部分(v2 应加"体制强度"维度) |
| R-3 | "57 年只有 4 个象限,每个象限 11–17 个样本,最优权重就是噪声。" | 用自助法 800 次重采样取稳健权重,并报权重的自助标准差;n<8 自动标低可信、n<3 拒绝出结论。但样本量的根本限制无法用统计手段消除 | ✅ 缓解,非根治 |
| R-4 | "黄金 1969 起的样本,恰好始于金本位解体前夜,起点极端有利。" | 这条成立。1969–1980 黄金实际年化极高(含 1979 年 +126.5%)。未处理:v2 应给"剔除 1970s"敏感性 | ❌ 已知缺口(见第八节) |
| R-5 | "用当年宏观解释当年回报,不可交易。" | 已做可交易口径全套对照,并诚实公布收益缩水(滞胀黄金 +11.7%→+4.2%) | ✅ 已处理 |
| R-6 | "股债相关性 2022 年后转正,用历史协方差会低估同跌风险。" | 协方差按体制分别计算,不用全样本单一相关。滞胀象限的协方差本身就包含了股债同跌的年份(1969/1974/2022) | ✅ 已处理 |
| R-7 | "结构性断裂(美元体系更替、央行框架剧变)你根本算不了。" | 完全成立,属已知不可解。历史抽样池里没有对应样本。已写进触发器:此类事件发生时人工接管,模型停用 | ⚠️ 明示边界 |
| R-8 | "CAPE 均值回归的类比样本只有 n=5,凭什么让它决定十年压力路径的方向?" | 成立。该项已明确标注"样本少 n=5,仅作方向",且压力路径同时给出了剔除结构漂移的纯周期分量供对照 | ✅ 披露 |
| 数据 | 来源 | 口径 | 等级 |
|---|---|---|---|
| 22 项宏观指标 1947–2026 | FRED(圣路易斯联储)官方序列,原始 CSV 已落盘 data/macro_engine/raw/ | 年末值/Dec-Dec同比/年均,逐项标注 | E1 |
| 美股总回报 1872–2025 | Robert Shiller ie_data.xls(耶鲁官方) | 含股息,月度 (P+D/12)/P_prev 累乘 | E1(⚠️见下方口径说明) |
| 黄金 1969–2025 | LBMA 官方 PM 定盘价 | 年末定盘价同比 | E1 |
| 10年期国债总回报 1954–2025 | FRED GS10 | par-bond 精确重定价(非久期近似),教科书标准法 | E1(价格)+ 标准重构(回报) |
| 现金回报 1934–2025 | FRED TB3MS | 当年 3 个月国库券月均 | E1 |
| 22 指标方向/历史区间/7系统权重 | 复用仓库 economy-flow(已专家审定) | 不另造标尺 | 继承 |
| 结构漂移三条倾斜 | 债务=15年斜率外推、老龄化/AI=机构区间保守下沿 | D 级推算,非官方投影 | D |
| 2027–2035 全部预测 | 本引擎蒙特卡洛输出 | 推算,非事实 | D |
> 口径诚实说明(GIGO 闸留痕):Shiller 的价格是月平均价而非月末价,故逐年回报与"12月31日→12月31日"口径存在系统性差异。实测校验:1931 −41.8%(公认 −43.8%)、2008 −39.2%(公认 −37.0%)、1974 −26.1%(公认 −26.5%)、2022 −15.0%(公认 −18.1%)——逐年偏差 0.4–4.5pct,符号与量级全部正确;154 年名义年化 +9.34%、债券 72 年 +5.17%、现金 92 年 +3.37%、黄金 57 年 +8.49%、通胀 +3.43%,全部与公认长期值吻合。该偏差对年度体制统计(粗粒度)影响可接受,但不可用于单年精确交易复盘。
| 闸 | 结果 | 证据 |
|---|---|---|
| ① 基线闸 | ✅ | 对标 12 项现存最好实现(桥水四象限/美林时钟/Hamilton/NBER/JPM LTCMA/GMO/AQR/Ibbotson/Kelly/CBO/学术回测规范/风险平价),逐项写明本引擎做到与没做到,见 SPEC 层0 |
| ② 骨架闸 | ✅ | 12 类运作逻辑逐类穷举无留空(守恒/状态转移/因果传导/硬边界/反馈回路/速率尺度/稀缺竞争/交互冲突/随机分布/生命周期/跨尺度/主体激励),每条挂"违反时能看到什么"+测试ID |
| ③ 生成 | ✅ | 一条命令生成完整结论:run.py |
| ④ 排除 | ✅ | 会拒绝:n<3 的体制拒出组合(ADV-04 实测)、超时间分辨率的提问拒答、数据缺失报错中断不插值 |
| ⑤ 丰满 | ✅ | 4 层 × 22 体征 × 4+1 体制 × 4 资产 × 10 年 × 20000 路径 + 4 档配置 + 6 条触发器 |
| ⑥ 复述 | ✅ | 每个结论都可回溯到具体年份清单(体制年份表已全量公布) |
| ⑦ 删除 | ✅ | 删掉任一层都塌:删体制层→回测无从分组;删回测层→建议无依据;删测试层→无人知道对错 |
| ⑧ 可复现 | ✅ | REG-01/02 实测:固定种子两次运行逐位一致 |
| ⑨ 完整性闸 | ✅ | 六级测试 21 项全绿;5 个 canary 变异全部被抓红(C1 转移矩阵行和≠1 / C2 权重超上限 / C3 用未来数据定体制 / C4 体制定义偷看资产回报 / C5 实际回报用减法冒充) |
变异测试真的抓出了三个缺陷,且都已修复:
1. INV-02 抓出稳健权重破上限:clip(w, 0, cap) 后再归一化,会把没触顶的分量又推过上限(R3/R4 实测破了 50% 线)。→ 改为水填充投影 project_simplex_cap,循环到收敛。
2. canary C3 抓出 INV-04 这道闸本身有盲区:原判据"砍掉尾部数据后历史标签不变",对"用未来 N 年数据"的作弊永远绿——因为那些年在缩短的样本里根本算不出标签、不参与比较。→ 判据改为"可标注末端 == 数据末端"(只用过去→落差 0;用了未来 k 年→落差 k),重测后作弊样本被成功抓红。
3. 估值调整档用错了评估世界:一度在"乐观世界"的回报矩阵上给"悲观方案"打分。→ 改为在调整后的矩阵上评估。
> 这三条正是 UEG 底线 10 的意义:没有变异证据,就不许说"闸抓出了缺陷"。 现在有了。
`bash
python3 MetaZero-OS/scripts/macro_engine/run.py
python3 MetaZero-OS/scripts/macro_engine/run.py --refresh
python3 MetaZero-OS/scripts/macro_engine/run.py --paths 50000
python3 MetaZero-OS/scripts/macro_engine/tests.py --verbose
`
改假设的地方(人类控制点):
engine.py → STRUCTURAL_TILT:改三条结构性倾斜(财政主导/老龄化/AI 生产率)engine.py → CORE:换资产集合run.py → cap / min_w:改集中度上限与最低分散度engine.py → TREND_WIN:改体制判定的趋势窗口产物:
MetaZero-OS/13-Futures/data/macro_engine/panel.json — 真值底座(所有原始数据)MetaZero-OS/13-Futures/data/macro_engine/results.json — 全部结论(网页与报告的唯一数据源)MetaZero-OS/13-Futures/data/macro_engine/test_report.json — 自检报告MetaZero-OS/01-Protocol/宏观体检十年预测组合引擎-MCE-SPEC-v1.md — 引擎规格(23格+12类骨架)