量化交易中文教材

第 20 章 波动率及其分解

对应 Harris《Trading and Exchanges》第 20 章 “Volatility”。这一章不长,但给出了一个贯穿后面几章的分解:总波动 = 基本面波动 + 暂时性波动。前者来自价值的意外变化,后者来自急躁的未知情交易者对流动性的需求,会回复。识别后者的关键是价格变化的负序列相关,Roll(1984)的价差估计量就是这一思想最简洁的形式。对量化交易者,这一章直接连到高频数据中的“微观结构噪声”、短期反转因子和交易成本估计。

学习目标

读完本章,你应当能够:

  1. 区分基本面波动(fundamental volatility)与暂时性波动(transitory volatility),并说出各自的来源和统计特征。
  2. 解释公共信息为何可以“无量变价”、私人信息为何伴随高成交量,以及逆向选择价差成分为何属于基本面波动。
  3. 列出导致基本面波动大的因素(仓储成本、需求弹性、技术不确定性、高市盈率、政治风险、杠杆)。
  4. 完整推导 Roll 模型:\(\mathrm{Var}(\Delta P)=\sigma^2+S^2/2\),\(\mathrm{Cov}(\Delta P_t,\Delta P_{t-1})=-S^2/4\),\(S=2\sqrt{-\mathrm{Cov}}\),并说明其局限。
  5. 用模拟说明:冲击需要多笔交易才回复时 Roll 估计量会低估暂时性波动;高频采样会让已实现方差被买卖反弹放大。

读前导读

这一章在解决什么问题。 在 CFA 里,波动率就是收益的标准差,用来算 Sharpe 比率、VaR、期权价格,从不追问它从哪里来。这一章把它拆成两块:一块是价值真的变了(基本面波动),一块是有人急着买卖把价格暂时推开、之后又弹回来(暂时性波动)。两块的区别很实际。前者是风险,持有者必须承担;后者本质上是交易成本,它在价格序列上留下的指纹是"涨了之后容易跌、跌了之后容易涨",也就是负的序列相关。Roll(1984)把这个指纹变成了一个公式:只看成交价,就能估计买卖价差。

和你熟悉内容的连接:CFA 讲方差时用过 \(\mathrm{Var}(X+Y)=\mathrm{Var}X+\mathrm{Var}Y+2\mathrm{Cov}(X,Y)\),本章的推导几乎全靠这条公式和它的推广。另外,日波动率乘 \(\sqrt{250}\) 年化默认收益序列不相关;本章会告诉你,有负相关时这样算会高估长期波动,这也是用高频数据算波动率要小心的原因。

需要先想起来的数学。

  • 协方差的双线性。 \(\mathrm{Cov}(aX+bY,Z)=a\,\mathrm{Cov}(X,Z)+b\,\mathrm{Cov}(Y,Z)\),可以像乘法分配律一样展开。独立变量协方差为零。Roll 的推导就是把 \(\Delta P_t\) 和 \(\Delta P_{t-1}\) 各拆成几项,两两配对,只留下非零的那一对。见 第 00 册第 07 章 概率中的分析工具。
  • 期望的乘法法则。 独立时 \(E[XY]=E[X]E[Y]\)。\(Q_t=\pm1\) 各半,\(E[Q_t]=0\),\(E[Q_t^2]=1\);不同笔独立,\(E[Q_tQ_{t-1}]=0\)。
  • 随机游走方差的累加。 \(n\) 个独立增量之和的方差是 \(n\sigma^2\)。若增量相关,还要加上所有两两协方差,这就是"长期方差"\(\mathrm{Var}+2\sum_k\mathrm{Cov}_k\) 的来源(下文推导拆解会展开)。
  • 几何衰减。 \(D_t=\phi D_{t-1}+cQ_t\) 是 AR(1),一次冲击 \(k\) 笔后剩 \(\phi^k\)。上一章用过同一结构。见 第 00 册第 04 章 级数与收敛。

怎么读这一章。 20.3 末尾那张"价差成分 ↔ 波动类型"对照表和 20.4.3 的 Roll 推导是核心,必读,建议拿纸笔把方差和协方差各算一遍。20.2.2 决定基本面波动的因素以定性为主,可以快读,但"易腐商品"专栏提醒的"负自相关不一定是暂时性波动"值得记住。量化实战的第 3 部分(采样频率与已实现方差)对任何用高频数据算波动率的人都直接有用。


20.1 波动率是什么,谁在乎

定义:波动率是价格发生意外变化的倾向。价格变化有两个原因:关于价值的新信息,以及急躁交易者对流动性的需求。

波动率本身随时间变化:有时剧烈,有时几乎不动。短时间内的大幅价格变动称为阵发性波动(episodic volatility),令许多人担忧。

关心波动率的人很多:

  • 所有交易者:价格每次下跌给多头带来亏损、给空头带来盈利,波动、风险与利润密不可分。
  • 期权交易者:期权价值关键依赖于标的波动率,必须度量和预测它,这要求理解其来源。
  • 技术交易者:成交量与波动率常相关,但关系取决于波动的来源。
  • 监管者:过度波动可能意味着市场运行不良,市场崩盘时尤其如此(第 28 章)。

本章把波动分成两类:

  • 基本面波动:源于品种价值的意外变化;
  • 暂时性波动:源于未知情交易者的交易活动。

区分的意义在于:交易者需要它来预测未来波动率、做市策略的盈利性和交易成本;监管者无法持久影响基本面波动,却常常能显著影响暂时性波动(政策可以使其增或减)。

20.2 基本面波动

20.2.1 信息如何进入价格

经济靠价格配置资源,价格反映基本面价值非常重要。人们得知基本面因素发生意外变化时,价格就应变化,这些变化构成基本面波动。信息进入价格有两条路:

  • 公共信息可以无需交易就改变价格。 例:佛罗里达一夜之间遭遇意外的致命霜冻,晨间新闻报道后,次日橙汁期货开盘价会远高于前一日收盘价——中间不需要任何交易。
  • 私人信息通过交易改变价格。 只有少数人知道时,知情者据此交易,他们的交易压力推动价格反映新价值,价格变化伴随高成交量。

知情者一般伤害交易商,交易商又不知道何时在与知情者交易,于是只能从订单流推断价值;这种推断就是第 13 章的逆向选择价差成分(adverse selection spread component)。所以:逆向选择成分引起的价格变化属于基本面波动——它是信息进入价格,不会回复。

20.2.2 哪些因素决定基本面波动

任何决定价值的因素都可能引起价格变化:商品主要看现货供需,其次是利率和仓储成本;债券看利率和发行人信用;股票看管理质量、公司资源与技术的价值、产品和投入品市场供需、利率;货币看各国通胀、宏观政策、贸易与资本流动。这些因素的意外变化产生基本面波动。

可预测性:预期中的变化一般不改变价格——信息充分的价格已经包含了它。所以在信息充分的价格中,基本面波动的识别特征是价格变化不可预测,即随机游走(random walk,第 10 章)。例外是补偿持有成本和风险承担所需的、可预测的价格变化:零息债价格随到期临近缓慢上升,完全可预测,不构成波动;但利率意外下降时零息债价格的跳升属于基本面波动。

仓储成本:仓储成本高的商品往往波动大。生产商和分销商不愿持有大量存货,需求超过供给时存货很快耗尽、价格飙升;存货多且新货将到时,又会大幅折价清库。波动的大小还取决于:

  • 生产管道的长短(调整越慢越波动);
  • 需求的可变性(低仓储成本商品的库存能缓冲供需错配);
  • 需求弹性(人们无法轻易不用该商品时,短缺会让价格急升)。

易腐商品价格尤其波动:临近变质时过剩会导致迅速降价,短缺时迅速涨价。原书专栏给了两个例子:汽油、柴油与取暖油储存昂贵,2000 年美国生产商可用储存仅相当于约 9 天的汽油消费和 18 天的馏分油消费(数据来源:美国能源部 EIA),加上需求无弹性,意外冲击常导致价格大幅波动;电力是终极易腐商品,2000–2001 年加州在需求超过发电能力时电价多次在短时间内暴涨。

基本面不确定性也带来大的基本面波动:

  • 研发型技术公司:价值取决于研究结果和尚不存在的产品市场,连最知情的人也所知甚少;
  • 高市盈率公司:高价来自对高增长的预期,而增长依赖许多未来的不确定性;
  • 政治风险大的品种:新兴市场主权债(违约、通胀贬值风险)、可能被国有化或受重大监管的行业,极端情形是战争;
  • 高杠杆公司:股东先偿付债权人,承担资产价值的大部分波动,资产价值的小变化引起股权价值的大变化。

金融直觉:用资产负债表算一下。资产 100、负债 80、权益 20。资产涨跌 5%(±5),负债不变,权益就变动 ±5,即 ±25%。只要负债价值基本不随资产变化,股权波动率约等于资产波动率乘以 \(V/E\)(这里是 5 倍)。这就是 CFA 公司金融里"财务杠杆放大 beta"的同一个机制,\(\beta_E=\beta_A(1+(1-t)D/E)\),只不过这里放大的是总波动而非系统性风险。

一个容易犯的错误(原书专栏):易腐商品现货价格常呈现极端的负序列相关——短缺时飙升、过剩时崩跌。随意的观察者会把它归为暂时性波动,但可能大错特错:现货价格序列不是同一物品的价格,而是按交割日期不同的一系列物品的价格(周一的鱼和周二的鱼是两种商品)。仓储成本高时,现货价格的负相关可能反映的是不同交割日上的基本面变化。期货为特定日期的交割定价,标的高度易腐时,期货价格变化的负相关远不如现货明显。结论:期货价格的负序列相关一般主要来自暂时性波动;现货价格的负序列相关则可能来自不同交割日的基本面变化,也可能来自暂时性波动。 这提醒我们:负自相关是暂时性波动的“症状”,但不是充分证据。

20.3 暂时性波动

定义:急躁的未知情交易者的需求使价格偏离基本面价值所产生的波动。这些变化是暂时的,因为价格最终会回到基本面价值。

  • 最简单的形式是买卖反弹(bid/ask bounce):市价单交易者在卖价买、在买价卖,成交价在买卖价之间跳动;对面的交易者到来时,这些变化就反转。价差中的交易成本成分(又称暂时性价差成分,transitory spread component)造成买卖反弹,因此贡献暂时性波动。
  • 未知情者的大额订单和累积的订单失衡也使价格偏离价值;价值交易者或套利者发现后会把价格推回(回忆第 19 章的 40→37→40 例子)。
  • 暂时性波动包括未知情者造成的价格变化及其后续反转。价值交易者、套利者和交易商不制造暂时性波动,而是帮助消除它。

暂时性波动与未知情交易者的交易成本高度相关:未知情者对价格的冲击就是他们承担的交易成本,这些冲击正是暂时性波动。所以流动市场的暂时性波动小。

监管者非常关注暂时性波动,因为它高说明市场不流动。高波动时人们常施压要求干预;但干预前,监管者必须确信高波动来自暂时性成分而不是基本面成分——后者是价格在正确地反映信息,压制它只会让价格失真。

两类价差成分与两类波动的对应关系,是本章最值得记住的一张表:

价差成分(第 13、14 章) 价格变化是否回复 贡献的波动
逆向选择成分 不回复(信息进入价格) 基本面波动
交易成本成分(订单处理、存货) 回复(买卖反弹、冲击回复) 暂时性波动

20.4 度量波动率及其成分

20.4.1 总波动的度量

总波动常用价格变化的方差、标准差或平均绝对偏差衡量:

\[ \mathrm{Var}=\frac{1}{n}\sum_t(\Delta P_t-\overline{\Delta P})^2,\qquad \mathrm{MAD}=\frac{1}{n}\sum_t|\Delta P_t-\overline{\Delta P}|. \]

两类成分在方差意义下可加:总方差 = 基本面方差 + 暂时性方差(在两者不相关的假设下)。

20.4.2 识别原理:暂时性变化会回复

识别两种成分要用统计模型,利用它们的主要区别:基本面波动由看似随机、不回复的价格变化组成;暂时性波动由最终会回复的变化组成。 回复使价格变化负相关——上涨后常跟着下跌,反之亦然。价格序列的负序列相关是暂时性波动的强烈指示。

这种负相关可以出现在不同时间尺度上:买卖反弹造成逐笔价格变化的负相关;大单和订单失衡的冲击可能造成以分钟、小时、天甚至月计的负相关。

20.4.3 Roll 序列协方差价差估计量

Roll 用一个极简模型把上面的思想变成公式。原书专栏的公式在精读笔记中抽取时有乱码,以下是还原并补全推导的正确形式。第 14 章 14.5.1 节已从价差分解的角度介绍过同一模型(记号为小写 \(p_t\)、\(m_t\)、\(q_t\)、\(s\),并讨论了含逆向选择时的情形);这里沿用原书本章的大写记号,从波动率分解的角度重新推导,两处结论一致。

记号:\(P_t\) 为第 \(t\) 笔成交价;\(S\) 为价差(常数);\(V_t\) 为第 \(t\) 笔时的基本面价值;\(\varepsilon_t=V_t-V_{t-1}\);\(Q_t=+1\)(该笔由买方发起)或 \(-1\)(卖方发起)。

假设:

  1. 基本面价值服从随机游走,\(\varepsilon_t\) 跨时独立;
  2. \(E\varepsilon_t=0\),\(\mathrm{Var}(\varepsilon_t)=\sigma^2\);
  3. 买方发起的概率为 1/2;
  4. 本笔是否为买方与之前各笔独立;
  5. 本笔是否为买方与 \(\varepsilon_t\)、\(\varepsilon_{t-1}\) 独立。

模型:成交价等于价值加减半个价差,

\[ P_t=V_t+\tfrac12 S Q_t,\qquad \Delta P_t=\varepsilon_t+\tfrac12 S\,\Delta Q_t . \]

方差。由假设,\(EQ_t^2=1\),\(E[Q_tQ_{t-1}]=0\),\(E[\varepsilon_t\Delta Q_t]=0\),所以 \(E(\Delta Q_t)^2=E Q_t^2-2E Q_tQ_{t-1}+E Q_{t-1}^2=2\):

\[ \mathrm{Var}(\Delta P_t)=\sigma^2+\tfrac14 S^2\cdot 2=\sigma^2+\tfrac12 S^2 . \]

第一项是基本面成分,第二项是暂时性成分(买卖反弹)。

推导拆解:把方差一步步写开。 第一步,\(\Delta P_t=(V_t+\tfrac12SQ_t)-(V_{t-1}+\tfrac12SQ_{t-1})=\varepsilon_t+\tfrac12S(Q_t-Q_{t-1})\)。 第二步,用 \(\mathrm{Var}(X+Y)=\mathrm{Var}X+\mathrm{Var}Y+2\mathrm{Cov}(X,Y)\),令 \(X=\varepsilon_t\),\(Y=\tfrac12S\Delta Q_t\)。由假设 5,\(\varepsilon_t\) 与 \(Q\) 独立,协方差项为零。 第三步,\(\mathrm{Var}(Y)=\tfrac14S^2\mathrm{Var}(\Delta Q_t)\)。因为 \(E[\Delta Q_t]=0\),方差就等于 \(E[(\Delta Q_t)^2]=E[Q_t^2]-2E[Q_tQ_{t-1}]+E[Q_{t-1}^2]=1-0+1=2\)。 第四步,合并:\(\sigma^2+\tfrac14S^2\times2=\sigma^2+\tfrac12S^2\)。 直观检查:若价值完全不动(\(\sigma=0\)),成交价只在 \(V\pm S/2\) 两点间跳,\(\Delta P\) 取 \(0\)(概率 1/2)或 \(\pm S\)(各 1/4),方差 \(=\tfrac12S^2\),与公式一致。

一阶序列协方差。\(\varepsilon\) 项与其他项都不相关,只剩

\[ \mathrm{Cov}(\Delta P_t,\Delta P_{t-1})=\tfrac14 S^2\,E[(Q_t-Q_{t-1})(Q_{t-1}-Q_{t-2})] =\tfrac14 S^2\,(0-0-1+0)=-\tfrac14 S^2 . \]

唯一非零的是 \(-E[Q_{t-1}^2]=-1\):上一笔若在卖价,本笔价格变化与上一笔价格变化中都含有 \(Q_{t-1}\),但符号相反,这就是买卖反弹的负相关。

推导拆解:括号里的四项 \((0-0-1+0)\) 分别是什么?把乘积展开: \((Q_t-Q_{t-1})(Q_{t-1}-Q_{t-2})=Q_tQ_{t-1}-Q_tQ_{t-2}-Q_{t-1}^2+Q_{t-1}Q_{t-2}\)。 逐项取期望:\(E[Q_tQ_{t-1}]=0\)(不同笔独立且均值为零);\(E[Q_tQ_{t-2}]=0\)(同理);\(E[Q_{t-1}^2]=1\)(\(\pm1\) 的平方恒为 1);\(E[Q_{t-1}Q_{t-2}]=0\)。所以期望为 \(0-0-1+0=-1\)。 至于"\(\varepsilon\) 项与其他项都不相关":\(\Delta P_t\) 中的 \(\varepsilon_t\) 与 \(\Delta P_{t-1}\) 中的 \(\varepsilon_{t-1}\) 独立(假设 1),也与所有 \(Q\) 独立(假设 5),所以含 \(\varepsilon\) 的交叉项期望全为零。由于 \(E[\Delta P]=0\),协方差就等于乘积的期望。 再反解:\(\mathrm{Cov}=-S^2/4\Rightarrow S^2=-4\mathrm{Cov}\Rightarrow S=2\sqrt{-\mathrm{Cov}}\)。练习 4 的数字:\(\mathrm{Cov}=-0.0016\),\(S=2\times0.04=0.08\)。

反解得 Roll 估计量:

\[ \boxed{S=2\sqrt{-\mathrm{Cov}(\Delta P_t,\Delta P_{t-1})}} \]

实际中用样本序列协方差代替。两种成分也随之可估:

\[ \text{暂时性方差}=\tfrac12S^2=-2\,\mathrm{Cov},\qquad \text{基本面方差}=\sigma^2=\mathrm{Var}+2\,\mathrm{Cov}. \]

局限:

  • 模型只预测相邻价格变化负相关。如果价格回复需要不止一笔交易,当前价格变化与更远的后续变化也负相关,基于 Roll 模型的成分估计会低估暂时性波动。
  • 样本协方差为正时,估计量没有定义(实务中常把这种情形记为缺失或零)。
  • 更复杂的方差成分模型把序列分解为随机游走成分和在多个间隔上负相关的均值回复成分,原书认为超出本书范围。下文的代码给出一个简单版本:用多阶自协方差之和估计“长期方差”。

20.5 小结

交易者关心波动率,因为它决定盈亏;高波动期风险高,机会也大。监管者关心波动率,因为暂时性波动与交易成本相关,高暂时性波动意味着市场不够流动。基本面波动是价格正确反映信息的必然代价,对资源有效配置是必要的;暂时性波动由急躁的未知情者寻求流动性造成,通过价格反转引起的负序列相关来识别。


量化实战:Roll 模型、低估问题与微观结构噪声

下面的代码做三件事:(1) 按 Roll 模型模拟 20 万笔成交,验证方差和协方差公式并估计价差;(2) 让价格冲击需要多笔才回复(暂时压力 \(D_t=\phi D_{t-1}+cQ_t\)),比较 Roll 估计与用多阶自协方差的估计;(3) 演示在高频采样下,买卖反弹会把已实现方差(realized variance)放大多少。

import numpy as np

rng = np.random.default_rng(20)
n, S, sigma = 200_000, 0.10, 0.03          # 成交笔数、价差(元)、每笔基本面变化的标准差

# 1) Roll 模型:P_t = V_t + (S/2) Q_t
V = 20 + np.cumsum(rng.normal(0, sigma, n))
Q = rng.choice([-1, 1], n)
P = V + 0.5 * S * Q
dP = np.diff(P)
var_dp = dP.var()
cov1 = np.cov(dP[1:], dP[:-1])[0, 1]
print("== Roll 模型 ==")
print(f"Var(dP) 样本 {var_dp:.6f}  理论 sigma^2+S^2/2 = {sigma**2 + S**2/2:.6f}")
print(f"Cov(dP_t,dP_t-1) 样本 {cov1:.6f}  理论 -S^2/4 = {-S**2/4:.6f}")
print(f"Roll 价差估计 2*sqrt(-Cov) = {2*np.sqrt(-cov1):.4f}  (真实 {S})")
print(f"基本面方差估计 Var+2Cov = {var_dp + 2*cov1:.6f}  (真实 {sigma**2:.6f})")
print(f"暂时性方差占比 = {-2*cov1/var_dp:.1%}")

# 2) 冲击需要多笔才回复:暂时压力 D_t = phi*D_{t-1} + c*Q_t
def roll_on_persistent(phi, c=0.05):
    D = np.zeros(n)
    for t in range(1, n):
        D[t] = phi * D[t-1] + c * Q[t]
    P2 = V + D
    d = np.diff(P2)
    true_trans_var = d.var() - sigma**2               # 价格变化方差中的暂时性部分(真实)
    c1 = np.cov(d[1:], d[:-1])[0, 1]
    # 多阶自协方差之和:Var(dP) + 2*sum_k Cov_k 估计"长期"(基本面)方差
    acov = [np.cov(d[k:], d[:-k])[0, 1] for k in range(1, 50)]
    lr_var = d.var() + 2 * np.sum(acov)
    return true_trans_var, -2 * c1, d.var() - lr_var

print("\n== 冲击多笔回复时 Roll 低估暂时性方差 ==")
print(" phi   真实暂时性方差   Roll估计(-2Cov1)   多滞后估计(Var-长期方差)")
for phi in [0.0, 0.5, 0.8]:
    t, r, m = roll_on_persistent(phi)
    print(f" {phi:.1f}   {t:.6f}         {r:.6f}           {m:.6f}")

# 3) 微观结构噪声对已实现方差的影响:同一"日"内不同采样间隔
print("\n== 采样频率与已实现方差(每 2000 笔视为一天) ==")
day = 2000
for k in [1, 5, 20, 100, 400]:
    rv_obs = np.mean([np.sum(np.diff(P[i:i+day+1:k])**2) for i in range(0, n - day - 1, day)])
    print(f"每 {k:>3} 笔采样一次: 已实现方差 {rv_obs:.4f}   (真实日方差 {day*sigma**2:.4f})")

输出:

== Roll 模型 ==
Var(dP) 样本 0.005914  理论 sigma^2+S^2/2 = 0.005900
Cov(dP_t,dP_t-1) 样本 -0.002512  理论 -S^2/4 = -0.002500
Roll 价差估计 2*sqrt(-Cov) = 0.1002  (真实 0.1)
基本面方差估计 Var+2Cov = 0.000890  (真实 0.000900)
暂时性方差占比 = 85.0%

== 冲击多笔回复时 Roll 低估暂时性方差 ==
 phi   真实暂时性方差   Roll估计(-2Cov1)   多滞后估计(Var-长期方差)
 0.0   0.005014         0.005024           0.005028
 0.5   0.003340         0.001695           0.003349
 0.8   0.002781         0.000583           0.002793

== 采样频率与已实现方差(每 2000 笔视为一天) ==
每   1 笔采样一次: 已实现方差 11.8197   (真实日方差 1.8000)
每   5 笔采样一次: 已实现方差 3.7871   (真实日方差 1.8000)
每  20 笔采样一次: 已实现方差 2.2962   (真实日方差 1.8000)
每 100 笔采样一次: 已实现方差 1.8610   (真实日方差 1.8000)
每 400 笔采样一次: 已实现方差 1.9275   (真实日方差 1.8000)

逐段解读:

  1. Roll 模型的公式与模拟吻合,价差估计 0.1002 对真实值 0.1。在逐笔层面,暂时性方差占了 85%——成交价的逐笔“波动”大部分只是买卖反弹,而不是价值变化。

  2. 冲击需要多笔才回复时(\(\phi=0.5\)、\(0.8\)),只看一阶协方差的 Roll 估计把暂时性方差低估了一半到八成;把 49 阶自协方差都算进去的“长期方差”方法则几乎没有偏差。这就是原书说的局限。它的思想是:价格变化的长期方差 \(\mathrm{Var}+2\sum_k\mathrm{Cov}_k\) 只剩下随机游走(基本面)部分,总方差减去它就是暂时性部分。这也是方差比检验(variance ratio test)的思想。

    推导拆解:为什么 \(\mathrm{Var}+2\sum_k\mathrm{Cov}_k\) 是"长期方差"? 第一步,\(n\) 笔累计价格变化 \(\Delta P_1+\dots+\Delta P_n\) 的方差,等于所有 \(n^2\) 对 \(\mathrm{Cov}(\Delta P_i,\Delta P_j)\) 之和。其中 \(i=j\) 的有 \(n\) 个,每个是 \(\mathrm{Var}\);间隔为 \(k\) 的有 \(2(n-k)\) 个,每个是 \(\mathrm{Cov}_k\)。 第二步,所以累计方差 \(=n\mathrm{Var}+2\sum_{k\ge1}(n-k)\mathrm{Cov}_k\),除以 \(n\) 后,\(n\) 很大时趋于 \(\mathrm{Var}+2\sum_k\mathrm{Cov}_k\)。 第三步,暂时性部分最终会回复,对很长区间的累计变化没有贡献;随机游走部分每笔贡献 \(\sigma^2\)。所以长期方差 \(=\sigma^2\)。以 Roll 模型验证:\(\mathrm{Var}+2\mathrm{Cov}_1=\sigma^2+\tfrac12S^2-\tfrac12S^2=\sigma^2\),正好消掉。 金融含义:日波动率乘 \(\sqrt{250}\) 的年化方法隐含了所有 \(\mathrm{Cov}_k=0\)。若日收益负相关(暂时性冲击多),这样算会高估年波动;若正相关(例如流动性差的资产估值平滑造成的动量),会低估。私募、不动产基金报告的低波动常常属于后者。

  3. 高频已实现方差被放大:逐笔采样时,一天的已实现方差是 11.8,而真实的基本面日方差只有 1.8——每笔都多出 \(S^2/2\) 的买卖反弹方差,2000 笔累积起来就是 \(2000\times0.005=10\)。采样间隔拉到每 100 笔,偏差基本消失,但采样越稀,估计本身的抽样误差越大(每 400 笔时偏离又变大)。这就是已实现波动率文献中“微观结构噪声”与“稀疏采样”的权衡;两尺度估计(TSRV)、已实现核(realized kernel)、或直接用中间价代替成交价,都是处理办法。

    推导拆解:表中数字可以用一个公式预测。已实现方差 RV 是一天内采样收益的平方和。每 \(k\) 笔采样一次,一天有 \(n/k\) 个区间(\(n=2000\))。每个区间的价格变化 \(=\) 基本面变化 \(k\) 笔累积(方差 \(k\sigma^2\))\(+\tfrac12S(Q_{\text{末}}-Q_{\text{初}})\)(方差 \(\tfrac12S^2\),与 \(k\) 无关,只看两端)。 所以 \(E[\mathrm{RV}]\approx\frac nk\left(k\sigma^2+\tfrac12S^2\right)=n\sigma^2+\frac{nS^2}{2k}\)。 代入 \(n\sigma^2=1.8\),\(nS^2/2=2000\times0.005=10\):\(k=1\) 得 11.8,\(k=5\) 得 3.8,\(k=20\) 得 2.3,\(k=100\) 得 1.9,与输出几乎一致。偏差项 \(nS^2/(2k)\) 随 \(k\) 下降,而区间数 \(n/k\) 越少,RV 自身的抽样误差越大,这就是"采样越稀、偏差越小、噪声越大"的权衡。

对量化交易的启示:

  • 用成交价估计历史价差:缺少报价数据时(如老的日度数据、部分期货市场),Roll 估计量是估计有效价差的经典工具;它的改进版本(如用日最高最低价的 Corwin–Schultz 估计量)在回测成本估计中常用。
  • 短期反转因子:日度或周度反转收益有相当部分来自暂时性冲击的回复,所以它对交易成本极其敏感——赚的就是流动性提供的钱,而成本恰恰也是价差。
  • 风险模型与执行:判断一个资产的暂时性成分有多大、回复有多快,决定了再平衡频率和冲击模型中“暂时冲击”的衰减速度。

本章小结

波动率是价格意外变化的倾向,分为基本面波动与暂时性波动。前者来自价值的意外变化,不可预测、不回复,公共信息可以无量变价,私人信息伴随高成交量;逆向选择价差成分带来的价格变化属于这一类。后者来自急躁的未知情者的流动性需求,会回复,与交易成本是一体两面;交易成本价差成分造成的买卖反弹属于这一类。负序列相关是暂时性波动的标志,Roll 模型把它写成 \(S=2\sqrt{-\mathrm{Cov}}\),但只捕捉一阶回复,会低估多笔回复的暂时性波动。

概念/公式 要点
波动率 价格发生意外变化的倾向
基本面波动 价值意外变化;不回复;随机游走
暂时性波动 未知情流动性需求造成;会回复;与交易成本同源
价差成分 ↔ 波动 逆向选择 → 基本面;交易成本(暂时性)→ 暂时性
Roll 模型 \(P_t=V_t+\tfrac12SQ_t\)
方差分解 \(\mathrm{Var}(\Delta P)=\sigma^2+\tfrac12S^2\)
一阶协方差 \(\mathrm{Cov}(\Delta P_t,\Delta P_{t-1})=-\tfrac14S^2\)
Roll 估计量 \(S=2\sqrt{-\mathrm{Cov}}\);暂时性方差 \(=-2\mathrm{Cov}\),基本面方差 \(=\mathrm{Var}+2\mathrm{Cov}\)
局限 只捕捉一阶回复,低估暂时性波动;协方差为正时无定义
微观结构噪声 高频已实现方差每笔多出 \(S^2/2\)

练习

基础

  1. 逆向选择价差成分与交易成本价差成分分别贡献哪种波动?(原书思考题 2) 答案:前者贡献基本面波动,后者贡献暂时性波动。
  2. 新闻交易者的价格冲击贡献哪种波动?价值交易者的交易呢?(原书思考题 3) 提示:新闻交易者把信息带入价格,属基本面波动;价值交易者帮助消除暂时性波动,本身不制造它。
  3. 为什么零息债价格随时间的缓慢上升不算波动?
  4. 某股票逐笔价格变化的方差为 0.0050,一阶自协方差为 −0.0016。用 Roll 模型估计价差、暂时性方差和基本面方差。 答案:\(S=2\sqrt{0.0016}=0.08\);暂时性方差 \(=0.0032\);基本面方差 \(=0.0050-0.0032=0.0018\)。
  5. 为什么易腐商品现货价格的负序列相关不一定说明暂时性波动大?

进阶

  1. 若价差 \(S_t\) 是均值、方差恒定、跨时独立且独立于其他变量的随机变量,Roll 估计量估计的是什么?(原书思考题 8) 答案:重复上面的推导,\(\mathrm{Var}(\Delta P)=\sigma^2+\tfrac12E[S^2]\),\(\mathrm{Cov}=-\tfrac14E[S^2]\),所以 Roll 估计量估计的是 \(\sqrt{E[S^2]}\)(价差的均方根),它不小于平均价差 \(E[S]\)。精读笔记“推荐习题”中写成 \(-\tfrac14(ES)^2\) 是不对的:交叉项是 \(-\tfrac14E[S_{t-1}^2Q_{t-1}^2]=-\tfrac14E[S^2]\)。可修改本章代码让 S 每笔随机抽取来验证。
  2. 如果每当新闻到达人们就交易、价格就变化:每天新闻事件数恒定时,绝对价格变化与成交量是否相关?每天新闻数变化时呢?(原书思考题 6) 提示:这是混合分布假说(mixture of distributions hypothesis)的直观版本——新闻数不变时两者不相关;新闻数随日变化时,新闻多的日子成交量大、绝对价格变化也大,两者正相关。
  3. 修改本章代码第 2 部分,画出(或打印)不同 \(\phi\) 下前 10 阶自协方差,验证其形状为 \(-\text{const}\cdot\phi^{k-1}\) 的衰减形态,并说明为什么只用一阶会低估。
  4. 什么导致波动率随时间变化?如何度量时变波动率?(原书思考题 4) 提示:信息流强度、流动性状况都在变;度量方法见第 06 册的 GARCH 模型与已实现波动率。

原书推荐习题:思考题 8(随机价差下的 Roll 估计量,建议完整推导);思考题 2、3(价差成分与交易者类型对应的波动成分);思考题 5、6(量价关系,可用实际数据检验);思考题 4(时变波动的度量)。

原书对照

  • 原书第 20 章 Volatility,PDF 第 423–430 页(原书页码约为 PDF 页码减 13,即第 410–417 页);PDF p.431 为空白页。
  • 章首导言:PDF p.423;20.1 基本面波动(含专栏:燃料储存、易腐商品价格、加州电力):p.424–426(原书本节小节编号印作 “2.1.1” 等,应为 20.1.1–20.1.4);20.2 暂时性波动:p.426–427;20.3 波动率及其成分的度量(含 Roll 模型专栏):p.427–429;总结与要点:p.429;思考题:p.430。