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.
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.