It may from time to time happen that a set of trade recommendations is non-transitive; that is, that a recommendation will be made to trade from issue A into issue B and from issue B into issue C, but the direct trade, from issue A into issue C is not recommended. This behaviour may be analyzed and understood, as in the example given here with the sequence WFS.PR.A → PIC.PR.A → PWF.PR.I on November 7, 2005. It is not anticipated that users will be able to reproduce this set of trades precisely; it is dependent upon portfolio composition, constraints and the set of optimizable parameters in use. However, it should not prove impossible for a user to find equivalent behaviour and this analysis is presented in order to assist users to see how such unusual sets of trade recommendations may be checked.
The first step is to construct a table of pick-ups, using the tradeEvaluationReport:
Trade |
requiredPickup |
riskDistance |
totalRequiredPickup |
bidToOfferPickup |
Trade Desirability (Unrestricted) |
WFS.PR.A → PIC.PR.A |
0.669 |
1.616 |
1.081 |
1.9941 |
184.395 |
PIC.PR.A → PWF.PR.I |
0.669 |
6.830 |
4.569 |
4.5807 |
100.254 |
WFS.PR.A → PWF.PR.I |
0.669 |
6.381 |
4.269 |
3.7658 |
88.209 |
It appears from this table that WFS.PR.A & PIC.PR.A are highly similar issues (as determined through the small size of thier risk distances), and that both are highly dissimilar from PWF.PR.I, with WFS.PR.A being closer to PWF.PR.I in risk-space. Note that risk-space should be Gaussian, to the extent that the sum of distances connecting two issues should be greater than the distance directly between the two issues, which is the case in this instance. An unusual concatenation of idiosyncracies in risk-space could be the source of non-transitivity, but it appears that the most likely source of this behaviour is the difference in the bidToOfferPickups:
pickup component |
WFS.PR.A → PIC.PR.A |
PIC.PR.A → PWF.PR.I |
WFS.PR.A → PWF.PR.I |
buyValuationAsk |
2.6312 |
8.3365 |
8.3365 |
- sellValuationBid |
1.5115 |
2.9371 |
1.5115 |
- valueSizeAdjustmentSell |
-0.8123 |
0.1515 |
-0.8123 |
+ valueSizeAdjustmentBuy |
0.1560 |
4.6856 |
3.1225 |
- totalPenaltySells |
0.0000 |
0.0000 |
0.0000 |
+ totalPenaltyBuys |
0.0000 |
-4.9114 |
-4.9114 |
+ rewardDecreasesValuation |
-0.0112 |
-0.0060 |
-0.0114 |
- excessRewardDifferenceValuation |
0.0000 |
0.4339 |
1.9970 |
- holdingsPickupAdjustment |
0.0000 |
0.0000 |
0.0000 |
- totalFrictionBid |
0.0827 |
0.0016 |
0.0742 |
= bidToOfferPickup |
1.9941 |
4.5807 |
3.7658 |
Two major differences that contribute to non-transitivity are apparent from the above table: the netValueSizeAdjustment (which is the valueSizeAdjustmentBuy - valueSizeAdjustmentSell) and the excessRewardDifferenceValuation.
The contribution of netValueSizeAdjustment should immediately lead one to inspect the trade sizes and the difference immediately becomes explicable:
Trade |
WFS.PR.A → PIC.PR.A |
PIC.PR.A → PWF.PR.I |
WFS.PR.A → PWF.PR.I |
Shares Sold |
6400 |
3300 |
6400 |
Shares Purchased |
2600 |
1500 |
1500 |
Cash Effect |
+$27,314 |
+$13,698 |
+$29,699 |
The number of shares of PIC.PR.A is reduced prior to their sale to purchase PWF.PR.I and here we are reminded that HIMIPref™ is not actually attempting to create a self-consistent trade matrix: it is selling PIC.PR.A because there is a position in the portfolio and will not sell a greater number.
From the glossary we determine that the formula for valueSizeAdjustmentBuy is: The value is calculated as:
valueSizeAdjustmentBuy = (1 - X) * MIN( classRewardPriceMovementAsk, classRewardPriceMovementBid) where X = exp(- PARAMETER_TRADING_VALUESIZEADJUST * "newHoldings" / volumeAverage) & "newHoldings" = holdings - units + buySizeIf the "valueSizeAdjustmentBuy" for a particular trade is greater than the valueSizeAdjustmentSell, then there is further adjustment: IF: (valueSizeAdjustmentBuy - valueSizeAdjustmentSell - excessRewardDifferenceValuation) ≤ 0 : set "valueSizeAdjustmentBuy" = valueSizeAdjustmentSellIF: (valueSizeAdjustmentBuy - valueSizeAdjustmentSell - excessRewardDifferenceValuation) > 0 : reduce "valueSizeAdjustmentBuy" by excessRewardDifferenceValuation
Through inspection of the valueSizeAdjustmentBuy and excessRewardDifferenceValuation in the final two columns of the table, we may determine that it is the last adjustment which has been effective: 4.6856 + 0.4339 = 5.1195 = 3.1225 + 1.9970
Clearly, the excessRewardDifferenceValuation is having a major influence on the trade!
From the table and the above discussion, we may draw the following conclusions: - PWF.PR.I is favoured to both potential sales
- A large component of this favourability is price-movement reward components
- Due to the size of these price-movement components, they have been capped
- Due to the cap, the "intermediate" issue is able to capture substantially all of the maximum, both on the trade into it and the trade out of it.
- Due to the smaller size of the trade from the intermediate issue into the final issue, a greater proportion of the increase is deemed to be captured in the trade
- Therefore, due to the non-Euclidian nature of the increases in reward, the trade is non-transitive.
If this sounds complex ... it is! Development is in progress in an effort to find a simpler statement of the "valueSizeAdjustment" that will never-the-less capture the value of the concept. It should also be remembered that trade-groups of this nature are relatively rare and represent an extreme case of the HIMIPref™ quantitative analytical system.
|