Investment Theory #15: Performance Attribution

This is the second in a three-part series on investment performance evaluation. The series explores: 1) Performance Measurement, 2) Performance Attribution, and 3) Performance Appraisal. In other words, how much we made, how much we made compared to a benchmark, and how much we made adjusted for the amount of risk we took on.

Performance evaluation allows us to examine the effectiveness of our investment process. It provides us with a systematic way of judging our decision-making process and improving on it, which is what investment theory is all about.

Today’s post deals with performance attribution, which is a technique used to explain why a portfolio’s performance differed from a benchmark. That difference is known as active return. For example, if our portfolio returned 10% while the S&P500 returned 20%. Our active return would be -10%.


In the simplest form, portfolio attribution can be applied through a security-by-security analysis. If we pick stocks that do better than the benchmark, we will do better than the benchmark, and vise-versa. Here we are concerned with two variables: the weights assigned to our security picks and the returns on the securities relative to the overall return on a benchmark. Mathematically:

Active Return = ∑[(wpi – wBi) * (ri – rB)]
wpi is the proportion of the portfolio invested in security i.
wBi is the proportion of the benchmark invested in security i.
ri is the return on security i.
rB is the return on the benchmark.

If we overweight securities that do better than the benchmark and underweight securities that do worse than the benchmark, we will add value. It’s not rocket science. However, this security-by-security analysis doesn’t really give us any insight into how well our strategy is working. Instead, performance attribution is usually broken down into factor models of return.

Factor Models

A factor model assumes that the returns on a security can be predicted based on underlying variables. A factor might be sector membership, financial variables, macroeconomic variables, etc. If we employ 3 different strategies in a single portfolio, we can break out each strategy’s active return and compare it to a benchmark of that strategy. From this, we can see what percent of our active return is coming from each strategy. Buffett used to do this with his generals, workouts, and control situations.

For example, if we put a significant portion of our portfolio in a value based strategy and the market enters a massive boom, it is understandable that our value stocks may decline. This is known as systemic risk. Performance attribution would still allow us to see how well our specific value investments are doing in relation to a broader benchmark of value investments. If the benchmark lost 10%, while our value picks lost 2%, we might still be adding value.


Performance attribution is the reason you often see funds break their assets up into sectors and classes. For example, 20% large cap growth or 20% energy sector. If those allocations diverge significantly from a benchmark (active management), we will be able to see if it helped performance or hindered it.Furthermore, if those allocations are equivalent to a benchmark (closet indexing), we might wonder what the point of paying management fees is.

More formally, a manager’s value-added returns can be expressed as the difference between the weighted average return on the strategies employed in the portfolio and a benchmark. Next time, we will talk about the role that risk plays in all of this. Namely, is picking up nickles in front of a steamroller a good idea, regardless of whether or not you are beating a benchmark.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s