第 08 课:Beta、对冲与市场中性
你以为在做 Alpha,实际上可能只是在赌方向。
一个典型场景(示意)
注:以下为合成示例,用于说明常见现象;数字为示意,不对应任何具体机构/产品。
2021 年,某量化团队向投资者展示了他们的业绩:年化收益 32%,夏普比率 1.8,最大回撤仅 12%。投资者欣然投入资金。
一年后,投资者发现了真相:
那一年,纳斯达克 100 指数上涨了 27%。
当他们做了一个简单的回归分析后,结果令人尴尬:
- Beta = 1.15(策略与大盘高度相关)
- 真正的 Alpha = 32% - 1.15 × 27% = 1%
换句话说,这个"高收益策略"的 80% 收益来自市场本身的上涨,而非任何独特的交易技能。
更糟糕的是,2022 年市场下跌 33% 时,这个策略亏了 38%。投资者这才明白:他们买的不是"Alpha 策略",而是一个加了杠杆的市场赌注。
这个故事的教训:
不理解 Beta,你就不知道自己的收益从哪里来;不理解对冲,你就不知道自己的风险在哪里。
8.1 重新理解 Beta
8.1.1 Beta 的本质
在第一课的背景知识中,我们简单介绍过 Alpha 和 Beta。现在让我们更深入地理解它们。
Beta (β) 衡量的是你的投资组合相对于市场基准的敏感度。
β = 1.0 → 市场涨 10%,你涨 10%
β = 1.5 → 市场涨 10%,你涨 15%(但跌的时候也会多跌 50%)
β = 0.5 → 市场涨 10%,你涨 5%(波动减半)
β = 0 → 你的收益与市场涨跌无关(这就是"市场中性")
β < 0 → 市场涨时你跌,市场跌时你涨(反向)
8.1.2 为什么 Beta 比 Alpha 更重要?
很多人痴迷于寻找 Alpha,却忽略了一个残酷的现实:
| 维度 | Beta 收益 | Alpha 收益 |
|---|---|---|
| 来源 | 承担市场风险的回报 | 独特技能/信息的回报 |
| 可获得性 | 任何人都能获得(买指数) | 极少数人能持续获得 |
| 成本 | 极低(指数基金费率 0.03%) | 极高(对冲基金费率 2%+20%) |
| 容量 | 几乎无限 | 有限(Alpha 会衰减) |
| 可持续性 | 长期稳定(市场风险溢价) | 不确定(策略可能失效) |
关键洞察:
如果你的策略 Beta = 1,那么你的"策略收益"中有多少是 Alpha,有多少是 Beta?
大部分散户和很多"量化基金"的收益,80% 以上来自 Beta。
8.1.3 纸上练习:分解你的收益
场景:你的策略在过去一年表现如下:
- 策略收益:+25%
- 同期标普 500(基准):+18%
- 你的策略 Beta(通过回归计算):1.2
问题:你的真正 Alpha 是多少?
Alpha = 策略收益 - Beta × 基准收益
Alpha = 25% - 1.2 × 18%
Alpha = 25% - 21.6%
Alpha = 3.4%
注:严格定义下,Alpha/Beta 通常用“超额收益”(减无风险利率)做回归,Alpha 为回归截距;这里用简化公式做直观估算。
解读:
- 你以为自己赚了 25%
- 实际上,21.6% 是因为你承担了比市场更高的风险(Beta = 1.2)
- 只有 3.4% 是你的"真本事"
- 如果市场明年跌 20%,你可能会亏 24%(1.2 × 20%)
💻 代码实现(工程师参考)
import numpy as np
import pandas as pd
from scipy import stats
def decompose_returns(strategy_returns: pd.Series,
benchmark_returns: pd.Series,
rf_rate: float = 0.02) -> dict:
"""
分解策略收益为 Alpha 和 Beta 部分
参数:
strategy_returns: 策略日收益率序列
benchmark_returns: 基准日收益率序列
rf_rate: 年化无风险利率
返回:
包含 alpha, beta, r_squared 的字典
"""
# 转换为超额收益
rf_daily = rf_rate / 252
excess_strategy = strategy_returns - rf_daily
excess_benchmark = benchmark_returns - rf_daily
# 线性回归: R_strategy = alpha + beta * R_benchmark
slope, intercept, r_value, p_value, std_err = stats.linregress(
excess_benchmark, excess_strategy
)
beta = slope
alpha_daily = intercept
alpha_annual = alpha_daily * 252 # 年化
# 收益分解
# 注意:这里用“复利累计收益”而不是简单求和,更接近日常回测口径
total_return = (1 + strategy_returns).prod() - 1
benchmark_total_return = (1 + benchmark_returns).prod() - 1
beta_contribution = beta * benchmark_total_return
alpha_contribution = total_return - beta_contribution
return {
'beta': beta,
'alpha_annual': alpha_annual,
'r_squared': r_value ** 2,
'total_return': total_return,
'benchmark_total_return': benchmark_total_return,
'beta_contribution': beta_contribution,
'alpha_contribution': alpha_contribution,
'beta_pct': beta_contribution / total_return * 100 if total_return != 0 else 0
}
# 示例使用
# result = decompose_returns(strategy_rets, spy_rets)
# print(f"Beta: {result['beta']:.2f}")
# print(f"Alpha (年化): {result['alpha_annual']:.2%}")
# print(f"收益中 Beta 占比: {result['beta_pct']:.1f}%")8.2 对冲的本质
8.2.1 什么是对冲?
对冲 (Hedging) 的核心思想非常简单:
通过持有相反方向的头寸,抵消你不想承担的风险。
类比:你买了一张北京飞上海的机票,但担心航班取消。你可以同时买一张同一时间的高铁票作为"对冲"——如果航班正常,高铁票浪费了(对冲成本);如果航班取消,高铁票救了你。
8.2.2 名义对冲 vs Beta 对冲
这是很多人犯的第一个错误:以为等金额就是等风险。
案例:
你持有 100 万美元的科技股组合(Beta = 1.5)。为了对冲,你做空 100 万美元的标普 500 ETF(Beta = 1.0)。
问题:这是完美对冲吗?
你的多头 Beta 敞口:100万 × 1.5 = 150万
你的空头 Beta 敞口:100万 × 1.0 = 100万
净 Beta 敞口:150万 - 100万 = 50万 (做多)
你还有 50 万的 Beta 敞口没有对冲掉!
正确的 Beta 对冲:
需要做空的金额 = 多头金额 × (多头Beta / 空头工具Beta)
= 100万 × (1.5 / 1.0)
= 150万
验证:
多头 Beta 敞口:100万 × 1.5 = 150万
空头 Beta 敞口:150万 × 1.0 = 150万
净 Beta 敞口:0 ✓
8.2.3 纸上练习:计算对冲比例
| 场景 | 多头持仓 | 多头 Beta | 空头工具 Beta | 需做空金额 | 验算 |
|---|---|---|---|---|---|
| A | $500K 成长股 | 1.3 | 1.0 (SPY) | ? | ? |
| B | $1M 公用事业股 | 0.6 | 1.0 (SPY) | ? | ? |
| C | $800K 科技股 | 1.8 | 1.2 (QQQ) | ? | ? |
点击展开答案
| 场景 | 计算过程 | 需做空金额 | 净 Beta |
|---|---|---|---|
| A | $500K × 1.3 / 1.0 | $650K | 500K×1.3 - 650K×1.0 = 0 |
| B | $1M × 0.6 / 1.0 | $600K | 1M×0.6 - 600K×1.0 = 0 |
| C | $800K × 1.8 / 1.2 | $1.2M | 800K×1.8 - 1.2M×1.2 = 0 |
关键发现:
- 场景 A:需要做空超过多头金额,因为多头 Beta > 1
- 场景 B:需要做空少于多头金额,因为多头 Beta < 1
- 场景 C:用 QQQ 对冲需要考虑 QQQ 本身的 Beta
8.3 对冲工具对比
8.3.1 ETF 对冲 vs 股指期货对冲
| 维度 | ETF 做空 | 股指期货 |
|---|---|---|
| 资金效率 | 低(Reg T 要求 ≥150% 保证金) | 高(只需 5-15% 保证金) |
| 成本 | 融券利息(0.5-50%/年,视券源) | 基差成本(低利率时 <1%,高利率时 2-4%/年) |
| 滚动 | 无 | 需要每月/季度换约 |
| 精确度 | 可以精确匹配金额 | 合约规模固定 |
| 可得性 | 取决于券商融券库存 | 标准化合约,流动性好 |
| 散户可用 | 部分可用 | 通常需要专业账户 |
8.3.2 基差风险
基差 (Basis) = 期货价格 - 现货价格
这是用期货对冲时最大的隐藏风险:
正常情况:
期货溢价 = 现货价格 + 持有成本(利息 - 股息)
基差通常为正,且随到期日收敛至零
异常情况(危机时):
大量资金涌入期货做空
期货大幅贴水(期货 < 现货)
你的对冲头寸反而亏钱
示例(近似):2020 年 3 月
注:下表为近似示意,主要用于说明“基差风险”的机制,非逐条对账数据。
| 日期 | 标普 500 现货 | 标普 500 期货 | 基差 | 影响 |
|---|---|---|---|---|
| 3/9 | 2746 | 2730 | -16 | 期货小幅贴水 |
| 3/12 | 2480 | 2400 | -80 | 严重贴水 |
| 3/16 | 2386 | 2280 | -106 | 极端贴水 |
影响:如果你做空期货对冲,你不仅承受了现货下跌的损失,还因为期货贴水扩大而额外亏损。
8.3.3 对冲成本的现实考量
| 成本类型 | 来源 | 年化估算 | 备注 |
|---|---|---|---|
| 融券利息 | 借入股票/ETF 做空 | 1-10% | 热门股可能 > 30% |
| 期货基差 | 期货溢价成本 | 0.5-2% | 正常市场 |
| 交易成本 | 买卖价差 + 佣金 | 0.1-0.3%/次 | 期货更低 |
| 滚动成本 | 期货换约 | 0.1-0.5%/次 | 每月/季度 |
| 机会成本 | 保证金/资金占用 | 2-5% | 无风险利率 |
关键公式:
对冲后净收益 = Alpha - 对冲成本
如果 Alpha < 对冲成本,对冲策略就是亏钱的。
8.4 市场中性策略
8.4.1 什么是"真正的"市场中性?
市场中性 (Market Neutral) 意味着:
无论市场涨跌,策略收益都不受影响(Beta ≈ 0)
8.4.2 市场中性的三个层次
| 层次 | 定义 | 难度 | 效果 |
|---|---|---|---|
| Dollar Neutral | 多空金额相等 | 简单 | 不能真正消除 Beta |
| Beta Neutral | 多空 Beta 敞口相等 | 中等 | 消除市场风险 |
| Factor Neutral | 多空因子敞口相等 | 困难 | 消除多种系统性风险 |
Dollar Neutral 的问题:
假设:
多头:100 万科技股(Beta = 1.5)
空头:100 万公用事业股(Beta = 0.6)
看起来是"市场中性"(多空等额)
实际 Beta 敞口:
净 Beta = 100万 × 1.5 - 100万 × 0.6 = 90万
你实际上是在做多 90 万的市场敞口!
8.4.3 为什么散户做不了市场中性?
| 障碍 | 机构 | 散户 |
|---|---|---|
| 融券成本 | 0.5-2%/年(大客户费率) | 3-10%/年(零售费率) |
| 融券可得性 | 有 prime broker 关系 | 常常借不到想借的股票 |
| 资金效率 | 杠杆 2-4 倍 | 通常无杠杆 |
| 交易成本 | 0.01-0.05%/笔 | 0.1-0.5%/笔 |
| 组合规模 | 100+ 只股票 | 通常 10-20 只 |
| 风控基础设施 | 实时因子暴露监控 | 手工跟踪 |
算一笔账:
假设你有一个"真正有效"的中性策略:
- 毛 Alpha:8%/年(已经很不错了)
- 融券成本:5%/年(散户费率)
- 交易成本:2%/年(换手率 500%,每次 0.2%)
- 净收益:8% - 5% - 2% = 1%
还不如买国债。
8.4.4 机构是如何做到的?
| 优势 | 具体表现 |
|---|---|
| 规模经济 | 10 亿规模时,固定成本可忽略 |
| Prime Broker 关系 | 融券费率 < 1%,股票池丰富 |
| 杠杆 | 2-4 倍杠杆放大 Alpha |
| 技术基础设施 | 毫秒级执行,实时风控 |
| 人才 | 团队 10+ 人专职研究 |
Renaissance 的 Medallion 基金:
据估计的运营参数(2024年):
- 毛收益:60-80%/年(部分年份更高)
- 费用:5% 管理费 + 44% 绩效费
- 净收益:~35-40%/年
- Beta:接近 0
- 容量:只管内部资金,~120 亿美元
注:创始人 Jim Simons 于 2024 年 5 月去世。Medallion 基金继续运营,但其神话般的收益能否持续引发关注。
8.5 常见误区
误区 1:"我做多科技做空金融 = 市场中性"
问题:行业对冲不等于市场对冲。
科技股 Beta ≈ 1.3
金融股 Beta ≈ 1.1
等额配置时:
净 Beta = 0.5 × 1.3 - 0.5 × 1.1 = 0.1(仍然做多市场)
更大问题:
你同时做多了"成长因子",做空了"价值因子"
这不是市场中性,是因子押注
误区 2:"对冲后波动小 = 安全"
问题:低波动不等于低风险。
案例:LTCM
- 策略波动率很低(年化 10%)
- 但杠杆 25 倍
- 实际风险敞口 = 10% × 25 = 250%
- 一次"不可能事件"就导致破产
误区 3:"回测中性策略赚钱 = 实盘能赚钱"
问题:回测忽略了多种隐藏成本。
回测假设:
✗ 融券永远可得
✗ 融券成本固定
✗ 无滑点
✗ 无市场冲击
实盘现实:
- 想做空的股票借不到
- 借到的股票被召回
- 流动性不足导致滑点
- 你的交易被对手盘狙击
误区 4:"做空和做多一样容易"
问题:做空有天然的不对称性。
| 维度 | 做多 | 做空 |
|---|---|---|
| 最大亏损 | 100%(股价归零) | 无限(股价可无限上涨) |
| 成本 | 无(买入持有) | 有(融券利息持续产生) |
| 时间 | 可无限持有 | 可能被强制召回 |
| 心理 | 亏损时可等待反弹 | 亏损时被逼平仓 |
8.6 多智能体视角
在多智能体量化系统中,Beta 管理和对冲需要专门的 Agent 来处理。
8.6.1 Hedging Agent 的职责
8.6.2 与其他 Agent 的协作
| 协作对象 | 协作方式 |
|---|---|
| Signal Agent | 接收持仓变化信号,计算新的对冲需求 |
| Risk Agent | 报告 Beta 敞口,接收风险预算约束 |
| Execution Agent | 发送对冲订单,接收执行反馈 |
| Cost Agent | 查询融券成本,获取期货基差数据 |
| Regime Agent | 危机时接收信号,增加对冲力度 |
8.6.3 中性策略中的 Agent 架构
✅ 验收标准
完成本课后,用以下标准检验学习效果:
| 验收项 | 达标标准 | 自测方法 |
|---|---|---|
| 理解 Beta | 能解释 Beta = 1.2 意味着什么 | 用自己的话解释 |
| 分解收益 | 能计算策略收益中 Alpha 和 Beta 的贡献 | 完成纸上练习 |
| 计算对冲比例 | 能正确计算达到 Beta 中性所需的空头金额 | 完成对冲练习 |
| 理解对冲成本 | 能列举至少 3 种对冲成本 | 解释为什么散户难做中性 |
| 识别常见误区 | 能指出"等额对冲"的问题 | 解释 Dollar Neutral 的缺陷 |
综合练习
设计一个简化的中性策略框架:
- 假设你有 100 万本金,想做一个 Beta 中性策略
- 多头:持有 5 只成长股,平均 Beta = 1.4
- 空头:使用 SPY 做对冲
- 问题:
- 需要做空多少 SPY?
- 如果融券利率 5%/年,对冲成本是多少?
- 你的毛 Alpha 至少需要多少才能覆盖成本?
点击展开答案
-
做空金额:
- 多头 Beta 敞口 = $1M × 1.4 = $1.4M
- 需做空 SPY(Beta = 1.0):$1.4M
-
对冲成本:
- 融券利息 = $1.4M × 5% = $70,000/年
- 占本金 = $70K / $1M = 7%
-
盈亏平衡 Alpha:
- 毛 Alpha > 7% 才能覆盖融券成本
- 加上交易成本(假设 1%),需要 > 8%
- 这意味着你的选股能力必须非常强
结论:对于散户来说,这个策略可能不现实。
本课交付物
完成本课后,你将获得:
- Beta 分解框架 - 理解你的收益到底从哪里来
- 对冲比例计算方法 - 知道如何正确计算对冲金额
- 对冲成本清单 - 了解隐藏成本对策略的影响
- 市场中性可行性评估 - 判断中性策略是否适合你
本课要点回顾
- Beta 衡量策略对市场的敏感度,是收益的主要来源之一
- 名义对冲(等金额)≠ Beta 对冲(等 Beta 敞口)
- 对冲成本(融券、基差、交易)可能吞噬 Alpha
- 市场中性策略对散户几乎不可行(成本、工具、规模)
- "多空等额"不等于"市场中性"
延伸阅读
- 背景知识:Alpha 与 Beta - Alpha 和 Beta 的基础定义
- 第 15 课:风险控制与资金管理 - 风险管理的更多内容
- 背景知识:历史著名量化事故 - LTCM 等对冲失败案例
下一课预告
第 09 课:监督学习在量化中的应用
理解了 Beta 和对冲的本质后,我们开始探索如何用机器学习来预测市场。但要记住:预测只是第一步,如何把预测转化为可交易的 Alpha 才是关键——而这需要扣除所有成本,包括我们今天讨论的对冲成本。