|
|
|
|
Adding Transaction Cost Measurement to Sector AttributionThe Stock Level Attribution page discusses a technique for transaction cost measurement. A good example of that technique appears in Sheet 1 of the spreadsheet Transaction_cost_attribution.xls. Sheet 2 of that spreadsheet goes on to demonstrate how the transaction cost measurement can also be added to a sector selection model. Here, we will carefully work through that calculation, to make it more easy to understand. Key Concept Although it is possible to write a lot about the method for doing transaction cost measurement in sector attribution, there is one simple idea at the heart of it. This simple idea has a non-simple name: "the portfolio sector return (assuming benchmark stock returns)". Its mathematical definition is: where: ![]() Although this may look complicated, it is simply the return that one obtains for a sector by calculating a weighted sum of the security-level benchmark returns (using portfolio weights). Think for a second about why this return might differ from the ordinary sector return. The only source of difference is that one is using benchmark security returns, instead of portfolio security returns (i.e. the return for each holding, calculated using its market values and cashflows). In turn, when will the benchmark security returns differ from the portfolio security returns? One reason could be pricing errors. But leaving aside this source of difference, the only other reason they might be different would be if the portfolio had engaged in trading. We can illustrate this with the following data from Sheet 1 and Sheet 2 of Transaction_cost_attribution.xls.
The daily returns in Table 1 simply reflect the change in the index close price for each stock (we assume that there were no capital changes for any of the stocks over this period). For example, on Day 1 the return for stock XYZ is 2.00% because the stock price increased from $1.00 to $1.02. These daily returns are the ones that might be provided by an index company. On the other hand, we could also calculate daily returns for every holding in a portfolio, using the data shown in Table 2:
Table 2 shows us, for each security, the number held and the number bought or sold on each day. Table 3 goes on to show the market values, cashflows, and returns on each day.
The portfolio returns at the right of Table 3 are calculated using the market values and cashflows in Table 3. When you compare these portfolio stock returns with the benchmark stock returns in Table 1, you can see that the only difference is for Stock DEF on Day 2, where there was a cashflow that affected the calculation. By now, the difference between benchmark stock returns (Table 1) and portfolio stock returns (Table 3) should be fairly clear. We can now illustrate how to illustrate how to use the key concept: portfolio sector returns (assuming benchmark stock returns). The Sector Attribution sheet in the example spreadsheet works on the basis that there are two sectors in the portfolio. Sector1 contains stocks ABC and DEF, while Sector2 contains only stock XYZ. To calculate the portfolio sector return (assuming benchmark stock returns) for Sector1 on Day 2, the calculation is simply: ![]() This number will come in handy when we work through the rest of the example below. It is useful to note that this number was calculated with benchmark stock returns, but portfolio weights for each stock. Specifically, one can observe that for stock DEF, the calculation uses the index stock return (-2.06%), rather than the portfolio stock return (-1.03%). What does such a number mean? It captures the performance that the sector would have received if there were no transaction costs. This is because cashflows (arising from transactions) are the only input that can make the portfolio stock return differ from the benchmark stock return (as indeed we saw for stock DEF on Day 2). Before finishing the example, let us review the equations for doing sector attribution with transaction costs. Reviewing the Equations for Sector Attribution with Transaction Costs The technique for separating-out transaction costs is very simple. The usual equations for asset allocation, stock selection, and interaction, take the usual form, except for the fact that they use the portfolio sector return (assuming benchmark stock returns), instead of the ordinary portfolio sector return. The transaction costs attribute takes up the difference between the portfolio sector return, and the portfolio sector return (assuming benchmark stock returns). ![]() From inspection of the transaction costs attribute, it is easy to discern some properties of the transaction cost effect:
These properties all seem perfectly intuitive for a measure of transaction costs. The impact of introducing transaction costs is very minimal, since the usual attributes are unchanged, except that they measure how much value was added by the portfolio sector return (assuming benchmark stock returns). The key to understanding this approach is understanding the subtle difference between the portfolio sector return (assuming benchmark stock returns), and the "plain old" portfolio sector return. If you are at all mathematical, this might be easier to understand via algebra, and/or the worked example we consider on this page. We now go on to complete the worked example. Doing All the Calculations for the Example If we include stocks ABC and DEF in Sector1, and stock XYZ in Sector2, we can do a sector attribution on the example whose numbers we have shown on this page. We have just confirmed what the equations are, so we only need to confirm the values for all of the inputs. Since there is nothing abnormal about this problem, we can then go ahead and "plug in" the inputs to the equations.
It is easy to see that the two columns on the right of Table 4 contain identical numbers. This means that the numbers in these columns will cancel-out to zero. The transaction cost effects would be zero. All other attributes will be the same as they otherwise would have been. This makes sense, since there were in fact no transactions on Day 1. Table 5 shows the attribution results for Day 1, calculated using the data from Table 4, and the equations shown above.
As we expected, the transaction cost effect on Day 1 was indeed zero. All of the other results provide a sensible explanation of the portfolio's 93 basis point underperformance on Day One. Moving on to Day 2, Table 6 shows the inputs for Day 2:
On Day 2, the portfolio sold 10 shares of stock DEF for a net flow of $10, which was skilful or lucky trading from the perspective that DEF's closing price on Day 2 was 95 cents. We might expect that this will ultimately show us positive value-added for the transaction cost effect. For the time being, we can see that the two different ways of measuring portfolio return have produced different numbers for Sector1 and at the total level. This makes sense, because it will lead to a transaction cost effect in these places. Table 7 shows the attribution results for Day 2:
Note: Some rows and columns in this table do not sum exactly, due to rounding. One interesting thing about these results is that the transaction cost effect is the biggest management effect on Day 2. Is this reasonable? Well of course, this is a fictitious example, so it all depends on the assumptions that have been chosen. But there is an easy way to see why 50 basis points is an appropriate answer in this case. The investment manager sold 10% of the portfolio (i.e. 10 shares of DEF) at a price roughly 5% better than the closing price. Simple arithmetic shows that 10% of 5% is 50 basis points — the very answer that we obtained. This is an intuitive way of justifying this approach to measuring transaction costs. Another interesting question is what these attribution results would look like in a conventional sector attribution, with no transaction cost measurement. The full details are in sheet 2 of Transaction_cost_attribution.xls. But the summary is simple. Of the 50 basis points attributed here to transaction cost effects, 41 basis points go into stock selection, and 9 go into interaction. This is because sector attribution assumes that when a sector outperforms its sector benchmark, this must be due to stock selection. More stock selection also leads incidentally to a higher interaction between stock selection and asset allocation. To summarize the results from this example, the model we have presented here seems like a fair and intuitive way of capturing active management effects that arise from intra-day timing and transaction costs. Indeed, the conventional sector attribution assumption, that the effect of intra-day timing and transaction costs can be attributed to stock selection and interaction, is reasonable but clearly not ideal. In this way, the model that measures transaction costs separately could be a significant improvement on current practice. Remember, if you wish to work through this example in more detail, all of the data and equations are in the spreadsheet Transaction_cost_attribution.xls (refer to the second sheet). Journal Article Containing the Equations See pp. 12-13 of the paper Perspectives on Transaction Based Attribution for a comparison between the usual equations for sector attribution, and the equations that incorporate transaction cost measurement. This paper provides a lot of the reasoning that supports this general approach to transaction cost measurement in performance attribution. Discuss This Page on the Web There is a discussion forum about this page on the investment-performance.com web site at http://www.investment-performance.com/forums/showthread.php?p=650#post650 To participate in the discussion group, you may need to register as a user of investment-performance.com. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Send mail to
webmaster@compoundinghappens.com with
questions or comments about this web site.
|