Back to Community
performance attribution at hedge fund level?

Awhile back, Simon Thornington posed an interesting question regarding performance attribution at the hedge fund level. The basic idea was, assuming for the 1337 Street Fund, a workflow similar to that described on A Professional Quant Equity Workflow is used, then how can the relative performance of an individual algo (an alpha) be determined, such that the author can be compensated accordingly? Assuming that the individual licensed algos are combined as a simple weighted sum of alphas, would this performance attribution technique allow one to sort out the relative performance contributions of each algo, even after the optimization step? Or maybe the idea is to apply all of the optimization and risk management at the level of individual algos, and just weight them by capital invested in each (in which case, the performance attribution is simple)?

It seems that authors should be paid based on the attribution of their alpha to the overall return of the fund, rather than their algo return. So, if the performance attribution technique applied in the risk model works, then perhaps it could be used at the hedge fund level, as well, to determine the relative weighting of licensed algos in the fund?

I think this all goes out the window if ML is used to combine algos, since as I understand, everything will get totally jumbled up point-in-time, and so it will be impossible to tell the relative contribution of each licensed algo in the combined alpha.

12 responses

@Grant, it does not matter much how the strategies are combined.

You can always know each strategy's contribution to the mix. And the equation is relatively simple. It has the following 3-dimensional payoff matrix: Σ(H.*ΔP). Summing on axis=0 will give you the ending results for each strategy, summing on axis=1 provides what each stock contributed to the mix, while summing on axis=2 will give you the cumulative P&L for the whole thing. All you need to add is a strategy identifier to the transaction matrix.

However, you do raise an interesting question. What would happen if your trading strategy was the major contributor of overall profits and your take would be based on the fund's average performance?

There are so many questions in all this that have been left opened...

@ Guy -

If each licensed also is funded directly and the total profit is simply the sum of individual algo profits, then there is no problem with attribution. Presumably, to first order, this is how the 1337 Street Fund will work. And if each algo is reasonably diversified, risk-managed, and scalable (see, then they can be run independently. Each licensed author gets a simple 10% of the profit of his algo. In theory, though, his algo and all of the others could be providing features at the individual stock level that allow for a kind of second order fund to be created, with additional profit beyond that of the sum of the profits of the individual licensed algos.

An obvious question then is, are the licensed algos actually being funded directly? Or are their profits estimated from simulation and funded by the combined profit of all of the algos? The latter approach would seem to be the way to go.

@Grant, not necessarily. Why would you want to pay the lesser performing strategies more than what they could bring to the mix? And why wouldn't the best trading strategy of the group not get its fair share?

Any trading strategy can be summarized into a single payoff matrix: Σ(H.∙ΔP). As traders, we are trying to solve H as a 2-dimensional array, even in a competition.

Q is trying to solve a 3-dimensional matrix of its own in its quest to corral the best trading strategies it can find. To date, there has been over 4,000,000 backtests done on Q!, and they are still looking.

Point 72 is trying to solve a 4-dimensional matrix as a fund of funds of strategies.

The long-term perspective is very different at each level. The requirements and objectives appear about the same since they do have to answer to a single expression for the overall P&L, namely: Σ(H.∙ΔP). But for Point 72, due to the sheer number of funds and strategies in place, they might be confronted more with Σ(H(P72).∙ΔP) → Σ(H(SPY).∙ΔP).

To compare strategies is easy, you order them by performance, as in:

Σ(H(1).∙ΔP) > Σ(H(2).∙ΔP) > Σ(H(...).∙ΔP) > Σ(H(SPY).∙ΔP) >…. > Σ(H(n).∙ΔP).

We, as traders, apply the same comparison for the strategies we design. It is the same equation that it be for Q, Point72, or anyone else. Only the array's dimensions are changing.

There is no good reason to mix a high performing strategy to a low performing one, except if you want to affect other factors like, for instance, reduce overall volatility.

But, there will always be a cost associated with it. In this case, it will be lower overall returns. But, those are choices one has to make. No mixing of strategies will produce more than Σ(H(1).∙ΔP), the best of the group.

You design a trading strategy that will blow up in 3 to 5+ years. What is it worth today? That is the real question, contest or not. The answer is very simple: it is worth absolutely nothing. It should never have been used in the first place. And, I have to say that a 2-year backtest will not be able to answer that critical question of sustainability either. So, yes, the testing period should be longer than 2 years.

My suggestion above:

It seems that authors should be paid based on the attribution of their alpha to the overall return of the fund, rather than their algo return.

The new royalty system:

Royalty = (weight of algorithm in signal combination) * (total net profit of the combination)

Time for Q to implement: 250 calendar days

There is no good reason to mix a high performing strategy to a low performing one, except if you want to affect other factors like, for instance, reduce overall volatility.

(Ignoring that we ever really know beforehand which strategy will be high-performing and which will be low performing anyways...) What I've noticed is that where two orthogonal signals disagree and cancel each other out, you have effectively eliminated the frictional cost/slippage from both. This can be significant. Where remaining signals augment each other, you increase capacity (thus further reducing slippage over employing the same amount of capital to a single strategy). Where the orthogonal signals agree you increase confidence. Since we've decreased or eliminated the portfolio weight of the low confidence positions, we can therefore distribute that freed up capital and increase the portfolio weight of the higher confidence positions. While this is not necessarily the case, my observation is that it is usually the case that an algorithm's performance can be improved by combining its signal with a worse (yet still profitable) algorithm.

No mixing of strategies will produce more than Σ(H(1).∙ΔP), the best of the group.

Guy, I often think you are fooled by your own math. I'll give you a concrete counter-example:

Strategy A monthly returns: 5% 0%
Strategy B monthly returns: 0% 10%
Combined strategy (allocate 100% to Strategy A for the first month, and 100% to Strategy B for the second month): 5% 10%

Strategy A: 5%
Strategy B: 10%
Combined strategy: 15.5%

These figures obviously aren't real-world, but the concept holds. Strategies can be dynamically mixed much like stocks can be dynamically mixed. The combined performance can be better than any of the constituents.

In my experience, even a simple static mixing scheme can produce better returns than either strategy on its own, because of the aforementioned factors (more effective capital allocation and reduction of frictional costs).

Time for Q to implement: 250 calendar days

Well, it's not the same thing either... They're basing it on weight, not alpha. Theoretically an algorithm that delivers negative alpha may still produce income for its author under the new payment scheme.

@Viridian, sorry to disagree on that one. By your definition: Σ(H(b)∙ΔP) > Σ(H(a)∙ΔP). Strategy B generates more than strategy A. However, both need to be funded. So you will get:

0.5∙(0.05 + 0.0) + 0.5∙(0.0 + 0.10) = 0.075 which is less than the best performing strategy B.

The combined performance level cannot be better than the best performing strategy, no matter how many strategies you have. However, combining strategies can help reduce volatility and drawdowns, because those can be somewhat averaged down, but there is a cost to that and it will be reduced overall performance.

Of note, you could also start with strategy B then go for strategy A which would give:

1.0∙(0.0) + 1.0∙(0.0) = 0.0

From Wikipedia:

"The information coefficient ranges from 0 to 1, with 0 denoting no linear relationship between predictions and actual values (poor forecasting skills) and 1 denoting a perfect linear relationship (good forecasting skills)."

I have never seen on this site any backtest analysis producing any IC higher than 0.10. And even at that level, it should be considered poor.

Anyone, correct me if I am wrong.

Guy, forget your equations! There's a reason why we use models first and foremost in quantitative finance and not equations. The problem is too complex and there are far too many variables, most of which you are simply not accounting for. Furthermore, your assumptions are wrong. Your conclusion is wrong. I don't know what else to say.

My read of Fawce's announcement A New Agreement is that previously, the algos were combined like so (limiting to 3 algos as an example):

total_algo = w_0*algo_0 + w_1*algo_1 + w_2*algo_2

where w_0 + w_1 + w_2 = 1, and the relative amount of capital applied to each algo is simply its weight in the linear combination. It is a basic asset allocation model (the weights could be adjusted periodically to maintain a set of fund characteristics, but not dynamically, e.g. daily, as one would do for signals).

My interpretation of the new agreement is that the fund algos are now being treated as alpha factors (signals) as defined in the discussion A Professional Quant Equity Workflow, and are being fed into a alpha combination step (probably ML-based), which yields a combined alpha vector, to be fed into a Portfolio Construction step, and finally Execution.

So, the scale factor, (weight of algorithm in signal combination), needs to be determined in:

Royalty = (weight of algorithm in signal combination) * (total net profit of the combination)

But it is not clear how this is done. It is implied that it would be determined after the Alpha Combination, Portfolio Construction, and Execution steps in the workflow, but maybe it is simply a generalized "feature importance" rank in the alpha combination, and with the assumption that feature importance rank is a fair measure of the relative contribution of a given algo to (total net profit of the combination) (which, presumbly, is simply proportional to the Q fund profit).

I think this is good news for authors, since it should allow for itsy bitsy teenie weenie signals to be compensated (and in theory, it should open up a much wider range of niche algos, versus the soup-to-nuts mega algos that were required before). Q should be willing to fund as many algos as the market has features useful to their alpha combination algorithm (which presumably is a fancy-dancy ML-based thingy).

Here's some food for thought: suppose that the Q fund has 40 algos, with an average of 5 alpha factors each, for a total of 200 alpha factors. Would the performance of the fund be better if Q were fed the 200 alpha factors individually, to be combined as they see fit? I'm thinking the answer is "yes" since it provides more degrees of freedom (signals/features) to an alpha combination algorithm with presumably limitless computational resources, and a dedicated staff to craft it. The problem is, taken in isolation, any one of the 200 factors could look pretty bad, and might not meet all of the requirements, so there's a problem with the requirements, if I'm thinking about this correctly.

Any thoughts?

The way I think about it is that 40 algos translate to 40 signals of a list of daily positions. The individual algos are weighted as a signal combination through Q's proprietary method, ML based or not, The list of daily executions are then are processed to net out positions of all individual algos and this also translate in trade efficiency resulting in lesser transaction costs.

@ James - My point is that within every one of those 40 algos, there will be, on average, N alpha factors/signals ("alphas"). So, would it be better to feed the 40 alphas, or the 40xN into a combination step at the fund level? One way to think about it is suppose there were only 2 algos in the fund, but each of them had 20*N alphas. So, at the fund level, there would only be 2 alphas to combine, and it'd be relatively hard to wring out more alpha via the combination step. Taken to an extreme of a single algo in the fund (with 40*N alphas), there would be no combination step at the fund level.

I think this presupposes that authors are basically naively combining alpha factors; in some cases, perhaps the author has insight into how to best combine the alphas in his algo, and so there would be a net benefit to feed them into the fund already combined. My intuition, though, is that largely, it would be best to break up the alphas, for a global combination step at the fund level. If I'm interpreting it correctly, the new royalty scheme would support this, since each algo is rewarded on the basis of its strength as a signal (in ML lingo, its "feature importance"). The new royalty scheme, in my mind, is basically incentivizing individual alphas over algos that combine multiple alphas.

I'd note that if feature importance in the combination step (at the fund level) is used, there's really no attribution problem. One can just apply the heuristic relationship, without actually tracing in detail the net profit attributable to each algo:

Royalty = (weight of algorithm in signal combination) * (total net profit of the combination)

The confusing thing in my mind is how relevant are the requirements on It seems any alpha factor that isn't too correlated to what's already in the fund would be fair game: long, short, high beta, single sector, etc. So long as it has a feature importance better than random, it should be worth something.