量化交易中文教材

第 03 章 积分

导数回答「变化有多快」,积分回答「累计有多少」。连续现金流的现值、期限内的累计利率、概率密度下的面积、随机变量的期望,全都是积分。本章的核心结论有两个:牛顿–莱布尼茨公式把积分变成「找原函数」;期望就是「取值 × 密度」的积分。掌握这两点,第 02 册的连续分布和第 08 册的 BSM 推导就能读下去。

学习目标

  • 理解定积分是「细分、求和、取极限」,会用牛顿–莱布尼茨公式、换元和分部积分计算。
  • 理解反常积分,会用积分处理连续贴现、时变利率和违约强度。
  • 理解密度与期望的积分表示,会算正态分布的常用积分,读懂 BSM 公式的积分推导。

1. 定积分:面积与累加

1.1 从连续现金流说起

一个项目每年均匀产生 10 万元现金流,持续 5 年,连续贴现率 4%。现值是多少?

把 5 年切成长 \(\Delta t\) 的小段,第 \(k\) 段在 \(t_k\) 附近流入约 \(10\Delta t\),贴现后为 \(10e^{-0.04t_k}\Delta t\)。现值 \(\approx\sum_k10e^{-0.04t_k}\Delta t\),切得越细越准,\(\Delta t\to0\) 的极限就是积分 \(\displaystyle\int_0^5 10e^{-0.04t}\,dt\)。

这就是积分的全部思想:细分、求和、取极限。

1.2 定义

定义(定积分,黎曼和):把 \([a,b]\) 分成 \(n\) 段,分点 \(a=x_0<x_1<\cdots<x_n=b\),每段长 \(\Delta x_k=x_k-x_{k-1}\),在每段任取一点 \(\xi_k\),作和

\[ S_n=\sum_{k=1}^{n}f(\xi_k)\Delta x_k. \]

如果当最长的一段趋于 0 时 \(S_n\) 趋于同一个极限,而且与分法和 \(\xi_k\) 的取法无关,就称这个极限为 \(f\) 在 \([a,b]\) 上的定积分,记作 \(\displaystyle\int_a^bf(x)\,dx\)。

读记号:\(\int\) 是拉长的 S(sum),\(f(x)\,dx\) 是「高 \(\times\) 宽」的小矩形。\(x\) 是哑变量,换成 \(t\) 意义不变。

几何意义:\(f\ge0\) 时,积分是曲线下方、\(x\) 轴上方、\(x=a\) 到 \(x=b\) 之间的面积。\(f\) 有正有负时,\(x\) 轴下方的面积算负。

闭区间上的连续函数、只有有限个跳跃点的有界函数都可积,本书遇到的函数基本都满足。

1.3 数值演示

用 \(\int_0^1x^2dx=1/3\) 检验黎曼和,分别取每段的左端点、右端点、中点:

import numpy as np

# 黎曼和逼近 ∫_0^1 x^2 dx = 1/3:左端点、右端点、中点三种取法
f = lambda x: x**2
for n in [4, 10, 100, 1000]:
    dx = 1 / n
    left = np.sum(f(np.arange(n) * dx)) * dx
    right = np.sum(f(np.arange(1, n + 1) * dx)) * dx
    mid = np.sum(f((np.arange(n) + 0.5) * dx)) * dx
    print(f"n={n:<5} left={left:.6f}  right={right:.6f}  mid={mid:.6f}  exact={1/3:.6f}")

输出:

n=4     left=0.218750  right=0.468750  mid=0.328125  exact=0.333333
n=10    left=0.285000  right=0.385000  mid=0.332500  exact=0.333333
n=100   left=0.328350  right=0.338350  mid=0.333325  exact=0.333333
n=1000  left=0.332834  right=0.333833  mid=0.333333  exact=0.333333

三种取法都收敛到 \(1/3\)。端点法误差约 \(1/(2n)\),中点法约 \(1/(12n^2)\),原因和中心差分一样:对称取点抵消一阶误差。后文用更精细的 scipy.integrate.quad。

1.4 基本性质

性质 公式 数值例
线性 \(\int_a^b(cf+g)=c\int_a^bf+\int_a^bg\) \(\int_0^1(3x^2+1)dx=1+1=2\)
区间可加 \(\int_a^bf=\int_a^cf+\int_c^bf\) 5 年现值 = 前 2 年 + 后 3 年
估值 \(m\le f\le M\Rightarrow m(b-a)\le\int_a^bf\le M(b-a)\) \(\int_0^1e^{-x^2}dx\in[e^{-1},1]\)

线性性就是「组合现值等于各部分现值之和」。


2. 牛顿–莱布尼茨公式

2.1 积分上限函数

固定下限 \(a\),让上限变动,得到函数

\[ F(x)=\int_a^xf(t)\,dt. \]

定理(微积分基本定理,第一部分):若 \(f\) 连续,则 \(F'(x)=f(x)\)。

为什么:\(F(x+h)-F(x)=\int_x^{x+h}f(t)dt\),这是一个宽 \(h\)、高约 \(f(x)\) 的细条,面积 \(\approx f(x)h\)。除以 \(h\) 再令 \(h\to0\),得 \(F'(x)=f(x)\)。

白话:累计量的变化速度,等于瞬时速率。这句话在概率论里变成:分布函数的导数是密度,\(F'(x)=f(x)\)(第 8 节)。

2.2 原函数与牛顿–莱布尼茨公式

若 \(G'(x)=f(x)\),称 \(G\) 是 \(f\) 的一个原函数。原函数不唯一,加任何常数仍是原函数,因为常数的导数是 0。

定理(牛顿–莱布尼茨公式):若 \(f\) 在 \([a,b]\) 上连续,\(G\) 是它的任一原函数,则

\[ \int_a^bf(x)\,dx=G(b)-G(a)\ \stackrel{\text{记作}}{=}\ \Big[G(x)\Big]_a^b. \]

推导:

  • 第 1 步,由 2.1 节,\(F(x)=\int_a^xf\) 是一个原函数。
  • 第 2 步,两个原函数之差的导数为 0,所以差是常数:\(G(x)=F(x)+c\)。
  • 第 3 步,\(G(b)-G(a)=F(b)-F(a)=\int_a^bf-0\)。

于是求和的极限变成了求导的逆运算。

例 1:\(\int_0^1x^2dx\)。\(x^2\) 的原函数是 \(x^3/3\)(求导验证:\((x^3/3)'=x^2\))。结果 \(1/3-0=1/3\),与 1.3 节的数值一致。

例 2:\(\int_1^2\frac1xdx=[\ln x]_1^2=\ln2=0.6931\)。

例 3(第 1.1 节的现值):\(e^{-0.04t}\) 的原函数是 \(-\dfrac{e^{-0.04t}}{0.04}\)。

\[ \int_0^510e^{-0.04t}dt=10\cdot\left[-\frac{e^{-0.04t}}{0.04}\right]_0^5=10\cdot\frac{1-e^{-0.2}}{0.04}=45.317. \]

一般公式:连续年金现值 \(=c\cdot\dfrac{1-e^{-rT}}{r}\)。与 CFA 的普通年金因子 \(\dfrac{1-(1+r)^{-T}}{r}\) 结构相同。


3. 不定积分表

\(\int f(x)dx\) 表示 \(f\) 的全体原函数,写成「某个原函数 \(+C\)」。下表把第 02 章的导数表反过来读:

\(f(x)\) \(\int f(x)dx\) 验证
\(x^n\)(\(n\neq-1\)) \(\dfrac{x^{n+1}}{n+1}+C\) 求导得 \(x^n\)
\(\dfrac1x\) \(\ln\lvert x\rvert+C\) 补上 \(n=-1\) 的缺口
\(e^x\) \(e^x+C\)
\(e^{kx}\) \(\dfrac{e^{kx}}{k}+C\) 链式法则反用
\(\dfrac{f'(x)}{f(x)}\) \(\ln\lvert f(x)\rvert+C\) 对数导数反用
\(\varphi(x)\) \(\Phi(x)+C\) \(\Phi\) 是定义出来的

最后一行很重要:\(e^{-x^2/2}\) 没有初等原函数,\(\Phi(x)\) 只能查表或数值计算(scipy.stats.norm.cdf)。不是所有积分都有公式。


4. 换元积分

4.1 规则

换元是链式法则的逆运算。链式法则说 \(\dfrac{d}{dx}G(u(x))=g(u(x))u'(x)\),其中 \(G'=g\)。两边积分:

\[ \int g(u(x))\,u'(x)\,dx=\int g(u)\,du. \]

操作口诀:令 \(u=u(x)\),则 \(du=u'(x)dx\),把所有 \(x\) 换成 \(u\),定积分的上下限也一起换。

4.2 例子

例 1:\(\int_0^12xe^{x^2}dx\)。

  • 第 1 步,令 \(u=x^2\),\(du=2x\,dx\)。被积式里正好有 \(2x\,dx\)。
  • 第 2 步,换限:\(x=0\Rightarrow u=0\);\(x=1\Rightarrow u=1\)。
  • 第 3 步,\(\int_0^1e^udu=e-1=1.71828\)。

例 2:\(\int_0^Te^{-rt}dt\)。令 \(u=-rt\),\(du=-r\,dt\),\(dt=-du/r\);\(t=0\Rightarrow u=0\),\(t=T\Rightarrow u=-rT\)。

\[ \int_0^{-rT}e^u\cdot\left(-\frac1r\right)du=\frac1r\int_{-rT}^0e^udu=\frac{1-e^{-rT}}{r}. \]

第二步交换上下限去掉了负号。这就是 2.2 节例 3 的公式。

例 3(标准化):\(X\sim N(\mu,\sigma^2)\),求 \(P(X<a)=\displaystyle\int_{-\infty}^a\frac{1}{\sigma\sqrt{2\pi}}e^{-(x-\mu)^2/(2\sigma^2)}dx\)。

令 \(z=(x-\mu)/\sigma\),\(dx=\sigma\,dz\),上限变为 \((a-\mu)/\sigma\):

\[ \int_{-\infty}^{(a-\mu)/\sigma}\frac{1}{\sigma\sqrt{2\pi}}e^{-z^2/2}\sigma\,dz=\Phi\!\left(\frac{a-\mu}{\sigma}\right). \]

\(\sigma\) 正好约掉。这就是 CFA 里「先标准化再查表」的数学依据。数值:年收益 \(N(8\%,20\%^2)\) 下亏损概率 \(=\Phi(-0.4)=0.3446\)。


5. 分部积分

5.1 规则

分部积分是乘积法则的逆运算。\((uv)'=u'v+uv'\),两边积分再移项:

\[ \int_a^bu\,dv=\Big[uv\Big]_a^b-\int_a^bv\,du. \]

适用于两类函数的乘积(如 \(t\cdot e^{-rt}\))。经验:多项式作 \(u\)(求导降次),指数作 \(dv\)。

5.2 例:连续现金流的久期

5 年期均匀现金流,连续贴现率 \(r\),麦考利久期是「现值加权的平均时间」:

\[ D=\frac{\int_0^Tt\,e^{-rt}dt}{\int_0^Te^{-rt}dt}. \]

分母已经会算。分子用分部积分:

  • 第 1 步,取 \(u=t\),\(dv=e^{-rt}dt\),于是 \(du=dt\),\(v=-e^{-rt}/r\)。
  • 第 2 步,代入:\(\int_0^Tte^{-rt}dt=\left[-\dfrac{te^{-rt}}{r}\right]_0^T+\dfrac1r\int_0^Te^{-rt}dt\)。
  • 第 3 步,计算:\(=-\dfrac{Te^{-rT}}{r}+\dfrac{1-e^{-rT}}{r^2}=\dfrac{1-e^{-rT}(1+rT)}{r^2}\)。

\(r=4\%\),\(T=5\):分子 \(=\dfrac{1-e^{-0.2}\times1.2}{0.0016}=10.952\),分母 \(=4.5317\),久期 \(=2.417\) 年,略小于中点 2.5 年,因为早期现金流贴现少、权重大。

5.3 数值验证

import numpy as np
from scipy.integrate import quad

# 分部积分验证:∫_0^T t e^{-rt} dt = [1 - e^{-rT}(1 + rT)] / r^2
r, T = 0.04, 5.0
num, _ = quad(lambda t: t * np.exp(-r * t), 0, T)
formula = (1 - np.exp(-r * T) * (1 + r * T)) / r**2
print(f"int t e^(-rt): quad={num:.6f}  by-parts formula={formula:.6f}")

# 连续现金流的麦考利久期 = 加权平均时间
pv, _ = quad(lambda t: np.exp(-r * t), 0, T)
print(f"Macaulay duration of 5y level stream = {num/pv:.4f} years")

# 换元验证:∫_0^1 2x e^{x^2} dx,令 u = x^2,结果 e - 1
val, _ = quad(lambda x: 2 * x * np.exp(x**2), 0, 1)
print(f"substitution: quad={val:.8f}  e-1={np.e - 1:.8f}")

# 指数分布(违约时间)期望:λ = 2% 时 E[τ] = 1/λ = 50 年
lam = 0.02
m, _ = quad(lambda t: t * lam * np.exp(-lam * t), 0, np.inf)
p5, _ = quad(lambda t: lam * np.exp(-lam * t), 0, 5)
print(f"E[tau]={m:.4f}  P(tau<=5)={p5:.6f}  1-e^(-5λ)={1-np.exp(-5*lam):.6f}")

输出:

int t e^(-rt): quad=10.951935  by-parts formula=10.951935
Macaulay duration of 5y level stream = 2.4167 years
substitution: quad=1.71828183  e-1=1.71828183
E[tau]=50.0000  P(tau<=5)=0.095163  1-e^(-5λ)=0.095163

最后一行的违约时间例子在第 7.3 节和第 9 节解释。


6. 反常积分

6.1 定义

积分区间无限长,或者被积函数在某点趋于无穷,叫反常积分。处理办法:先在有限范围内积分,再取极限。

\[ \int_a^\infty f(x)dx=\lim_{b\to\infty}\int_a^bf(x)dx. \]

极限存在(有限)就说收敛,否则发散。\(\int_{-\infty}^{\infty}\) 要拆成两半分别取极限,两半都收敛才算收敛。

6.2 收敛与发散的分界

  • \(\int_1^\infty\dfrac{1}{x^2}dx=\lim_{b\to\infty}\left(1-\dfrac1b\right)=1\),收敛。
  • \(\int_1^\infty\dfrac1xdx=\lim_{b\to\infty}\ln b=\infty\),发散。

一般地,\(\int_1^\infty x^{-p}dx\) 在 \(p>1\) 时收敛,\(p\le1\) 时发散。直观:尾部要衰减得「足够快」,面积才有限。

这条分界对应厚尾问题。若密度尾部像 \(x^{-(\alpha+1)}\)(尾指数 \(\alpha\)),则 \(\mathbb E[|X|^k]\) 的尾部像 \(\int x^{k-\alpha-1}dx\),只有 \(k<\alpha\) 时有限。股票日收益的尾指数常在 3 到 4 之间,所以峰度的估计很不稳定(第 06 册第 07b 章)。

6.3 永续现金流

每年 \(c\) 的连续永续现金流,贴现率 \(r\):

\[ \int_0^\infty ce^{-rt}dt=\lim_{T\to\infty}c\cdot\frac{1-e^{-rT}}{r}=\frac cr. \]

依据:\(r>0\) 时 \(e^{-rT}\to0\)。这和 CFA 的永续年金公式 \(c/r\) 一致。

import numpy as np
from scipy.integrate import quad

# 连续现金流现值:每年 10 万元均匀流入,持续 5 年,连续贴现率 r = 4%
c, r, T = 10.0, 0.04, 5.0
pv_quad, _ = quad(lambda t: c * np.exp(-r * t), 0, T)
pv_formula = c * (1 - np.exp(-r * T)) / r
pv_annual = sum(c / (1 + r) ** k for k in range(1, 6))   # 对照:年末支付的普通年金
print(f"continuous: quad={pv_quad:.6f}  formula={pv_formula:.6f}  annual annuity={pv_annual:.6f}")

# 反常积分:永续的连续现金流 ∫_0^∞ c e^{-rt} dt = c/r
pv_inf, _ = quad(lambda t: c * np.exp(-r * t), 0, np.inf)
print(f"perpetual: quad={pv_inf:.6f}  c/r={c/r:.6f}")

# 收敛与发散:∫_1^b 1/x^2 dx 与 ∫_1^b 1/x dx 随 b 增大的表现
for b in [10, 100, 1e4, 1e8]:
    print(f"b={b:.0e}  int 1/x^2={1 - 1/b:.8f}  int 1/x={np.log(b):.4f}")

输出:

continuous: quad=45.317312  formula=45.317312  annual annuity=44.518223
perpetual: quad=250.000000  c/r=250.000000
b=1e+01  int 1/x^2=0.90000000  int 1/x=2.3026
b=1e+02  int 1/x^2=0.99000000  int 1/x=4.6052
b=1e+04  int 1/x^2=0.99990000  int 1/x=9.2103
b=1e+08  int 1/x^2=0.99999999  int 1/x=18.4207

读结果:

  • 连续流入的现值 45.32 高于年末支付的普通年金 44.52(后者用年复利贴现,口径略有不同),主要因为连续流入的现金平均更早到手。
  • 永续积分直接给出 \(c/r=250\)。
  • \(\int_1^b x^{-1}=\ln b\) 增长很慢,\(b\) 从 \(10^4\) 到 \(10^8\) 才翻倍,但增长慢不等于收敛。

7. 连续复利与连续贴现

7.1 常数利率

连续复利 \(r\) 下,1 元 \(T\) 年后变成 \(e^{rT}\),贴现因子为 \(e^{-rT}\)。年复利 \(R\) 等价于连续复利 \(\ln(1+R)\),如 \(\ln1.05=4.879\%\)。

7.2 时变利率:贴现因子是积分

若瞬时短期利率随时间变化为 \(r(t)\),在 \([t,t+dt]\) 这一小段里资金增长 \(e^{r(t)dt}\)。把各小段乘起来,指数相加,取极限变成积分:

\[ \text{增长因子}=\exp\!\left(\int_0^Tr(t)\,dt\right),\qquad\text{贴现因子}=\exp\!\left(-\int_0^Tr(t)\,dt\right). \]

推导依据:\(e^{a_1}e^{a_2}\cdots e^{a_n}=e^{a_1+\cdots+a_n}\)(第 01 章),再加上「求和取极限 = 积分」。

数值:\(r(t)=2\%+1\%\cdot t\),\(T=2\)。\(\int_0^2(0.02+0.01t)dt=0.04+0.02=0.06\),贴现因子 \(e^{-0.06}=0.94176\)。等价的 2 年期零息利率是 \(0.06/2=3\%\),也就是期间瞬时利率的平均值。

零息利率与瞬时远期利率:令 \(R(T)\) 为 \(T\) 年期连续复利零息利率,\(f(t)\) 为瞬时远期利率,则 \(R(T)T=\int_0^Tf(t)dt\)。两边对 \(T\) 求导(2.1 节的定理):

\[ f(T)=R(T)+T\,R'(T). \]

收益率曲线向上倾斜(\(R'>0\))时,远期利率高于零息利率。这个公式在第 08 册第 04 章出现。数值:\(R(T)=3\%+0.2\%\cdot T\),\(T=5\) 时 \(R=4\%\),\(f=4\%+5\times0.2\%=5\%\)。

7.3 违约强度:同一个数学结构

信用风险里,违约强度(hazard rate)\(\lambda(t)\) 表示「尚未违约的条件下,单位时间的违约概率」。生存概率的推导与贴现因子完全一样:

\[ P(\tau>T)=\exp\!\left(-\int_0^T\lambda(t)\,dt\right). \]

常数 \(\lambda=2\%\) 时,5 年生存概率 \(e^{-0.1}=0.9048\),违约概率 \(0.0952\),与 5.3 节的数值输出一致。把利率换成违约强度,贴现因子就变成生存概率。第 08 册第 24 章据此得到:风险债券的贴现率约为无风险利率加「违约强度 × 损失率」。


8. 概率密度

8.1 为什么需要密度

离散随机变量可以列出每个取值的概率,比如 CFA 的二叉树:上涨概率 0.6,下跌概率 0.4。连续随机变量(如收益率)取任何一个具体值的概率都是 0,\(P(R=0.0312345\ldots)=0\)。能谈的只有区间概率 \(P(a<R<b)\)。

类比:金属棒上任何一点的质量都是 0,一段的质量是线密度的积分。概率密度就是「概率的线密度」。

8.2 定义

定义(概率密度函数):若存在 \(f(x)\ge0\) 使得对任意 \(a<b\),

\[ P(a<X\le b)=\int_a^bf(x)\,dx, \]

则称 \(f\) 为 \(X\) 的概率密度函数(pdf),并且 \(\int_{-\infty}^{\infty}f(x)dx=1\)。

分布函数 \(F(x)=P(X\le x)=\int_{-\infty}^xf(t)dt\)。由 2.1 节,\(F'(x)=f(x)\)。

\(f(x)\) 本身不是概率,可以大于 1(\([0,0.1]\) 上的均匀密度为 10);\(f(x)\Delta x\approx P(x<X\le x+\Delta x)\) 才是概率。

8.3 常见例子

均匀分布 \(U[0,1]\):\(f(x)=1\)(\(0\le x\le1\))。\(P(0.2<X\le0.5)=0.3\)。

指数分布(违约时间、订单到达间隔):\(f(t)=\lambda e^{-\lambda t}\),\(t\ge0\)。

  • 验证总概率:\(\int_0^\infty\lambda e^{-\lambda t}dt=\left[-e^{-\lambda t}\right]_0^\infty=0-(-1)=1\)。
  • \(P(\tau\le5)=1-e^{-5\lambda}\)。\(\lambda=0.02\) 时为 \(0.0952\),正是 7.3 节的违约概率。常数违约强度意味着违约时间服从指数分布。

正态分布 \(N(\mu,\sigma^2)\):\(f(x)=\dfrac{1}{\sigma\sqrt{2\pi}}e^{-(x-\mu)^2/(2\sigma^2)}\),第 10 节专门讨论。


9. 期望作为积分

9.1 从加权平均到积分

离散情形 \(\mathbb E[X]=\sum_ix_ip_i\)。连续情形把 \(p_i\) 换成 \(f(x)dx\),求和换成积分:

\[ \mathbb E[X]=\int_{-\infty}^{\infty}x\,f(x)\,dx. \]

更一般地,对函数 \(g\):

\[ \mathbb E[g(X)]=\int_{-\infty}^{\infty}g(x)\,f(x)\,dx. \]

这叫 LOTUS 法则:求 \(g(X)\) 的期望不必先求 \(g(X)\) 的分布,直接用 \(X\) 的密度加权。方差就是 \(g(x)=(x-\mu)^2\) 的情形:\(\operatorname{Var}(X)=\int(x-\mu)^2f(x)dx\)。

9.2 例子

均匀分布 \(U[0,1]\):\(\mathbb E[X]=\int_0^1x\,dx=\frac12\);\(\mathbb E[X^2]=\int_0^1x^2dx=\frac13\);\(\operatorname{Var}(X)=\frac13-\frac14=\frac1{12}\)。

指数分布:\(\mathbb E[\tau]=\int_0^\infty t\lambda e^{-\lambda t}dt\)。分部积分,\(u=t\),\(dv=\lambda e^{-\lambda t}dt\),\(v=-e^{-\lambda t}\):

\[ =\Big[-te^{-\lambda t}\Big]_0^\infty+\int_0^\infty e^{-\lambda t}dt=0+\frac1\lambda. \]

第一项在 \(\infty\) 处为 0,依据是「指数快于多项式」(第 01 章)。\(\lambda=2\%\) 时平均违约时间 50 年,与 5.3 节输出一致。

期权价格:在风险中性测度下,欧式看涨期权价格 \(=e^{-rT}\mathbb E[\max(S_T-K,0)]\)。这就是 LOTUS,\(g(s)=\max(s-K,0)\)。第 10.3 节把它算出来。


10. 正态密度的积分

10.1 总面积为 1

关键积分:

\[ \int_{-\infty}^{\infty}e^{-x^2/2}dx=\sqrt{2\pi}. \]

这个积分没法用原函数算(第 3 节说过 \(e^{-x^2/2}\) 没有初等原函数)。标准证明是把它平方,变成二重积分,再换成极坐标,第 05 章讲雅可比行列式时给出。它说明标准正态密度 \(\varphi(x)=\frac{1}{\sqrt{2\pi}}e^{-x^2/2}\) 前面的常数 \(\frac{1}{\sqrt{2\pi}}\) 正好让总面积等于 1。

10.2 均值和方差

均值为 0:\(x\varphi(x)\) 是奇函数(\(x\) 换成 \(-x\) 后变号),在对称区间上正负面积抵消,\(\int x\varphi(x)dx=0\)。

方差为 1:关键观察是 \(\varphi'(x)=-x\varphi(x)\)(链式法则)。分部积分,\(u=x\),\(dv=x\varphi(x)dx\),\(v=-\varphi(x)\):

\[ \int_{-\infty}^{\infty}x^2\varphi(x)dx=\Big[-x\varphi(x)\Big]_{-\infty}^{\infty}+\int_{-\infty}^{\infty}\varphi(x)dx=0+1=1. \]

第一项为 0,因为 \(e^{-x^2/2}\) 衰减快于任何多项式增长。

截断期望:同样由 \(\varphi'=-x\varphi\),

\[ \int_a^\infty x\varphi(x)dx=\Big[-\varphi(x)\Big]_a^\infty=\varphi(a). \]

\(a=1\) 时为 \(\varphi(1)=0.2420\)。这个式子在 Expected Shortfall 的正态公式 \(\text{ES}=\mu+\sigma\dfrac{\varphi(z_\alpha)}{1-\alpha}\) 中直接出现(第 08 册第 22 章)。

10.3 BSM 公式是一个正态积分

设 \(S_T=S_0\exp\big((r-\tfrac12\sigma^2)T+\sigma\sqrt Tz\big)\),\(z\sim N(0,1)\)。看涨期权价格:

\[ C=e^{-rT}\int_{-\infty}^{\infty}\max(S_T(z)-K,0)\,\varphi(z)\,dz. \]

第 1 步,确定积分区域。\(S_T>K\iff z>-d_2\),其中 \(d_2=\dfrac{\ln(S_0/K)+(r-\frac12\sigma^2)T}{\sigma\sqrt T}\)。区域外被积函数为 0。

第 2 步,拆成两项:

\[ C=e^{-rT}\int_{-d_2}^{\infty}S_T(z)\varphi(z)dz-Ke^{-rT}\int_{-d_2}^{\infty}\varphi(z)dz. \]

第 3 步,第二项:由对称性 \(\int_{-d_2}^\infty\varphi=\Phi(d_2)\),得 \(Ke^{-rT}\Phi(d_2)\)。

第 4 步,第一项配方。\(e^{-rT}S_T(z)\varphi(z)=S_0\cdot\dfrac{1}{\sqrt{2\pi}}\exp\big(-\tfrac12\sigma^2T+\sigma\sqrt Tz-\tfrac12z^2\big)\),指数部分配方:\(-\tfrac12(z-\sigma\sqrt T)^2\)。所以它等于 \(S_0\varphi(z-\sigma\sqrt T)\)。

第 5 步,换元 \(w=z-\sigma\sqrt T\),下限变为 \(-d_2-\sigma\sqrt T=-d_1\):\(S_0\int_{-d_1}^\infty\varphi(w)dw=S_0\Phi(d_1)\)。

合起来就是 BSM 公式 \(C=S_0\Phi(d_1)-Ke^{-rT}\Phi(d_2)\)。整个推导只用了本章的换元、拆分区间和正态积分。

10.4 数值验证

import numpy as np
from scipy.integrate import quad
from scipy.stats import norm

phi = lambda x: np.exp(-x**2 / 2) / np.sqrt(2 * np.pi)
total, _ = quad(phi, -np.inf, np.inf)
mean, _ = quad(lambda x: x * phi(x), -np.inf, np.inf)
second, _ = quad(lambda x: x**2 * phi(x), -np.inf, np.inf)
tail, _ = quad(phi, -np.inf, -1.645)
print(f"total={total:.10f}  E[X]={mean:.2e}  E[X^2]={second:.10f}")
print(f"P(X<-1.645) quad={tail:.6f}  norm.cdf={norm.cdf(-1.645):.6f}")

# 一般正态 N(mu, sigma^2):换元 z = (x-mu)/sigma 后与标准正态一致
mu, sigma = 0.08, 0.20
p_quad, _ = quad(lambda x: norm.pdf(x, mu, sigma), -np.inf, 0.0)
print(f"P(R<0) for N(8%,20%^2): quad={p_quad:.6f}  Phi(-mu/sigma)={norm.cdf(-mu/sigma):.6f}")

# 期望作为积分:看涨期权在风险中性下的贴现期望 = BSM 公式
S0, K, r, s, T = 100.0, 105.0, 0.03, 0.25, 1.0
def payoff_density(z):
    ST = S0 * np.exp((r - 0.5 * s**2) * T + s * np.sqrt(T) * z)
    return max(ST - K, 0.0) * phi(z)
ev, _ = quad(payoff_density, -np.inf, np.inf, limit=200)
call_int = np.exp(-r * T) * ev
d1 = (np.log(S0 / K) + (r + 0.5 * s**2) * T) / (s * np.sqrt(T))
d2 = d1 - s * np.sqrt(T)
call_bsm = S0 * norm.cdf(d1) - K * np.exp(-r * T) * norm.cdf(d2)
print(f"call via integral={call_int:.6f}  BSM formula={call_bsm:.6f}")

输出:

total=1.0000000000  E[X]=0.00e+00  E[X^2]=1.0000000000
P(X<-1.645) quad=0.049985  norm.cdf=0.049985
P(R<0) for N(8%,20%^2): quad=0.344578  Phi(-mu/sigma)=0.344578
call via integral=9.121799  BSM formula=9.121799

总面积 1、均值 0、二阶矩 1;\(-1.645\) 左侧面积约 0.05,这就是 95% VaR 的 1.645;直接积分得到的期权价格 9.1218 与 BSM 公式完全相同。


本章小结

概念 公式 说明
定积分 \(\int_a^bf=\lim\sum f(\xi_k)\Delta x_k\) 细分、求和、取极限
基本定理 \(\dfrac{d}{dx}\int_a^xf(t)dt=f(x)\) 累计量的变化率 = 瞬时速率
牛顿–莱布尼茨 \(\int_a^bf=G(b)-G(a)\),\(G'=f\) 积分 = 找原函数
换元 \(\int g(u(x))u'(x)dx=\int g(u)du\) 链式法则逆用,上下限一起换
分部 \(\int u\,dv=uv-\int v\,du\) 乘积法则逆用
反常积分 \(\int_a^\infty f=\lim_{b\to\infty}\int_a^bf\) \(\int_1^\infty x^{-p}\) 当 \(p>1\) 收敛
连续年金 \(\int_0^Tce^{-rt}dt=c\dfrac{1-e^{-rT}}{r}\);\(T\to\infty\) 得 \(c/r\)
时变贴现 \(\exp(-\int_0^Tr(t)dt)\) 生存概率同理:\(\exp(-\int\lambda)\)
远期利率 \(f(T)=R(T)+TR'(T)\)
密度 \(P(a<X\le b)=\int_a^bf\),\(F'=f\) 密度不是概率
期望 \(\mathbb E[g(X)]=\int g(x)f(x)dx\) LOTUS
正态积分 \(\int e^{-x^2/2}=\sqrt{2\pi}\);\(\int x^2\varphi=1\);\(\int_a^\infty x\varphi=\varphi(a)\)
BSM \(e^{-rT}\mathbb E[(S_T-K)^+]=S_0\Phi(d_1)-Ke^{-rT}\Phi(d_2)\) 换元 + 配方

练习

1. 计算 \(\int_1^3(2x+1)\,dx\),并用几何面积(梯形)核对。

答:\([x^2+x]_1^3=12-2=10\)。梯形:上底 \(f(1)=3\),下底 \(f(3)=7\),高 2,面积 \((3+7)\times2/2=10\)。

2. 计算 \(\int_0^2e^{-0.5t}dt\)。

答:\(\left[-2e^{-0.5t}\right]_0^2=2(1-e^{-1})=1.2642\)。

3. 每年 20 万元的连续现金流持续 10 年,连续贴现率 5%,求现值;若变为永续呢?

答:\(20\times\dfrac{1-e^{-0.5}}{0.05}=20\times7.8694=157.39\) 万元。永续:\(20/0.05=400\) 万元。

4. 用换元法计算 \(\int_0^1\dfrac{2x}{1+x^2}dx\)。

答:\(u=1+x^2\),\(du=2x\,dx\),\(u\) 从 1 到 2:\(\int_1^2\frac1udu=\ln2=0.6931\)。

5. 用分部积分计算 \(\int_0^1xe^xdx\)。

答:\(u=x\),\(dv=e^xdx\):\([xe^x]_0^1-\int_0^1e^xdx=e-(e-1)=1\)。

6. 判断 \(\int_1^\infty x^{-1.5}dx\) 和 \(\int_0^1x^{-1/2}dx\) 是否收敛,收敛的话求值。

答:\(\int_1^b x^{-1.5}dx=2(1-b^{-1/2})\to2\),收敛。第二个在 0 处被积函数趋于无穷,\(\int_\varepsilon^1x^{-1/2}dx=2(1-\sqrt\varepsilon)\to2\),收敛。

7. 瞬时利率 \(r(t)=0.03+0.004t\),求 5 年期贴现因子和对应的连续复利零息利率。

答:\(\int_0^5r=0.15+0.002\times25=0.20\)。贴现因子 \(e^{-0.2}=0.8187\),零息利率 \(0.20/5=4\%\)。

8. 违约强度为常数 3%。求 10 年内违约的概率和平均违约时间。

答:\(1-e^{-0.3}=0.2592\);\(\mathbb E[\tau]=1/0.03=33.3\) 年。

9. 密度 \(f(x)=2x\)(\(0\le x\le1\)),验证它是密度,并求 \(\mathbb E[X]\)、\(\operatorname{Var}(X)\)。

答:\(\int_0^12xdx=1\),且 \(f\ge0\)。\(\mathbb E[X]=\int_0^12x^2dx=\frac23\);\(\mathbb E[X^2]=\int_0^12x^3dx=\frac12\);\(\operatorname{Var}=\frac12-\frac49=\frac1{18}=0.0556\)。

10. \(X\sim N(0,1)\),求 \(\mathbb E[X\mid X>1.645]\)。

答:\(\mathbb E[X\mathbf 1\{X>a\}]=\varphi(a)\),除以 \(P(X>a)\)。\(\varphi(1.645)=0.10311\),\(P=0.05\),结果 \(2.063\)。这正是 95% 正态 ES 的倍数:\(\text{ES}=\mu+2.063\sigma\)。

11. 年收益 \(R\sim N(6\%,15\%^2)\),求 \(P(R<-10\%)\)。

答:标准化 \(z=(-0.10-0.06)/0.15=-1.0667\),\(\Phi(-1.0667)=0.1431\)。


在全书中用到的地方

  • 第 02 册第 05 章「连续型随机变量」:密度、分布函数与期望的积分定义。
  • 第 02 册第 07c 章「矩母函数与多元正态」:用配方和换元计算 \(\mathbb E[e^{tX}]\)。
  • 第 03 册第 24a 章「蒙特卡洛积分与重要性抽样」:用样本均值近似 \(\int g(x)f(x)dx\)。
  • 第 08 册第 04 章「利率」:连续复利、零息利率与远期利率 \(f=R+TR'\)。
  • 第 08 册第 15b 章「BSM 定价公式、隐含波动率与股息」:BSM 公式的积分推导。
  • 第 08 册第 22 章「风险价值 VaR」:正态 VaR 与 Expected Shortfall。
  • 第 08 册第 24 章「信用风险」:违约强度与生存概率 \(\exp(-\int\lambda)\)。
  • 第 08 册第 26b 章「方差互换、VIX 与静态期权复制」:用期权价格的积分复制方差。
  • 第 06 册第 07b 章「极值理论与尾部风险」:尾指数与矩的存在性。