Archive for the ‘HIMIPref News’ Category

BCE.PR.F & PPL.PR.A Added to HIMIPref™ Database

Tuesday, December 16th, 2008

I have bowed to overwhelming popular demand and added the captioned issues to the database.

BCE.PR.F is a FixedFloater, paying $1.10 annually (paid quarterly) until 2010-2-1, at which point the rate gets reset and it becomes exchangeable with BCE.PR.E. Exchange Dates recur every five years thereafter. For analytical purposes, it is assumed that the conversion to ratchet rate is automatic – this is a valid worst-case assumption, since BCE has the discretion to set the five-year rate to a very low value. It is callable on exchange dates at 25.00 and (when ratcheting) at 25.50 at other times. For analytical purposes this is simplified to two calls at $25.00, on 2010-2-1 and 2015-2-1. Dividends are cumulative. There is no retraction.

PPL.PR.A is a split share based on Canadian banks, paying dividends at a rate of Prime, capped at 7%, collared at 5%. It matures 2012-12-1 at $10.00. There is a special monthly retraction provision with the formula 96%(NAV – C). Dividends are cumulative and paid monthly. Current NAV is $16.08 according to the company. Income coverage, according to May’s semi-annual report is a hair over 1.0:1. Maturity is 2012-12-1; there are no embedded redemptions. Distributions to Capital Units will be halted if the NAV falls below 15.00 (asset coverage of 1.5:1).

What is the Yield on BCE.PR.Y?

Tuesday, December 16th, 2008

I was recently taken to task for a claim that the yield on BCE.PR.Y was 8.18% based on a dividend of $1.05715 and an end value of $25.00 – my correspondent stated – quite rightly – that:

the most recent monthly dividend, declared Oct 28, 2008, was $0.8333 or $1.00 per year. Also Prime has dropped to 3.5% from 4% earlier this month, (according to the BOC website), indicating a further cut in the dividend in the near future. Even at the rates and prices you quote I make the yield out to be 7.3%.

My defense is as follows:

They system estimates the average future rate of prime by looking at the past. If we stay at 3.5% prime for long enough, the estimated future rate will drop to this level, but for now it’s higher.

Additionally, the system estimates the end-value (a “limitMaturity” is treated as thirty years, remember) by determining the price at which the instrument is fairly valued; determining fairness by comparison with other floating-rate dependent issues. This was the result of some experimentation and proved to be a better predictor than assuming a constant price (as is done with fixed-rate perpetuals).

Basically, the assumption is that an Investment Grade issue will not pay 100% of prime forever. There will be shocks, of course, and every now and then such an issue will be downgraded and quite properly pay 100% of prime; but over the long term such a rate is not sustainable.

I will admit that this analytical framework was formulated when deviations were relatively small; an investment grade issue paying (25.00 / 14.25) = 175% of prime is not something that happens often enough to permit testing!

All the above is not very satisfactory, I know: but there are a lot of moving parts in the analysis of these ratchet rate issues and the framework was determined empirically. In some cases, to my chagrin, the results are not even internally consistent (e.g., I might be estimating a ratchet yield of less than 100% of prime with end values well below par).

All I can say is that the empirically derived system, while having theoretical holes in it, does have a statistical ability to rank the various issues with significantly better-than-random accuracy, which is all I ever wanted it to do.

Now lets do the cash flow analysis! I have uploaded the full HIMIPref™ output; the last part is:

2038-12-16 MATURITY 25.00 0.080242 2.01

Total Cash Flows 56.6052
Total Present Value 13.5028
Discounting Rate 8.5887 % (Annual rate compounded semi-annually)

So for starters, we see that the the discounted present value of the $25.00 maturity is only $2.01. It’s not a particularly important variable.

But compare four bonds priced at par, each one paying $12 p.a., but with differing frequencies (annual, semi-annual, quarterly, monthly). Each one is described by fixed income convention as having a yield-to-maturity of 12%. Which would you rather have? Obviously, the monthly payer, since then you get your money faster … and this is borne out when we look at the annualized internal rate of return for the four bonds: 12.00%, 12.36%, 12.55% and 12.69%, respectively. The limiting case is an infinite number of infinitesimally small payments totalling $12 and has an IRR of exp(0.12) – 1 = 12.75%.

We note from the HIMIPref™ report that the 30-year discounting factor is 0.080242 so
1 / (1 + I)^30 = 0.080242
(1 + I)^30 = 1 / 0.080242 = 12.4623
I = 8.7727%

To convert this annual value to semi-annual, bond-equivalent yield, we note:
1+I = (1+i)*(1+i)
(1+i) = 1.042942
i = 4.2942
and therefore, the bond-equivalent yield is 2*i = 8.5884%, which is slightly different from the quoted figure, but we’ll attribute that to rounding.

But how to calculate this ourselves? The “ratchet yield” is 4.1997% of par, which implies total payments of $1.049925. These are made monthly, so monthly payments are $0.087494, which has been shown as a rounded value of $0.09 in the HIMIPref™ report.

The normal quick-n-dirty calculation is:
i = [Annual Income + Annual Capital Gain]/[Average of Beginning and Ending Price]
Annual Income = oh hell, let’s just call it $1.05, shall we?
Annual Capital Gain = Total Capital Gain / Term = (25.00 – 13.50) / 30 = $0.38333
Average of Beginning and Ending Price = (25.00 + 13.50) / 2 = 19.25

resulting in a quick-n-dirty estimate of (1.05 + 0.3833) / 19.25 = 7.45%.

It’s a lousy estimate. Terrible. Why?

Mainly because the beginning and ending prices are so different. The calculation assumes that the capital gain is realized in a linear fashion … but in fact, if it accrues at a constant rate, nearly twice as much is accruing at the end of the period as at the beginning. Conversely, the $1.05 income is much more interesting at the beginning of the period (current yield = 1.05 / 13.50 = 7.78%) than at the end (current yield = 1.05 / 25 = 4.20%.

When the capital gain through the period is massive, simple methods become simplistic. Such is life! Fortunately, yield calculators and Excel Spreadsheets will be readily available to most people.

Related discussions may be found in the posts regarding Research: Modified Duration and Research: Yield from on-line Calculator.

Listen, take it from an old bond guy: if anybody ever tells you yield is simple, don’t listen to him!

HIMIPref™ Tracking of IQW.PR.C Halted

Monday, October 27th, 2008

It happened last month with IQW.PR.D and now IQW.PR.C has become impossible to handle in a standard manner.

Today’s closing bid for IQW.PR.C is $0.25, less than what the “accrued dividend” would be if it was still paying dividends, and the price rejected as an obvious error. I will no longer be tracking it.

I will continue to report the quarterly conversions of this issue into common.

HIMIPref™ Bug Fix: curveYield Calculation

Friday, October 24th, 2008

As noted on October 22

I’ll explain in another post, because it’s kind of funny, but basically there’s a little loop used in the process of curve approximation that calculates a yield; in the case of YLD.PR.B, quoted at 1.60 with a stated annual dividend of $1.05 (currently suspended) until maturity 2012-2-1 at $15 [dubious], the little loop ran ’round 5,709,833 times [in the run where the problem was unequivocally isolated] before the WebService timed out and blew up the whole programme.

The function at fault (yieldApproximatorTypeCalc::getSemiAnnualYieldFromTable) calculates the yield to maturity of a set of cash flows defined in a table (the input is set up in much the same way as Excel’s XIRR() function) by successive approximations to the yield using the Newton Method.

Unfortunately, this procedure can be unstable near a horizontal asymptote or a local extremum.

When calculating the curveYield for YLD.PR.B on October 21, the function did not converge; instead, it oscillated between two highly incorrect numbers.

The function has been adjusted such that:

  • After 500 iterations, a successively smaller damping factor is applied to the yield change, and
  • After 1,000 iterations, status information is written to the errorOutput.txt file after each iteration, and
  • After 1,010 iterations the process aborts and returns ANALYTICAL_DOUBLE_NO_SOLUTION

The function now converges for YLD.PR.B on October 21; other tests (prior to application of the damping factor) confirm that the ‘no solution’ result is handled properly by the rest of the programme.

It’s not often I find a crippling bug in HMIPref™ any more! That’s the only lack of convergence in this function in almost 15 years of daily data!

HIMIPref™ Tracking of IQW.PR.D Halted

Wednesday, September 17th, 2008

Well, it happened last March with AR.PR.B and now it’s happened again.

In my last update of the day everything IQW.PR.D was one penny bid and the quote was rejected as an obvious error. Ha!

The issue has been around in various incarnations since 1997-11-12, when it came on the scene as IQI.PR.A. Ave Atque Vale!

HIMIPref™: New Build Available 2008-09-09

Tuesday, September 9th, 2008

As mentioned previously, differences in spreads for Floating Rate issues require a new build every time there is a new spread defined. Very annoying; if this craze for Fixed-Resets continues, I’ll have to try the hypervariable-code-as-Web-Service solution previously noted.

The Royal Bank new issue, with its heretofore unheard-of +193bp spread, has required a new build. This build is available from the usual place.

Fixed-Reset Issues Added to HIMIPref™

Monday, September 8th, 2008

As promised, Fixed-Reset issues have been added to the HIMIPref™ database.

Additionally, a new HIMIPref™ sub-index has been added, the Fixed-Reset Index.

Minor, but annoying programming changes were required in order to add these issues. Each Floating-Rate issue requires what is currently a hard-coded schedule, specifying the base index to be used for the issues and the calculations required to obtain the projected floating-rate. This has been an easy matter in the past, since there have not been many new floaters added and since those that have been added have fit comfortably into extant classifications (e.g., Ratchet Rate, Canada Prime, max 100% of index, min 50% of index). Fixed-Resets, however, have a spread specified in terms of basis points; in order to specify the future floating rate for the current ten issues, nine different spreads neede to be hard coded.

Therefore, HIMIPref™ users must download the new executable in the usual way. Don’t forget to back up user files prior to installation!

There is a possibility that I might isolate the hypervariable sections of code and place them in a new web-service, with calculations and descriptions to be downloaded on the fly. This would mean that the front-end could stay constant; to add a new floating rate specification I would simply recode and reinstall the service on server-side, invisibly to users. However, I have not yet determined that this concept is practically possible or, if possible, whether or not it will simply lead to spaghetti code making future enhancements possible. Until I’ve made a decision, users will simply have to re-download and re-install the front-end every time the issuers come up with a new spread!

Fixed-Resets: A Review

Thursday, September 4th, 2008

Well, as previously noted, despite my misgivings, I have to add the fixed-resets to the HIMIPref™ universe since:

  • There are now 10 issues outstanding, making intra-sectoral swaps a source of potential profit
  • They comprise more than 10% of the TXPR Index

So, not being one to wish to waste perfectly good notes, I thought I’d review the characteristics of the issues so far:

Fixed-Reset Issues Announced or Issued
to September 4, 2008
Ticker Initial
Rate
Reset
Spread
First
Exchange
Date
TD.PR.? 5.00% 196 bp 2014-1-31
CM.PR.? 5.35% 218 bp 2014-7-31
BNS.PR.? 5.00% 188 bp 2014-1-25
TD.PR.Y 5.10% 168 bp 2013-10-31
BMO.PR.M 5.20% 165 bp 2013-8-25
NA.PR.N 5.375% 205 bp 2013-8-15
TD.PR.S 5.00% 160 bp 2013-7-31
BNS.PR.Q 5.00% 170 bp 2013-10-25
FTS.PR.G 5.25% 213 bp 2013-9-1
BNS.PR.P 5.00% 205 bp 2013-4-25

Yield Curve Pictures – 2008-06-18

Wednesday, June 18th, 2008

Those wishing to wallow in the extreme awfulness of current market conditions may wish to look at the HIMIPref™ graphs of the yield curve for March 31, 2007 (the peak, approximately), November 30, 2007 (the prior trough, approximately) and today (the new trough).

The curves represent spot rates, not yields-to-maturity. A single instrument will use the one-year rate to discount its dividend receivable in one year, the two year rate to discount the dividend receivable in two years, the three year …

When looking at the curve, note that it is computed with tax rates of 21.00% on dividend income; 46.4% on interest income and 23.20% on capital gains. Also note that this represents the core curve (instrument rated Pfd-1, dividend-paying, non-cumulative, operating company, non-retractible, average volume, fixed dividend) … instruments with varying characteristics will find themselves shifted off the curve in accordance with the current best-fit parameters.

For the formula used when fitting the curve, see the glossary entries on the yield curve.

HIMIPref™ Evaluates Trade: TCA.PR.X -> CU.PR.A

Tuesday, March 25th, 2008

This potential trade was discussed in the comments to a post that posed the question: TCA.PR.X & TCA.PR.Y : What’s Keeping Them Up?.

So … just for fun, I created a portfolio which held two issues, TCA.PR.X and TCA.PR.Y, 1,000 shares of each. I defined the portfolio as trading according to the issueMethod, with a desired number of issues equal to 2.

I produced a number of reports, most of which will look like complete gobbledy-gook. You can start tracing their meanings with some help from the glossary:

So … the vital number is the trade score … “100″ means the trade is recommended even at bid to full offer; “0″ means the trade is recommended at full offer to bid (i.e., OK if you can sell at the offering price and buy at the bid price). In this case the trade score is -1,773 … the trade is so far away from being recommended we might just as well stay home.

Looking at the trade evaluation, though, we do see there’s a pretty good pickup; the trade is not recommended because the required pickup is enormous … ridiculously enormous, in fact. It would be very rare for a potential trade to meet such a hurdle.

Looking at the Risk Measurement report, we find that the required pickup is ridiculously big because the change in pseudoConvexityCost is ridiculously big.

The calculation of pseudoConvexityCost in HIMIPref™ is not something I’m very happy with. It will be changed in the next version of HIMIPref™, but I have to play with it. The problem is that in some conditions, the numbers are implausible and counter-intuitive … this is prevented from fooling the trade recommendation engine by various checks and catches in that part of the programme … but I still don’t like it.

Anyway, the derivation of the extremely high pseudoConvexityCost for TCA.PR.X can be traced (part of the way down the route) with:

There’s more in the system. To understand costYield, you have to look at the cash flows, in which the embedded option is treated as a cash flow adjustment to a permanent revenue stream. In order to understand the pricing of the embedded option, you have to look at that report. But, geez, that’s enough detail for one day, eh?

Suffice it to say that pseudoModifiedDurationCost (that is to say, the modified duration calculated, not formulaicly, but by sampling of yield changes, using costYield as the yield measure) changes a lot for TCA.PR.X given its present price. The system has found (via backtesting) that trades that change this number substantially are riskier (in terms of ultimate results) than trades that do not change this number.

So in this case, the system wants to hang on to the existing issue – even though the valuation of CU.PR.A is higher – because the risk profile is so different.

Astute readers will have noticed that the trade size was reduced to zero due to the low volume on the CU.PR.A anyway!