债券报价中的小陷阱
最后更新于:2022-04-01 21:58:24
# 债券报价中的小陷阱
> 来源: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. 债券的例子
```py
testBond = BuildBond('080014.XIBE')
testBond.bondProfile()
```
| 080014.XIBE |
| --- | --- |
| securityID | 080014.XIBE |
| issuer | 财政部 |
| issueDate | 2008-08-18 |
| exchange | XIBE |
| shortName | 08国债14 |
| maturity | 7Y |
| startDate | 2008-08-18 |
| maturityDate | 2015-08-18 |
| settlementDays | 1 |
| coupon | 0.0423 |
| frequency | 1 |
| dayCounter | Actual/Actual (ISMA) |
```py
cleanPrice = 100.363
settlementDate = Date(2015,4,21)
```
## 2. 简单利率算法
```py
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. 复利算法
```py
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甚至上一个百分点)。所以投资者在使用到期收益率作为债券投资价值评估标准的时候,要注意这些差异。
';