Recently, we gave advice about how you can get an allocation from Quantopian. That advice can essentially be summarized as 1) write an algorithm using futures or 2) write an algorithm that uses alternative data. This post is about futures and the high-level criteria that we intend to use in order to make allocations to strategies that trade futures.
Here are some things that we are looking for in futures strategies:
- Consistent Profitability. We are looking for strategies that generate consistent, positive returns. The higher the sharpe, the
better (in general). - Trades Actively. Evaluates trading opportunities frequently, preferably every day. We are looking for strategies that place many independent bets. An independent bet is a bet that either takes a new position, or reverses your direction (long/short) in an existing position.
- Controlled Risk.
- Expected shortfall (explored in detail below) is a good approximation for the risk associated with a particular futures
portfolio. We are looking for strategies that do not exceed a daily expected shortfall of 1.5% of the portfolio value. - Have low exposure to the equity market (low beta-to-SPY). This is also something we look for in equity strategies.
- Have low directional exposure to any particular underlying. This is the same idea as position concentration, where we are looking for strategies that are not vulnerable to big price movements in any single asset. With futures, we are looking for algorithms that are not over exposed to any particular underlying or any single contract. One way to lower this type of risk is to diversify across many instruments and trade many futures in different sectors. Another way is to offset contracts on the same chain in such a way that your net risk exposure is close to zero (e.g., curve momentum, term structure). Pairs strategies and strategies that capitalize on economic upstream/downstream relationships also fall into this category.
- Expected shortfall (explored in detail below) is a good approximation for the risk associated with a particular futures
Here are some things that we are not looking for:
- Long-term trend-following algos; aka “CTA-style” trend-following algos. Risk-Premia capture, or passive algos attempting to take
advantage of structural risk premia. For example, no net short VIX futures algos; no FX carry. - Static exposure to any root symbol. We are not looking for strategies that hold a particular position for a long period of time.
- Holding a static position in a particular root symbol and rolling from one month to the next at expiration is still a static position.
In addition, the criteria on the allocations page still apply to futures strategies.
More specifically, just like with equities, we are looking for futures strategies that:
- Have low exposure to the equity market (low beta-to-SPY).
- Have high capacity. Choosing a liquid universe can help increase capacity.
- Are driven by underlying economic reasoning.
- Are driven by original insights.
And we explicitly are not looking for:
- Strategies that are overfit.
- Ideas that depend on data snooping, forward lookahead bias, or spurious correlations.
- Infringing or misappropriated content.
If you would like more color on any of these criteria, we encourage you to check out the allocations page. We will be adding more detail on the futures-specific criteria soon.
Keep in mind that these criteria apply to both futures-only strategies as well as strategies that trade both equities and futures. If you have a strategy that depends on the relationships between equities and futures, we will evaluate the strategy as a single algorithm. However, if you believe that you have two independent strategies - one for equities and one for futures - running in the same algorithm, we encourage you to split them into the component strategies so that they can be evaluated separately.
Of course, we will base our evaluations primarily on the out-of-sample performance of a strategy. Similar to equities, we expect to evaluate most futures strategies on 6 months of out-of-sample performance. As we mentioned in another post, any time you run a backtest, we save a code snapshot and automatically evaluate it in 6 months. The performance between the in-sample (backtest) and out-of-sample (6 months of data after the backtest is run) periods should be consistent. It does not need to be paper traded, live traded, or entered into the contest to be evaluated.
We haven’t yet allocated to any futures strategies, so the ‘correlation to peers’ is as low as it’s going to get.
Expected Shortfall
Expected Shortfall, or Conditional Value at Risk (CVaR) can be used to estimate the risk of a particular portfolio of assets. When it comes to allocations, we are looking for strategies that keep their expected shortfall below 1.5% of their portfolio value each day. (i.e., 1-day 95% CVaR < 1.5% of portfolio value each day). With diversified equity long/short strategies, “risk” is reasonably well defined by gross leverage since the assets are all reasonably self-similar; risk as defined by gross leverage is comparable across equity long/short strategies. The same cannot be said for multi-asset class portfolios, and futures are multi-asset class. As such, just like the futures exchanges and brokers themselves, we need to use a “portfolio risk-based capital utilization measure”; we have chosen Expected Shortfall as that measure.
We are working on adding a function to the API that computes expected shortfall. We’re also planning to add it as a built-in metric in the backtester and Pyfolio. Until those functions are available in the API, the CVaR function in the lecture series is the best tool for you to use.
Futures Contest
We are actively working on a new contest for futures strategies. I don’t have any further details at this point, but you should expect something similar to the current Quantopian Open.
Entering the contest is not required in order for an algorithm to be evaluated for an allocation, but we think that it helps to provide you with direction in terms of what types of strategies we are looking for.
Futures Algorithm Analysis Tool
We are planning to build out analysis tools so that you can get more insight into the risk profile and performance of your futures strategies. Right now, you have Pyfolio for equity strategies. We are looking to build something similar for futures, or extend Pyfolio. Stay tuned for updates.