Building superior investment portfolios is what money managers are paid to do. As a fund manager, I wanted software to help me build superior, positive-alpha portfolios.
Not finding software that did anything like I wanted, I decided to write my own.
When I build or modify a portfolio I start with investment ideas. Ideas like going short BWX (international government debt) and long JNK (US junk bonds). I want some US equity exposure with VTI and some modest buy-write protection through ETB. And I have a few stocks that I believe are likely to outperform the market. What I’d like is portfolio software that will take my list of stocks, ETFs, and other securities and show me the risk/reward trade off for a variety of portfolios comprised of these securities.
Before I get too far ahead of myself, let me explain the above graphic. It uses two measures of risk and a proprietary measure of expected return. The risk measures are 3-year portfolio beta (vs. the S&P500), and sector diversification. This risk measures are transformed into “utility metrics”, which simply means bigger is better. By maximizing utility, risk is minimized.
The risk utility metrics (or heuristics) are set up as follows. 10 is the absolute best score and 0 the worst. In this graph a beta of 1.0 results in a beta “risk metric” of 10. A beta of infinity would result in a beta risk metric of 0. For this simulation, I don’t care about betas less than 1, though they are not excluded. The sector diversification metric measures how closely any portfolio matches sector market-cap weights in the S&P 500. A perfect match scores a 10. The black “X” surrounded by a white circle denotes such a perfectly balanced portfolio. In fact this portfolio is used to seed the construction of the wide range of investment portfolios depicted in the chart.
On thing is immediately clear. Moving away from the relative safety of the 10/10 corner, expected returns increase, from 7.8% up to 15%. Another observation is that the software doesn’t think there is much benefit in increased beta (decreased beta metric) unless sector diversification is also decreased. [This is the software “talking”, not my opinion, per se.]
The contour lines help visualize the risk tradeoffs (trading beta risk for non-diversification risk) for a particular expected rate of return. The pink 11% return contour looks almost linear — an outcome I find a bit surprising given the non-linear risk-estimation heuristics used in the modeling.
For all that the graphic shows, there is much it does not. It does not show the composition or weightings of securities used to build the 100 portfolios whose scores appear. That data appears in reports produced by the portfolio-tuner software. The riskiest, but highest expected-return portfolios are heavy in financials and, intriguingly, consumer goods. More centrally-located portfolios, with expected returns in the 11% range, are over-weighted in the basic materials, services (retail), consumer goods, financial, and technology sectors.
Back to the original theme: desirable features of financial software — particularly portfolio-optimization software. For discussion, let’s assign the codename HAL0 (HAL zero in homage to HAL 9000) to this portfolio-optimizing software. I don’t want dime-a-dozen stock/ETF screeners, but I do want software that I can ask “HAL0, help me build a complete portfolio by finding securities that optimally complements this 70% core of securities.” Or “HAL, let’s create an volatility-optimized portfolio based on this particular list of securities, using my expected rates of return.” Even, “HAL, forget volatility, standard-deviation, etc, and use my measures of risk and return, and build a choice of portfolios tuned and optimized to these heuristics”.
These are things the alpha version of HAL0 can do today (except for understanding English… you have to speak HAL’s language to pose your requests). The plot you see was generated from data generated in just under 3 hours on an inexpensive desktop running Linux. That run used 10,000 iterations of the optimization engine. However 100 iterations, running in a mere 2 minutes, will produce a solution-space that is nearly identical.
HAL0 supports n-dimensional solution spaces (surfaces, frontiers), though I’ve only tested 2-D and 3-D so far. The fact that visualizing 4-D data would probably involve an animated 3-D video makes me hesitate. And preserving “granularity” requires an exponential scaling in time complexity. Ten data points provides acceptable granularity for a 2-D optimization, 100 data points is acceptable for 3-D, and 1000 data points for 4-D. Under such conditions the 4-D sim would be a bit more than 10x slower. If a granularity of 20 is desired, the 3-D sim would be slowed by 4X, and a 4-D optimization by an additional 8X. I have considered the idea that a 4-D optimization could be used for a short time, say 10 iterations and/or with low granularity (say 8), and then one of the utility heuristics could be discarded and 3-D optimization (with higher depth and granularity )could continue from there… nothing in the HALo software precludes this.
HAL0 is software built to build portfolios. It uses algorithms from software my partner and I developed in grad school to solve engineering problems– algorithms that built upon evolutionary algorithms, AI, machine learning and heuristic algorithms. HAL0 also incorporates ideas and insights that I have had in the intervening 8 years. Incorporated into its software DNA are features that I find extremely important: robustness, scalability and extensibility.
Today HAL0 can construct portfolios comprised of stocks, ETFs, and highly-liquid bonds and commodities. I have not yet figured out a satisfactory way to include options, futures, or assets such as non-negotiable CDs into the optimization engine. Nor have I implemented multi-threading nor distributed computing, though the software is designed from the ground up to support these scalability features.
HAL0 is in the late alpha-testing phase. I plan to have a web-based beta-testing model ready by the end of 2012.
Disclaimer: Do not make adjustments to your investment portfolio without first consulting a registered investment adviser (RIA), CFP or other investment professional.