Every now and then an Assiduous Reader writes in and says he can’t reproduce my reported yield calculation; most recently this has happened with RY.PR.Y.
The yields reported on PrefBlog are taken right off the HIMIPref™ analytical software, which contains approximations of various kinds that make the analysis a little easier to perform. It should be noted, as an aside, that reported yields are not directly a particularly large component of the valuation that goes into HIMIPref™’s trade recommendation: as discussed on the software’s site, the big driver is price disparity – the estimate of the price change required to put the issue back on self-consistent yield curve where it belongs.
There are a number of reasons why the reported YTWs may be irreproducible:
maturityNoticePeriod: As pointed out by my correspondent, I am calculating the yield to 2014-12-24, when in fact the redemption option is for 2014-11-24. This is the maturityNoticePeriod for a call. In the early days of the programme, with lots of instruments trading in excess of their current call price, I was getting too many violently negative returns that had knock-on effects on the rest of the analysis. In order to alleviate these difficulties, I introduced maturityNoticePeriod and set constraints; it is assumed that a redemption will not take place for a certain number of days after the date in the database. In the case of options of the type OPTION_TYPE_CALL, the effective constraint is MATURITY_NOTICE_PERIOD, currently set equal to 30.
At some point I really should introduce a sub-type of call, that will reduce maturityNoticePeriod to zero under certain circumstances (e.g., last date of option period equal to the first; first date of option period more than n days in the future). However, I haven’t done this yet because:
- I’m lazy
- It doesn’t make much difference
- The system applies a lower limit on the duration of instruments it is willing to trade
- the inaccurate adjustment is applied to all FixedResets
- the effect on yield is fairly minor at this point
Fortuitously, an example of the behaviour that triggered this analytical adjustment was reported April 30 in the volume table: CM.PR.A closed at 25.82-90, although it is currently callable at 25.50. The reported YTW of -9.75% to May 30 is bad enough; without the adjustment it would have been ridiculous.
Compounding: I report yields as bond-equivalent; that is, first I calculate the IRR, which applies annual compounding, then I manipulate it to provide YTM, like so:
(1+YTM/2)*(1+YTM/2) = 1+IRR
CASHFLOW_ADJUSTMENT_FIRSTDIVIDEND: Did you remember that there’s a fat first dividend?
CASHFLOW_FINALDIVIDEND: There’s also a final dividend payable on redemption for the period between the last pay-date and the redemption paydate.
So, after doing all this, I report a YTW of 5.62% for RY.PR.Y. The report of the cashFlowDiscountingBox has been uploaded, as well as the PseudoPortfolioReport.
RY.PR.Y was last mentioned in PrefBlog in the post RY.PR.Y Soars to Premium on Frantic Trading. It is tracked by HIMIPref™ and is a component of the HIMIPref™ FixedReset Index.
What is the Yield of RY.PR.Y?
Friday, May 1st, 2009Every now and then an Assiduous Reader writes in and says he can’t reproduce my reported yield calculation; most recently this has happened with RY.PR.Y.
The yields reported on PrefBlog are taken right off the HIMIPref™ analytical software, which contains approximations of various kinds that make the analysis a little easier to perform. It should be noted, as an aside, that reported yields are not directly a particularly large component of the valuation that goes into HIMIPref™’s trade recommendation: as discussed on the software’s site, the big driver is price disparity – the estimate of the price change required to put the issue back on self-consistent yield curve where it belongs.
There are a number of reasons why the reported YTWs may be irreproducible:
maturityNoticePeriod: As pointed out by my correspondent, I am calculating the yield to 2014-12-24, when in fact the redemption option is for 2014-11-24. This is the maturityNoticePeriod for a call. In the early days of the programme, with lots of instruments trading in excess of their current call price, I was getting too many violently negative returns that had knock-on effects on the rest of the analysis. In order to alleviate these difficulties, I introduced maturityNoticePeriod and set constraints; it is assumed that a redemption will not take place for a certain number of days after the date in the database. In the case of options of the type OPTION_TYPE_CALL, the effective constraint is MATURITY_NOTICE_PERIOD, currently set equal to 30.
At some point I really should introduce a sub-type of call, that will reduce maturityNoticePeriod to zero under certain circumstances (e.g., last date of option period equal to the first; first date of option period more than n days in the future). However, I haven’t done this yet because:
Fortuitously, an example of the behaviour that triggered this analytical adjustment was reported April 30 in the volume table: CM.PR.A closed at 25.82-90, although it is currently callable at 25.50. The reported YTW of -9.75% to May 30 is bad enough; without the adjustment it would have been ridiculous.
Compounding: I report yields as bond-equivalent; that is, first I calculate the IRR, which applies annual compounding, then I manipulate it to provide YTM, like so:
(1+YTM/2)*(1+YTM/2) = 1+IRR
CASHFLOW_ADJUSTMENT_FIRSTDIVIDEND: Did you remember that there’s a fat first dividend?
CASHFLOW_FINALDIVIDEND: There’s also a final dividend payable on redemption for the period between the last pay-date and the redemption paydate.
So, after doing all this, I report a YTW of 5.62% for RY.PR.Y. The report of the cashFlowDiscountingBox has been uploaded, as well as the PseudoPortfolioReport.
RY.PR.Y was last mentioned in PrefBlog in the post RY.PR.Y Soars to Premium on Frantic Trading. It is tracked by HIMIPref™ and is a component of the HIMIPref™ FixedReset Index.
Posted in Issue Comments | 3 Comments »