当前位置: > 财经>正文

(二十)久期与凸性 债券期货价格计算方法公式

2023-08-27 15:15:26 互联网 未知 财经

(二十)久期与凸性

久期的定义与表达式

  一年付息m次的债券计算久期,公式中期数乘以m,息票率c和收益率y除以m,得到的结果除以m即可。   例1:面值100,息票率为8%的三年期债券,半年付息一次,到期收益率为10%,求该债券的麦考利久期、修正久期和美元久期:

import pandas as pddef macD(c,y,F,t):p=sum(c*F/(1+y)**t)+F/(1+y)**len(t)a=sum(c*F*t/(1+y)**t)+F*len(t)/(1+y)**len(t)return a/pt=pd.Series([1,2,3,4,5,6])macD(0.04,0.05,100,t)Out[1]: 5.43489852580703def MD(c,y,F,t):return macD(c,y,F,t)/(1+y)MD(0.04,0.05,100,t)Out[2]: 5.176093834101933def DD(c,y,F,t):return MD(c,y,F,t)*(sum(c*F/(1+y)**t)+F/(1+y)**len(t))DD(0.04,0.05,100,t)Out[3]: 491.33712499701005#注意上述三个久期单位都是半年,除以2得到以年为单位的久期

  例2:求例1中债券到期收益率变化10个基点下的有效久期:

def ED(c,y,F,t,per):p0=sum(c*F/(1+y)**t)+F/(1+y)**len(t)p1=sum(c*F/(1+y+per)**t)+F/(1+y+per)**len(t)p2=sum(c*F/(1+y-per)**t)+F/(1+y-per)**len(t)return (p2-p1)/(2*p0*per)#分母一定要加括号ED(0.04,0.05,100,t,0.0005)#每一期收益率变化5个基点Out[4]: 5.176104241061871#半年

  对于资产组合久期的计算,对组合中所有资产的久期求加权平均即可,权重是各种资产的市场价格(面值)占资产总价值的比重,在此不再赘述。

凸性的定义与表达式

  例3:面值100,息票率为8%的三年期债券,半年付息一次,到期收益率为10%,求该债券的凸性,以及到期收益率增加100个基点时债券价格的变化百分比:

def C(c,y,F,t):p=sum(c*F/(1+y)**t)+F/(1+y)**len(t)a=sum(c*F*(t**2+t)/(1+y)**t)+F*(len(t)**2+len(t))/(1+y)**len(t)return a/(p*(1+y)**2)t=pd.Series([1,2,3,4,5,6])C(0.04,0.05,100,t)/4#转换为年凸性Out[5]: 8.337374824752287def perchange(c,y,F,t,per):return -MD(c,y,F,t)/2*per+(0.5*C(c,y,F,t)/4)*per**2perchange(0.04,0.05,100,t,0.01)Out[6]: -0.02546360042927205#收益率每增长1%,债券价格下降2.55%

版权声明: 本站仅提供信息存储空间服务,旨在传递更多信息,不拥有所有权,不承担相关法律责任,不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请发送邮件至 举报,一经查实,本站将立刻删除。