Minimum Correlation Algorithm Paper Release

This is a draft preview of the Minimum Correlation Algorithm(PDF) paper. We will be releasing an expanded version soon including new data and analysis as well as a review of the research. Furthermore, we have also planned an SSRN release on a related but larger topic. Please email for any questions you have on the content of the paper, and for any questions relating to the R code please contact Michael Kapler at

About these ads

23 thoughts on “Minimum Correlation Algorithm Paper Release

  1. Thank you David – your work is utterly inspiring


    Riccardo Ronco
    Head of Technical Analysis

    Follow #RiccardoRonco @aviatelive

    Aviate Global LLP
    40 Argyll Street
    London W1F 7EB
    United Kingdom
    t: +44 (0)20 7233 3245
    f: +44 (0)20 7233 3209
    m: +44 (0)7765 697399

    Technical Analyst Award 2012 for Technical Analyst of The Year

    Technical Analyst Award 2011 for Best Equity Research & Strategy

  2. Pingback: Minimum Correlation Algorithm Paper « Systematic Investor

  3. Nice work. Have you considered the MCA approach as a general framework for a rolling, relative asset performance measurement not just Pearson Correlation. For example, relative Omega, Ulcer, DVR, MAR, Sharpe within a portfolio, at a blend of lookback periods, with a mapping function of winning-rank-to-portfolio-weight. I know this breaks your ‘forecast free’ principle, but it could lead to some stable results.

  4. Pingback: Minimum Correlation Algorithm Speed comparison « Systematic Investor

  5. hi dave, you can most certainly use other metrics and i have already done a lot of research on that end. this method is meant to be a passive method for effective diversification which is appealing to a lot of investors.

  6. hi dave, i’m trying to walk through the calculation of the minimum correlation portfolio at the bottom of page 15 of your paper, given the correlation and standard deviation data you’ve given at the top of page 15. i am unable to see how you’re getting the results you’ve given.
    am i missing something? is it possible for you to show your calculations in an excel example?

  7. I have a question about this algorithm. I used time series of 5 asset class: us equity, international equity, Treasury 10 years, REITs and Commodities (from 1993).
    The MCA show me that weights are respectively: 4.7661% 6.7932% 73.3603% 4.7941% 10.2865%.
    Yes, 73% to 10 years Treasury.
    Theoretically this algorithm is very convincing and elegant. But in practise which is its utility if you can’t follow it? Or your opinion is to follow the algorithm in any case?
    How is possible today to put 73% in long Treasury?
    What do you think about this observation and which kind of solutions (or compromise) you propose?

    • hi Pete, you may wish to vary the power function in the new spreadsheet that was released. A lower power function (less than 1 and closer to 0) will result in more conservative allocations. Keep in mind that the 10-year Treasury has very low volatility compared to the other assets. The questions you ask are good ones, and will be addressed in subsequent posts in different ways. Keep in mind you can always adjust the correlation matrix based on your expectations for the future (ie treasurys will be more correlated to other assets in the future and have higher risk than in the last 10-years etc).

  8. Thanks David. I’ll wait for future developments about weighting algorithm and their pratical implications. I think this is a very important topic, even more important then algorithm itself.
    It’s very important to find a rational way to address this matter because otherwise we have a paradox: a higher (hidden) risk generated from algo whose aim is to reduce it.
    I know that this is not a simple problem with a certain solution, but i’m interested in your opinion about a wise and rational compromise.
    We both agree that 73% to bond is not wise, so the question is: how and how much reduce this weight? Is there a quantitative way to determine it?

  9. David, the formula you use for “Portfolio Risk” is based on the assumption (often made in Finance textbooks to give some intuition of the power of diversification) that the portfolio is equally weighted, ie the weights for each of the N assets is wi = 1/N. So it is misleading in that it is not “Portfolio Risk” at all, but the risk of an equally-weighted portfolio. From the assumption of an equally-weighted portfolio, there is no weight calculation problem left, since by assumption your portfolio is equally weighted.

    Now, for a non-equally-weighted portfolio, it is true that
    Portfolio Risk = weighted average of variances + cross product average of covariances.
    So when you run a portfolio variance minimisation, for example, you are minimising both of these components and it will be affected by both individual stocks’ volatilities and correlations or covariances between any two stocks.

    Now, what you really seem to be doing is combine two concepts: the maximum diversification introduced by Choueifaty and Coignard (2008) and the idea of balancing the risk contribution of each asset, which is pretty much what risk-parity (for example Maillard et atl (2009)) is all about. One idea to achieve this would be by starting from one of the formal optimisation problems in these papers and working with the constraints, for example.

    Now, what your heuristic does is find some weights such that stocks with high correlation are avoided together and risk concentration is avoided.

    I would find it really interesting if the difference between the results from your heuristic and those of minimum variance, ERC or mac diversification were statistically significant, since they are doing related things. Have you tried testing this?


    • Dr. Nickel—all of your comments are correct, and you have a good understanding of the subject matter/related research. In truth, that is exactly what the heuristic is attempting to do-balance correlations between assets and risk dispersion. I have tried a lot of the other different variants you suggested and I would say that the difference is probably not statistically significant in a strict sense. (althought I would say that when factoring in transaction costs this would probably become significant since the turnover is so much lower) I think that the goal of the algorithm is speed and ease of use/application with performance that is at least not statistically significantly WORSE than using a more complex approach. there is nothing magical about MINCORR—it is simply a more practical alternative to other approaches. there is no question that the creative use of constraint functions (not hard constraints which can be arbitrary) can accomplish much of the same goal–however this makes the other algorithms even more complex and slow to run–especially on large datasets. great comments by the way.

      • I’m running comparative tests with minimum variance, ERC and max diversification with around 150 assets, using 3 years of daily data. Minimum variance and max div are very fast on Matlab or C# (basically instant), since either can be solved using quadratic programming. ERC is trickier and could take from a few seconds to a few minutes. An alternative that works well is equally-weighted among lowest vol assets.

        Thanks for the reply.


  10. Pingback: Minimum Variance Algorithm (MVA) Test Drive | CSSA

  11. Pingback: ETF Prophet | Minimum Variance Algorithm Test Drive

  12. Pingback: Minimum Variance Algorithm Comparison Snapshot | CSSA

  13. Pingback: Fast Threshold Clustering Algorithm (FTCA) | CSSA

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s