今天来个简单的,使用插值法求远期国债利率。
插值法使用的是scipy模块中的interpolate子模块的interp1d函数,注意这里的是数字1,不是英文字母l。函数的格式为interp1d(x,y,kind),x、y为给定数据,kind是插值方法。
kind参数如下:

参数名称 插值方法
nearest 最邻近插值法
zero 0阶样条曲线插值法
slinear 1阶样条曲线插值法
quadratic 2阶样条曲线插值法
cubic 3阶样条曲线插值法

假设有如下远期国债到期收益率:

期限 0.25年 半年 0.75年 1年 3年 5年
远期收益率 2.7344% 2.7898% 2.8382% 2.882% 3.0414% 3.1746%

可以发现在表中缺少2年期和4年期的远期国债收益率,现在就可以通过数据拟合出曲线并求出对应的收益率。

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import interpolate
#下面是显示中文必备代码
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False

接下来将表中数据以列表形式处理:

#原有期限
t=np.array([0.25,0.5,0.75,1.0,3.0,5.0])
#新期限
t_new=np.array([0.25,0.5,0.75,1.0,2.0,3.0,4.0,5.0])
#原有到期收益率
rates=np.array([0.27344,0.27898,0.28382,0.2882,0.30414,0.31746])

设置好5种插值方法,以及线形的格式

types=['nearest','zero','slinear','quadratic','cubic']
k1=['-','--','-.',':','-']
k2=['*','h','+','d','s']

计算并绘图:
这里设置了一堆线形,主要是为了区分不同的数据,毕竟如果是同样的线形是无法区分开的。

plt.figure(figsize=(10,8))
for i in range(len(types)):f=interpolate.interp1d(x=t,y=rates,kind=types[i])rates_new=f(t_new)print(types[i],rates_new)plt.plot(t_new,rates_new,k1[i])plt.plot(t_new,rates_new,k2[i],label=types[i])plt.xticks(fontsize=14)plt.xlabel(u'期限',fontsize=14)plt.yticks(fontsize=14)plt.ylabel(u'收益率',fontsize=14,rotation=0)plt.legend(loc=0,fontsize=14)plt.grid()

结果如下:


可以看出,nearest和zero法得到的结果基本相同,而其他方法得到的结果有些不同。

金融学习之四——插值法求远期国债收益率相关推荐

  1. 金融学习之十二——凸性

    今天讨论另外一个概念,叫做凸性.什么是凸性呢?凸性也称为凸度或曲率,是衡量债券价格对债券到期收益率变化的非线性关系的指标,是债券价格对收益率的二阶导数.\为什么需要讨论凸性呢,我们可以看下面的例子(这 ...

  2. [转]Docker学习之四:使用docker安装mysql

    本文转自:https://blog.csdn.net/qq_19348391/article/details/82998391 Docker学习之一:注册Docker Hub账号 Docker学习之二 ...

  3. 求伯君:向暴雪学习 金山不求一夜暴富

    from: http://bbs.chinagcn.com/viewthread.php?tid=2004 求伯君:向暴雪学习 金山不求一夜暴富 提起金山必言及微软的人,一定不了解今日的金山. 最近关 ...

  4. ETL学习之四:SQL Server Integration Services入门

    ETL学习之四:SQL Server Integration Services入门 SSIS就是微软在SQL SERVER2005上对DTS的升级,不得不说,微软在BI上是花了很大功夫的,包括提供了S ...

  5. 您已关注公众号满1年,诚邀您免费加入金融学习交流群!

    作为一名福利小编,今天我又要营业了 你们懂~ 在后台最多的一类消息就是 "小编在吗?有那种资源吗?" "......" "那种实用又免费的CFA学习资 ...

  6. Kafka学习之四 Kafka常用命令

    2019独角兽企业重金招聘Python工程师标准>>> Kafka学习之四 Kafka常用命令 Kafka常用命令 以下是kafka常用命令行总结: 1.查看topic的详细信息 . ...

  7. 智能会议系统(33)---WebRTC学习之四:最简单的语音聊天

    WebRTC学习之四:最简单的语音聊天 VoiceEngine中与最简单语音聊天相关的头文件有五个,如下表所示: 头文件 包含的类 说明 voe_base.h VoiceEngineObserver ...

  8. matlab方程近似求根,第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令.doc...

    第七讲MATLAB中求方程的近似根(解)教学目的学习matlab中求根命令 第七讲 MATLAB中求方程的近似根(解) 教学目的:学习matlab中求根命令,了解代数方程求根求解的四种方法,即图解法. ...

  9. nas4free 安装mysql_[转]Docker学习之四:使用docker安装mysql

    Docker学习之一:注册Docker Hub账号 Docker学习之二:Docker基本简单操作命令 Docker学习之三:Docker在linux下简单安装使用 Docker学习之四:使用dock ...

  10. 【FXCG】美联储加息在即,10年期国债收益率创近两年新高

    美国10年期国债收益率自2019年7月以来首次逼近2%.当地时间2月8日,伴随美国国债下跌,10年期收益率一度达到1.96%的高位.收益率上升反映出随着市场对美国经济复苏.美联储加息的预期有所增强. ...

最新文章

  1. 【AI】caffe使用步骤(四):训练和预测
  2. php 操作mssql,php操作mssql
  3. 不区分大小写的内容比较
  4. Shell脚本入门基础
  5. 一文弄懂各种loss function
  6. 动手写一个快速集成网易新闻,腾讯视频,头条首页的ScrollPageView,显示滚动视图...
  7. 【智能车Code review】——坡道图像与控制处理
  8. OpenSSL(openssl-1.0.1h)编译与安装(Win7)
  9. Linux进程全解3——进程概念、进程ID、多进程调度原理
  10. kafka消息确认机制
  11. Algorithms Part 1-Question 6- 2SUM Median-数和以及中位数问题
  12. 用EViews做时间序列SARIMA模型的傻瓜操作小记
  13. 同时起两个mysql 起不了_两大龙头同时提价,6月起下游订单V字反转,份额都倾向这两家...
  14. java并发编程电子书免费送???
  15. ICD-10/11 查询疾病编码方法
  16. 简单几个操作小技巧提高你的生产力!☀️我好了,你呢☀️
  17. wxpython多个面板_wxpython笔记:Wxpython pannel切换
  18. 微信支付V3版本的 签名生成,验签,解密,统一下单的简单封装
  19. 小孔成像总结_【初中物理】物理解题技巧+方法总结
  20. windows10 安装linux,windows 10安装linux(ubuntu)子系统

热门文章

  1. 硬件-2-显示器Redmi27英寸显示器
  2. STM32制作FLASH字库
  3. html svg 线条动画,SVG 线条动画入门
  4. Android 录制视频添加时间水印,Android开发教程入门
  5. 阿里巴巴校招offer面经
  6. Codeforces 934D - A Determined Cleanup
  7. 反汇编 之程序入口_start
  8. diskgenius克隆硬盘无法启动_用Diskgenius克隆分区到另一个磁盘上
  9. 连载]第四讲 测量准确度、重复性、复现性及标准偏差
  10. 232串口线或者串口的简单测试