量化交易中文教材

第 04 章 级数与收敛

你每天都在用级数,只是没这么叫它。年金现值是有限项的等比求和,永续年金是无穷项的等比求和,Gordon 股利折现模型是「增长型」的无穷等比求和。连续复利里的 \(e^r\),本身也是一个无穷级数的和。

本章把这些熟悉的公式放回数学框架里。读完后,你会知道「无穷多项加起来」在什么条件下有意义,为什么永续年金公式要求 \(r>0\)、Gordon 模型要求 \(g<r\),以及 \(\ln(1+x)\approx x\)、\((1+r/n)^n\to e^r\) 这些近似从哪里来、误差有多大。

前置知识:第 01 章的数列极限,第 02 章的导数与泰勒展开。


学习目标

  1. 会区分数列与级数,理解「级数收敛」就是「部分和数列收敛」。
  2. 会推导等差、等比数列的求和公式,并用它们推出年金、永续年金、增长型永续年金的公式。
  3. 能用几个常用判别法(项趋于零、比较、比值、交错)判断级数是否收敛,知道调和级数为什么发散。
  4. 理解幂级数和收敛半径,会对幂级数逐项求导、逐项积分。
  5. 掌握 \(e^x\) 和 \(\ln(1+x)\) 的级数,会估计截断误差,理解对数收益与简单收益的差别。
  6. 会推导 \((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\)。严格写法是:

\[\forall\varepsilon>0,\ \exists N,\ \text{使得}\ n>N\ \text{时}\ |a_n-L|<\varepsilon.\]

白话解读:你随便给一个误差容忍度 \(\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_2+\cdots+a_n=\frac{n(a_1+a_n)}{2}.\]

推导(倒序相加):

  1. 正着写:\(S_n=a_1+(a_1+d)+\cdots+a_n\)。
  2. 倒着写:\(S_n=a_n+(a_n-d)+\cdots+a_1\)。
  3. 两式逐列相加,每一列都等于 \(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+\cdots+a_1q^{\,n-1}=a_1\frac{1-q^{\,n}}{1-q}.\]

推导(错位相减):

  1. 写出 \(S_n=a_1+a_1q+a_1q^2+\cdots+a_1q^{\,n-1}\)。
  2. 两边乘 \(q\):\(qS_n=a_1q+a_1q^2+\cdots+a_1q^{\,n}\)。
  3. 第 1 式减第 2 式。中间的 \(a_1q,\dots,a_1q^{\,n-1}\) 两边都有,全部抵消,只剩 \(S_n-qS_n=a_1-a_1q^{\,n}\)。
  4. 因为 \(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 项:

\[S_{10}=\frac{1.05^{10}-1}{1.05-1}=\frac{0.628895}{0.05}=12.5779.\]

这就是 CFA 里的年金终值系数 FVIFA(5%, 10)。


4.3 级数:无穷多项相加是什么意思

问题。 永续年金每年付 \(C\),现值是 \(Cv+Cv^2+Cv^3+\cdots\),一直加下去。无穷多个数相加,不能真的一项一项加完。我们需要一个定义。

定义。 给定数列 \(\{a_k\}\),把前 \(n\) 项相加得到部分和

\[S_n=\sum_{k=1}^{n}a_k=a_1+a_2+\cdots+a_n.\]

部分和本身构成一个新数列 \(S_1,S_2,S_3,\dots\)。如果这个数列收敛到 \(S\),就说级数 \(\sum_{k=1}^\infty a_k\) 收敛,和为 \(S\),写作

\[\sum_{k=1}^{\infty}a_k=S.\]

如果部分和数列不收敛(趋于无穷,或者来回摆动),就说级数发散。

白话解读:「无穷级数的和」不是加完了的结果,而是「越加越接近、可以任意接近」的那个数。这个定义把无穷求和变成了一个数列极限问题,第 01 章的工具全部可以用。

4.3.1 最重要的级数:几何级数

\[\sum_{k=0}^{\infty}q^k=1+q+q^2+\cdots=\frac{1}{1-q},\qquad |q|<1.\]

推导:

  1. 由等比求和公式,部分和 \(S_n=\sum_{k=0}^{n-1}q^k=\dfrac{1-q^{\,n}}{1-q}\)。
  2. 当 \(|q|<1\) 时,\(|q|^n\to0\)(例如 \(0.9^{50}=0.0052\),\(0.9^{200}=7\times10^{-10}\)),所以 \(q^{\,n}\to0\)。
  3. 于是 \(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,直接判发散。

反例(项趋于零但级数发散)就是著名的调和级数:

\[\sum_{k=1}^{\infty}\frac1k=1+\frac12+\frac13+\frac14+\cdots=\infty.\]

经典证明是分组比较:

\[1+\frac12+\underbrace{\Big(\frac13+\frac14\Big)}_{>\frac14+\frac14=\frac12}+\underbrace{\Big(\frac15+\cdots+\frac18\Big)}_{>4\times\frac18=\frac12}+\underbrace{\Big(\frac19+\cdots+\frac1{16}\Big)}_{>8\times\frac1{16}=\frac12}+\cdots\]

每一组都大于 \(\tfrac12\),而组数可以无穷多,所以和超过任意给定的数。它发散得非常慢:前一百万项的和只有约 14.39,大约等于 \(\ln n+0.5772\)。

4.3.3 收敛级数的运算规则

收敛级数可以像有限和一样做下面几种运算。依据都是「部分和是有限和,有限和满足这些规则,再取极限」。

  1. 线性。 若 \(\sum a_k=A\),\(\sum b_k=B\),则 \(\sum(\alpha a_k+\beta b_k)=\alpha A+\beta B\)。两个收敛级数逐项相加、乘常数,结果仍收敛。
  2. 去掉或加上有限项不影响收敛性。 只影响和的数值。收不收敛只由「尾巴」决定。
  3. 提取公因子。 \(\sum_{k\ge m}cq^k=cq^m\sum_{j\ge0}q^j\)(令 \(j=k-m\) 重新编号)。

数值例:递延永续年金。 第 6 年起每年末付 100、利率 5% 的永续年金,现值是

\[\sum_{k\ge6}100v^k=v^5\sum_{j\ge1}100v^j=1.05^{-5}\times2000=1567.05.\]

用规则 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)\)。现值是

\[PV=Cv+Cv^2+\cdots+Cv^{\,n}=Cv\cdot\frac{1-v^{\,n}}{1-v}.\]

化简 \(v/(1-v)\):

\[\frac{v}{1-v}=\frac{1/(1+r)}{1-1/(1+r)}=\frac{1/(1+r)}{r/(1+r)}=\frac1r.\]

所以

\[\boxed{PV=\frac{C}{r}\Big(1-\frac1{(1+r)^n}\Big)}\]

这就是年金现值公式。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\):

\[PV=\sum_{k=1}^\infty Cv^k=\frac{C}{r}.\]

数值例。 每年付 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\)。现值

\[P=\frac{D_1}{1+r}+\frac{D_1(1+g)}{(1+r)^2}+\frac{D_1(1+g)^2}{(1+r)^3}+\cdots=\frac{D_1}{1+r}\sum_{k=0}^\infty\Big(\frac{1+g}{1+r}\Big)^k.\]

这是公比 \(q=\frac{1+g}{1+r}\) 的几何级数。

  1. 收敛条件 \(|q|<1\)。在 \(g>-1\) 的正常情形下,就是 \(1+g<1+r\),即 \(g<r\)。
  2. 收敛时,\(\sum q^k=\dfrac1{1-q}=\dfrac{1+r}{r-g}\)。
  3. 所以 \(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\) 期票息年金加上到期本金的现值:

\[P=\frac{100c}{y}\big(1-v^n\big)+100v^n,\qquad v=\frac1{1+y}.\]

数值例。 \(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\),代入:

\[P=\frac{100y}{y}(1-v^n)+100v^n=100-100v^n+100v^n=100.\]

一行代数就说明了「平价债券的票息率等于到期收益率」,不需要背结论。这类「用级数闭式解推结论」的方法,在第 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_{k=1}^{\infty}\frac{1}{k^p}\quad\begin{cases}p>1&\text{收敛}\\ p\le1&\text{发散}\end{cases}\]

直觉来自积分:\(\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\),就得到幂级数:

\[\sum_{k=0}^{\infty}c_kx^k=c_0+c_1x+c_2x^2+\cdots\]

它在某些 \(x\) 处收敛,在另一些 \(x\) 处发散。

结论。 每个幂级数都有一个收敛半径 \(R\)(\(0\le R\le\infty\)):

  • \(|x|<R\) 时绝对收敛;
  • \(|x|>R\) 时发散;
  • \(|x|=R\) 的两个端点要单独检查。

求法。 对通项 \(c_kx^k\) 用比值判别法:

\[\left|\frac{c_{k+1}x^{k+1}}{c_kx^k}\right|=|x|\cdot\left|\frac{c_{k+1}}{c_k}\right|\to|x|\cdot L.\]

要求 \(|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\) 可以像多项式一样逐项求导、逐项积分,得到的新级数收敛半径不变:

\[f'(x)=\sum_{k\ge1}kc_kx^{k-1},\qquad \int_0^xf(t)\,dt=\sum_{k\ge0}\frac{c_k}{k+1}x^{k+1}.\]

这条性质让我们从一个已知级数「变出」许多新级数。

例:永续年金的久期。 永续年金的 Macaulay 久期是

\[D=\frac{\sum_{k\ge1}k\,Cv^k}{\sum_{k\ge1}Cv^k}.\]

分母已知是 \(C/r\)。分子要算 \(\sum kv^k\)。办法是对几何级数逐项求导:

  1. 已知 \(\sum_{k\ge0}x^k=\dfrac1{1-x}\),\(|x|<1\)。
  2. 两边对 \(x\) 求导:\(\sum_{k\ge1}kx^{k-1}=\dfrac1{(1-x)^2}\)。
  3. 两边乘 \(x\):\(\sum_{k\ge1}kx^k=\dfrac{x}{(1-x)^2}\)。
  4. 代入 \(x=v\),并利用 \(1-v=r/(1+r)\):\(\sum kv^k=\dfrac{1/(1+r)}{r^2/(1+r)^2}=\dfrac{1+r}{r^2}\)。
  5. 所以 \(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}\)(几何分布)。期望等待天数是

\[E[K]=\sum_{k\ge1}k\,p(1-p)^{k-1}=p\sum_{k\ge1}kx^{k-1}\Big|_{x=1-p}=p\cdot\frac1{(1-(1-p))^2}=\frac1p.\]

第二步直接用了上面第 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 点展开时也叫麦克劳林级数):

\[f(x)=\sum_{k=0}^\infty\frac{f^{(k)}(0)}{k!}x^k.\]

泰勒展开截断到有限项是近似;泰勒级数是精确等式,但只在收敛半径内成立。下面两节是全书最常用的两个泰勒级数。


4.7 \(e^x\) 的级数

4.7.1 公式与来历

\[e^x=\sum_{k=0}^\infty\frac{x^k}{k!}=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\cdots,\qquad\text{对所有实数 }x\text{ 成立}.\]

推导:

  1. \(f(x)=e^x\) 的各阶导数都是 \(e^x\),在 0 点都等于 1。
  2. 代入泰勒公式,系数 \(f^{(k)}(0)/k!=1/k!\)。
  3. 收敛半径:\(c_{k+1}/c_k=1/(k+1)\to0\),所以 \(R=\infty\)。
  4. 余项(拉格朗日形式)\(|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 公式与来历

\[\ln(1+x)=x-\frac{x^2}{2}+\frac{x^3}{3}-\frac{x^4}{4}+\cdots=\sum_{k=1}^\infty(-1)^{k+1}\frac{x^k}{k},\qquad-1<x\le1.\]

推导(从几何级数出发,逐项积分):

  1. 在几何级数 \(\frac1{1-q}=\sum q^k\) 中令 \(q=-t\):\(\dfrac1{1+t}=1-t+t^2-t^3+\cdots\),\(|t|<1\)。
  2. 两边从 0 积到 \(x\)。左边 \(\int_0^x\frac{dt}{1+t}=\ln(1+x)\)。
  3. 右边逐项积分:\(\int_0^xt^k\,dt=\dfrac{x^{k+1}}{k+1}\),得 \(x-\frac{x^2}2+\frac{x^3}3-\cdots\)。
  4. 收敛半径与几何级数相同,\(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=R-\frac{R^2}{2}+\frac{R^3}{3}-\cdots\]

数值例。

简单收益 \(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)\) 取前两项,再取期望:

  1. \(\ln(1+R)\approx R-\dfrac{R^2}{2}\)。
  2. 取期望:\(E[\ln(1+R)]\approx E[R]-\dfrac12E[R^2]\)。
  3. 用 \(E[R^2]=\operatorname{Var}(R)+(E[R])^2=\sigma^2+\mu^2\)。
  4. 当 \(\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)\) 级数)

  1. 取对数:\(\ln\big(1+\tfrac rn\big)^n=n\ln\big(1+\tfrac rn\big)\)。
  2. \(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\]
  3. 令 \(n\to\infty\),除 \(r\) 以外的每一项都趋于 0,所以对数趋于 \(r\)。
  4. 指数函数连续(第 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)\)。所以

\[e^r-\Big(1+\frac rn\Big)^n\approx e^r\cdot\frac{r^2}{2n}.\]

误差与 \(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}\) 两边取对数,得到离散复利利率与连续复利利率的换算:

\[r_c=n\ln\Big(1+\frac{r_n}{n}\Big),\qquad r_n=n\big(e^{r_c/n}-1\big).\]

数值例。 名义年利率 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 章(递归式求解与主定理):递归树各层工作量的等比求和。