用R语言用Nelson Siegel和线性插值模型对债券价格和收益率建模
原文链接:http://tecdat.cn/?p=11758
债券基础
保证金购买是指投资者先从银行或经纪人处借得资金购买证券,而所购买的证券作为借入资金的抵押。
零息债券是指以贴现方式发行,不附息票,而于到期日时按面值一次性支付本利的债券。
债券的票面价值 债券的票面价值又称面值,是债券票面标明的货币价值,是债券发行人承诺在债券到期日偿还给债券持有人的金额。
债券可以参考价格或收益率。例如,将支付100元的零息债券的价格可以是90元。但收益率将为(100−90)/90=11%,而不是10%。
债券收益率是投资于债券上每年产生出的收益总额与投资本金总量之间的比率。
债券可以在二级市场上交易(一级市场是债券发行过程)。如果利率增加,债券的价值就会增加,如果利率降低,债券的价值就会减少,这仅仅是因为该债券是在利率改变之前以便宜/昂贵的价格发行的。也可以做空债券。
虽然期望债券不会出现负利率,但也不是完全看不到。在危机时期,政府债券甚至公司债券都可以以负收益率交易(例如雀巢)。
债券定价
债券价格是通过使用票面利率和现金流来确定。
式中,CFt是t时的现金流,B(0,t)是贴现系数或0时价格
其中R(0,t)是在时间为t时在时间0的年度即期汇率。
B(0,t)也可以称为零息债券的价格。
我们可以暗示零息票利率与市场上不同期限的债券。然后我们可以用这些利率建立一个期限结构模型来为任何债券定价。严格违反期限结构可能是买入/卖出机会,也可能是套利机会。
如果我们有合适的证券,我们也可以从息票支付债券中构建零息票债券。
1年期纯贴现债券在95出售。
两年期8%的债券售价99元。
2年期纯折价债券的价格为99-0.08(95)= 91.4。
复利类型
简单复利
假设利率为0.05,期限为2年。100美元的价格在到期时将是多少。
定期复利
如果将利息永久添加到本金投资中,那么我们的复利就是利率。假设相同的示例,但每半年复算一次。
年名义利率为
连续复利
现在,假设复利的频率很高,以至于在两次加息之间的时间间隔是无限小(接近零)。然后在极限情况下
因此,以我们的示例为例,连续复利的年利率是
给定一组零息票债券价格,我们可以计算连续收益率
远期汇率
假设有两个到期日不同的债券
可以重新排列成
到期日的相关性
利率不仅随着到期日变化,而且随着时间变化。我们还将调用某些数据和计算。
让我们加载库并检查收益率曲线数据。
相关系数矩阵显示出收益率没有完全相关。
R_3MR_6MR_1YR_2YR_3YR_5YR_7YR_10YR_3M1.00000000.99833900.99400450.98375590.97447800.95461890.93995040.9230412R_6M0.99833901.00000000.99817150.98998200.98171970.96322680.94917610.9332366R_1Y0.99400450.99817151.00000000.99599370.99001950.97461740.96218950.9478956R_2Y0.98375590.98998200.99599371.00000000.99848440.98968110.98088960.9694621R_3Y0.97447800.98171970.99001950.99848441.00000000.99585830.98961850.9804575R_5Y0.95461890.96322680.97461740.98968110.99585831.00000000.99836290.9936744R_7Y0.93995040.94917610.96218950.98088960.98961850.99836291.00000000.9981232R_10Y0.92304120.93323660.94789560.96946210.98045750.99367440.99812321.0000000
债券价格和收益率
在这一部分中,我们将看到构建债券价格和收益率的方法。
直接法
假设您得到以下债券利率。请记住,名义汇率是100。
息票到期价钱债券15.01个101.0债券25.52101.5债券35.0399.0债券46.04100.0
零息债券价格(B(0,t)
然后我们得到
线性插值
三次插值
假设我们的费率如下:
间接方法(Nelson Siegel)
尼尔森·西格尔(Nelson Siegel)模型是模拟利率收益率曲线的一种流行方法。
其中θ是到期日,β0是长期收益率,β1是斜率参数,β2是曲率参数,τ是比例参数。
可以使用参数来更好地估计收益曲线。
Nelson Siegel参数的估计
Nelson Siegel曲线估计。
注意:我们将lambda称为tau(ττ)(形状参数)。
Beta灵敏度
考虑提供Fi未来现金流的债券价格 。因此,带有beta参数的价格变化如下。
最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
3.使用r语言进行时间序列(arima,指数平滑)分析
4.r语言多元copula-garch-模型时间序列预测
5.r语言copulas和金融时间序列案例
6.使用r语言随机波动模型sv处理时间序列中的随机波动
7.r语言时间序列tar阈值自回归模型
8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类
9.python3用arima模型进行时间序列预测