第 04 章 级数与收敛
你每天都在用级数,只是没这么叫它。年金现值是有限项的等比求和,永续年金是无穷项的等比求和,Gordon 股利折现模型是「增长型」的无穷等比求和。连续复利里的 \(e^r\),本身也是一个无穷级数的和。
本章把这些熟悉的公式放回数学框架里。读完后,你会知道「无穷多项加起来」在什么条件下有意义,为什么永续年金公式要求 \(r>0\)、Gordon 模型要求 \(g<r\),以及 \(\ln(1+x)\approx x\)、\((1+r/n)^n\to e^r\) 这些近似从哪里来、误差有多大。
前置知识:第 01 章的数列极限,第 02 章的导数与泰勒展开。
学习目标
- 会区分数列与级数,理解「级数收敛」就是「部分和数列收敛」。
- 会推导等差、等比数列的求和公式,并用它们推出年金、永续年金、增长型永续年金的公式。
- 能用几个常用判别法(项趋于零、比较、比值、交错)判断级数是否收敛,知道调和级数为什么发散。
- 理解幂级数和收敛半径,会对幂级数逐项求导、逐项积分。
- 掌握 \(e^x\) 和 \(\ln(1+x)\) 的级数,会估计截断误差,理解对数收益与简单收益的差别。
- 会推导 \((1+r/n)^n\to e^r\),并估计离散复利与连续复利的差距。
4.1 数列:按顺序排好的一串数
金融例子。 一只债券每年付息 5 元,第 10 年还本 100 元。它的现金流可以写成一串数:\(5,5,\dots,5,105\)。一只基金每月的净值,也是一串数:\(1.000,1.012,0.995,\dots\)
定义。 数列是一串按编号排列的数 \(a_1,a_2,a_3,\dots\),记作 \(\{a_n\}\)。\(a_n\) 叫通项,\(n\) 是下标。数列本质上是一个定义在正整数上的函数:输入 \(n\),输出 \(a_n\)。
数值例。 \(a_n=100\times1.05^{\,n}\) 是本金 100 元按 5% 年复利滚存 \(n\) 年后的金额:\(a_1=105\),\(a_2=110.25\),\(a_{10}=162.89\)。
数列的极限(第 01 章已讲过,这里只复述结论)。如果 \(n\) 越来越大时 \(a_n\) 越来越贴近某个数 \(L\),并且可以贴得任意近,就说数列收敛到 \(L\),记作 \(\lim_{n\to\infty}a_n=L\) 或 \(a_n\to L\)。严格写法是:
白话解读:你随便给一个误差容忍度 \(\varepsilon\)(比如 0.001),我总能找到一个位置 \(N\),从这个位置往后,所有项与 \(L\) 的距离都小于这个容忍度。
数值例。 \(a_n=1/1.05^{\,n}\) 是 \(n\) 年后 1 元的现值。\(a_{10}=0.6139\),\(a_{100}=0.0076\),\(a_{300}=4.4\times10^{-7}\),它收敛到 0。
4.2 等差数列与等比数列
4.2.1 等差数列
金融例子。 一笔 120 万元的贷款按「等额本金」偿还,分 10 年,每年还本 12 万。第 \(k\) 年年初剩余本金是 \(120,108,96,\dots\),每年减少同一个数。
定义。 相邻两项之差恒为常数 \(d\) 的数列叫等差数列:\(a_n=a_1+(n-1)d\)。
求和公式。 前 \(n\) 项和
推导(倒序相加):
- 正着写:\(S_n=a_1+(a_1+d)+\cdots+a_n\)。
- 倒着写:\(S_n=a_n+(a_n-d)+\cdots+a_1\)。
- 两式逐列相加,每一列都等于 \(a_1+a_n\)(一列加 \(d\)、一列减 \(d\),互相抵消),共 \(n\) 列,所以 \(2S_n=n(a_1+a_n)\)。
数值例。 上面的贷款,若年利率 4%,每年利息按年初剩余本金计算。10 年的剩余本金是 \(120,108,\dots,12\),和为 \(10\times(120+12)/2=660\) 万元,总利息就是 \(660\times4\%=26.4\) 万元。
4.2.2 等比数列
金融例子。 本金按固定利率复利滚存,每年乘同一个因子 \(1+r\)。贴现因子 \(v=1/(1+r)\) 的各次幂 \(v,v^2,v^3,\dots\) 也是等比数列。
定义。 相邻两项之比恒为常数 \(q\)(公比)的数列叫等比数列:\(a_n=a_1q^{\,n-1}\)。
求和公式。 当 \(q\neq1\) 时,
推导(错位相减):
- 写出 \(S_n=a_1+a_1q+a_1q^2+\cdots+a_1q^{\,n-1}\)。
- 两边乘 \(q\):\(qS_n=a_1q+a_1q^2+\cdots+a_1q^{\,n}\)。
- 第 1 式减第 2 式。中间的 \(a_1q,\dots,a_1q^{\,n-1}\) 两边都有,全部抵消,只剩 \(S_n-qS_n=a_1-a_1q^{\,n}\)。
- 因为 \(q\ne1\),两边除以 \(1-q\) 得到公式。
当 \(q=1\) 时每项都是 \(a_1\),直接得 \(S_n=na_1\)。
数值例。 每年年末存 1 元,利率 5%,10 年后的终值是 \(1.05^9+1.05^8+\cdots+1\),即首项 1、公比 1.05、共 10 项:
这就是 CFA 里的年金终值系数 FVIFA(5%, 10)。
4.3 级数:无穷多项相加是什么意思
问题。 永续年金每年付 \(C\),现值是 \(Cv+Cv^2+Cv^3+\cdots\),一直加下去。无穷多个数相加,不能真的一项一项加完。我们需要一个定义。
定义。 给定数列 \(\{a_k\}\),把前 \(n\) 项相加得到部分和
部分和本身构成一个新数列 \(S_1,S_2,S_3,\dots\)。如果这个数列收敛到 \(S\),就说级数 \(\sum_{k=1}^\infty a_k\) 收敛,和为 \(S\),写作
如果部分和数列不收敛(趋于无穷,或者来回摆动),就说级数发散。
白话解读:「无穷级数的和」不是加完了的结果,而是「越加越接近、可以任意接近」的那个数。这个定义把无穷求和变成了一个数列极限问题,第 01 章的工具全部可以用。
4.3.1 最重要的级数:几何级数
推导:
- 由等比求和公式,部分和 \(S_n=\sum_{k=0}^{n-1}q^k=\dfrac{1-q^{\,n}}{1-q}\)。
- 当 \(|q|<1\) 时,\(|q|^n\to0\)(例如 \(0.9^{50}=0.0052\),\(0.9^{200}=7\times10^{-10}\)),所以 \(q^{\,n}\to0\)。
- 于是 \(S_n\to\dfrac{1-0}{1-q}=\dfrac1{1-q}\)。
其他情况全部发散:
| \(q\) 的范围 | 部分和的行为 | 结论 |
|---|---|---|
| \(\lvert q\rvert<1\) | 趋于 \(1/(1-q)\) | 收敛 |
| \(q=1\) | \(S_n=n\to\infty\) | 发散 |
| \(q=-1\) | \(1,0,1,0,\dots\) 来回摆动 | 发散 |
| \(\lvert q\rvert>1\) | \(\lvert q^{\,n}\rvert\to\infty\) | 发散 |
数值例。 \(q=0.5\):\(1+0.5+0.25+0.125+\cdots=2\)。前 10 项和是 \((1-0.5^{10})/0.5=1.99805\),离 2 只差 0.002。
4.3.2 收敛的必要条件:项必须趋于零
结论。 如果 \(\sum a_k\) 收敛,那么 \(a_k\to0\)。
推导:\(a_n=S_n-S_{n-1}\)。级数收敛意味着 \(S_n\to S\),同时 \(S_{n-1}\to S\),两者相减得 \(a_n\to S-S=0\)。
这个条件只是必要的,不是充分的。它最常见的用途是反过来:如果项不趋于零,级数一定发散。比如 \(\sum_{k} \frac{k}{k+1}\) 的项趋于 1,直接判发散。
反例(项趋于零但级数发散)就是著名的调和级数:
经典证明是分组比较:
每一组都大于 \(\tfrac12\),而组数可以无穷多,所以和超过任意给定的数。它发散得非常慢:前一百万项的和只有约 14.39,大约等于 \(\ln n+0.5772\)。
4.3.3 收敛级数的运算规则
收敛级数可以像有限和一样做下面几种运算。依据都是「部分和是有限和,有限和满足这些规则,再取极限」。
- 线性。 若 \(\sum a_k=A\),\(\sum b_k=B\),则 \(\sum(\alpha a_k+\beta b_k)=\alpha A+\beta B\)。两个收敛级数逐项相加、乘常数,结果仍收敛。
- 去掉或加上有限项不影响收敛性。 只影响和的数值。收不收敛只由「尾巴」决定。
- 提取公因子。 \(\sum_{k\ge m}cq^k=cq^m\sum_{j\ge0}q^j\)(令 \(j=k-m\) 重新编号)。
数值例:递延永续年金。 第 6 年起每年末付 100、利率 5% 的永续年金,现值是
用规则 2 换一种算法:完整永续年金 2000 减去前 5 年的年金 \(100\times(1-1.05^{-5})/0.05=432.95\),同样得到 1567.05。
需要提醒的是,两个级数的逐项乘积、逐项相除没有这么简单的规则。\(\sum a_kb_k\) 一般不等于 \((\sum a_k)(\sum b_k)\),两个无穷和相乘要用「双重求和」处理,第 07 章会讲。
4.4 几何级数与年金、永续年金
这一节把你熟悉的 TVM 公式全部归结为一个等式:\(\sum q^k=(1-q^n)/(1-q)\)。
4.4.1 普通年金
每期期末付 \(C\),共 \(n\) 期,每期利率 \(r\)。记 \(v=1/(1+r)\)。现值是
化简 \(v/(1-v)\):
所以
这就是年金现值公式。CFA 教材直接给出它,这里你看到了它的来历:一个首项 \(Cv\)、公比 \(v\) 的等比数列求和。
数值例。 \(C=100\),\(r=5\%\),\(n=10\):\(PV=2000\times(1-1.05^{-10})=2000\times(1-0.613913)=772.17\)。
期初年金(annuity due)每笔提前一期支付,每项都多乘一个 \((1+r)\),所以 \(PV_{\text{due}}=(1+r)\cdot PV=772.17\times1.05=810.78\)。
4.4.2 永续年金
让 \(n\to\infty\)。因为 \(r>0\) 时 \(0<v<1\),\(v^{\,n}\to0\):
数值例。 每年付 100、利率 5% 的永续年金值 2000。
收敛条件的金融含义。 公式要求 \(|v|<1\),也就是 \(r>0\)。若 \(r=0\),每笔现金流都不打折,加起来是无穷大;若 \(r<0\)(负利率),越远的现金流现值越大,同样发散。负利率环境下,「永续」资产的估值在数学上就是不良定义的,模型必须做截断或换假设。
4.4.3 用 Python 验证
import numpy as np
# 年金现值:逐期贴现求和 vs 等比级数公式
C, r, n = 100.0, 0.05, 10
v = 1 / (1 + r)
pv_loop = sum(C * v**k for k in range(1, n + 1))
pv_formula = C * (1 - v**n) / r
print(f"逐期求和 PV = {pv_loop:.6f}")
print(f"年金公式 PV = {pv_formula:.6f}")
# 期数越来越长,年金现值逼近永续年金 C/r
for n in [10, 30, 100, 300]:
print(f"n={n:4d} PV={C * (1 - v**n) / r:10.4f}")
print(f"永续年金 C/r = {C / r:.4f}")
输出:
逐期求和 PV = 772.173493
年金公式 PV = 772.173493
n= 10 PV= 772.1735
n= 30 PV= 1537.2451
n= 100 PV= 1984.7910
n= 300 PV= 1999.9991
永续年金 C/r = 2000.0000
可以看到部分和一步步爬向 2000。到第 100 年,已经拿到了永续年金价值的 99.2%。这也说明为什么长期限的年金和永续年金估值差不多:远期现金流的现值极小。
4.4.4 增长型永续年金与 Gordon 模型
股利第 1 年末为 \(D_1\),之后每年增长 \(g\)。现值
这是公比 \(q=\frac{1+g}{1+r}\) 的几何级数。
- 收敛条件 \(|q|<1\)。在 \(g>-1\) 的正常情形下,就是 \(1+g<1+r\),即 \(g<r\)。
- 收敛时,\(\sum q^k=\dfrac1{1-q}=\dfrac{1+r}{r-g}\)。
- 所以 \(P=\dfrac{D_1}{1+r}\cdot\dfrac{1+r}{r-g}=\dfrac{D_1}{r-g}\)。
数值例。 \(D_1=2\),\(r=8\%\),\(g=3\%\):\(P=2/0.05=40\)。
\(g<r\) 不是一个技术细节,它就是级数收敛条件。\(g\) 越接近 \(r\),公比越接近 1,级数收敛越慢,价格对假设也越敏感:
# 增长型永续年金(Gordon 模型):D1/(r-g),要求 g<r
D1, r = 2.0, 0.08
for g in [0.03, 0.06, 0.079]:
partial = sum(D1 * (1 + g)**(k - 1) / (1 + r)**k for k in range(1, 2001))
print(f"g={g:.3f} 前2000期和={partial:9.3f} 公式={D1 / (r - g):9.3f}")
g = 0.09
for N in [100, 500, 1000]:
partial = sum(D1 * (1 + g)**(k - 1) / (1 + r)**k for k in range(1, N + 1))
print(f"g=0.090 前{N}期和={partial:12.1f}")
输出:
g=0.030 前2000期和= 40.000 公式= 40.000
g=0.060 前2000期和= 100.000 公式= 100.000
g=0.079 前2000期和= 1686.377 公式= 2000.000
g=0.090 前100期和= 302.7
g=0.090 前500期和= 19863.2
g=0.090 前1000期和= 2012469.4
三点观察:
- \(g=7.9\%\) 时公比 \(1.079/1.08=0.99907\),非常接近 1。加了 2000 年还只到公式值的 84%。估值几乎全部来自极远的未来,这样的估值没有实际意义。
- \(g\) 从 6% 变成 7.9%,价格从 100 跳到 2000。这是分母 \(r-g\) 趋于零带来的爆炸。
- \(g=9\%>r\) 时部分和无限增长,套公式会得到 \(2/(0.08-0.09)=-200\),一个负价格。**公式在收敛条件外给出的数是错的,而且不会自己报错。**这是级数最常见的误用。
实务中的两阶段 DCF 模型(前若干年显式预测,之后用永续增长计算终值)正是为了避开这个问题:高增长只放在有限项里,进入无穷级数的那一段必须满足 \(g<r\)。
4.4.5 附息债券 = 年金 + 零息债券
面值 100、票息率 \(c\)、期限 \(n\) 年、到期收益率 \(y\) 的债券,价格是 \(n\) 期票息年金加上到期本金的现值:
数值例。 \(c=5\%\),\(n=10\),\(y=6\%\):票息部分 \(\frac{5}{0.06}(1-1.06^{-10})=36.80\),本金部分 \(100\times1.06^{-10}=55.84\),合计 \(92.64\),折价发行。
为什么票息率等于收益率时债券平价? 令 \(c=y\),代入:
一行代数就说明了「平价债券的票息率等于到期收益率」,不需要背结论。这类「用级数闭式解推结论」的方法,在第 08 册推导互换利率、远期利率时会反复使用。
4.5 收敛判别的直观
多数级数没有 \(\sum q^k\) 那样的闭式和。实际工作中更常问的是「它收不收敛」。下面几个判别法够应付本书的绝大多数场合。
4.5.1 比较判别法
直觉。 正项级数(每项 \(\ge0\))的部分和只增不减。只增不减的数列,只要有上界就一定收敛(单调有界原理)。所以只需找一个已知收敛的「更大的」级数压住它。
结论。 设 \(0\le a_k\le b_k\)。
- 若 \(\sum b_k\) 收敛,则 \(\sum a_k\) 收敛(被压住)。
- 若 \(\sum a_k\) 发散,则 \(\sum b_k\) 发散(托不住)。
数值例。 \(\sum_{k\ge1}\dfrac{1}{2^k+k}\):每项小于 \(1/2^k\),而 \(\sum 1/2^k=1\),所以原级数收敛,且和小于 1。
常用的比较对象:\(p\)-级数。
直觉来自积分:\(\sum 1/k^p\) 和 \(\int_1^\infty x^{-p}dx\) 同时收敛或同时发散。后者在 \(p>1\) 时等于 \(1/(p-1)\),在 \(p\le1\) 时为无穷(第 03 章反常积分)。\(p=2\) 时和为 \(\pi^2/6\approx1.6449\)。
4.5.2 比值判别法
直觉。 如果后一项与前一项之比最终稳定在某个 \(\rho<1\),那么尾部就像公比为 \(\rho\) 的几何级数,收敛。
结论。 设 \(\lim_{k\to\infty}\left|\dfrac{a_{k+1}}{a_k}\right|=\rho\)。
- \(\rho<1\):收敛(而且是绝对收敛)。
- \(\rho>1\):发散。
- \(\rho=1\):判别法失效,需要别的办法。
数值例。 \(\sum_{k\ge1}k\cdot0.9^k\)。比值 \(\dfrac{(k+1)0.9^{k+1}}{k\cdot0.9^k}=0.9\cdot\dfrac{k+1}{k}\to0.9<1\),收敛。线性增长的 \(k\) 打不过指数衰减的 \(0.9^k\)。
失效的例子。 对 \(1/k\) 和 \(1/k^2\),比值都趋于 1,但一个发散一个收敛。所以 \(\rho=1\) 时什么也不能说。
4.5.3 交错级数与绝对收敛
交错级数判别法(Leibniz)。 若 \(b_k\ge0\) 单调递减且趋于 0,则 \(\sum(-1)^{k+1}b_k\) 收敛,而且用前 \(n\) 项近似时,误差不超过第一个被丢掉的项 \(b_{n+1}\)。
数值例。 \(1-\tfrac12+\tfrac13-\tfrac14+\cdots=\ln2\approx0.6931\)。正负项互相抵消,使本来发散的调和级数变成收敛。
绝对收敛与条件收敛。
- 若 \(\sum|a_k|\) 收敛,称 \(\sum a_k\) 绝对收敛。绝对收敛一定收敛。
- 若 \(\sum a_k\) 收敛但 \(\sum|a_k|\) 发散,称条件收敛。交错调和级数就是条件收敛。
这个区分有实际后果:绝对收敛的级数可以任意调换求和顺序,和不变;条件收敛的级数换个顺序可以得到任何你想要的值(Riemann 重排定理)。在概率论里,期望 \(E[X]=\sum x_ip_i\) 要求绝对收敛,正是为了保证期望不依赖于把样本点排成什么顺序。第 07 章讲求和与积分交换时会再遇到这个条件。
4.5.4 用 Python 看收敛的快慢
import numpy as np
# 调和级数 1/k 发散但极慢;p=2 级数收敛到 pi^2/6
for N in [10, 1_000, 1_000_000]:
k = np.arange(1, N + 1, dtype=float)
print(f"N={N:>9,d} sum 1/k = {np.sum(1/k):8.4f} ln N = {np.log(N):8.4f} sum 1/k^2 = {np.sum(1/k**2):.6f}")
print(f"pi^2/6 = {np.pi**2/6:.6f}")
# 交错调和级数收敛到 ln 2
k = np.arange(1, 1_000_001, dtype=float)
print(f"交错调和级数前一百万项 = {np.sum((-1)**(k+1)/k):.6f}, ln2 = {np.log(2):.6f}")
输出:
N= 10 sum 1/k = 2.9290 ln N = 2.3026 sum 1/k^2 = 1.549768
N= 1,000 sum 1/k = 7.4855 ln N = 6.9078 sum 1/k^2 = 1.643935
N=1,000,000 sum 1/k = 14.3927 ln N = 13.8155 sum 1/k^2 = 1.644933
pi^2/6 = 1.644934
交错调和级数前一百万项 = 0.693147, ln2 = 0.693147
注意:数值求和永远不能证明一个级数发散或收敛。调和级数加到一百万项才 14.39,单看数字你可能以为它收敛。判断收敛靠的是上面的判别法,数值计算只用来估计和的大小。
4.5.5 这些判别法在量化中的样子
- ARMA 平稳性。 AR(1) 模型 \(r_t=\phi r_{t-1}+a_t\) 反复代入得 \(r_t=\sum_{j\ge0}\phi^ja_{t-j}\)。方差是 \(\sigma_a^2\sum\phi^{2j}=\sigma_a^2/(1-\phi^2)\),有限的条件正是几何级数收敛条件 \(|\phi|<1\)(第 06 册第 02a 章)。
- GARCH 的无条件方差。 GARCH(1,1) 的长期方差 \(\omega/(1-\alpha-\beta)\) 来自几何级数 \(\omega\sum_k(\alpha+\beta)^k\),要求 \(\alpha+\beta<1\)。\(\alpha+\beta\) 越接近 1,冲击衰减越慢,与 Gordon 模型中 \(g\to r\) 是同一件事(第 06 册第 03a 章)。
- 长记忆。 若自相关系数按 \(k^{-p}\) 衰减且 \(p\le1\),自相关之和发散,这就是「长记忆」过程;按 \(\phi^k\) 衰减的是「短记忆」。\(p\)-级数的分界线在这里有直接含义。
- 算法复杂度。 「每次把问题规模减半」的递归总工作量是 \(n(1+\tfrac12+\tfrac14+\cdots)\le2n\),即几何级数(第 09 册第 04b 章)。
4.6 幂级数
4.6.1 定义与收敛半径
直觉。 几何级数 \(1+x+x^2+\cdots\) 是关于 \(x\) 的「无穷次多项式」。把系数换成一般的 \(c_k\),就得到幂级数:
它在某些 \(x\) 处收敛,在另一些 \(x\) 处发散。
结论。 每个幂级数都有一个收敛半径 \(R\)(\(0\le R\le\infty\)):
- \(|x|<R\) 时绝对收敛;
- \(|x|>R\) 时发散;
- \(|x|=R\) 的两个端点要单独检查。
求法。 对通项 \(c_kx^k\) 用比值判别法:
要求 \(|x|L<1\),得 \(R=1/L\)(\(L=0\) 时 \(R=\infty\))。
数值例。
| 级数 | \(\lvert c_{k+1}/c_k\rvert\) 的极限 | 收敛半径 |
|---|---|---|
| \(\sum x^k\) | 1 | \(R=1\) |
| \(\sum kx^k\) | \((k+1)/k\to1\) | \(R=1\) |
| \(\sum x^k/k!\) | \(1/(k+1)\to0\) | \(R=\infty\) |
| \(\sum k!\,x^k\) | \(k+1\to\infty\) | \(R=0\)(只在 \(x=0\) 收敛) |
4.6.2 收敛区间内可以逐项求导、逐项积分
结论。 在 \(|x|<R\) 内,幂级数定义的函数 \(f(x)=\sum c_kx^k\) 可以像多项式一样逐项求导、逐项积分,得到的新级数收敛半径不变:
这条性质让我们从一个已知级数「变出」许多新级数。
例:永续年金的久期。 永续年金的 Macaulay 久期是
分母已知是 \(C/r\)。分子要算 \(\sum kv^k\)。办法是对几何级数逐项求导:
- 已知 \(\sum_{k\ge0}x^k=\dfrac1{1-x}\),\(|x|<1\)。
- 两边对 \(x\) 求导:\(\sum_{k\ge1}kx^{k-1}=\dfrac1{(1-x)^2}\)。
- 两边乘 \(x\):\(\sum_{k\ge1}kx^k=\dfrac{x}{(1-x)^2}\)。
- 代入 \(x=v\),并利用 \(1-v=r/(1+r)\):\(\sum kv^k=\dfrac{1/(1+r)}{r^2/(1+r)^2}=\dfrac{1+r}{r^2}\)。
- 所以 \(D=\dfrac{C(1+r)/r^2}{C/r}=\dfrac{1+r}{r}\)。
数值例。 \(r=5\%\) 时,永续年金的 Macaulay 久期是 \(1.05/0.05=21\) 年。这个结果和 CFA 教材给出的 \((1+y)/y\) 一致,现在你知道它来自对几何级数求导。
例:等待第一次成功的期望次数。 一个信号每天独立地以概率 \(p\) 触发,第 \(k\) 天首次触发的概率是 \(p(1-p)^{k-1}\)(几何分布)。期望等待天数是
第二步直接用了上面第 2 步的求导结果。数值例:\(p=0.2\) 时平均等 5 天。数值求和 \(\sum_{k=1}^{1999}k\times0.2\times0.8^{k-1}\) 得到 5.000000,与公式一致。
4.6.3 泰勒级数
第 02 章讲过泰勒展开:\(f(x)=f(0)+f'(0)x+\frac{f''(0)}{2!}x^2+\cdots+\frac{f^{(n)}(0)}{n!}x^n+R_n(x)\)。如果当 \(n\to\infty\) 时余项 \(R_n(x)\to0\),就得到泰勒级数(在 0 点展开时也叫麦克劳林级数):
泰勒展开截断到有限项是近似;泰勒级数是精确等式,但只在收敛半径内成立。下面两节是全书最常用的两个泰勒级数。
4.7 \(e^x\) 的级数
4.7.1 公式与来历
推导:
- \(f(x)=e^x\) 的各阶导数都是 \(e^x\),在 0 点都等于 1。
- 代入泰勒公式,系数 \(f^{(k)}(0)/k!=1/k!\)。
- 收敛半径:\(c_{k+1}/c_k=1/(k+1)\to0\),所以 \(R=\infty\)。
- 余项(拉格朗日形式)\(|R_n(x)|\le e^{|x|}\dfrac{|x|^{n+1}}{(n+1)!}\)。阶乘增长比任何指数都快,所以对每个固定的 \(x\),余项都趋于 0。
反向验证。 对右边逐项求导:\(\frac{d}{dx}\frac{x^k}{k!}=\frac{x^{k-1}}{(k-1)!}\),求导后的级数和原级数一模一样。「导数等于自身」正是指数函数的本质。
4.7.2 数值例与截断误差
\(x=0.05\)(比如 5% 的连续复利一年):
- 1 项:\(1\)
- 2 项:\(1.05\)(这就是单利)
- 3 项:\(1.05+0.00125=1.05125\)
- 真值:\(1.051271\)
前两项给出单利,第三项 \(x^2/2\) 就是「利滚利」的主要部分。
import math
def exp_partial(x, N):
return sum(x**k / math.factorial(k) for k in range(N + 1))
def log1p_partial(x, N):
return sum((-1)**(k + 1) * x**k / k for k in range(1, N + 1))
for x in [0.05, 1.0, 5.0]:
row = " ".join(f"N={N}:{exp_partial(x, N):.8f}" for N in [1, 2, 4, 10])
print(f"e^{x}: {row} 真值={math.exp(x):.8f}")
for x in [0.05, 0.5, 0.99]:
row = " ".join(f"N={N}:{log1p_partial(x, N):.6f}" for N in [1, 2, 5, 50])
print(f"ln(1+{x}): {row} 真值={math.log1p(x):.6f}")
# 收敛半径之外:x=1.5 时部分和发散
print("ln(1+1.5) 部分和:", [round(log1p_partial(1.5, N), 2) for N in [5, 10, 20, 40]], " 真值=", round(math.log(2.5), 4))
输出:
e^0.05: N=1:1.05000000 N=2:1.05125000 N=4:1.05127109 N=10:1.05127110 真值=1.05127110
e^1.0: N=1:2.00000000 N=2:2.50000000 N=4:2.70833333 N=10:2.71828180 真值=2.71828183
e^5.0: N=1:6.00000000 N=2:18.50000000 N=4:65.37500000 N=10:146.38060103 真值=148.41315910
ln(1+0.05): N=1:0.050000 N=2:0.048750 N=5:0.048790 N=50:0.048790 真值=0.048790
ln(1+0.5): N=1:0.500000 N=2:0.375000 N=5:0.407292 N=50:0.405465 真值=0.405465
ln(1+0.99): N=1:0.990000 N=2:0.499950 N=5:0.773432 N=50:0.682175 真值=0.688135
ln(1+1.5) 部分和: [1.75, -2.4, -96.83, -164192.64] 真值= 0.9163
\(e^x\) 的级数处处收敛,但 \(x\) 越大需要的项越多:\(x=0.05\) 时 4 项已精确到 \(10^{-8}\),\(x=5\) 时 10 项还差 1.4%。在金融里 \(x\) 通常是利率乘期限或小幅对数收益,几项就够。
4.7.3 它在书里出现的地方
- Poisson 分布概率和为 1。 \(\sum_{k\ge0}e^{-\lambda}\dfrac{\lambda^k}{k!}=e^{-\lambda}\cdot e^{\lambda}=1\)。用的正是 \(e^\lambda\) 的级数(第 02 册第 04b 章)。
- 矩母函数。 \(M(t)=E[e^{tX}]=E\big[\sum_k t^kX^k/k!\big]=\sum_k\dfrac{t^k}{k!}E[X^k]\),所以 \(M\) 在 0 点的第 \(k\) 阶导数就是 \(E[X^k]\),「矩母」的名字来源于此(第 02 册第 07c 章)。
- 矩阵指数。 \(e^{At}=\sum_k\dfrac{(At)^k}{k!}\),把 \(x\) 换成方阵 \(At\),用来解线性动态系统(第 01 册第 03a 章)。
4.8 \(\ln(1+x)\) 的级数
4.8.1 公式与来历
推导(从几何级数出发,逐项积分):
- 在几何级数 \(\frac1{1-q}=\sum q^k\) 中令 \(q=-t\):\(\dfrac1{1+t}=1-t+t^2-t^3+\cdots\),\(|t|<1\)。
- 两边从 0 积到 \(x\)。左边 \(\int_0^x\frac{dt}{1+t}=\ln(1+x)\)。
- 右边逐项积分:\(\int_0^xt^k\,dt=\dfrac{x^{k+1}}{k+1}\),得 \(x-\frac{x^2}2+\frac{x^3}3-\cdots\)。
- 收敛半径与几何级数相同,\(R=1\)。端点 \(x=1\) 是交错调和级数,收敛到 \(\ln2\);端点 \(x=-1\) 是负的调和级数,发散(对应 \(\ln0=-\infty\))。
上面的代码输出显示了收敛半径的意义:\(x=0.05\) 时 5 项精确到 6 位;\(x=0.99\) 接近边界,50 项还差 0.006;\(x=1.5\) 已在收敛半径之外,部分和剧烈发散,尽管 \(\ln2.5=0.9163\) 本身是个正常的数。函数有定义,不代表它的级数在那里收敛。
4.8.2 对数收益与简单收益
简单收益 \(R=P_1/P_0-1\),对数收益 \(r=\ln(P_1/P_0)=\ln(1+R)\)。由级数:
数值例。
| 简单收益 \(R\) | 对数收益 \(\ln(1+R)\) | 一阶近似 \(R\) 的误差 | 二阶近似 \(R-R^2/2\) |
|---|---|---|---|
| 5% | 4.879% | 0.121% | 4.875% |
| 20% | 18.232% | 1.768% | 18.000% |
| −20% | −22.314% | 2.314% | −22.000% |
| −50% | −69.315% | 19.315% | −62.500% |
三条结论:
- 日度或更短频率的收益,\(|R|\) 通常在 1% 以内,\(\ln(1+R)\approx R\) 的误差在万分之一量级,可以混用。
- 误差的主项是 \(-R^2/2\),永远为负:对数收益总是小于简单收益。
- 大幅下跌时差距很大。\(-50\%\) 的简单收益对应 \(-69.3\%\) 的对数收益,这也是为什么跌 50% 需要涨 100% 才能回本。
4.8.3 波动率拖累:\(g\approx\mu-\sigma^2/2\)
问题。 一个策略每年简单收益的均值是 \(\mu\),标准差是 \(\sigma\)。长期复合增长率是多少?
长期增长率由对数收益的均值决定。对 \(\ln(1+R)\) 取前两项,再取期望:
- \(\ln(1+R)\approx R-\dfrac{R^2}{2}\)。
- 取期望:\(E[\ln(1+R)]\approx E[R]-\dfrac12E[R^2]\)。
- 用 \(E[R^2]=\operatorname{Var}(R)+(E[R])^2=\sigma^2+\mu^2\)。
- 当 \(\mu\) 较小时 \(\mu^2\) 可略,得 \(g\approx\mu-\dfrac{\sigma^2}{2}\)。
数值例。 \(\mu=10\%\),\(\sigma=25\%\):\(g\approx10\%-3.125\%=6.875\%\)。一个极端的离散例子更直观:先涨 50% 再跌 40%,算术平均收益是 \(+5\%\),但两年后的净值是 \(1.5\times0.6=0.9\),几何平均是 \(\sqrt{0.9}-1=-5.13\%\)。波动越大,算术平均与几何平均的差距越大。在 BSM 模型里,股价对数的漂移项是 \(\mu-\sigma^2/2\),来源是同一个二阶项,严格推导用伊藤引理(第 08 册第 14 章)。
4.9 复利极限 \((1+r/n)^n\to e^r\)
4.9.1 金融问题
名义年利率 \(r\),一年复利 \(n\) 次,每次利率 \(r/n\),一年后 1 元变成 \((1+r/n)^n\)。\(n\) 越大,复利越频繁。问:\(n\to\infty\) 时它是否趋于无穷?
答案是否定的,它收敛到 \(e^r\)。这就是连续复利。
4.9.2 推导(取对数 + \(\ln(1+x)\) 级数)
- 取对数:\(\ln\big(1+\tfrac rn\big)^n=n\ln\big(1+\tfrac rn\big)\)。
- \(n\) 足够大时 \(|r/n|<1\),可以用 4.8 节的级数,取 \(x=r/n\):
\[n\ln\Big(1+\frac rn\Big)=n\Big(\frac rn-\frac{r^2}{2n^2}+\frac{r^3}{3n^3}-\cdots\Big)=r-\frac{r^2}{2n}+\frac{r^3}{3n^2}-\cdots\]
- 令 \(n\to\infty\),除 \(r\) 以外的每一项都趋于 0,所以对数趋于 \(r\)。
- 指数函数连续(第 01 章),所以 \((1+r/n)^n=e^{n\ln(1+r/n)}\to e^r\)。
误差估计。 由第 2 步,\((1+r/n)^n=e^{r-r^2/(2n)+\cdots}=e^r\cdot e^{-r^2/(2n)+\cdots}\approx e^r\big(1-\frac{r^2}{2n}\big)\)。所以
误差与 \(1/n\) 成正比:复利频率翻倍,与连续复利的差距减半。
另一个视角(二项式展开)。 \((1+r/n)^n=\sum_{k=0}^n\binom nk\dfrac{r^k}{n^k}\)。第 \(k\) 项的系数 \(\binom nk\dfrac1{n^k}=\dfrac{n(n-1)\cdots(n-k+1)}{n^k}\cdot\dfrac1{k!}\),前面的分式在 \(n\to\infty\) 时趋于 1,所以第 \(k\) 项趋于 \(r^k/k!\),整体趋于 \(e^r\) 的级数。(把逐项极限换成整体极限需要一点论证,这里只给直观。)
4.9.3 数值验证
import math
r = 0.06
print(f"{'每年复利次数 n':>14s} {'(1+r/n)^n':>14s} {'与 e^r 的差':>12s}")
for n in [1, 2, 4, 12, 365, 10_000, 1_000_000]:
a = (1 + r / n)**n
print(f"{n:>14,d} {a:14.10f} {math.exp(r) - a:12.2e}")
print(f"{'e^r':>14s} {math.exp(r):14.10f}")
# 误差近似 e^r * r^2/(2n)
n = 12
print(f"n=12 误差近似 e^r*r^2/(2n) = {math.exp(r) * r**2 / (2 * n):.2e}")
输出:
每年复利次数 n (1+r/n)^n 与 e^r 的差
1 1.0600000000 1.84e-03
2 1.0609000000 9.37e-04
4 1.0613635506 4.73e-04
12 1.0616778119 1.59e-04
365 1.0618313107 5.24e-06
10,000 1.0618363554 1.91e-07
1,000,000 1.0618365447 1.83e-09
e^r 1.0618365465
n=12 误差近似 e^r*r^2/(2n) = 1.59e-04
误差近似公式在 \(n=12\) 时与实际误差吻合到三位有效数字。\(n\) 每扩大 100 倍,误差约缩小 100 倍,与 \(1/n\) 的结论一致。
4.9.4 利率换算
从 \((1+r_n/n)^n=e^{r_c}\) 两边取对数,得到离散复利利率与连续复利利率的换算:
数值例。 名义年利率 12%、按月复利:有效年利率 \(1.01^{12}-1=12.68\%\);等价的连续复利利率 \(12\ln1.01=11.94\%\)。Hull 第 4 章的利率换算全部基于这两个式子(第 08 册第 04 章)。
本章小结
| 内容 | 公式 | 成立条件 / 备注 |
|---|---|---|
| 等差数列求和 | \(S_n=\dfrac{n(a_1+a_n)}2\) | 倒序相加 |
| 等比数列求和 | \(S_n=a_1\dfrac{1-q^n}{1-q}\) | \(q\ne1\);错位相减 |
| 级数收敛 | \(\sum a_k=S\iff S_n\to S\) | 定义 |
| 几何级数 | \(\sum_{k\ge0}q^k=\dfrac1{1-q}\) | \(\lvert q\rvert<1\) |
| 年金现值 | \(\dfrac Cr\big(1-(1+r)^{-n}\big)\) | 期末支付 |
| 永续年金 | \(C/r\) | \(r>0\) |
| 增长型永续年金 | \(D_1/(r-g)\) | \(g<r\) |
| 永续年金久期 | \((1+r)/r\) | 由 \(\sum kx^k=x/(1-x)^2\) |
| 必要条件 | \(\sum a_k\) 收敛 \(\Rightarrow a_k\to0\) | 反之不成立(调和级数) |
| \(p\)-级数 | \(\sum k^{-p}\) 收敛 \(\iff p>1\) | 比较判别的标尺 |
| 比值判别 | \(\lvert a_{k+1}/a_k\rvert\to\rho\) | \(\rho<1\) 收敛,\(\rho>1\) 发散,\(\rho=1\) 不定 |
| 收敛半径 | \(R=1/\lim\lvert c_{k+1}/c_k\rvert\) | 区间内可逐项求导、积分 |
| 指数级数 | \(e^x=\sum x^k/k!\) | 所有 \(x\) |
| 对数级数 | \(\ln(1+x)=\sum(-1)^{k+1}x^k/k\) | \(-1<x\le1\) |
| 对数收益 | \(\ln(1+R)\approx R-R^2/2\) | \(\lvert R\rvert\) 小 |
| 波动率拖累 | \(g\approx\mu-\sigma^2/2\) | 二阶近似 |
| 复利极限 | \((1+r/n)^n\to e^r\) | 误差 \(\approx e^rr^2/(2n)\) |
| 利率换算 | \(r_c=n\ln(1+r_n/n)\) |
练习
1. 每年末存 1 万元,年利率 5%,10 年后账户余额是多少?
答:\(\dfrac{1.05^{10}-1}{0.05}=12.5779\) 万元。首项 1、公比 1.05 的 10 项等比数列求和。
2. 一笔 20 年期年金,每年末付 50,折现率 4%,求现值。
答:\(\dfrac{50}{0.04}(1-1.04^{-20})=1250\times(1-0.45639)=679.52\)。
3. 某股票明年股利 3 元,要求回报率 9%。(a)股利增长率 4% 时,Gordon 模型给出的价格是多少?(b)增长率改为 5% 呢?(c)增长率 10% 时能否套用公式?
答:(a)\(3/0.05=60\)。(b)\(3/0.04=75\),增长率只变 1 个百分点,价格涨 25%。(c)不能。公比 \(1.10/1.09>1\),级数发散,公式给出的 \(-300\) 没有意义。
4. 判断下列级数是否收敛,并说明用了哪个判别法:(a)\(\sum_{k\ge1}k^{-1.5}\);(b)\(\sum_{k\ge1}\frac{k}{k+1}\);(c)\(\sum_{k\ge1}k\cdot0.9^k\);(d)\(\sum_{k\ge1}\frac{(-1)^k}{\sqrt k}\)。
答:(a)收敛,\(p=1.5>1\) 的 \(p\)-级数。(b)发散,通项趋于 1 而不是 0。(c)收敛,比值趋于 0.9。(d)收敛(交错级数判别法,\(1/\sqrt k\) 单调递减趋于 0),但 \(\sum1/\sqrt k\) 是 \(p=0.5\) 的 \(p\)-级数,发散,所以是条件收敛。
5. 求 \(\sum_{k\ge1}\dfrac{1}{k(k+1)}\)。
答:拆项 \(\dfrac1{k(k+1)}=\dfrac1k-\dfrac1{k+1}\)。部分和 \(S_n=\big(1-\tfrac12\big)+\big(\tfrac12-\tfrac13\big)+\cdots+\big(\tfrac1n-\tfrac1{n+1}\big)=1-\dfrac1{n+1}\to1\)。中间项两两抵消,这叫「裂项相消」(telescoping)。
6. 求下列幂级数的收敛半径:(a)\(\sum kx^k\);(b)\(\sum x^k/k!\);(c)\(\sum k!\,x^k\);(d)\(\sum 2^kx^k\)。
答:(a)1;(b)\(\infty\);(c)0;(d)\(1/2\),因为它是公比 \(2x\) 的几何级数,需要 \(|2x|<1\)。
7. 用 \(e^x\) 级数的前三项估计 \(e^{0.1}\),并与真值比较。
答:\(1+0.1+0.005=1.105\),真值 \(1.105171\),误差 \(0.000171\),接近被丢掉的第四项 \(0.1^3/6=0.000167\)。
8. 用 \(\ln(1+x)\) 级数的前三项估计 \(\ln1.1\)。若一只股票一天涨 10%,用简单收益代替对数收益误差多大?
答:\(0.1-0.005+0.000333=0.095333\),真值 \(0.095310\)。简单收益 0.1 比对数收益大 \(0.0047\),即 0.47 个百分点。
9. 名义年利率 12%,按月复利。求有效年利率和等价的连续复利利率。
答:有效年利率 \(1.01^{12}-1=12.6825\%\);连续复利 \(r_c=12\ln1.01=11.9404\%\)。
10. 证明利率为 \(r\) 的永续年金 Macaulay 久期为 \((1+r)/r\),并计算 \(r=5\%\) 时的值。
答:见 4.6.2 节。对 \(\sum x^k=1/(1-x)\) 逐项求导再乘 \(x\) 得 \(\sum kx^k=x/(1-x)^2\),代入 \(x=1/(1+r)\) 后除以 \(\sum v^k=1/r\)。\(r=5\%\) 时 \(D=21\) 年。
11. GARCH(1,1) 模型参数 \(\omega=10^{-5}\),\(\alpha+\beta=0.98\)。长期日方差 \(\omega\sum_{k\ge0}(\alpha+\beta)^k\) 是多少?换算成年化波动率(按 252 个交易日)。
答:\(\dfrac{10^{-5}}{1-0.98}=0.0005\),日波动率 \(\sqrt{0.0005}=2.236\%\),年化 \(2.236\%\times\sqrt{252}=35.5\%\)。若 \(\alpha+\beta\ge1\),几何级数发散,长期方差不存在。
12. 某策略年简单收益均值 8%、标准差 20%。估计其长期年化复合增长率。
答:\(g\approx0.08-0.2^2/2=0.08-0.02=6\%\)。
在全书中用到的地方
- 第 01 册第 03a 章(Jordan 标准形与线性动态):矩阵指数 \(e^{At}\) 用 \(e^x\) 的级数定义。
- 第 01 册第 05b 章(矩阵范数、谱半径与条件数):矩阵几何级数 \(\sum A^k=(I-A)^{-1}\) 在谱半径小于 1 时收敛,是标量几何级数的推广。
- 第 02 册第 04b 章(常见离散分布与泊松过程):Poisson 概率求和、几何分布的期望 \(\sum kp(1-p)^{k-1}\) 用到逐项求导。
- 第 02 册第 07c 章(矩母函数):MGF 的级数展开与各阶矩。
- 第 03 册第 01 章(概率论速览):\((1+a/n)^n\to e^a\) 用于中心极限定理证明的最后一步。
- 第 05 册第 08 章(非线性回归函数):对数差近似百分比变化,即 \(\ln(1+x)\approx x\)。
- 第 06 册第 01 章、第 02a 章、第 03a 章:对数收益;AR 模型的 MA(\(\infty\)) 表示与平稳性条件 \(|\phi|<1\);GARCH 长期方差与 \(\alpha+\beta<1\)。
- 第 08 册第 04 章(利率):连续复利与利率换算。
- 第 08 册第 14 章(维纳过程与伊藤引理):对数价格漂移 \(\mu-\sigma^2/2\)。
- 第 09 册第 04b 章(递归式求解与主定理):递归树各层工作量的等比求和。