量化交易中文教材

第 04 章 利率

学习目标

读完本章,你应当能够:

  1. 区分国债利率、LIBOR、联邦基金利率、回购利率,理解信用风险与担保如何决定利率高低,以及衍生品定价中"无风险利率"的含义。
  2. 在不同计息频率与连续复利之间自如换算:\(R_c=m\ln(1+R_m/m)\),\(R_m=m(e^{R_c/m}-1)\)。
  3. 用零息利率为债券定价,求债券收益率(牛顿法)与平价收益率,并用自举法从债券价格构造零息曲线。
  4. 由零息曲线计算远期利率与瞬时远期利率,为远期利率协议(FRA)估值。
  5. 计算久期、修正久期、美元久期与凸性,用二阶近似估计债券价格变化,理解它们"只对平行移动有效"的局限。
  6. 用预期理论、市场分割理论、流动性偏好理论解释收益率曲线形状,理解银行净利息收入管理与期限错配带来的流动性风险。

读前导读

这一章在解决什么问题。 后面所有定价公式都要贴现,这一章把"用什么利率、怎么贴现"彻底说清。内容表面上和 CFA 固定收益部分几乎一样:即期利率、远期利率、自举法、FRA、久期、凸性、期限结构理论。你可以把本章当成"把 CFA 的固定收益翻译成本册的语言"。

翻译的关键是连续复利。CFA 用 \((1+r)^{-t}\) 或 \((1+r/2)^{-2t}\) 贴现,本册统一用 \(e^{-rt}\)。换了这个记号,很多公式变简单:远期利率是零息率的时间加权平均(不再需要几何平均);对数收益可以直接相加;久期公式里不再出现 CFA 中那个 \(1+y\) 的分母,麦考利久期和修正久期合二为一。本章还比 CFA 多走了两步:一是瞬时远期利率 \(-\partial\ln P(0,T)/\partial T\),这是后面利率模型的基本变量;二是把久期和凸性明确写成价格对收益率的一阶、二阶导数,再用泰勒展开得到近似公式。CFA 告诉你"久期×收益率变化≈价格变化",本章告诉你这个近似从哪里来、误差有多大。

需要先想起来的数学。

  • \(e\)、指数与自然对数。 \(e^x\) 与 \(\ln x\) 互为反函数:\(\ln e^x=x\),\(e^{\ln x}=x\)。常用规则:\(e^{a}e^{b}=e^{a+b}\),\(\ln(ab)=\ln a+\ln b\),\(\ln(a^n)=n\ln a\)。例:\(\ln(1.05)\approx0.04879\),所以 5% 年复利约等于 4.879% 连续复利。见 第 00 册第 04 章 级数与收敛。
  • 极限。 \(\lim_{m\to\infty}(1+R/m)^m=e^R\) 读作"当 \(m\) 越来越大,\((1+R/m)^m\) 越来越接近 \(e^R\)"。表 4.1 从年复利到日复利的数字就是这个过程。见 第 00 册第 01 章 函数极限与连续。
  • 指数函数的导数与链式法则。 \(\frac{d}{dy}e^{-ty}=-t\,e^{-ty}\):外层 \(e^u\) 的导数是它自己,内层 \(u=-ty\) 对 \(y\) 的导数是 \(-t\),两者相乘(链式法则)。再求一次导得 \(t^2e^{-ty}\)。久期和凸性就是这两个导数的加权和。见 第 00 册第 02 章 导数与泰勒展开。
  • 二阶泰勒展开。 \(f(y+\Delta y)\approx f(y)+f'(y)\Delta y+\tfrac12f''(y)(\Delta y)^2\):用切线(一阶)加弯曲修正(二阶)近似函数。久期是一阶项,凸性是二阶项。
  • 偏导数记号 \(\partial\)。 \(\partial R/\partial T\) 表示"只让 \(T\) 变、其他量不变时 \(R\) 的变化率"。本章里 \(R\) 只依赖 \(T\),所以它和普通导数 \(dR/dT\) 是一回事。见 第 00 册第 05 章 多元微积分与优化。

怎么读这一章。 必读:4.2(连续复利与换算,后面全书都用)、4.3.1(贴现因子 \(P(0,T)\))、4.5(远期利率,含瞬时远期)、4.7.1 与 4.8(久期、凸性的推导)。4.4 自举法、4.6 FRA 你在 CFA 中做过,跟着数例核对一遍即可。4.1、4.9 是背景知识,快速浏览。量化实战的代码把本章所有计算串成了一个小型曲线库,值得通读。


利率几乎是所有衍生品估值的要素:贴现要用它,远期定价要用它,期权定价也要用它。本章讲利率的度量、零息利率、债券定价、交易台每天在用的"自举法"、远期利率与 FRA、久期与凸性,以及期限结构理论。利率期货和用久期对冲在原书第 6 章,互换在第 7 章。本章忽略天数计算惯例(day count)。

4.1 利率的种类

利率规定借款人承诺付给贷款人的金额。同一种货币有许多利率,适用哪一个取决于信用风险(credit risk)——借款人违约、不能如约支付本息的风险。信用风险越高,承诺利率越高。利率常用基点(basis point)表示,1 基点 = 0.01%/年。

  • 国债利率(Treasury rate):持有国库券和国债获得的利率,是政府以本币借款的利率。通常假设政府不会对本币债务违约,因此视为完全无风险。
  • LIBOR(London Interbank Offered Rate,伦敦银行间同业拆出利率):银行间无担保短期借款利率。传统上每个工作日对 10 种货币、15 个期限(1 天到 1 年)计算,是全球数百万亿美元交易(如利率互换)的参考利率。由英国银行家协会在伦敦时间 11:30 公布:请若干银行报出 11:00 前其估计能借入资金的利率,每个币种—期限去掉最高、最低各四分之一报价后取平均。报价银行通常为 AA 评级,因此 LIBOR 一般被视为 AA 级金融机构短期无担保借款利率。近年有银行操纵 LIBOR 报价的指控(动机是让自己的借款成本看起来更低,或从挂钩 LIBOR 的交易中获利);根本问题是银行间借款太少,不足以支撑对所有币种—期限的准确估计,未来可能被基于实际交易的少量利率取代。
  • 联邦基金利率(fed funds rate):美国金融机构须在美联储保持一定现金准备金,日终有的机构有盈余、有的缺资金,由此产生的隔夜借贷利率。按成交规模加权的平均值称有效联邦基金利率,央行可以通过自身交易让它升降。英国对应 SONIA,欧元区对应 EONIA。除 2007 年 8 月至 2008 年 12 月的动荡期外,隔夜 LIBOR 平均比有效联邦基金利率高约 6 个基点。
  • 回购利率(repo rate):有担保借款利率。在回购协议(repurchase agreement)中,持有证券的机构同意以某价格卖出证券、之后以略高价格买回——实质是以证券为抵押借款,买卖价差即利息。设计良好的回购信用风险很小:借款方违约,贷款方保留证券;贷款方违约,借款方保留现金。最常见的是隔夜回购,也有较长期的定期回购(term repo)。因为有担保,回购利率一般略低于相应的联邦基金利率。

"无风险"利率。 衍生品估值通常构造一个无风险组合,论证它的收益应等于无风险利率,所以无风险利率处于定价的核心。从业者使用多种代理变量:传统上用 LIBOR(尽管 AA 级机构也有很小的违约可能),这一做法正在改变(原书第 9 章讨论 OIS 贴现)。本书多数地方不特别指明用哪种利率。

4.2 利率的度量

"1 年期存款利率 10%"的精确含义取决于计息频率(compounding frequency)。年复利:$100 → $110;半年复利(每 6 个月 5% 再投资):\(100\times1.05^2=110.25\);季度复利:\(100\times1.025^4=110.38\)。原书表 4.1(10% 年利率下 $100 一年后的价值):

计息频率 年 半年 季 月 周 日
1 年后价值 110.00 110.25 110.38 110.47 110.51 110.52

计息频率是利率的计量单位,不同单位之间可以换算——10.25% 年复利与 10% 半年复利是同一个利率,就像公里与英里描述同一段距离。

一般公式。 金额 \(A\) 以年利率 \(R\) 投资 \(n\) 年,每年复利 \(m\) 次,终值为

\[A\left(1+\frac{R}{m}\right)^{mn}.\tag{4.1}\]

\(m=1\) 时的利率称为等价年利率(equivalent annual interest rate)。

连续复利(continuous compounding)是 \(m\to\infty\) 的极限。由 \(\lim_{m\to\infty}(1+R/m)^{m}=e^R\),

\[A\,e^{Rn}.\tag{4.2}\]

推导拆解:为什么 \((1+R/m)^m\) 的极限是 \(e^R\)?取对数把乘方变成乘法:\(\ln(1+R/m)^m=m\ln(1+R/m)\)。 当 \(x\) 很小时,\(\ln(1+x)\approx x-\tfrac{x^2}{2}\)(\(\ln\) 的泰勒展开)。代入 \(x=R/m\):\(m\ln(1+R/m)\approx m\big(\tfrac Rm-\tfrac{R^2}{2m^2}\big)=R-\tfrac{R^2}{2m}\)。 \(m\to\infty\) 时第二项趋于 0,对数趋于 \(R\),所以原式趋于 \(e^R\)。 这个算式还顺便告诉你差距有多大:\(m\) 次复利比连续复利少的大约是 \(R^2/(2m)\)。\(R=10\%\)、\(m=2\) 时约 0.25%,\(m=365\) 时只有约 0.0014%,所以表 4.1 中日复利和连续复利几乎一样。

表 4.1 中 \(100e^{0.1}=110.52\),与日复利(保留两位小数)一样,实用上连续复利可视为日复利。连续复利下,向后复利乘 \(e^{Rn}\),贴现乘 \(e^{-Rn}\)。精算师称它为利息力(force of interest)。除非特别说明,本册的利率都按连续复利计。 连续复利的好处在后面会反复看到:多段利率的合成就是简单平均,对数收益可以相加。

换算公式。 设 \(R_c\) 为连续复利率,\(R_m\) 为每年复利 \(m\) 次的等价利率,由 \(Ae^{R_cn}=A(1+R_m/m)^{mn}\) 得

\[R_c=m\ln\left(1+\frac{R_m}{m}\right),\tag{4.3}\]
\[R_m=m\left(e^{R_c/m}-1\right).\tag{4.4}\]

推导拆解:从等式 \(e^{R_cn}=(1+R_m/m)^{mn}\) 出发(两边的 \(A\) 约掉)。 求 \(R_c\):两边取自然对数,左边 \(R_cn\),右边 \(mn\ln(1+R_m/m)\)(用了 \(\ln a^k=k\ln a\)),两边除以 \(n\) 即得 (4.3)。注意 \(n\) 消掉了,说明换算结果与投资期限无关,这正是"计息频率只是计量单位"的含义。 求 \(R_m\):两边开 \(mn\) 次方,\(e^{R_c/m}=1+R_m/m\),移项乘 \(m\) 即得 (4.4)。 和 CFA 的对应:CFA 中"有效年利率 EAR \(=(1+R_m/m)^m-1\)"就是 \(m=1\) 的等价年利率;而连续复利下 EAR \(=e^{R_c}-1\)。

例 4.1。 半年复利 10% 换成连续复利:\(2\ln(1+0.1/2)=0.09758\),即 9.758%。

例 4.2。 贷款报价 8%(连续复利),实际按季付息。季度复利等价利率为 \(4\times(e^{0.08/4}-1)=0.0808\),即 8.08%;$1,000 贷款每季付息 \(1000\times0.0808/4=\$20.20\)。

4.3 零息利率与债券定价

4.3.1 零息利率

\(n\) 年零息利率(zero-coupon interest rate)是从今天开始、持续 \(n\) 年的投资所获的利率,全部本息在第 \(n\) 年末一次性实现,中间没有任何支付。它也称 \(n\) 年即期利率(spot rate)或简称 \(n\)-year zero。例:5 年零息率为 5%(连续复利),$100 投资 5 年变为 \(100e^{0.05\times5}=128.40\)。

市场上直接看到的多数利率不是纯零息利率。5 年期 6% 息票国债的价格不能直接告诉你 5 年零息率,因为一部分收益以中途息票的形式实现。

零息利率是定价的基本单元。 记 \(P(0,T)=e^{-R(T)\,T}\) 为 \(T\) 时支付 $1 的零息债券今天的价格(贴现因子),任何确定现金流的价值都是 \(\sum_i c_i P(0,t_i)\)。

4.3.2 债券定价

多数债券定期付息,本金(principal,也称面值 par value / face value)到期偿还。理论价格等于全部现金流的现值,更准确的做法是每笔现金流用对应期限的零息利率贴现。原书表 4.2 给出国债零息利率(连续复利):0.5 年 5.0%,1.0 年 5.8%,1.5 年 6.4%,2.0 年 6.8%。一只 2 年期、面值 $100、年息票率 6%、半年付息的国债,理论价格为

\[3e^{-0.05\times0.5}+3e^{-0.058\times1.0}+3e^{-0.064\times1.5}+103e^{-0.068\times2.0}=98.39 .\]

4.3.3 债券收益率

债券收益率(bond yield)是对所有现金流使用同一个贴现率、使理论价格等于市场价的那个利率。若市场价恰为 98.39,连续复利收益率 \(y\) 满足

\[3e^{-0.5y}+3e^{-1.0y}+3e^{-1.5y}+103e^{-2.0y}=98.39,\]

解得 \(y=6.76\%\)。这类方程没有解析解,标准做法是牛顿—拉弗森法(Newton–Raphson):求 \(f(y)=0\) 时迭代

\[y_{i+1}=y_i-\frac{f(y_i)}{f'(y_i)},\]

其中 \(f'(y)=-\sum_i t_ic_ie^{-yt_i}\)。下一节会看到,这个导数正好与久期有关。(数值求根的一般理论见第 04 册第 11 章。)

白话解释:牛顿法的想法是"用切线代替曲线"。在当前猜测 \(y_i\) 处,函数 \(f\) 近似为一条直线 \(f(y_i)+f'(y_i)(y-y_i)\);令这条直线等于 0,解出的 \(y\) 就是下一个猜测,即迭代公式。 这里 \(f(y)=\sum_ic_ie^{-yt_i}-98.39\)。它的导数用了 \(\frac{d}{dy}e^{-yt_i}=-t_ie^{-yt_i}\)(链式法则,内层 \(-yt_i\) 对 \(y\) 的导数是 \(-t_i\))。 用债券语言说:\(f(y_i)\) 是"按当前猜测算出的价格比市价高多少",\(-f'(y_i)\) 是"收益率升 1 单位价格降多少"(美元久期)。价格高了多少,除以每单位收益率对应的价格变化,就是收益率还需要上调多少。这和交易员心算"价格差 0.5、DV01 是 0.05,所以收益率差 10 个基点"是同一个逻辑。 由于价格—收益率曲线很平滑,牛顿法通常 3–5 步就收敛到小数点后很多位,你的财务计算器求 YTM 用的也是这类迭代。

4.3.4 平价收益率

平价收益率(par yield)是使债券价格恰好等于面值的息票率,通常假设半年付息。设 2 年期债券年息票为 \(c\)(每半年 \(c/2\)):

\[\frac{c}{2}e^{-0.05\times0.5}+\frac{c}{2}e^{-0.058\times1.0}+\frac{c}{2}e^{-0.064\times1.5}+\left(100+\frac{c}{2}\right)e^{-0.068\times2.0}=100,\]

解得 \(c=6.87\),即 2 年平价收益率为 6.87%(半年复利),约合 6.75% 连续复利。

一般公式。 设 \(d\) 为到期日收到 $1 的现值,\(A\) 为每个付息日支付 $1 的年金现值,\(m\) 为每年付息次数,则 \(100=A\,c/m+100d\),

\[c=\frac{(100-100d)\,m}{A}.\]

例中 \(m=2\),\(d=e^{-0.068\times2}=0.87284\),\(A=e^{-0.05\times0.5}+e^{-0.058\times1.0}+e^{-0.064\times1.5}+e^{-0.068\times2.0}=3.70027\),得 \(c=6.87\%\)。

4.4 自举法:构造零息曲线

求国债零息利率有两条路。一是直接观察本息分离债券(STRIPS)的收益率——交易员把国债的每笔息票与本金拆开单独出售,相当于合成的零息债券。二是从国库券和附息国债价格倒推,最流行的方法是自举法(bootstrap method)。

原书表 4.3(面值均为 $100,年息票的一半每 6 个月支付):

期限(年) 年息票($) 价格($)
0.25 0 97.5
0.50 0 94.9
1.00 0 90.0
1.50 8 96.0
2.00 12 101.6

第一步:零息债券直接求。

\[100=97.5e^{0.25R}\Rightarrow R=10.127\%,\quad 100=94.9e^{0.5R}\Rightarrow R=10.469\%,\quad 100=90e^{1.0R}\Rightarrow R=10.536\% .\]

(等价地写成 \(97.5=100e^{-0.25R}\) 等。)

第二步:1.5 年债券。 现金流为 6 个月 $4、1 年 $4、1.5 年 $104。前两笔的贴现率已知:

\[4e^{-0.10469\times0.5}+4e^{-0.10536\times1.0}+104e^{-1.5R}=96,\]

得 \(e^{-1.5R}=0.85196\),\(R=-\ln(0.85196)/1.5=10.681\%\)。这是唯一与 6 个月、1 年利率及该债券价格相容的 1.5 年零息率。

第三步:2 年债券。

\[6e^{-0.10469\times0.5}+6e^{-0.10536\times1.0}+6e^{-0.10681\times1.5}+106e^{-2.0R}=101.6\Rightarrow R=10.808\% .\]

汇总(原书表 4.4):0.25 年 10.127%,0.5 年 10.469%,1 年 10.536%,1.5 年 10.681%,2 年 10.808%。零息利率随期限变化的图称为零息曲线(zero curve)。常用约定:节点之间线性插值(1.25 年零息率 \(=0.5\times10.536+0.5\times10.681=10.6085\%\)),第一个节点之前与最后一个节点之后水平外推(原书图 4.1)。

实践中很少恰好有 1.5、2、2.5 年……期限的债券。分析师常先对债券价格插值,再做自举:如已知 2.3 年、息票 6% 的债券价格 98,2.7 年、息票 6.5% 的债券价格 99,可以假设 2.5 年、息票 6.25% 的债券价格为 98.5。

自举法的思想——从短到长,每一步只解一个未知数,并保证与该步工具的市场价格完全一致——同样适用于用存款、FRA、期货、互换构造 LIBOR/OIS 曲线(原书第 7、9 章)。

4.5 远期利率

远期利率(forward rate)是由当前零息利率隐含的未来某段时期的利率。原书表 4.5(连续复利):

年 \(n\) \(n\) 年零息率(%) 第 \(n\) 年远期利率(%)
1 3.0
2 4.0 5.0
3 4.6 5.8
4 5.0 6.2
5 5.3 6.5

1 年 3% 意味着 $100 一年后得 \(100e^{0.03}=103.05\);2 年 4% 意味着两年后得 \(100e^{0.08}=108.33\)。第 2 年的远期利率 \(R\) 必须满足 \(100e^{0.03}e^{R}=100e^{0.08}\),所以 \(R=5\%\)。连续复利下,相继时段的利率合成后的总利率就是各段利率的时间加权平均(3% 与 5% 平均为 4%);非连续复利时只近似成立。

一般公式。 设 \(R_1,R_2\) 为期限 \(T_1<T_2\) 的零息率,\(T_1\) 到 \(T_2\) 的远期利率由 \(e^{R_1T_1}e^{R_F(T_2-T_1)}=e^{R_2T_2}\) 给出:

\[R_F=\frac{R_2T_2-R_1T_1}{T_2-T_1}.\tag{4.5}\]

例:\(T_1=3,\ T_2=4,\ R_1=4.6\%,\ R_2=5\%\),得 \(R_F=(0.20-0.138)/1=6.2\%\)。改写为

\[R_F=R_2+(R_2-R_1)\frac{T_1}{T_2-T_1},\tag{4.6}\]

可见零息曲线在 \([T_1,T_2]\) 上向上倾斜(\(R_2>R_1\))时 \(R_F>R_2\),向下倾斜时 \(R_F<R_2\)。

推导拆解:(4.5) 是在等式 \(e^{R_1T_1}e^{R_F(T_2-T_1)}=e^{R_2T_2}\) 两边取对数:左边乘积变成指数相加 \(R_1T_1+R_F(T_2-T_1)\),右边 \(R_2T_2\),移项除以 \(T_2-T_1\) 即得。CFA 用年复利时要解 \((1+R_1)^{T_1}(1+R_F)^{T_2-T_1}=(1+R_2)^{T_2}\),得到的是开方形式;连续复利把乘法变加法,结果变成线性的。 (4.6) 是 (4.5) 的代数变形:在分子里加减 \(R_2T_1\),\(R_2T_2-R_1T_1=R_2(T_2-T_1)+(R_2-R_1)T_1\),再除以 \(T_2-T_1\)。 金融直觉:\(R(T)T\) 可以看作"到 \(T\) 为止累计的利息",零息率 \(R(T)\) 是平均利率,远期利率是边际利率。这和会计里平均成本与边际成本的关系完全一样:边际成本高于平均成本时,平均成本被拉高(曲线向上倾斜);反之被拉低。

瞬时远期利率。 令 \(T_2\to T_1=T\),得到从 \(T\) 开始的极短时期的远期利率

\[R_F(T)=R+T\frac{\partial R}{\partial T}=-\frac{\partial}{\partial T}\ln P(0,T),\]

其中 \(P(0,T)=e^{-RT}\)。第二个等号只需对 \(-\ln P=RT\) 求导。这个量是 HJM 等利率模型(原书第 32 章)的基本变量。

推导拆解:第一个等号的来源。在 (4.5) 中令 \(T_1=T\)、\(T_2=T+h\),\(R\) 写成期限的函数 \(R(T)\): \(R_F=\dfrac{R(T+h)(T+h)-R(T)T}{h}\)。分子是函数 \(g(T)=R(T)\,T\) 在 \(T\) 和 \(T+h\) 两点的差,除以 \(h\) 就是 \(g\) 的平均变化率;令 \(h\to0\),它变成 \(g\) 的导数 \(g'(T)\)。这正是"导数 = 差商的极限"的定义。 对乘积 \(R(T)\cdot T\) 求导用乘积法则 \((uv)'=u'v+uv'\):\(g'(T)=R'(T)\,T+R(T)\cdot1=R+T\,\partial R/\partial T\)。 第二个等号:\(\ln P(0,T)=-R(T)T=-g(T)\),所以 \(-\frac{\partial}{\partial T}\ln P=g'(T)\),两种写法相同。 读法:瞬时远期利率是贴现因子曲线 \(\ln P\) 的"斜率"(取负)。实务中曲线插值方法对它影响很大:对零息率做线性插值,\(\partial R/\partial T\) 在节点处突变,远期曲线就是锯齿状的,这就是量化实战第 1 条提醒的问题。

锁定远期利率。 能按表 4.5 借贷的大机构可以锁定远期利率:借 $100 一年(3%)、投资两年(4%),则第 1 年末流出 103.05、第 2 年末流入 108.33,而 \(108.33=103.05e^{0.05}\),相当于第 2 年以 5% 的远期利率放贷。反过来,借 $100 四年(5%)、投资三年(4.6%):第 3 年末流入 \(100e^{0.138}=114.80\),第 4 年末流出 \(100e^{0.20}=122.14\),\(122.14=114.80e^{0.062}\),相当于以 6.2% 借第 4 年的钱。这种"用现货复制远期"的思路是下一节 FRA 估值的基础。

商业快照:橘郡的收益率曲线博弈。 若能按表 4.5 借贷,且认为 1 年期利率未来 5 年基本不变,就可以借 1 年期资金、投资 5 年期债券,每年滚动借款;若利率真的不变,每年赚约 2.3%(收 5.3%、付 3%)。这类收益率曲线博弈(yield curve play)本质上是押注"未来利率会显著不同于今天的远期利率(5%、5.8%、6.2%、6.5%)"。橘郡财务官 Robert Citron 1992–1993 年用类似策略非常成功;1994 年他扩大操作,大量投资逆浮动利率债券(inverse floater,支付固定利率减浮动利率),并通过回购市场加杠杆。1994 年利率急升,橘郡宣布投资组合亏损 $15 亿,几天后申请破产保护。

4.6 远期利率协议(FRA)

FRA(forward rate agreement)是场外合约,用来锁定未来某指定期间借入或贷出一定本金适用的利率,通常假设该借贷本应按 LIBOR 进行。若约定的固定利率高于该期间实际 LIBOR,借款方向贷款方支付利差 × 本金;反之贷款方向借款方支付。

例 4.3。 公司签 FRA,确保 3 年后开始的 3 个月期间,就 $1 亿本金收取固定 4%(即付 LIBOR、收 4%)。若该期间 3 个月 LIBOR 为 4.5%,公司在 3.25 年时的现金流为

\[100{,}000{,}000\times(0.04-0.045)\times0.25=-\$125{,}000,\]

等价于 3 年时 \(-125{,}000/(1+0.045\times0.25)=-\$123{,}609\)。

一般设定。 公司 X 同意在 \(T_1\) 到 \(T_2\) 期间向公司 Y 放贷。记 \(R_K\) 为 FRA 约定的固定利率,\(R_F\) 为今天计算的 \(T_1\)–\(T_2\) 远期 LIBOR,\(R_M\) 为 \(T_1\) 时实际观察到的 \(T_1\)–\(T_2\) LIBOR,\(L\) 为本金。按 FRA 市场惯例,这些利率以与期间长度对应的频率计息(0.5 年用半年复利,0.25 年用季度复利)。

X 原本按 LIBOR 放贷赚 \(R_M\),FRA 使它赚 \(R_K\),额外利率 \(R_K-R_M\) 在 \(T_1\) 确定、\(T_2\) 支付:

\[\text{X 在 }T_2\text{ 的现金流}=L(R_K-R_M)(T_2-T_1),\tag{4.7}\]
\[\text{Y 在 }T_2\text{ 的现金流}=L(R_M-R_K)(T_2-T_1).\tag{4.8}\]

另一种理解:X 在 \(T_1\)–\(T_2\) 期间收固定利率 \(R_K\)、付实现的 LIBOR \(R_M\)——这就是一笔单期的"固定换浮动",多笔 FRA 拼起来就是利率互换(原书第 7 章)。实际结算通常在 \(T_1\) 进行,金额为 \(T_2\) 现金流按 \(R_M\) 贴现到 \(T_1\):X 收到 \(\dfrac{L(R_K-R_M)(T_2-T_1)}{1+R_M(T_2-T_1)}\)。

估值。 签约时 \(R_K\) 设为当时的远期利率 \(R_F\),合约价值为零(做市银行实际报买卖价,签约时 FRA 对银行有小正值)。之后利率变化,价值就不再为零。构造组合:FRA1 收 \(R_K\)、FRA2 付 \(R_F\)(同本金、同期间)。\(T_2\) 时两者收益之和为

\[L(R_K-R_M)(T_2-T_1)+L(R_M-R_F)(T_2-T_1)=L(R_K-R_F)(T_2-T_1),\]

今天就已确定,按无风险利率贴现即为组合价值。FRA2 按当前远期利率签订,价值为零,所以收取 \(R_K\) 的 FRA 价值为

\[V_{FRA}=L(R_K-R_F)(T_2-T_1)\,e^{-R_2T_2},\tag{4.9}\]

支付 \(R_K\) 的 FRA 价值为

\[V_{FRA}=L(R_F-R_K)(T_2-T_1)\,e^{-R_2T_2},\tag{4.10}\]

\(R_2\) 是 \(T_2\) 期限的连续复利无风险零息率。

估值法则:(1) 假设远期利率会实现(\(R_M=R_F\))计算收益;(2) 按无风险利率贴现。 第 05 章的远期合约估值、原书第 7 章的互换估值都用同一法则。

白话解释:这条法则容易被误读成"假设市场预期远期利率会实现"。它其实不需要任何预期假设。上面的论证用的是对冲:再签一份按当前远期利率 \(R_F\) 付固定的 FRA2(价值为零),两份合约中不确定的 \(R_M\) 互相抵消,剩下的现金流 \(L(R_K-R_F)(T_2-T_1)\) 今天已经确定,所以直接按无风险利率贴现。即使你认为未来 LIBOR 会远高于 \(R_F\),这份 FRA 今天的价值也不变,因为任何人都可以用零成本的 FRA2 把它锁定。这就是"无套利定价"和"预期定价"的区别,也是本册与 CFA 在思路上最一致的地方:CFA 的 FRA 估值同样是"用新的远期利率替换、再贴现"。 一个口径细节:(4.7) 中利率按单利计(乘以期间长度),而 (4.9) 的贴现用连续复利。一个公式里混用两种口径并没有错,因为它们描述的是不同的东西:前者是合约条款约定的计息方式,后者是贴现工具。写代码时要分清。

例 4.4。 1.5 年至 2 年的远期 LIBOR 为 5%(半年复利)。公司此前签了 FRA,收 5.8%、付 LIBOR,本金 $1 亿;2 年无风险利率 4%(连续复利)。

\[V=100{,}000{,}000\times(0.058-0.050)\times0.5\times e^{-0.04\times2}=\$369{,}200 .\]

4.7 久期

4.7.1 定义与推导

久期(duration)衡量债券持有人平均要等多久才收到现金。\(n\) 年零息债券的久期是 \(n\) 年;\(n\) 年附息债券的久期小于 \(n\) 年,因为部分现金提前收到。

设债券在 \(t_i\) 时支付 \(c_i\)(\(1\le i\le n\)),价格 \(B\) 与连续复利收益率 \(y\) 满足

\[B=\sum_{i=1}^n c_ie^{-yt_i}.\tag{4.11}\]

麦考利久期(Macaulay duration)定义为

\[D=\frac{\sum_{i=1}^n t_ic_ie^{-yt_i}}{B}=\sum_{i=1}^n t_i\left[\frac{c_ie^{-yt_i}}{B}\right].\tag{4.12}\]

方括号是 \(t_i\) 现金流现值占债券价格的比例,权重之和为 1,所以久期是付款时间的加权平均。注意:定义久期时所有贴现都用债券收益率 \(y\),而不是各自的零息率。

对 (4.11) 求导:\(\dfrac{dB}{dy}=-\sum_i c_it_ie^{-yt_i}=-BD\)。于是收益率小变化 \(\Delta y\) 时

\[\Delta B\approx\frac{dB}{dy}\Delta y=-BD\,\Delta y,\tag{4.15}\]
\[\frac{\Delta B}{B}\approx-D\,\Delta y.\tag{4.16}\]

这是债券价格百分比变化与收益率变化之间简单易用的线性关系,也是 Macaulay 1938 年提出的久期广受欢迎的原因。

推导拆解:求导一步一步看。\(B=\sum_ic_ie^{-yt_i}\) 是若干项之和,和的导数等于导数之和;每一项 \(c_ie^{-yt_i}\) 中 \(c_i\) 是常数,\(\frac{d}{dy}e^{-yt_i}=-t_ie^{-yt_i}\)(链式法则)。所以 \(\frac{dB}{dy}=-\sum_ic_it_ie^{-yt_i}\),而按 (4.12) 这个和正好等于 \(BD\)。 (4.15) 用的是"导数 ≈ 变化量之比":\(\Delta B\approx\frac{dB}{dy}\Delta y\),即一阶泰勒展开。 与 CFA 的差别:CFA 中修正久期 \(=\) 麦考利久期 \(/(1+y)\),你可能一直记得"麦考利久期是时间,修正久期才是价格敏感度"。在连续复利下这个分母消失了,因为 \(e^{-yt}\) 对 \(y\) 的导数直接带出 \(t\),而 \((1+y)^{-t}\) 对 \(y\) 的导数是 \(-t(1+y)^{-t-1}\),多出一个 \(1/(1+y)\)。所以本册中麦考利久期本身就是价格对连续复利收益率的敏感度,4.7.3 节的修正久期只是在离散复利下把那个分母补回来。

4.7.2 数例

原书表 4.6:3 年期、息票率 10%、面值 $100,连续复利收益率 12%,每半年付息 $5。

时间 现金流 现值 权重 时间 × 权重
0.5 5 4.709 0.050 0.025
1.0 5 4.435 0.047 0.047
1.5 5 4.176 0.044 0.066
2.0 5 3.933 0.042 0.083
2.5 5 3.704 0.039 0.098
3.0 105 73.256 0.778 2.333
合计 130 94.213 1.000 2.653

如 \(5e^{-0.12\times0.5}=4.709\)。价格 94.213,久期 2.653 年。

例 4.5(检验精度)。 \(\Delta B=-94.213\times2.653\,\Delta y=-249.95\,\Delta y\)。收益率升 10 个基点(\(\Delta y=0.001\)),预测 \(\Delta B=-0.250\),价格降到 93.963;按 12.1% 精确计算 \(5e^{-0.121\times0.5}+\dots+105e^{-0.121\times3.0}=93.963\),三位小数一致。

4.7.3 修正久期、美元久期、DV01

以上假设 \(y\) 是连续复利。若 \(y\) 为每年复利 \(m\) 次,则 \(\Delta B=-\dfrac{BD\,\Delta y}{1+y/m}\)。定义修正久期(modified duration)

\[D^*=\frac{D}{1+y/m},\qquad \Delta B=-BD^*\Delta y.\tag{4.17}\]

例 4.6。 表 4.6 债券的半年复利收益率为 \(2(e^{0.06}-1)=12.3673\%\),\(D^*=2.653/(1+0.123673/2)=2.499\),\(\Delta B=-94.213\times2.4985\,\Delta y=-235.39\,\Delta y\)。半年复利收益率升 10 个基点,预测价格 93.978;按 12.4673% 精确计算也是 93.978。

美元久期(dollar duration)\(D_\$=D^*B\),\(\Delta B=-D_\$\Delta y\)。DV01 是所有利率上升 1 个基点时的价格变化,等于 \(D_\$\times0.0001\)(符号取负)。DerivaGem 中的 Gamma 指所有利率上升 1 个基点时 DV01 的变化。

4.7.4 组合久期与局限

债券组合的久期等于各债券久期按价格加权的平均,把 (4.15)–(4.17) 中的 \(B\) 换成组合价值,即可估计所有债券收益率同时变化 \(\Delta y\) 时的组合价值变化。这隐含假设所有债券的收益率变化相同——期限差异大时,这只在零息曲线平行移动时成立。所以应把久期公式理解为"零息曲线小幅平行移动 \(\Delta y\) 对组合价值的影响"。金融机构让资产久期等于负债久期(净久期为零),可以免疫小幅平行移动,但仍暴露于大幅或非平行移动。

4.8 凸性

久期关系只适用于小幅变化。原书图 4.2 画了两个久期相同的组合 X、Y:在原点处斜率相同,收益率小幅变动时价值变化相同;大幅变动时表现不同,曲率更大的 X 更好。

凸性(convexity)度量这种曲率:

\[C=\frac{1}{B}\frac{d^2B}{dy^2}=\frac{\sum_{i=1}^n c_it_i^2e^{-yt_i}}{B}.\]

二阶泰勒展开给出更精确的近似:

\[\Delta B=\frac{dB}{dy}\Delta y+\frac12\frac{d^2B}{dy^2}(\Delta y)^2,\tag{4.18}\]
\[\frac{\Delta B}{B}=-D\,\Delta y+\frac12C(\Delta y)^2 .\]

推导拆解:\(C\) 的表达式来自对 \(\frac{dB}{dy}=-\sum c_it_ie^{-yt_i}\) 再求一次导:每项再乘一个 \(-t_i\),负负得正,\(\frac{d^2B}{dy^2}=\sum c_it_i^2e^{-yt_i}\),除以 \(B\) 即得。 (4.18) 是二阶泰勒展开:\(B(y+\Delta y)\approx B(y)+B'(y)\Delta y+\tfrac12B''(y)(\Delta y)^2\)。一阶项是在当前点画切线,二阶项修正切线与真实曲线之间的弯曲。\(\tfrac12\) 来自泰勒公式的通项 \(f^{(k)}(y)(\Delta y)^k/k!\),\(k=2\) 时 \(2!=2\)。两边除以 \(B\),并把 \(B'/B=-D\)、\(B''/B=C\) 代入就得到第二个式子。 这和 CFA 中"价格变化 ≈ \(-\)修正久期 × Δy \(+\tfrac12\) × 凸性 × Δy²"完全相同,只是在连续复利下用麦考利久期。量化实战输出中,\(\Delta y=3\%\) 时纯久期误差 0.31,加凸性后降到 0.01,剩下的误差来自三阶及更高阶项。

直观。 记权重 \(w_i=c_ie^{-yt_i}/B\),则 \(D=\sum w_it_i\),\(C=\sum w_it_i^2=\operatorname{Var}_w(t)+D^2\)。给定久期,现金流在时间上越分散,凸性越大:现金流均匀铺开在长时期内的组合("哑铃型")凸性最大,集中在某一时点附近的组合("子弹型")凸性最小。资产与负债净久期、净凸性都为零的机构可以免疫较大幅度的平行移动,但仍暴露于非平行移动。

推导拆解:\(C=\operatorname{Var}_w(t)+D^2\) 是"方差 = 二阶矩 − 均值平方"的直接应用。把权重 \(w_i\) 看成一个概率分布(非负、和为 1),付款时间 \(t\) 是随机变量:均值 \(\sum w_it_i=D\),二阶矩 \(\sum w_it_i^2=C\)。方差公式 \(\operatorname{Var}(t)=\mathbb E[t^2]-(\mathbb E[t])^2\) 移项就是 \(C=\operatorname{Var}_w(t)+D^2\)。\(\operatorname{Var}_w\) 的下标 \(w\) 表示"按权重 \(w_i\) 计算的方差"。 结论:久期固定时,凸性只取决于现金流时间的离散程度。哑铃型组合(1 年 + 10 年)的时间分布很分散,方差大;子弹型(单个 7.75 年零息债)方差为零,凸性就是 \(D^2\)。

对普通债券,凸性项 \(\frac12C(\Delta y)^2\) 恒为正:收益率无论升降,只用久期的近似都会高估跌幅、低估涨幅。

4.9 利率期限结构理论

零息曲线为什么有时向上、有时向下、有时部分上部分下?

  • 预期理论(expectations theory):长期利率反映对未来短期利率的预期;更准确地说,某未来期间的远期利率等于该期间的预期未来零息利率。
  • 市场分割理论(market segmentation theory):短、中、长期利率之间不必有关系;大型养老金、保险公司等投资某一期限的债券,不轻易换期限,各期限利率由各自的供求决定。
  • 流动性偏好理论(liquidity preference theory,原书作者认为最有说服力):投资者偏好保持流动性、做短期投资,借款人偏好长期固定利率借款,结果是远期利率高于预期未来零息利率。这与"收益率曲线向上倾斜比向下倾斜更常见"的经验事实一致。

4.9.1 银行如何"制造"流动性偏好

银行的净利息收入(net interest income)= 收到的利息 − 支付的利息。原书表 4.7:1 年与 5 年存款利率都是 3%,按揭利率都是 6%;若市场预期未来 1 年期利率等于今天(升降同样可能),这些利率是"公平的"。但存款人会选 1 年期(灵活),借款人会选 5 年期按揭(锁定成本)。银行于是资产长、负债短:利率下降无妨,利率上升则存款成本超过 3%,净利息收入下降;利率升 3% 时净利息收入降为零。

资产/负债管理(asset/liability management)部门的职责就是匹配期限。办法是提高 5 年期存款和按揭利率(表 4.8:5 年存款 4%、5 年按揭 7%),让 5 年存款和 1 年按揭更有吸引力,直到两边平衡。所有银行都这样做的净结果就是流动性偏好理论:长期利率倾向于高于由预期短期利率推出的水平,收益率曲线多数时间向上倾斜,只有市场预期短期利率大幅下降时才向下。许多银行用精密系统监测客户选择,发现失衡就微调利率,也用利率互换管理敞口,因此净利息收入通常很稳定。反例是 1980 年代美国储贷机构的倒闭和 1984 年 Continental Illinois 的倒闭,很大程度上源于期限错配。

流动性风险。 期限错配还会造成融资问题:用 3 个月批发存款为 5 年固定利率贷款融资的机构,即使用互换对冲了利率风险,批发存款人也可能失去信心、拒绝续借,资本充足的机构也可能因此倒闭。

商业快照:流动性与 2007–2009 年危机。 2007 年 7 月起出现"逃往优质资产",依赖短期融资的机构陷入困境。英国北岩银行(Northern Rock)用批发存款(部分仅 3 个月)为大量按揭融资,2007 年 9 月起存款人拒绝展期,2008 年初被政府接管。贝尔斯登和雷曼也因部分业务依赖短期资金遭遇类似问题。


量化实战

本章内容在量化交易中的用法

  1. 曲线构建是定价库的地基。 任何衍生品定价、回测中的融资成本、无风险利率与贴现因子都来自一条零息曲线。自举 + 插值 + 外推是最基础的实现;插值方式(对零息率线性、对 \(\ln P\) 线性等)会直接影响远期利率的平滑程度,从而影响 FRA、互换和利率期权的价格。
  2. 利率风险的一阶、二阶敏感度。 久期/DV01 与凸性是债券组合、利率衍生品账簿的基本风险指标,可按价格加权汇总到组合层面。但它们只覆盖平行移动;实务中会扩展为关键利率久期(key rate duration)和对收益率曲线做主成分分析(水平、斜率、曲率三因子,见本册第 22 章 22.9 节;PCA 数学见第 01 册第 02b 章),这是多因子利率风险模型的起点。
  3. 期限结构因子与 carry。 远期利率与未来实现利率的差异(期限溢价)、曲线斜率、"骑乘收益率曲线"(roll-down)都是利率择时与 carry 策略的信号来源。橘郡案例说明这类策略本质上是押注"未来利率偏离今天的远期利率",加杠杆时尾部风险巨大。
  4. 口径一致。 回测中混用年复利、连续复利、单利(FRA)是常见 bug。建议系统内部统一用连续复利零息率或贴现因子存储,只在输入输出边界转换。

Python 示例:曲线、收益率、久期与凸性

import numpy as np
import pandas as pd

# ---------- 1. 自举法(原书表4.3 → 表4.4)----------
bonds = [(0.25, 0, 97.5), (0.50, 0, 94.9), (1.00, 0, 90.0), (1.50, 8, 96.0), (2.00, 12, 101.6)]
zeros = {}                                   # 期限 -> 连续复利零息率

def zero_rate(t):
    """已求出节点间线性插值,两端水平外推。"""
    ts = np.array(sorted(zeros)); rs = np.array([zeros[k] for k in ts])
    return np.interp(t, ts, rs)

for T, cpn, price in bonds:
    times = np.arange(0.5, T + 1e-9, 0.5) if cpn > 0 else np.array([T])
    cfs = np.full(len(times), cpn / 2.0); cfs[-1] += 100
    pv_known = sum(cf * np.exp(-zero_rate(t) * t) for t, cf in zip(times[:-1], cfs[:-1]))
    zeros[T] = -np.log((price - pv_known) / cfs[-1]) / T
print("零息曲线:", {k: f"{v*100:.3f}%" for k, v in zeros.items()})
print("1.25年插值: %.4f%%" % (zero_rate(1.25) * 100))

# ---------- 2. 债券定价、收益率(牛顿法)、平价收益率(表4.2)----------
z = {0.5: 0.05, 1.0: 0.058, 1.5: 0.064, 2.0: 0.068}
t = np.array(list(z)); d = np.exp(-np.array(list(z.values())) * t)
cf = np.array([3, 3, 3, 103.0])
price = cf @ d
y = 0.05
for _ in range(20):                          # Newton-Raphson
    f  = cf @ np.exp(-y * t) - price
    fp = -(cf * t) @ np.exp(-y * t)
    y -= f / fp
A, dT = d.sum(), d[-1]
c = (100 - 100 * dT) * 2 / A
print(f"债券价格={price:.2f}  连续复利收益率={y*100:.2f}%  平价收益率={c:.2f}% (半年复利)"
      f" = {2*np.log(1+c/200)*100:.2f}% (连续)")

# ---------- 3. 远期利率(表4.5)----------
T = np.arange(1, 6); R = np.array([3.0, 4.0, 4.6, 5.0, 5.3]) / 100
fwd = (R[1:] * T[1:] - R[:-1] * T[:-1]) / (T[1:] - T[:-1])
print("第2-5年远期利率:", np.round(fwd * 100, 2))

# ---------- 4. FRA 估值(例4.4)----------
L, RK, RF, t1, t2, r2 = 1e8, 0.058, 0.050, 1.5, 2.0, 0.04
print("FRA价值 = %.0f" % (L * (RK - RF) * (t2 - t1) * np.exp(-r2 * t2)))

# ---------- 5. 久期与凸性(表4.6、例4.5)----------
def bond_stats(times, cfs, y):
    pv = cfs * np.exp(-y * times); B = pv.sum()
    D = (times * pv).sum() / B; C = (times**2 * pv).sum() / B
    return B, D, C
times = np.arange(0.5, 3.01, 0.5); cfs = np.array([5, 5, 5, 5, 5, 105.0])
B, D, C = bond_stats(times, cfs, 0.12)
print(f"B={B:.3f} D={D:.3f} C={C:.3f}")
rows = []
for dy in (0.001, 0.01, 0.03, -0.03):
    exact = bond_stats(times, cfs, 0.12 + dy)[0] - B
    rows.append((dy, exact, -B * D * dy, -B * D * dy + 0.5 * B * C * dy**2))
print(pd.DataFrame(rows, columns=["Δy", "精确ΔB", "久期近似", "久期+凸性"]).round(4).to_string(index=False))

# ---------- 6. 同久期不同凸性:哑铃 vs 子弹(原书4.35思路)----------
def pf_value(y, legs):  return sum(a * np.exp(-y * T) for T, a in legs)
y0 = 0.10
bar = [(1, 2000 * np.exp(0.10 * 1)), (10, 6000 * np.exp(0.10 * 10))]   # 现值2000与6000
Dbar = (1 * 2000 + 10 * 6000) / 8000
bul = [(Dbar, 8000 * np.exp(0.10 * Dbar))]                          # 同现值同久期的零息债
print(f"哑铃久期={Dbar:.2f}年")
for dy in (0.001, 0.05, -0.05):
    vb, vu = pf_value(y0 + dy, bar), pf_value(y0 + dy, bul)
    print(f"Δy={dy:+.3f}  哑铃变化={vb/8000-1:+.4%}  子弹变化={vu/8000-1:+.4%}")

关键输出:

零息曲线: {0.25: '10.127%', 0.5: '10.469%', 1.0: '10.536%', 1.5: '10.681%', 2.0: '10.808%'}
1.25年插值: 10.6085%
债券价格=98.39  连续复利收益率=6.76%  平价收益率=6.87% (半年复利) = 6.76% (连续)
第2-5年远期利率: [5.  5.8 6.2 6.5]
FRA价值 = 369247
B=94.213 D=2.653 C=7.570
    Δy    精确ΔB    久期近似   久期+凸性
 0.001 -0.2496 -0.2499 -0.2496
 0.010 -2.4642 -2.4995 -2.4638
 0.030 -7.1867 -7.4984 -7.1775
-0.030  7.8290  7.4984  7.8194
哑铃久期=7.75年
Δy=+0.001  哑铃变化=-0.7712%  子弹变化=-0.7720%
Δy=+0.050  哑铃变化=-30.7295%  子弹变化=-32.1248%
Δy=-0.050  哑铃变化=+49.9359%  子弹变化=+47.3293%

解读:

  • 自举结果、债券价格 98.39、收益率 6.76%、平价收益率 6.87%、远期利率表、FRA 价值(原书取整为 $369,200)均与原书一致。平价收益率换成连续复利是 6.76%,原书写 6.75%,差别来自原书先把 \(c\) 取整到 6.87 再换算。
  • 久期近似在 10 个基点时几乎精确,在 300 个基点时误差约 0.31(相对 4%);加入凸性项后误差降到 0.01 以下。收益率上升和下降时,纯久期近似分别高估跌幅、低估涨幅,正如 4.8 节所说。
  • 哑铃型(1 年 + 10 年)与子弹型(7.75 年零息)组合现值、久期相同,小幅变动时几乎一样;收益率大幅上升时哑铃跌得少、大幅下降时涨得多——这就是凸性的价值。但凸性不是免费的:在真实市场中,高凸性组合通常要以较低的收益率为代价,且哑铃与子弹在非平行移动(如曲线变陡)下表现可以截然不同。

本章小结

利率有国债利率、LIBOR、联邦基金利率、回购利率等,信用风险与是否有担保决定其高低;衍生品定价所用"无风险利率"的代理正在从 LIBOR 转向 OIS。计息频率是利率的单位,连续复利与 \(m\) 次复利之间按 \(R_c=m\ln(1+R_m/m)\)、\(R_m=m(e^{R_c/m}-1)\) 换算。零息利率是定价的基本单元:债券理论价格用各期零息率贴现,收益率是单一贴现率(用牛顿法求),平价收益率使价格等于面值。自举法从短到长逐个求零息率,并用线性插值、两端水平外推得到零息曲线。远期利率 \(R_F=(R_2T_2-R_1T_1)/(T_2-T_1)\),瞬时远期利率 \(-\partial\ln P(0,T)/\partial T\)。FRA 相当于单期的固定换浮动,按"假设远期利率实现再贴现"估值。久期 \(\Delta B/B=-D\Delta y\)(离散复利用修正久期),凸性加入二阶项 \(\frac12C(\Delta y)^2\),两者都只针对平行移动。流动性偏好理论解释了收益率曲线通常向上倾斜;期限错配同时带来利率风险与流动性风险。

概念 / 公式 含义
\(A(1+R/m)^{mn}\),\(Ae^{Rn}\) \(m\) 次复利 / 连续复利终值
\(R_c=m\ln(1+R_m/m)\),\(R_m=m(e^{R_c/m}-1)\) 复利换算
\(P(0,T)=e^{-R(T)T}\) 贴现因子 / 零息债券价格
\(B=\sum c_ie^{-yt_i}\) 债券价格与收益率
\(c=(100-100d)m/A\) 平价收益率
自举法 由短到长逐个解出零息率
\(R_F=(R_2T_2-R_1T_1)/(T_2-T_1)\) 远期利率
\(R_F(T)=R+T\,\partial R/\partial T\) 瞬时远期利率
\(V_{FRA}=L(R_K-R_F)(T_2-T_1)e^{-R_2T_2}\) 收固定 FRA 的价值
\(D=\sum t_iw_i\),\(\Delta B/B\approx-D\Delta y\) 麦考利久期
\(D^*=D/(1+y/m)\),\(D_\$=D^*B\) 修正久期、美元久期
\(C=\sum t_i^2w_i\),\(\Delta B/B\approx-D\Delta y+\tfrac12C\Delta y^2\) 凸性与二阶近似
流动性偏好 远期利率 > 预期未来即期利率,曲线多向上

练习

基础

  1. 季度复利 12% 对应的连续复利与年复利利率各是多少?(提示:\(4\ln1.03=11.82\%\);\(1.03^4-1=12.55\%\)。)
  2. 6 个月、1 年零息率(连续复利)分别为 4% 和 4.5%,求 6 个月到 1 年的远期利率。(提示:\((0.045-0.02)/0.5=5\%\)。)
  3. 一只 2 年期、息票 8%、半年付息的债券,收益率 6%(连续复利),求价格与麦考利久期。
  4. 为什么零息曲线向上倾斜时,远期利率高于零息利率,零息利率又高于附息债券收益率?(提示:由 (4.6);附息债收益率是各期零息率的某种加权平均。原书 4.7。)
  5. 解释为什么 LIBOR 高于回购利率。

进阶

  1. 证明 \(C=\operatorname{Var}_w(t)+D^2\),并据此说明在久期相同时,为什么现金流越分散凸性越大。
  2. 用"两只附息债消去息票"的方法:某 10 年期 4% 息票债券价格 80,10 年期 8% 息票债券价格 90(均年付息、面值 100),求 10 年零息债券价格和零息率。(提示:买 2 只 4% 债、卖 1 只 8% 债,息票抵消,得面值 100 的零息债价格 \(2\times80-90=70\);\(R=-\ln0.7/10=3.57\%\)。原书 4.16。)
  3. 某机构签了 FRA:3 年后开始的 6 个月期间,就 $5,000 万本金付固定 5%(半年复利)、收 LIBOR。现在该期间远期 LIBOR 为 5.5%(半年复利),3.5 年零息率 4.8%(连续复利)。求 FRA 价值。(提示:\(5\times10^7\times0.005\times0.5\times e^{-0.048\times3.5}\approx\$105{,}700\)。)
  4. 修改"量化实战"代码:把自举中的线性插值改为"对 \(\ln P(0,t)\) 线性插值",比较两种方法下 0.5–1 年之间的瞬时远期利率曲线形状。
  5. 某银行资产为 5 年期固定利率按揭 $100 亿,负债为 1 年期存款 $100 亿。若想用零息债券使净久期为零,需要做什么?这能消除哪些风险、不能消除哪些风险?

原书推荐习题: 4.1、4.9、4.25(复利换算);4.5、4.14、4.28(远期利率);4.6、4.15、4.32(FRA 估值);4.23、4.34(完整自举法,适合编程);4.16(组合复制求零息率);4.22、4.35、4.36(久期与凸性的计算与检验);4.29、4.30(利率结构中的套利识别)。

原书对照

本章小节 原书章节 PDF 页码
4.1 利率的种类 4.1 Types of Rates p.100–102
4.2 利率的度量 4.2 Measuring Interest Rates(表 4.1、例 4.1–4.2) p.102–105
4.3 零息利率与债券定价 4.3 Zero Rates、4.4 Bond Pricing(表 4.2) p.105–107
4.4 自举法 4.5 Determining Treasury Zero Rates(表 4.3、4.4,图 4.1) p.107–109
4.5 远期利率 4.6 Forward Rates(表 4.5、商业快照 4.1) p.109–111
4.6 FRA 4.7 Forward Rate Agreements(例 4.3、4.4) p.111–114
4.7 久期 4.8 Duration(表 4.6、例 4.5、4.6) p.114–117
4.8 凸性 4.9 Convexity(图 4.2) p.117–118
4.9 期限结构理论 4.10 Theories of the Term Structure(表 4.7、4.8,商业快照 4.2) p.118–121
小结、习题 Summary、Practice Questions 4.1–4.24、Further Questions 4.25–4.36 p.121–126