Skip to content

Minimum Correlation Algorithm Paper Release

September 21, 2012
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

View this document on Scribd
24 Comments leave one →
  1. Riccardo Ronco permalink
    September 21, 2012 11:18 am

    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

    • david varadi permalink*
      September 23, 2012 6:34 pm

      thanks riccardo, i appreciate the compliment. hopefully it inspires some new ideas.

  2. Anon. permalink
    September 21, 2012 12:59 pm

    You’d greatly enhance the readability of paper if you justify the text and increase the left & right margins…

    • david varadi permalink*
      September 23, 2012 6:34 pm

      hi Anon, thank you for the feedback. i will definitely incorporate it in a subsequent edit.

  3. John Jeffery permalink
    September 21, 2012 5:58 pm

    Amazing research. Long awaited release. Well worth the wait.

    • david varadi permalink*
      September 23, 2012 6:35 pm

      hi john, thanks for the compliment.

  4. daveab permalink
    September 24, 2012 3:09 pm

    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.

  5. david varadi permalink*
    September 26, 2012 12:47 am

    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. steve permalink
    September 26, 2012 3:35 pm

    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?

    • david varadi permalink*
      September 26, 2012 4:52 pm

      hi steve, an excel example of each of the algorithms is forthcoming.

  7. Pete permalink
    October 20, 2012 3:33 pm

    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?

    • david varadi permalink*
      October 22, 2012 1:12 pm

      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. Pete permalink
    October 25, 2012 11:46 am

    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. DrNickel permalink
    January 22, 2013 12:16 am

    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?


    • david varadi permalink*
      January 22, 2013 1:03 am

      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.

      • DrNickel permalink
        January 22, 2013 2:02 pm

        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.


      • david varadi permalink*
        January 22, 2013 9:09 pm

        hi DrNickel, you may wish to look at this post
        you are correct–that is in line with what we found as well—ERC is the slowest and fortunately mincorr2 (the fastest version) has a very similar allocation profile and thus is a good substitute.


  1. Minimum Correlation Algorithm Paper « Systematic Investor
  2. Minimum Correlation Algorithm Speed comparison « Systematic Investor
  3. Minimum Variance Algorithm (MVA) Test Drive | CSSA
  4. ETF Prophet | Minimum Variance Algorithm Test Drive
  5. Minimum Variance Algorithm Comparison Snapshot | CSSA
  6. Fast Threshold Clustering Algorithm (FTCA) | CSSA
  7. Parsimony | 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 )

Connecting to %s

%d bloggers like this: