Back to all projects

Portfolio Selection Algorithm


Our client approached us with a portfolio selection algorithm which trades US stocks and bonds. As the client was expecting market turmoil (the project started December 2019) the key requirement was to create a well-diversified portfolio construction strategy with downside protection.

Performance metrics requirements:

  • Average YoY return: 8 - 12%
  • Maximum drawdown: -20%
  • Portfolio rebalance frequency: weekly

Market instruments

Firstly, our team had to decide which market instruments should be used in portfolio construction. We decided to use various sector and factor Exchange Traded Funds (ETF). Our choice was based on several constraints:

  1. Client's execution team consists of 3 traders. Building a well-diversified portfolio requires at least 100+ stocks, with weekly rebalances the client's team would be overloaded with rebalance execution.
  2. Client's transaction costs are too high for trading 100+ stocks every week, as a result, we had to optimize portfolio size preserving diversification effect.

ETF instrument solves both the problem of overtrading and diversification. Instead of constructing investment universe from stocks we could use various sector and factor ETFs. Each sector ETFs repeats the dynamics of almost 50+ stocks which is a perfect fit for our problem. Furthermore, by purchasing TLT or HYG instruments an investor can easily get exposure to government or corporate bonds.

Investment universe construction

The investment universe consisted of 20+ years and corporate bonds combined with various sector and factor ETFs. However, our team decided to add an extra layer of diversification - gold. Various studies show that adding commodities (specifically gold) improves portfolio risk-adjusted performance. With gold exposure, the portfolio now represents the most widely used asset classes. Furthermore, January 2018 drawdown has shown that in some market states both equities and bond prices fall. That is why adding an extra layer of 'safe-heaven' was necessary to get better downside protection.

Improving buy-and-hold bond strategy

Despite the fact that bonds are considered as a perfect match to the equity portfolio, we were concerned about low returns of long-only bond strategies. That is why our analysts decided to research a simple long/short bond strategy with low-frequency trading horizon (weekly trades) which improves both returns and risk-adjusted performance of the buy-and-hold bond strategy. Our team found a great paper describing various simple strategies which trade bonds, backtested them on 30-min data (despite the fact that trading occurs only once a week) to get an accurate estimate of execution price.

Portfolio construction algorithm

With more than 30 assets in investment universe, we started researching portfolio construction algorithm. The final choice was made in favour of clustering portfolio construction algorithm with rebalancing based not on calendar days but rather market structural breaks. Under this approach, the rebalance occurs when it is really needed to avoid excessive transaction costs.

Backtesting and perfomance metrics

The whole backtest was done on 30-min bars for accurate execution and transaction costs modelling. The goal of backtest was to understand how the algorithm performs not only on the whole period but also during market stress regimes: 2008, 2015, 2018.




Performance metrics:

  • Average YoY return: 10.5%
  • Maximum drawdown: -15.4%
  • Sharpe ratio: 1.25

2008-2019 backtest equity curve:


2020 Covid-19 real-time performance

Our team delivered the project by the end of January 2020 and the client started using the algorithm. In March 2020, we received an email from the client showing great results of the portfolio during COVID-19 market stress.


Note: Machine Factor Technologies received permission from the client for sharing ideas, charts and figures disclosed in the article.

Back to all projects