量化交易中文教材

附录 A1 常用分布速查

本附录整理自 Ross 原书封底的常用分布表(PDF p.481–484)和第 7 章 7.7 节的表 7.1、7.2(PDF p.347–356),并补充了原书理论题与习题中出现、量化常用的对数正态分布(理论题 7.49)和 Weibull 分布(习题 10.5)。每个分布给出:分布律或密度、均值、方差、矩母函数(MGF)、关键性质、生成方法和量化用途。最后一节列出 scipy.stats 的参数化差异,并用代码逐一核对。

一处更正:原书封底表把 Cauchy 分布写成 \(E[X]=0\)、\(\mathrm{Var}(X)=\infty\)。严格地说 Cauchy 的期望不存在:\(\int|x|\frac{1}{\pi(1+x^2)}dx=\infty\),0 只是它的对称中心与中位数。见下文 Cauchy 条目。

记号:\(q=1-p\);\(\Phi\) 为标准正态分布函数;\(\Gamma(\cdot)\) 为 Gamma 函数,\(\Gamma(n)=(n-1)!\)。

读前导读

这份附录是什么。 它是一张查表用的清单,不需要从头读到尾。CFA 里你主要用到正态、对数正态、二项、t 和卡方;这里把量化中常见的分布都列出来,并统一写出均值、方差、MGF、生成方法和用途。遇到陌生分布名、或者需要核对某个参数化时来查即可。

需要先想起来的数学。 每个条目里的 MGF 来自第 07c 章,\(M^{(n)}(0)=E[X^n]\);「生成」一栏的公式来自第 10 章的逆变换法和拒绝法。Gamma 函数 \(\Gamma(s)=\int_0^\infty x^{s-1}e^{-x}dx\) 是阶乘向非整数的推广,例如 \(\Gamma(4)=3!=6\),\(\Gamma(1/2)=\sqrt\pi\)。积分与反常积分见 第 00 册第 03 章 积分,记号与希腊字母见 第 00 册第 08 章 读懂数学证明与符号。

怎么用。 第一遍只需浏览「三、分布之间的关系」,建立一张分布家族的关系图:Bernoulli 加总得到二项,指数加总得到 Gamma,正态平方和得到卡方,等等。写代码前一定要看「四、scipy.stats 参数化对照」:同一个分布在教材和软件里的参数写法常常不同(例如指数分布用速率还是均值),这是模拟和回测中最常见的低级错误来源之一。


一、离散分布

1. Bernoulli\((p)\)

  • 分布律:\(P\{X=1\}=p\),\(P\{X=0\}=q\)。
  • 均值 \(p\);方差 \(pq\);MGF \(pe^t+q\)。
  • 性质:示性变量 \(I_A\) 就是 Bernoulli\((P(A))\),\(X^2=X\)。
  • 用途:单笔交易盈亏、单日涨跌、单个债务人是否违约。

2. 二项分布 Binomial\((n,p)\)

  • 分布律:\(P\{X=i\}=\binom ni p^iq^{n-i}\),\(i=0,\dots,n\)。
  • 均值 \(np\);方差 \(npq\);MGF \((pe^t+q)^n\)。
  • 性质:\(n\) 个独立 Bernoulli\((p)\) 之和;独立的 Bin\((n,p)\) 与 Bin\((m,p)\) 之和为 Bin\((n+m,p)\);\(n\) 大时近似 \(N(np,npq)\)(用连续性修正),\(p\) 小时近似 Poisson\((np)\),误差不超过 \(np^2\)(第 08 章 8.6 节)。
  • 生成:\(\sum_{i=1}^nI(U_i<p)\)。
  • 用途:\(n\) 笔独立交易中的盈利笔数、胜率检验。

3. 几何分布 Geometric\((p)\)

  • 分布律:\(P\{X=n\}=q^{n-1}p\),\(n=1,2,\dots\)(首次成功所需的试验次数)。
  • 均值 \(1/p\);方差 \(q/p^2\);MGF \(\dfrac{pe^t}{1-qe^t}\)(\(qe^t<1\))。
  • 性质:离散分布中唯一的无记忆分布;\(P\{X>n\}=q^n\)。
  • 生成:\(1+\lfloor\log U/\log q\rfloor\)。
  • 用途:Markov 链在一个状态的停留期数(\(p=1-P_{ii}\))、连续亏损后首次盈利所需交易数。

4. 负二项分布 Negative Binomial\((r,p)\)

  • 分布律:\(P\{X=n\}=\binom{n-1}{r-1}p^rq^{n-r}\),\(n=r,r+1,\dots\)(凑齐 \(r\) 次成功所需的试验次数)。
  • 均值 \(r/p\);方差 \(rq/p^2\);MGF \(\Big(\dfrac{pe^t}{1-qe^t}\Big)^r\)。
  • 性质:\(r\) 个独立 Geometric\((p)\) 之和。
  • 用途:另一常见参数化(失败次数,且允许 \(r\) 非整数)是 Poisson–Gamma 混合,方差大于均值,常用于拟合过度离散的计数(日成交笔数、违约数)。

5. Poisson 分布 Poisson\((\lambda)\)

  • 分布律:\(P\{X=i\}=e^{-\lambda}\dfrac{\lambda^i}{i!}\),\(i=0,1,\dots\)
  • 均值 \(\lambda\);方差 \(\lambda\);MGF \(\exp\{\lambda(e^t-1)\}\)。
  • 性质:二项分布在 \(n\to\infty\)、\(np\to\lambda\) 时的极限;独立 Poisson 之和仍为 Poisson(参数相加);稀疏化后得到独立的 Poisson(第 07c 章例 7m);速率 \(\lambda\) 的 Poisson 过程在 \([0,t]\) 内的事件数为 Poisson\((\lambda t)\)(第 09 章);\(\sqrt X\) 的方差约为 1/4(方差稳定变换)。
  • 生成:\(\min\{n:\prod_{i\le n}U_i<e^{-\lambda}\}-1\)。
  • 用途:单位时间内的订单到达数、跳跃次数、稀有违约事件数。真实数据常过度离散(方差 > 均值),需改用负二项或混合 Poisson。

6. 超几何分布 Hypergeometric\((N,m,n)\)

  • 分布律:\(N\) 个球中 \(m\) 个白球,无放回取 \(n\) 个,白球数 \(X\):\(P\{X=i\}=\dfrac{\binom mi\binom{N-m}{n-i}}{\binom Nn}\)。
  • 均值 \(np\);方差 \(\dfrac{N-n}{N-1}np(1-p)\),其中 \(p=m/N\)。
  • 性质:与二项分布相比方差多一个有限总体修正因子 \(\frac{N-n}{N-1}\)(第 07a 章例 4c);\(N\to\infty\) 时趋于二项分布。
  • 用途:从有限股票池中无放回抽样时「抽到某行业的只数」、Fisher 精确检验。

7. 负超几何分布 Negative Hypergeometric

  • 设定:\(n\) 个特殊球、\(m\) 个普通球,无放回逐个取出,\(Y\) 为取到第 \(r\) 个特殊球所需的次数。
  • 分布律:\(P\{Y=k\}=\dfrac{\binom n{r-1}\binom m{k-r}}{\binom{n+m}{k-1}}\cdot\dfrac{n-r+1}{n+m-k+1}\)。
  • 均值 \(\dfrac{r(n+m+1)}{n+1}\);方差 \(\dfrac{mr(n+1-r)(n+m+1)}{(n+1)^2(n+2)}\)(第 07a 章例 3e)。
  • 例:洗好的牌翻到第一张 A,期望翻 10.6 张。

二、连续分布

8. 均匀分布 Uniform\((a,b)\)

  • 密度:\(f(x)=\dfrac1{b-a}\),\(a<x<b\)。
  • 均值 \(\frac{a+b}2\);方差 \(\frac{(b-a)^2}{12}\);MGF \(\dfrac{e^{tb}-e^{ta}}{t(b-a)}\)。
  • 性质:若 \(X\) 连续、分布函数为 \(F\),则 \(F(X)\sim U(0,1)\)(逆变换法的反面,即概率积分变换);\(n\) 个独立 \(U(0,1)\) 的第 \(j\) 小值服从 Beta\((j,n-j+1)\)。
  • 用途:一切模拟的起点(第 10 章);p 值在零假设下服从 \(U(0,1)\)。

9. 正态分布 Normal\((\mu,\sigma^2)\)

  • 密度:\(f(x)=\dfrac{1}{\sqrt{2\pi}\sigma}e^{-(x-\mu)^2/2\sigma^2}\)。
  • 均值 \(\mu\);方差 \(\sigma^2\);MGF \(\exp\{\mu t+\sigma^2t^2/2\}\)。
  • 性质:\(Z=(X-\mu)/\sigma\sim N(0,1)\);独立正态之和仍为正态;CLT 的极限分布;\(E[Z^4]=3\)(峰度基准);多元正态完全由均值与协方差决定,分量不相关即独立(第 07c 章)。
  • 生成:Box–Muller、Marsaglia 极坐标法、指数拒绝法(第 10 章)。
  • 用途:收益率的一阶近似、参数 VaR、t 检验、Black–Scholes 模型中的对数收益。注意金融收益普遍厚尾,正态会低估极端损失。

10. 指数分布 Exponential\((\lambda)\)

  • 密度:\(f(x)=\lambda e^{-\lambda x}\),\(x\ge0\);\(P\{X>x\}=e^{-\lambda x}\)。
  • 均值 \(1/\lambda\);方差 \(1/\lambda^2\);MGF \(\dfrac{\lambda}{\lambda-t}\)(\(t<\lambda\))。
  • 性质:连续分布中唯一的无记忆分布;失效率为常数 \(\lambda\);独立指数的最小值仍为指数,速率相加;Poisson 过程的到达间隔。
  • 生成:\(-\frac1\lambda\log U\)。
  • 用途:订单到达间隔、常数违约强度下的违约时间。

11. Gamma 分布 Gamma\((\alpha,\lambda)\)

  • 密度:\(f(x)=\dfrac{\lambda e^{-\lambda x}(\lambda x)^{\alpha-1}}{\Gamma(\alpha)}\),\(x\ge0\)。
  • 均值 \(\alpha/\lambda\);方差 \(\alpha/\lambda^2\);MGF \(\Big(\dfrac{\lambda}{\lambda-t}\Big)^\alpha\)(\(t<\lambda\))。
  • 性质:Gamma\((1,\lambda)\) 就是 Exp\((\lambda)\);同一 \(\lambda\) 的独立 Gamma 相加形状参数相加;\(\alpha=n\) 为整数时是 \(n\) 个独立 Exp\((\lambda)\) 之和,即 Poisson 过程第 \(n\) 个事件的时刻。
  • 生成(整数 \(\alpha=n\)):\(-\frac1\lambda\log\prod_{i=1}^nU_i\)。
  • 用途:随机强度的先验(Poisson–Gamma 共轭)、已实现方差的近似分布。

12. Beta 分布 Beta\((a,b)\)

  • 密度:\(f(x)=\dfrac{x^{a-1}(1-x)^{b-1}}{B(a,b)}\),\(0<x<1\),\(B(a,b)=\dfrac{\Gamma(a)\Gamma(b)}{\Gamma(a+b)}\)。
  • 均值 \(\dfrac a{a+b}\);方差 \(\dfrac{ab}{(a+b)^2(a+b+1)}\);MGF 无简单形式。
  • 性质:\(n\) 个独立 \(U(0,1)\) 的第 \(j\) 小值服从 Beta\((j,n-j+1)\);Beta\((1,1)=U(0,1)\);是二项分布中成功率 \(p\) 的共轭先验。
  • 用途:胜率、回收率(recovery rate)、成交概率等取值在 \([0,1]\) 的量的建模与贝叶斯估计。

13. 卡方分布 Chi-Squared\((n)\)

  • 定义:\(\chi^2_n=Z_1^2+\cdots+Z_n^2\),\(Z_i\) 独立标准正态。
  • 均值 \(n\);方差 \(2n\);MGF \((1-2t)^{-n/2}\)(\(t<\frac12\))。
  • 性质:\(\chi^2_n=\) Gamma\((n/2,1/2)\);\(\chi^2_2\) 是均值 2 的指数分布;正态样本 \((n-1)S^2/\sigma^2\sim\chi^2_{n-1}\),且与 \(\bar X\) 独立(第 07c 章)。
  • 生成:\(\chi^2_{2k}=-2\log\prod_{i=1}^kU_i\);\(\chi^2_{2k+1}=Z^2-2\log\prod_{i=1}^kU_i\)。
  • 用途:方差的置信区间、拟合优度检验、似然比检验(第 03 册)。

14. Cauchy 分布(含更正)

  • 密度:\(f(x)=\dfrac{1}{\pi(1+x^2)}\),\(-\infty<x<\infty\)(标准形式;一般形式 \(\frac{1}{\pi}\frac{\gamma}{\gamma^2+(x-x_0)^2}\))。
  • 均值不存在(原书表中写作 0,应更正);方差不存在(无穷);MGF 不存在(对任何 \(t\ne0\) 都发散)。中位数与众数为 0(一般形式为 \(x_0\))。
  • 性质:若 \(\Theta\sim U(-\pi/2,\pi/2)\),则 \(\tan\Theta\) 服从标准 Cauchy(「正切于均匀角」);两个独立标准正态之比 \(Z_1/Z_2\) 是标准 Cauchy;\(1/X\) 仍是标准 Cauchy;\(n\) 个独立标准 Cauchy 的样本均值仍是标准 Cauchy——大数定律和中心极限定理都不适用(第 08 章的模拟中样本均值在 \(10^6\) 个样本后仍不收敛)。
  • 生成:\(\tan\big(\pi(U-\tfrac12)\big)\)。
  • 用途:极端厚尾的反例。实务中若一个统计量是两个均值接近 0 的估计量之比(如用估计的 beta 做除法、用接近 0 的波动率归一化),它的分布可能接近 Cauchy,样本均值会被少数极端值主导,应改用中位数等稳健统计量。

15. 对数正态分布 LogNormal\((\mu,\sigma^2)\)(补充,原书理论题 7.49)

  • 定义:\(X=e^Y\),\(Y\sim N(\mu,\sigma^2)\);密度 \(f(x)=\dfrac{1}{x\sigma\sqrt{2\pi}}e^{-(\log x-\mu)^2/2\sigma^2}\),\(x>0\)。
  • 均值 \(e^{\mu+\sigma^2/2}\);方差 \(e^{2\mu+\sigma^2}(e^{\sigma^2}-1)\);中位数 \(e^\mu\)。各阶矩都存在,但 MGF 对 \(t>0\) 不存在。
  • 性质:独立对数正态之积仍为对数正态(对数相加),但和不是。
  • 用途:Black–Scholes 模型下的股价 \(S_T=S_0e^{(r-\sigma^2/2)T+\sigma\sqrt TZ}\);单笔成交金额、市值等右偏正量。\(E[S_T]=S_0e^{rT}\) 的推导即用均值公式(第 07c 章)。

16. Weibull 分布(补充,原书习题 10.5)

  • 分布函数:\(F(t)=1-e^{-at^\beta}\),\(t\ge0\);失效率 \(\lambda(t)=a\beta t^{\beta-1}\)。
  • 记 \(s=a^{-1/\beta}\),均值 \(s\,\Gamma(1+1/\beta)\);方差 \(s^2\big[\Gamma(1+2/\beta)-\Gamma(1+1/\beta)^2\big]\)。
  • 性质:\(\beta=1\) 退化为指数分布;\(\beta>1\) 失效率递增,\(\beta<1\) 递减。
  • 生成:\(\big(-\frac1a\log U\big)^{1/\beta}\)。
  • 用途:失效率随时间变化的寿命或违约时间、交易间隔(duration)模型。

三、分布之间的关系

关系 说明 出处
Bernoulli 之和 → 二项 \(n\) 个独立 Bernoulli\((p)\) 第 04b、07a 章
几何之和 → 负二项 \(r\) 个独立几何\((p)\) 第 07a 章 例 2f
二项 → Poisson \(n\to\infty\),\(np=\lambda\);误差 \(\le np^2\) 第 04b 章 4.9 节;误差界见第 08 章 8.6 节
二项、Poisson → 正态 中心极限定理 第 05 章 5.4 节(DeMoivre–Laplace)、第 08 章
超几何 → 二项 \(N\to\infty\) 第 04b 章 4.10 节、第 07a 章
指数之和 → Gamma \(n\) 个独立 Exp\((\lambda)\) → Gamma\((n,\lambda)\) 第 05、06a、07c、09 章
正态平方和 → 卡方 → Gamma \(\chi^2_n=\) Gamma\((n/2,1/2)\) 第 06a 章 6.3 节、第 07c 章 例 7i
Poisson 过程 ↔ 指数 / Gamma 间隔 Exp\((\lambda)\),第 \(n\) 个时刻 Gamma\((n,\lambda)\) 第 09 章
均匀次序统计量 → Beta 第 \(j\) 小值 ~ Beta\((j,n-j+1)\) 第 06b 章 6.6 节
正态 → 对数正态 \(e^Y\) 第 05 章 5.7 节、第 07c 章
正态之比 → Cauchy \(Z_1/Z_2\) 第 06b 章(原书理论题 6.35)
均匀 → 任意分布 逆变换 \(F^{-1}(U)\) 第 10 章

四、scipy.stats 参数化对照

教材公式与 scipy.stats 的参数化不总是一致,最常见的坑如下:

分布 本册写法 scipy.stats 写法 注意
指数 Exp\((\lambda)\),速率 expon(scale=1/λ) scipy 用尺度 = 均值
Gamma Gamma\((\alpha,\lambda)\) gamma(α, scale=1/λ) 同上
几何 从 1 开始计数 geom(p) 一致(numpy 的 geometric 也从 1 开始)
负二项 试验总数,\(\ge r\) nbinom(r, p, loc=r) scipy 默认计失败数,要平移 \(r\)
超几何 \((N,m,n)\) = (总数, 白球, 抽取数) hypergeom(N, m, n) scipy 文档记作 (M, n, N),含义同序
对数正态 \((\mu,\sigma)\) 为对数的均值、标准差 lognorm(σ, scale=e^μ) 形状参数是 \(\sigma\)
Weibull \(F=1-e^{-at^\beta}\) weibull_min(β, scale=a^{-1/β}) scipy 写作 \(1-e^{-(t/s)^\beta}\)

下面的代码用 scipy 计算各分布的均值和方差,并与本附录给出的公式逐一核对:

import numpy as np
from math import gamma as G
from scipy import stats

n, p, r, lam, N, m = 10, 0.3, 4, 2.5, 50, 20
a, b, s, mu, sig = 2.0, 5.0, 3.0, 0.1, 0.4      # Beta(a,b)、Gamma 形状 s、对数正态 (μ,σ)
wa, wb = 0.5, 1.5                               # Weibull F(t)=1-exp(-wa t^wb)
ws = wa ** (-1 / wb)                            # 对应 scipy 的 scale
rows = [  # (名称, scipy 对象, 本附录公式给出的 (均值, 方差))
    ("Bin(n,p)",            stats.binom(n, p),                    (n*p, n*p*(1-p))),
    ("Geom(p) 从1计",        stats.geom(p),                        (1/p, (1-p)/p**2)),
    ("NegBin(r,p) 试验数",   stats.nbinom(r, p, loc=r),            (r/p, r*(1-p)/p**2)),   # scipy 计失败数,需平移 r
    ("Poisson(λ)",          stats.poisson(lam),                   (lam, lam)),
    ("Hypergeom(N,m,n)",    stats.hypergeom(N, m, n),             (n*m/N, n*(m/N)*(1-m/N)*(N-n)/(N-1))),
    ("Exp(λ)",              stats.expon(scale=1/lam),             (1/lam, 1/lam**2)),      # scale = 1/λ
    ("Gamma(s,λ)",          stats.gamma(s, scale=1/lam),          (s/lam, s/lam**2)),
    ("Beta(a,b)",           stats.beta(a, b),                     (a/(a+b), a*b/((a+b)**2*(a+b+1)))),
    ("χ²(n)",               stats.chi2(n),                        (n, 2*n)),
    ("LogNormal(μ,σ²)",     stats.lognorm(sig, scale=np.exp(mu)), (np.exp(mu+sig**2/2), np.exp(2*mu+sig**2)*(np.exp(sig**2)-1))),
    ("Weibull(a,β)",        stats.weibull_min(wb, scale=ws),      (ws*G(1+1/wb), ws**2*(G(1+2/wb)-G(1+1/wb)**2))),
]
for name, d, (m_tab, v_tab) in rows:
    ok = np.isclose(d.mean(), m_tab) and np.isclose(d.var(), v_tab)
    print(f"{name:<20s} scipy 均值 {d.mean():8.4f} 方差 {d.var():8.4f}  与公式一致: {ok}")
print(f"{'Cauchy':<20s} scipy 均值 {stats.cauchy().mean()} 方差 {stats.cauchy().var()}  (期望不存在)")

关键输出:

Bin(n,p)             scipy 均值   3.0000 方差   2.1000  与公式一致: True
Geom(p) 从1计          scipy 均值   3.3333 方差   7.7778  与公式一致: True
NegBin(r,p) 试验数      scipy 均值  13.3333 方差  31.1111  与公式一致: True
Poisson(λ)           scipy 均值   2.5000 方差   2.5000  与公式一致: True
Hypergeom(N,m,n)     scipy 均值   4.0000 方差   1.9592  与公式一致: True
Exp(λ)               scipy 均值   0.4000 方差   0.1600  与公式一致: True
Gamma(s,λ)           scipy 均值   1.2000 方差   0.4800  与公式一致: True
Beta(a,b)            scipy 均值   0.2857 方差   0.0255  与公式一致: True
χ²(n)                scipy 均值  10.0000 方差  20.0000  与公式一致: True
LogNormal(μ,σ²)      scipy 均值   1.1972 方差   0.2487  与公式一致: True
Weibull(a,β)         scipy 均值   1.4330 方差   0.9467  与公式一致: True
Cauchy               scipy 均值 nan 方差 nan  (期望不存在)

scipy 对 Cauchy 的均值和方差返回 nan(未定义),与本附录的更正一致。

原书对照

内容 原书位置 PDF 页码(书内页码 = PDF − 13)
离散分布表(MGF、均值、方差) 7.7 节表 7.1 p.347–356
连续分布表 7.7 节表 7.2 p.347–356
封底常用分布速查 封底 p.481–484
对数正态的矩 理论题 7.49 p.372–376
Weibull 分布的模拟 习题 10.5 p.443–445