国债基差交易:对冲基金 8000 亿美元头寸的脆弱性
基差交易被描述为「捕捉几个基点的定价错配」,但 5bp 基差在 1x 无杠杆下年化 ROE 只有 0.10%——比国库券本身还低。杠杆不是贪婪,是盈亏平衡的算术条件:开到 50x 才有 4.06%,开到 100x 也只有 6.32%,而存活率已从 100% 掉到 77.48%。2 万条路径受控模拟给出的决定性对照:把基差波动设为精确 0(方向永远正确、到期必然收敛),爆仓率只从 1.615% 降到 1.465%——保留了基准的 90.7%。这不是判断错误,是融资事故。唯一能让它精确归零的旋钮是抵押品变现比例 phi:phi=1 时爆仓率精确 0.000000%,因为时点错配消失了。剂量反应干净到可当教材:phi 从 0.70 到 1.00 对应 39.19%→0%。真正的机制是现金流时点——期货端逐日盯市当天必须付现金,现券端浮盈只是账面数字。haircut 只涨 1pp(杠杆 50x→33x)爆仓率就冲到 96.55%。对冲比例 1.10 时爆仓率 21.63%,「市场中性」是近似说法。ROE 偏度 −11.16,天真 t 检验说 1 笔就够——这个数字毫无意义。收益率波动 200bp 时被迫抛售 2749 亿美元。12 宇宙 CV=0.072
核心结论:国债基差交易的爆仓不需要基差走阔,甚至不需要判断错误。 一个方向完全正确、到期必然收敛的头寸,可以在收敛之前被现金流杀死。
2 万条路径的受控模拟(基差到期必然收敛到 0 由构造保证)给出的决定性对照:把基差波动设为精确 0——意味着基差只走确定性收敛路径、永远不走阔、你的判断永远正确——爆仓率从 1.615% 只降到 1.465%,保留了基准的 90.7%。
而唯一能让它精确归零的,是让现券端的浮盈可以当天变现(phi=1):爆仓率 0.000000%。
这是一场融资事故,不是投资失误。

一、先算一笔账:为什么必须开 50 倍杠杆#
基差交易的结构:买入现券(cash Treasury)+ 卖出对应期货合约。当期货价格相对现券偏贵时,这个价差(净基差)会在交割日必然收敛到零。理论上是一笔无风险套利。
问题在于价差有多大。典型净基差是 几个基点。本文取 5 bp、持有 90 天。
那么无杠杆做这笔交易能赚多少?
| 杠杆 | haircut | 每 100 面值自有资金 | 年化 ROE | 存活率 |
|---|---|---|---|---|
| 1x | 100% | 135.00 | 0.10% | 100.00% |
| 5x | 20% | 27.00 | 0.43% | 100.00% |
| 20x | 5% | 6.75 | 1.65% | 100.00% |
| 33x | 3.03% | 4.09 | 2.71% | 99.98% |
| 50x | 2% | 2.70 | 4.06% | 98.45% |
| 66x | 1.52% | 2.05 | 5.10% | 93.62% |
| 100x | 1% | 1.35 | 6.32% | 77.48% |
1x 无杠杆时年化 0.10% —— 比直接持有国库券还低。没有任何机构会为这个数字动手。
而毛基差收益恒定在 5.00 bp/面值,与杠杆完全无关。它是标的的属性。杠杆做的唯一一件事,是改变分母。
所以:50 倍杠杆不是贪婪,是这笔交易存在的前提。要摸到 4% 年化就得开到 50x。而从 1x 到 100x,ROE 放大 61 倍,存活率从 100% 压到 77.48%。
这个结构性事实决定了后面所有的脆弱性。你不能建议他们「少用点杠杆」——那等于建议他们别做这笔交易。
二、真正的机制:两条腿在现金流上不对冲#
基差交易在经济上是对冲的:收益率上行,现券亏、期货空头赚,净额几乎为零。
但在现金流时点上完全不对冲:
| 现券多头 | 期货空头 | |
|---|---|---|
| 收益率上行时 | 浮亏 | 浮盈 |
| 收益率下行时 | 浮盈 | 浮亏 → 当天必须付现金 |
| 结算方式 | 回购融资,浮盈是账面数字 | 逐日盯市,现金交割 |
期货端由交易所每日结算,亏了当天就要划钱。现券端的对冲浮盈要变成能交保证金的现金,需要重新做回购融资——而这需要时间,且在压力期未必做得成。
本文用一个参数 phi 刻画这件事:现券浮盈的当日可变现比例。phi=1 表示浮盈可以瞬间变现(时点错配消失),phi=0.9 表示只有 90% 能当天用上。
基准设定:
| 参数 | 值 |
|---|---|
| 初始净基差 | 5.0 bp |
| 持有期 | 90 交易日 |
| haircut | 2%(杠杆 50x) |
| 现金缓冲 | 权益的 35% |
| 抵押品变现比例 phi | 0.90 |
| 收益率年化波动 | 75 bp |
| DV01 | 0.0655 / 100 面值 |
基准结果:每 100 面值投入权益 2.00 + 现金缓冲 0.70 = 总资本 2.70。90 日平均 ROE +1.4436%,年化 +4.04%,存活率 98.385%。
账本拆分(bp/面值):基差 +4.944、回购利差 −1.047、对冲残差 +0.000。
三、决定性对照:拆掉每一根柱子#
| 设定 | 爆仓率 | 年化 ROE | 判读 |
|---|---|---|---|
| 基准 | 1.615% | +4.04% | — |
| 基差波动 = 0 | 1.465% | +4.05% | 方向永远对,照样死 |
| 收益率波动 = 0 | 0.000% | +4.10% | 无追缴则无事 |
| 两者 = 0(安慰剂) | 0.000000% | +4.10% | 引擎自洽 |
| phi = 1 | 0.000000% | +4.10% | 时点错配精确消失 |
第二行是全文最重要的一个数字。基差绝不走阔的世界里,爆仓率保留了基准的 90.7%。
在那个世界里,你的交易判断是由构造保证正确的:基差从 5bp 单调收敛到 0,持有到期一定赚钱。但仍有 1.465% 的头寸死掉了——它们是被期货端的保证金追缴打死的,而那些追缴对应的现券浮盈明明就在账上,只是当天动不了。
第五行给出唯一的解药,也证明了机制归属:phi=1 时爆仓率精确为 0.000000%。不是「很小」,是精确零。
四、剂量反应:时点错配是唯一的引擎#
| phi | 0.70 | 0.80 | 0.85 | 0.90 | 0.94 | 0.97 | 1.00 |
|---|---|---|---|---|---|---|---|
| 爆仓率 | 39.19% | 21.36% | 10.98% | 1.72% | 0.025% | 0.00% | 0.00% |
| 年化 ROE | 2.21% | 3.21% | 3.67% | 4.03% | 4.10% | 4.10% | 4.10% |
单调、跨越两个数量级、在 phi→1 处精确归零。这是一条教科书级的剂量反应曲线。
而 phi 从 0.90 掉到 0.85 —— 一个听起来微不足道的抵押品变现效率下降 —— 爆仓率涨 6.4 倍。
2020 年 3 月发生的正是这件事:不是国债的基本面出了问题,是回购市场的变现效率在几天内塌了。
import numpy as np
def cash_flow_gap(dy_bp, dv01=0.0655, phi=0.90, hedge=1.0):
"""
两条腿的经济净额 vs 当日现金净额
dy_bp: 收益率变动(bp),正 = 上行
"""
fut_mtm = hedge * dv01 * dy_bp # 期货空头:收益率上行则赚
cash_mtm = -dv01 * dy_bp # 现券多头:反向
economic = fut_mtm + cash_mtm # 经济净额(对冲残差)
cash_now = fut_mtm + phi * cash_mtm # 当日可动用现金
return economic, cash_now
for dy in [-10, -5, 0, 5, 10]:
eco, cash = cash_flow_gap(dy)
print(f"收益率 {dy:+3d}bp: 经济净额 {eco:+.5f} 当日现金 {cash:+.5f} 缺口 {cash-eco:+.5f}")
# 收益率 -10bp: 经济净额 +0.00000 当日现金 -0.06550 缺口 -0.06550
# 收益率 -5bp: 经济净额 +0.00000 当日现金 -0.03275 缺口 -0.03275
# 收益率 +0bp: 经济净额 +0.00000 当日现金 +0.00000 缺口 +0.00000
# 收益率 +5bp: 经济净额 +0.00000 当日现金 +0.03275 缺口 +0.03275
# 收益率 +10bp: 经济净额 +0.00000 当日现金 +0.06550 缺口 +0.06550python经济净额恒为零(完美对冲),但当日现金流不为零。收益率下行 10bp 时,账面上你一分钱没亏,现金账户却少了 0.0655——占总资本 2.70 的 2.43%。连续几天就能吃穿缓冲。
注意缺口是双向的:收益率上行时你反而多出现金。但这个不对称性救不了你——多出来的现金只是让你活到下一次,而一次不够就出局。这是一个吸收态问题,不是均值问题。

五、为什么没人多留现金#
现金缓冲能有效降低爆仓率。那为什么不多留?
| 缓冲(占权益) | 0% | 15% | 25% | 35% | 50% | 100% | 150% |
|---|---|---|---|---|---|---|---|
| 爆仓率 | 94.23% | 28.93% | 8.39% | 1.51% | 0.075% | 0.00% | 0.00% |
| 年化 ROE | −2.64% | 3.31% | 4.07% | 4.04% | 3.68% | 2.77% | 2.21% |
零缓冲时爆仓率 94.23% —— 这个策略离不开缓冲。但过了 25%,每多留一分现金就直接稀释一分 ROE:100% 缓冲时 ROE 掉到 2.77%,150% 时只剩 2.21%。
ROE 的峰值在 25% 缓冲处(4.07%),而爆仓率在那里还有 8.39%。收益最大化点和风险最小化点不在同一个位置,且相距很远。
这就是整个行业的处境:竞争压力把每个人都推向 ROE 最优点附近,而那个点的爆仓率是两位数。任何单家机构多留缓冲,都会在业绩排名上落后。
六、haircut 才是真正的扳机#
回购折扣率上升,等于强制降杠杆。而它上升得非常快:
| haircut 冲击 | 隐含杠杆 | 爆仓率 | 年化 ROE |
|---|---|---|---|
| +0.00pp(2.00%) | 50.0x | 1.59% | +4.05% |
| +0.25pp(2.25%) | 44.4x | 10.99% | +3.69% |
| +0.50pp(2.50%) | 40.0x | 40.85% | +2.42% |
| +1.00pp(3.00%) | 33.3x | 96.55% | −0.37% |
| +2.00pp(4.00%) | 25.0x | 100.00% | −0.50% |
haircut 只涨 1 个百分点,爆仓率就到 96.55%。
这是因为 haircut 上升要求立即补缴 Δhaircut × 面值 = 1% × 100 = 1.00 的现金,而总资本只有 2.70、现金缓冲只有 0.70。补不上就是强平。
从风险管理的角度,这是最难防的一项:它不是市场变量,是交易对手的政策决定,可以在一夜之间生效,且所有回购交易商倾向于同时调整。
七、「市场中性」是个近似说法#
对冲比例(现券 DV01 / 期货 DV01)在实践中不可能精确等于 1——期货的可交割券会切换,转换因子会变,久期会漂移。
| 对冲比例 | 0.90 | 0.95 | 1.00 | 1.05 | 1.10 |
|---|---|---|---|---|---|
| 爆仓率 | 0.00% | 0.00% | 1.52% | 10.29% | 21.63% |
| ROE 标准差 | 10.96% | 5.48% | 0.23% | 5.69% | 10.99% |
一个不对称的结果:欠对冲(<1.0)反而不爆仓,过度对冲(>1.0)爆仓率飙升。
原因在现金流方向上:过度对冲意味着期货空头头寸偏大,收益率下行时期货端的现金亏损超过现券端浮盈的可变现部分,缺口被放大。而欠对冲时期货端头寸小,追缴压力小——代价是 ROE 标准差从 0.23% 涨到 10.96%,风险从「爆仓」转移到「方向性敞口」。
这两种风险不可比:欠对冲让你承担利率方向风险(可能大赚大亏),过度对冲让你面临强制平仓(不可逆)。大多数风险系统会奖励前者、惩罚后者,而它们的报表看起来一样中性。
八、收益率波动与系统性映射#
| 收益率年化波动 | 40bp | 55bp | 75bp | 100bp | 140bp | 200bp |
|---|---|---|---|---|---|---|
| 爆仓率 | 0.00% | 0.15% | 1.54% | 6.36% | 18.44% | 34.36% |
| 年化 ROE | 4.10% | 4.09% | 4.04% | 3.87% | 3.37% | 2.59% |
非线性上升:波动翻倍(75→140bp)爆仓率涨 12 倍。
把这个映射到行业规模。假设全行业名义头寸 8000 亿美元(800 billion)、haircut 2%、缓冲 35%:
背后的自有资金只有 216 亿美元 —— 占名义规模的 2.70%。
| 收益率波动 | 爆仓率 | 被迫抛售国债 |
|---|---|---|
| 75bp(常态) | 1.54% | 123 亿美元 |
| 100bp | 6.36% | 509 亿美元 |
| 140bp | 18.44% | 1475 亿美元 |
| 200bp | 34.36% | 2749 亿美元 |
而这些抛售本身会推高收益率波动,触发下一轮——本文没有建模这个反馈环,所以上表是下界。

九、死在收敛之前#
爆仓时点分布:中位第 74 日,10/90 分位 [51, 87],而目标持有期是 90 日。
大多数爆仓发生在最后三分之一 —— 此时基差已经收敛了大半,账面浮盈最多,离终点最近。
存活组平均 ROE +1.463%,爆仓组 +0.262%(差 1.201pp)。注意爆仓组仍然是正收益:它们已经赚到了大部分基差收敛,只是被强平时损失了剩余部分加上冲击成本。
这不是「亏钱的交易」,是「没能拿到全部利润的交易」 ——但在 50 倍杠杆下,少拿 1.2pp 的 ROE 意味着这一季白干。
十、样本量红线:一个会骗人的 t 统计量#
单笔 ROE:均值 +1.4436%、SD 0.2614%、偏度 −11.16。
天真的样本量计算说:需要 1 笔就能达到 |t|=2。
这个数字毫无意义。 均值/标准差比值好看,是因为 98.4% 的路径挤在一个极窄的正收益峰里(5 分位和 95 分位都精确等于 1.4630%——它们全是完好存活到期的头寸),全部风险集中在左尾的 1.6%。
偏度 −11.16 意味着分布严重违反 t 检验的正态假设。用常规统计量评估这个策略,会得出「极其稳健」的结论——而它的真实风险结构是「几乎总是赚一点点,偶尔一次把本金打穿」。
这正是这类策略在业绩报告上长期漂亮的原因:在爆仓发生之前,所有指标都完美。

十一、对抗式审查:怀疑过并排除的点#
-
「爆仓会不会只是因为基差随机走阔?」 决定性对照排除:基差波动精确为 0 时爆仓率仍有 1.465%(保留 90.7%)。
-
「phi=1 归零会不会是数值巧合?」 不是。phi=1 时现券浮盈完整计入当日现金,两条腿的现金流恒等式使净额精确等于经济净额(恒为 0),数学上不可能出现现金缺口。phi=0.97 时也已精确为 0。
-
「结算延迟为什么几乎没影响?」 实测 0/1/2/3 日延迟对应 1.450%/1.425%/1.413%/1.413%。这是个诚实的负面结果:延迟只是平移现金流序列,不改变累计缺口。真正致命的是缺口的大小,不是它到账的时点——这与我的初始预期相反。
-
「对冲残差为什么精确等于 0.000?」 基准 hedge=1.0 时两条腿的 DV01 完全抵消,这是构造设定。对冲比例扫描(0.90~1.10)就是在检验偏离这个理想状态的后果。
-
「12 宇宙稳不稳?」 爆仓率均值 1.603%、SD 0.115pp、CV = 0.0715。
-
「ROE 的 5 分位和 95 分位为什么相同?」 因为 98.4% 的路径完好存活,它们的 ROE 由确定性的基差收敛决定,完全相同。这不是 bug,是这个策略风险结构的直接体现。
十二、结论与诚实边界#
能确认的:
- 50 倍杠杆是这笔交易的存在前提,不是风险偏好选择(1x 时 ROE 0.10%)
- 爆仓的主因是现金流时点错配,不是判断错误(基差零波动世界保留 90.7% 的爆仓)
- 唯一能精确消除它的旋钮是抵押品变现效率 phi,而这个变量在压力期不由基金控制
- haircut 上升 1pp 就足以让爆仓率到 96.55%,它是交易对手的政策变量
- 常规统计量会系统性低估这个策略的风险(偏度 −11.16)
边界:
- 没有建模反馈环。真实的去杠杆会推高收益率波动、进一步触发爆仓,本文的系统性抛售估计是下界
- 没有建模央行干预。2020 年 3 月的实际结局是美联储直接购债,这在模型里不存在——这意味着历史数据会系统性低估这个策略的尾部风险,因为最坏的那次被救了
- 基差路径用的是「确定性收敛 + 高斯扰动」,没有建模交割期权(可交割券切换)的非线性
- 8000 亿美元的规模假设来自公开讨论的量级,本文用它做敏感度映射而非精确预测;结论的定性部分不依赖这个具体数字
- 单一持有期(90 日)和单一 DV01。实践中头寸跨多个期限,风险会有分散效应
最后一点值得强调:这个策略的社会成本和私人成本不对称。单家基金爆仓损失的是自己的 2.70% 权益;而所有基金同时爆仓,抛售的是 8000 亿美元名义的国债 —— 后者的承受方是整个融资市场。
而每一家在自己的风险系统里看到的,都是一个 Sharpe 极高、回撤极小、偏度告诉你「几乎从不亏钱」的策略。