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!