I'm looking to do a Brinson performance attribution on a portfolio of stocks where instead of decomposing the returns in terms of sectors we use factors instead. Basically, I want to do what Style Analytics claims to do in their Factor Attribution module:


What confuses me about this is how they obtain the factor active weight (see screenshot) in the portfolio. In the classic Brinson analysis with sectors, it is clear how to get the portfolio and benchmark weight for each sector since every stock maps cleanly into one and only one sector and the total weights will always add up to 100%.

styleanalytics factor attribution

The only way I can think of doing this for an arbitrary set of factors is to do a returns-based attribution where you regress the portfolio/benchmark returns on the long-short factor returns and then map the resulting coefficients/sensitivities to weights.

Now, the issue with the regression approach is that you can obtain negative weights. Would it be acceptable to add a fitting constraint that requires coefficients to be between 0 and 1 and add up to 1?

  • $\begingroup$ Did you find any ways to do factor attribution? I’m interested in doing the same. $\endgroup$
    – user28909
    Jan 25, 2021 at 1:23
  • $\begingroup$ I did read a helpful report here papers.ssrn.com/sol3/papers.cfm?abstract_id=1601929, which uses factor models (i.e. Barra-type models) to estimate performance attribution for sectors and factors simultaneously. That being said, I did have some success by approaching the problem a slightly different way. That is, by regressing the long-short returns of factors such as value and momentum on portfolio returns to obtain factor exposures or sensitivities. This seems to provide a good indication of how exposed the portfolio is, on average, to certain factors. $\endgroup$ Jan 25, 2021 at 15:52

2 Answers 2


You can technically apply Brinson attribution to any strategy, whether you get meaningful results is a different question. Typically Brinson attribution is useful for actively managed funds less so systematic ones. For example, it can tell you if a manager allocated to the right sectors at the right time. For someone who follows e.g. a momentum strategy (say classic 12m-1m) this type of insight is not so useful because they wouldn't allocate their exposure according to sectors but factors.

That said, nothing stops you from calculating Selection and Attribution effects for factor strategies since they are typically just portfolios of companies (e.g. Q1-Q5).

The interaction effect ("cross-product") is typically wrapped into the selection effect which gives you:


for portfolio sector weights $w_p$, sector returns $r_p$ and benchmark sector returns $r_b$.

The allocation effect then is

$$A = (w_p - w_b) \times (r_p - r_B)$$

for total benchmark return $r_B$. A good reference on this is Bacon (2008). As long as you know exactly which stocks go into a certain factor, this becomes straight forward to calculate.

Looking at the table that you shared I doubt they used a regression approach. They've even stated the return spread of one quartile minus the other and the corresponding active weights. So I think they just naively apply Brinson attribution to factor portfolios (although it doesn't make that much sense in my view).

If I read this table correctly then it seems that your portfolio has a high selection effect to all listed factors. Doesn't sound like particularly useful insight to me.


This might be a little bit late answer but for factor attribution, you apply a regression analysis (between active returns of portfolio and portfolio returns of the factors). Coefficients of factors (or some call loadings) inform you about your exposure to that factor. So for factor attribution brinson method might not work since there is no weight associated with a factor. Section 7 (titled FACTOR MODELS IN RETURN ATTRIBUTION) of following document is helpful (https://www.cfainstitute.org/-/media/documents/support/programs/cipm/2019-cipm-l1v1r5.ashx). Also fama-french paper (and website) is a great practical example.

  • 1
    $\begingroup$ As you have put this in as an answer, it would be more appropriate if you could include in sufficient detail how the document you have provided a link to resolves the problem in case the link is changed or deleted. $\endgroup$
    – Alper
    Jan 12, 2023 at 0:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.