class: center, middle, inverse, title-slide # 债券估值及其计算问题 ## 利率知识 ### 金融学院 吴燕丰 ### 2020/03/31 --- # 基础部分 目录: - 货币的时间价值 - 现值和终值 - 单利和复利 - 债券基本概念 - 净现值和到期收益率 --- ### 货币的时间价值 .pull-left[ 两种选择: 1. 立即获得¥ 1,000,000 2. 1年后获得¥ 1,000,000  选项1 > 选项2,100%! ] .pull-right[ 另外两种选择: 1. 立即获得赣南脐橙100kg 2. 1年后获得赣南脐橙100kg  选项1 > 选项2,50%? ] --- ### 现值和终值 .pull-left[ 现金的增值方法: 1年后给你多少钱,你才愿意把¥ 1,000,000存到银行? ] .pull-right[ 换一种角度: 现在给你多少钱,你愿意一年后还给银行¥1,030,000? ] -- <hr> 年利率3%,那么 `$$\text{¥}1,000,000\times(1+3\%)=\text{¥}1,030,000$$` `$$\text{现在的¥}1,000,000=\text{1年后的¥}1,030,000\quad{ (\color{red}{\text{ 终值 }})}$$` -- <hr> 年利率3%(**折现率**),那么 `$$\text{¥}1,030,000\div (1+3\%)=\text{¥}1,000,000\quad{ (\color{green}{\text{ 折现 }})}$$` `$$\text{1年后的¥}1,030,000=\text{现在的¥}1,000,000\quad{ (\color{green}{\text{ 现值 }})}$$` --- ### 单利和复利 单利(利率 `\(r\)`): `$$\begin{align} \text{本息和} &=\text{本金} + \stackrel{N期}{\overbrace{\text{本金}\times\text{r}+\cdots+\text{本金}\times\text{r}}} \\ &=\text{本金}\times\big(1+\text{r}\times\text{N}\big) \end{align}$$` -- 复利(利率 `\(r\)`): `$$\begin{align} \text{本息和} &= \text{本金}\times\stackrel{N期}{\overbrace{\big(1+\text{r}\big)\times\cdots\times\big(1+\text{r}\big)}}\\ &= \stackrel{{\color{red} {\text{新的本金}}}}{\overbrace{\big(\text{本金}+\text{本金}\times\text{r}\big)}}\times\stackrel{N-1期}{\overbrace{\big(1+\text{r}\big)\times\cdots\times\big(1+\text{r}\big)}}\\ & =\cdots= \text{本金}\times\big(1+\text{r}\big)^{\text{N}} = \text{本金}\times\sum_{k=0}^{N}C_N^k\text{r}^k\\ \end{align}$$` 复利是**利滚利** --- ### 债券(图示) 美国国库券 .center[  ] 一些称谓: - 面值(face value):$ 500 - 到期日(maturity date):June 15, 1969 - 息票率(coupon rate): `\(2\frac{1}{2}\%\)` - 付息频率(frequency of coupon payments):一年两次,每次$ 6.25 --- ### 现值、净现值图示 .center[  ] .center[  ] .footnote[图片来源:[1] [PV](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQyrTvim69MyVQM8NGQ3uT0j0Qi9Ykg1OiIsO3GEQIeDJve8OZ3ww&s),[2] [NPV](http://www.scielo.br/img/revistas/gp/v20n4/16f01.jpg)] --- ### 已知折现率,计算债券现金流现值 例1:假设某投资者以990元的价格买到一张4年期债券,每年付息一次,息票率为8%,面值为1000元。 已知折现率 `\(y=5\%\)` ,计算现值PV(Present Value): `$$\begin{align} \text{PV} &=\frac{1000\times 8\%}{(1+y)}+\frac{1000\times 8\%}{(1+y)^2}+\frac{1000\times 8\%}{(1+y)^3}+\frac{1000\times 8\%}{(1+y)^4}+\frac{1000}{(1+y)^4} \\ &= \frac{1000\times 8\%}{(1+5\%)}+\frac{1000\times 8\%}{(1+5\%)^2}+\frac{1000\times 8\%}{(1+5\%)^3}+\frac{1000\times 8\%}{(1+5\%)^4}+\frac{1000}{(1+5\%)^4} \\ &\approx 1106.38 \end{align}$$` -- 净现值NPV(Net Present Value): `$$\begin{align} \text{NPV} &= \text{PV} - \text{价格}\\ &= 1106.38 - 990\\ &= 116.38 \end{align}$$` --- ### 已知债券价格(现值),计算到期收益率(折现率) 例1:假设某投资者以990元的价格买到一张4年期债券,每年付息一次,息票率为8%,面值为1000元。 债券现值价格(PV, Present Value)=990,计算到期收益率(折现率) `\(y\)` ,使得方程成立: $$ 990 =\frac{1000\times 8\%}{(1+y)}+\frac{1000\times 8\%}{(1+y)^2}+\frac{1000\times 8\%}{(1+y)^3}+\frac{1000\times 8\%}{(1+y)^4}+\frac{1000}{(1+y)^4}. $$ <br> <br> **Excel**中财务函数*RATE*函数(或*单变量求解*),都可以解此方程。 --- class: center ### End(基础部分) .center[ Questions & Answers ] --- class: center, middle 特地留空 --- ### 进阶部分 目录: - 复利的由来(利率计算方式演变) - 复利套利和自然数e - 银行付利方式 - 到期收益率的计算方法(牛顿方法) - 原理 - 编程实现 - 数示 - 图示 - 数学解释 - 自然数e的数学推理 - 单独递增 - 数列有界 --- ### long long time ago 从前(至少一千年以前?),人们习惯于: - 存1年得1年的利息 `\(r\)` , - 存2年得2倍1年的利息 `\(2r\)` , - 并且推广至,**任意时间长度 `\(\Delta\)` 的利息 `\(y_{\Delta}\)` 为**, `$$y_\Delta = \frac{\Delta}{1}r$$` -- 有一个人去银行存了$ 10,000,计划存2年: 1. 盘算两年后可得本息$ 10,000(1+2r) 2. 这人比较精明,打算一年后,把利息取出来,再存进去,不动本金,这样可以多得息$ 10,000r×r --- ### 疯狂的复利 这个人接着想: - 想了想,其实半年取一次利息再存进去,比存一年所得利息多 $ `\(10,000\times\frac{r}{2}\times\frac{r}{2}\)` ,到1年末时,拥有本息 $ `$$\stackrel{\text{本金}}{\overbrace{10,000}} + \stackrel{一年期利息}{\overbrace{10,000\times r}} + \stackrel{半年取、存一次利息,增量利息}{\overbrace{10,000\times \frac{r}{2}\times\frac{r}{2}}} = 10,000\times\left(1+\frac{r}{2}\right)^2$$` -- - 每半年的一半时间(3月份)存取一次利息,**半年**时(6月份),拥有本息 $ `$$\stackrel{\text{本金}}{\overbrace{10,000}} + \stackrel{半年期利息}{\overbrace{10,000\times \frac{r}{2}}} + \stackrel{3个月取、存一次利息,增量利息}{\overbrace{10,000\times \frac{r}{4}\times\frac{r}{4}}} = 10,000\times\left(1+\frac{r}{4}\right)^2$$` -- - 继续操作,6月份取存利息一次,9月份取存利息一次,**一年**时,拥有本息 $ $$ 10,000\times\left(1+\frac{r}{4}\right)^2\times\stackrel{\text{6月份操作}}{\overbrace{\left(1+\frac{r}{4}\right)}}\times \stackrel{\text{9月份操作}}{\overbrace{\left(1+\frac{r}{4}\right)}} = 10,000\times \left(1+\frac{r}{4}\right)^4 $$ --- ### 疯狂的复利(续) 可以挣更多的利息,精明的人,自然不会放弃机会: - 如此下去,将一年等分为n个时间段,操作n-1次取存利息,可以获得本息 $ $$ 10,000 \times \left(1+\frac{r}{n}\right)^n = 10,000\times \left(1+\frac{1}{n}\right)^n, \text{ 若 } r=1. $$ 精明的人,困惑了,这如何是个头啊? -- #### Euler 聪明的数学家,解决了这个问题,欧拉 [Leonhard Euler](https://en.wikipedia.org/wiki/Leonhard_Euler)(1707-1783,瑞典数学家) 将这个数命名为**自然数**,并用字母**e**表示 `$$e\triangleq\lim_{n\rightarrow+\infty}\left(1+\frac{r}{n}\right)^n$$` --- ### 疯狂的复利--银行的应对措施 抛弃不同时长按比例确定利率 $$ y_{\Delta} \neq \frac{\Delta}{1}\times r, $$ 规定复利次数,且改用 `$$\left(1+y_{\Delta}\right)^{\frac{\Delta}{1}} = 1+r \implies y_{\Delta} = \sqrt[\Delta]{1+r} - 1$$` 或者不规定复利次数,直接使用 $$ e^{y} = 1+r \implies y = \ln{(1+r)} $$ .footnote[ [*]思考题:余额宝7日年化利率怎么计算的? ] --- ## 到期收益率的计算方法 例1:假设某投资者以990元的价格买到一张4年期债券,每年付息一次,息票率为8%,面值为1000元。 问:(1)持有到期时该债券的到期收益率是多少? 解: `$$\begin{align} 990 &= \frac{1000\times 8\%}{(1+y)}+\frac{1000\times 8\%}{(1+y)^2}+\frac{1000\times 8\%}{(1+y)^3}+\frac{1000\times 8\%}{(1+y)^4}+\frac{1000}{(1+y)^4}\\ &=\sum_{t=1}^{4}\frac{1000\times 8\%}{(1+y)^t}+\frac{1000}{(1+y)^4} \end{align}$$` 满足上面方程的 $$ y = ? $$ --- ## 牛顿方法(Newton Method) 定义函数 $$ f(x) \triangleq \sum_{t=1}^{4}\frac{1000\times 8\%}{(1+x)^t}+\frac{1000}{(1+x)^4} - 990 $$ 迭代计算公式: `$$x_0 = \text{任意值}, \quad n = 0, \\ x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}.$$` `\(f(x)\)`导数为 $$ f'(x) = \sum_{t=1}^4\frac{-80\times t}{(1+x)^{t+1}} + \frac{-4000}{(1+x)^5} $$ --- **编程实现**(以R语言为例) ```r f <- function(x){#定义原函数f(x),用于计算不同的x,对应的函数值 f_x = 0 for (t in 1:4) { * f_x = f_x + 80/(1+x)^t #对应f(x)公式中累加部分 } f_x = f_x + 1000/(1+x)^4 - 990 return(f_x) } df <- function(x){#定义导函数f'(x), df_x = 0 for (t in 1:4) { * df_x = df_x - 80*t/(1+x)^(t+1) #对应f'(x)公式中累加部分 } df_x = df_x - 4000/(1+x)^5 return(df_x) } newton_seq <- function(x0,n,f0=f,f1=df){#从起始值x0,迭代n次,所得x列 x_seq = rep(0,n); x_seq[1] = x0; x = x0 for (i in 2:n) { * x_seq[i] = x - f0(x)/f1(x) #牛顿方法 x = x_seq[i] } return(x_seq) } ``` --- ### 数值结果
--- ### 计算步骤-图示1 .center[] --- ### 计算步骤-图示2 .center[] --- ### 计算步骤-图示3 .center[] --- ### 计算步骤-图示4 .center[] --- ### 计算步骤-图示5 .center[] --- **动画显示** <video width="956" height="538" controls loop autoplay> <source src="NewtonMethod.mp4"> </video> --- ### 数学解释 为什么会这样呢?大家还记得**微分中值定理**吗? `$$f(x) = f(x_0) + f'(x^*)(x - x_0), x_0\le x^*\le x.$$` **泰勒公式** `$$f(x) = f(x_0) + \sum_{n=1}^{+\infty}\frac{f^{n}(x_0)}{n!}(x-x_0)^n$$` 自然指数函数 $$ e^x = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!}+ \cdots + \frac{x^n}{n!}+\cdots $$ 连续复利 `$$\begin{align} e^{rt} &\approx 1+ rt \\ (e^r)^t &\approx (1 + r)^t\\ \end{align}$$` --- ### 牛顿方法的解释 利用**微分中值**定理,有 `$$f(x_{n+1}) \approx f(x_n) + \stackrel{\Delta}{\overbrace{f'(x_n)(x_{n+1}-x_n)}}$$` 如果我们让 `$$f(x_n)+f'(x_n)(x_{n+1}-x_n)=0 \implies x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}$$` 分类讨论: - 当 `\(f(x_n)>0,f'(x_0)>0\)` 时, `\(x_{n+1}<x_n\)` , `\(\Delta <0\)` , `\(f(x_{n+1})\)` 更接近0。 - 当 `\(f(x_n)>0,f'(x_0)<0\)` 时, `\(x_{n+1}>x_n\)` , `\(\Delta <0\)` , `\(f(x_{n+1})\)` 更接近0。 - ... --- ### 自然数e为什么存在? 自然数e的由来,可见 [利息的计算与自然数e](http://www.yyschools.com/math/exponential-function/)。 `\(\lim_{n\rightarrow\infty}(1+\frac{1}{n})^n \quad \text{为什么收敛?}\)` <img src="bond_pricing_files/figure-html/unnamed-chunk-5-1.png" style="display: block; margin: auto;" /> --- 如何证明呢? `$$\begin{align} x_n & = (1+\frac{1}{n})^n \\ &= \sum_{k=0}^{n}C_n^k1^{n-k}(n^{-1})^k \\ &= 1+1+\sum_{k=2}^{n}C_n^k(n^{-1})^k \\ &= 2 + \sum_{k=2}^{n}\frac{(n-0)(n-1)\cdots(n-(k-1))}{k!}\times \frac{1}{n^k}\\ &= 2 + \sum_{k=2}^{n}\frac{1}{k!}\frac{(n-0)(n-1)\cdots(n-(k-1))}{n^k}\\ &= 2 + \sum_{k=2}^{n}\frac{1}{k!}\frac{n-0}{n}\times\frac{n-1}{n}\cdots\frac{n-(k-1)}{n} \\ &= 2 + \sum_{k=2}^{n}\frac{1}{k!}1\times\left(1-\frac{1}{n}\right)\cdots\left(1-\frac{k-1}{n}\right) \end{align}$$` --- ### 单调递增 `$$\begin{align} x_n &=2+ \sum_{k=2}^{n}\frac{1}{k!}\times\left(1-\frac{1}{n}\right)\cdots\left(1-\frac{k-1}{n}\right)\\ x_{n+1} &= 2 + \sum_{k=2}^{n+1}\frac{1}{k!}\times\left(1-\frac{1}{n+1}\right)\cdots\left(1-\frac{k-1}{n+1}\right) \end{align}$$` 其中, `$$\begin{align} \left(1-\frac{1}{n}\right) &<\left(1-\frac{1}{n+1}\right)\\ \vdots&<\vdots \\ \left(1-\frac{k-1}{n}\right) &< \left(1-\frac{k-1}{n+1}\right) \end{align}$$` 所以, `$$x_n < x_{n+1}.$$` --- ### 数列有界 另外, `\(x_n\)` 有界, `$$\begin{align} x_n &= 2 + \sum_{k=2}^{n}\frac{1}{k!}\times\left(1-\frac{1}{n}\right)\cdots\left(1-\frac{k-1}{n}\right)\\ &< 2 + \sum_{k=2}^{n}\frac{1}{k!}\\ &< 2 + \sum_{k=2}^{n}\frac{1}{2^{k-1}}\\ &= 2 + \frac{1/2-\frac{1}{2^n}}{1-1/2} = 3 - \frac{1}{2^{(n-1)}} <3. \end{align}$$` 由**夹逼定理**可知极限 `\(\lim_{n\rightarrow+\infty}\left(1+\frac{1}{n}\right)^n\)` 存在。 --- ## 问答(Questions & Answers) .center[ ### 欢迎提问! ] .footnote[ [*] [吴燕丰简介-英文](http://www.upjian.com/cv/) [*] [吴燕丰简介-中文](http://www.upjian.com/cv-chinese-2/) ]