Skip to content

债券报价中的小陷阱

来源:https://uqer.io/community/share/55361dc2f9f06c392662104e

投资者习惯于使用到期收益率作为衡量债券投资价值的标杆,倾向于买入收益率高的债券,卖出收益率低的债券。这里有一个隐含的假设,所有债券的到期收益率都是由同一算法计算而得。但是事实上,真的是这样吗?

上图是在2015年4月21日截取的中债登的实时行情。我们取其中一个债券做示例:

  • 代码:080014
  • 净价:100.363
  • 全价:103.214
  • 票息:4.23%
  • 到期收益率:3.019%

这个债券是2015年8月18日到期,还有一次付息。存续期不超过1年,为119天,0.326027年

1. 债券的例子

testBond = BuildBond('080014.XIBE')
testBond.bondProfile()
080014.XIBE
securityID
issuer
issueDate
exchange
shortName
maturity
startDate
maturityDate
settlementDays
coupon
frequency
dayCounter
cleanPrice = 100.363
settlementDate = Date(2015,4,21)

2. 简单利率算法

print u'到期收益率:%.4f' % (testBond.yieldFromCleanPrice(cleanPrice,'Actual/Actual (ISMA)', Compounding.Simple, Frequency.Annual, settlementDate)*100)
print u'应计利息  :%.4f' % testBond.accruedAmount(Date(2015,4,21))

到期收益率:3.0196
应计利息  :2.8509

3. 复利算法

print u'到期收益率:%.4f' % (testBond.yieldFromCleanPrice(cleanPrice,'Actual/Actual (ISMA)', Compounding.Compounded, Frequency.Annual, settlementDate)*100)
print u'应计利息  :%.4f' % testBond.accruedAmount(settlementDate)

到期收益率:3.0504
应计利息  :2.8509

4. 总结

现阶段大多数行情软件的报价也都是依照中债登类似的做法。存续期少于1年的债券使用简单利率算法,大于1年的债券使用复利算法。同样的债券价格,使用不同的算法,获得的到期收益率会有些微的差异。这个差异在某个债券即将到期是特别明显(可能差几十个bp甚至上一个百分点)。所以投资者在使用到期收益率作为债券投资价值评估标准的时候,要注意这些差异。



回到顶部