计算债券理论价格和久期,凸性

import os
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei']#用于正常显示中文标签
plt.rcParams['axes.unicode_minus']=False#用于正常显示负号
import time
import datetime
import tushare as ts
pro=ts.pro_api('')
import math
math.modf(1.54)def price_coupon_bond(P,c,T,r):"""计算附债券当前理论价格P:面值;c:票面利率;T:剩余有效期;r:预期收益率"""V=P*(1+c*T)*math.exp(-1*T*r)return V
#price_coupon_bond(100,0.03,1,0.3)data=pd.read_excel('债券日度价格.xlsx')
col=data.columns
data=data[['日期','收盘']]
data.columns=['日期','实际价格']
data['到期日']=datetime.datetime.strptime('2023-01-17', '%Y-%m-%d')
data['日期']=data['日期'].astype(str)
for i in data.index:data['日期'][i]=datetime.datetime.strptime(data['日期'][i], '%Y-%m-%d')
data['剩余年数']=0.000
for i in data.index:time_=data['到期日'][i]-data['日期'][i]data['剩余年数'][i]=time_.days/360#通过shibor计算债券理论价格
shibor = pro.shibor(start_date='20130304', end_date='20200604')[['date','1y']]#获得shibor利率
shibor['date']=shibor['date'].astype(str)
for  i in shibor.index:shibor['date'][i]=datetime.datetime.strptime(shibor['date'][i], '%Y%m%d')for i in shibor.index:if shibor['date'][i] not in data['日期'].tolist():shibor.drop(i,axis=0,inplace=True)
shibor=shibor.sort_values(['date'],ascending=True)
shibor.index=range(len(shibor.index))data['shibor']=shibor['1y']
data['shibor'][len(data)-1]=data['shibor'][len(data)-2]
data['shibor理论价格']=0.00for i in data.index:data['shibor理论价格'][i]=price_coupon_bond(P=100,c=0.051,T=data['剩余年数'][i],r=data['shibor'][i]/100)data['日期']=data['日期'].astype(str).str[:10]#绘图
plt.figure(figsize=(18,16))
plt.plot(data['日期'],data['实际价格'],label='债券实际价格')
plt.plot(data['日期'],data['shibor理论价格'],label='债券shibor理论价格')
plt.title('债券理论价格与实际价格对比图', fontsize=33, color='r', alpha=0.5)  # 设置标题
plt.grid(True,alpha=0.3)
plt.xlabel('日期', fontsize=24)
plt.ylabel('债券价格(元)', fontsize=24)
plt.xticks(np.arange(1,len(data['日期']),10),rotation=270)
plt.legend(loc='upper left',fontsize=16)
plt.show()data.to_excel('债券风险测度.xlsx')#计算债券久期
data
data['久期']=0.000
data['修正久期']=0.000
data['凸性']=0.0000
flow=100*0.051*10+100
for i in data.index:data['久期'][i]=data['剩余年数'][i]*flow*math.exp(-1*data['剩余年数'][i]*data['shibor'][i]/100)/data['shibor理论价格'][i]data['修正久期'][i] = data['剩余年数'][i]*flow * math.exp(-1 * data['剩余年数'][i] * data['shibor'][i] / 100) / data['shibor理论价格'][i]/(1+data['shibor'][i] / 100)data['凸性'][i]=(1+data['剩余年数'][i])*data['剩余年数'][i]*flow * math.exp(-1 * data['剩余年数'][i] * data['shibor'][i] / 100) / \data['shibor理论价格'][i]/(1+data['shibor'][i] / 100)**2#绘图
plt.figure(figsize=(18,16))
plt.plot(data['日期'],data['久期'],label='久期')
plt.plot(data['日期'],data['修正久期'],label='修正久期')
plt.plot(data['日期'],data['凸性'],label='凸性')
plt.title('债券风险测度图', fontsize=33, color='r', alpha=0.5)  # 设置标题
plt.grid(True,alpha=0.3)
plt.xlabel('日期', fontsize=24)
plt.ylabel('久期,修正久期,凸性', fontsize=24)
plt.xticks(np.arange(1,len(data['日期']),10),rotation=270)
plt.legend(loc='upper right',fontsize=16)
plt.show()

计算债券理论价格和久期,凸性_20200613_相关推荐

  1. oracle 加权久期,久期 - MBA智库百科

    久期(Duration) [编辑] 什么是久期(Duration) 久期有许多不同的形式和解释.几种尤为重要的种类是麦考莱久期(Macaulay duration).修正久期(Modified dur ...

  2. 债券价格和到期收益率的关系_金融学笔记:久期与凸性,衡量债券价格风险的常用指标...

    关于久期,一篇科普性质的文章可见: 当我们谈论久期时,我们在谈论什么​zhuanlan.zhihu.com 本文将稍显晦涩. 关于债券价格,首先明确,债券的价格是其产生的未来现金流按到期收益率贴现的现 ...

  3. 计算久期matlab,[MATLAB代码模板]固定收益证券计算

    固定收益证券计算 1固定收益债券定价 (1)bndprice函数 目的: 给固定收益债券定价 格式: [Price,AccruedInt]=bndprice(Yield,CouponRate,Sett ...

  4. 金融债券定价公式:假设你买了一只50年期债券,票面利率是6%,面值是1000元,每半年付息一次。如果该债券的必要报酬率是3%,那么这个债券的价格应当是多少?

    接了一单金融的,求债券定价公式:假设你买了一只50年期债券,票面利率是6%,面值是1000元,每半年付息一次.如果该债券的必要报酬率是3%,那么这个债券的价格应当是多少? 还有不算必要报酬率的. 假设 ...

  5. 基于NS模型+久期衡量利率风险(Julia)

    今天刚刚交完金融风险管理的作业,我是觉得这次作业可以综合体现我上大学以来学到的东西,甚至可以代表我的水平了(让大家见笑了). 首先,我们利用NS模型计算国债的利率期限结构. 假设顺势远期利率形式满足下 ...

  6. 股指期货的理论价格与期限套利

    股指期货的定价利用的是无风险套利原理,也就是说股指期货的价格应当消除无风险套利的机会,否则就会有人进行套利.对于一般的投资者来说,只要了解股指期货价格与现货指数.无风险利率.红利率.到期前时间长短有关 ...

  7. js购物车选中商品实现计算商品总价格

    为了在激烈的互联网竞争中获得一席之地,都努力使自己的网站更为人性化.比如在购物网站一般都有这样的功能,那就是在结算商品的时候,网站可以自动计算要购买商品所需要花费的金钱数量. 代码实例如下: 01 0 ...

  8. 【MM小贴士】关于MR21修改物料价格与账期的关系

    [业务背景]今天不是11月刚开始了么,然后这个项目测试机,月初不要开账期了么,然后涉及到MR21修改价格,结果MM也没知会财务,把11月账期就开了.其实也没啥,只是影响了财务价格.其实作为一个优秀的M ...

  9. 借款久期还款久期 简述

    借款久期&还款久期 简述 在工作的时候,在资产使用遇到三个指标,分别是生息资产.借款久期.还款久期,有点不清楚其中的含义,查阅相关资料后做个简短的总结,可能有错,先放这. 1 久期 久期,也称 ...

  10. Tushare积分不够2000利用日线行情数据计算涨跌停价格

    Tushare积分不够2000利用日线行情数据计算涨跌停数据 股票的涨跌幅规则 计算逻辑 代码 股票的涨跌幅规则 众所周知A股股票的涨跌幅是有限制的.目前创业板和科创板的涨跌幅涨跌幅限制比例为20%, ...

最新文章

  1. 万字干货 | 一文揭秘Presto在腾讯资讯业务中的应用
  2. 关注:诺奖得主被爆40多篇论文P图造假!涉及国内“杰青”
  3. python中sys模块有什么用_Python sys模块用法详解
  4. Python3 基础学习笔记 C09【文件和异常】
  5. Win11更新22000.100后面部识别不可用怎么办
  6. 2010 LinuxQuestions 开源软件获奖名单
  7. ArrayList类的基本使用,完成案例随机不重复点名的程序
  8. 复指数与高斯函数乘积的傅里叶变换_量子力学杂谈——格林函数
  9. JAVA 生成二维码 并设置 +失效机制
  10. 9.3. debug ip igrp
  11. php 判断白天黑夜
  12. 阿里云系统导出到本地虚拟机
  13. android webview 播放视频总结,Android WebView 播放视频总结~
  14. 教师资格证考试报名时间和报名流程
  15. 有激励才有动力:从多多益善的华为年终奖谈起
  16. 四向车立体库|四向穿梭车AGV如何进行入库和出库?
  17. js字符串全部替换replaceAll
  18. 普通类,抽象类和接口之间的区别
  19. 太平洋皇冠证券按照2015年第四季度的收入计算,列出了全球企业云服务收入最多的10家科技公司
  20. ubuntu14.04命令大全

热门文章

  1. PR免费转场 PR剪辑视频图形转场PR动态图形模板MOGRT
  2. android录制屏幕接口,ARDC Android 远程桌面助手 录屏 演示 MD
  3. pythonsqlite加锁_Python SQLite:数据库被锁定
  4. Egret引擎基础教程I(下载安装创建第一个项目)
  5. GNN-图卷积模型-2017:GAT【消息传递(前向传播):聚合函数+更新函数】【聚合函数:attention(邻域所有节点根据注意力机制进行加权)】【训练更新函数的参数】【直推式归纳式】【同质图】
  6. onshape 做参考面等虚拟几何的装配和原点定位
  7. 架构师之路(二)-概念架构
  8. python爬虫实践-B站弹幕分析
  9. 信息系统项目管理师(软考高项)
  10. 读书笔记之《价值》张磊