Automated Trading Strategy #60
In one year, Strategy 60 made a net profit of $408K based on a basket of equity-based futures (ES, NQ, RTY, EMD, YM). Portfolio profit factor is 1.44, and 53% of trades are profitable
Important: There is no guarantee that our strategies will have the same performance in the future. We use backtests to compare historical strategy performance. Backtests are based on historical data, not real-time data so the results we share are hypothetical, not real. There are no guarantees that this performance will continue in the future. Trading futures is extremely risky. If you trade futures live, be prepared to lose your entire account. We recommend using our strategies in simulated trading until you/we find the holy grail of trade strategy.
This post was originally published in the ATS Newsletter on January 15.
As a quick reminder, our goal is to find the holy grail of automated trade strategy as defined below:
- Profit factor greater than 3
- Annual drawdown less than 3%
- Annual return on max drawdown greater than 500%
- Maximum daily net loss of -$1,000
- Avg Daily profit greater than $1,000
- Less than 5,000 trades annually
- More than 253 trades annually
We haven’t found the holy grail yet, but we get closer with every strategy. See below for the most recent performance chart, which provides:
- the strategy,
- the instrument to use for the strategy and the data series (all of our strategies are backtested on a minute-based data series from 1–60)
- the parameters,
- the trade count, and
- the max drawdown.
The max drawdown is the cumulative drawdown, not absolute. In other words, it is the most the account balance has ever fallen from its high (not $0), which is why we use it to calculate return rather than absolute drawdown.
You’ll also find the percentage of profitable trades, net profit (broken down by gross profit and loss), along with a few stats like # of trades per day, profit per day, profit per trade and profit factor.
The performance chart below is based on backtest results from December 1, 2021 to December 1, 2022.
Click here for the pdf. New strategies are added on a quarterly basis.
For links to all strategies click here.
Over the last two months I’ve conducted a deep dive into the cash flow profile of our best strategies. I was particularly interested in strategies with a steady trend up for cumulative net income. What did these strategies have in common? Did they belong to a particular category or group?
I found that our best strategies fall into four main categories:
- Divergence strategies
- Breakout trading strategies
- Event-based trading strategies
- Trend trading strategies
Strategy 60 is a mixture of breakout and trend trading strategies. These strategies have a high win/loss rate (1.5 or above), which generally comes at the expense of profitable trades (<25%). While we’re still researching a few scalping strategies, our focus going forward is to look for trend, break-out and divergence strategies with a high win/loss ratio and high percentage of profitable trades.
Here’s an example of what the strategy looks like in chart form:
What it shows is that you benefit from volatility without taking on all the risk, which is exactly the kind of strategy we’re focused on this year.
These are the annual results of Strategy 60 when backtested on 1 contract for 5 different equity futures instruments. The backtest is from 1/1/2022 to 1/1/2023:
The model shows a profit factor of 1.44, a net profit of $408K, a win/loss rate of 1.24 and a percentage of profitable trades of 53%, which is high given the win/loss rate. NQ actually has a win/loss rate of 2.56, which is phenomenal, but it’s at the sacrifice of profitable trades and drawdown.
I want to take a quick moment to address a question that I’ve received several times over the last three months — can you scale your results? The answer is yes. In fact, this is one of my favorite attributes of trading futures contracts. Once you identify a good strategy you can scale up rather quickly. It is not unusual to see trades for 20 to 30 contracts at a time (check your time and sales window).
The hard part for most is making the comparison between stocks and futures when it comes to account value. One way that appears to resonate is to make a connection between max drawdown and share price. The max drawdown is the lowest your account value has every dropped below its high (on an end of day basis, not fluid). This is why we use max drawdown as a measure of cost in return metrics. In the same way that you would use the share price of 1 share of stock as the cost of your initial investment, we use max drawdown as a measure of cost in return metrics.
So we can use average max drawdown as a measure for the cost associated with investing in one contract for one instrument.
As a quick example, if we have a $1 million account and we want to know how many contracts of each instrument to trade, we can use the following formula:
Account value / average drawdown (rounded up) = # of contracts
If we use this formula we get: $1 million / $16,660. I like to give myself lots of wiggle room so let’s round up to $20K for the average max drawdown. The answer is: $1 million/$20K equals 50, or 50 contracts. Think of this as your limit. Again, I like to build in several layers of wiggle room (my mentor used to refer to this as “cushions of protection”), so I’m going to use 25 contracts instead of 50. We’re using five instruments (EMD, ES, NQ, RTY, YM), so we’re going to run the model on 5 contracts per instrument (total 25 contracts) instead of 1 contract per instrument as it shows in the performance results above. These are the performance results:
Instead of a total net profit of $408K, we have a net profit of $2M. This is because we’re using 20 contracts rather than 5. That’s an example of how easy it is to scale up.
As a word of caution, and this is not evident in the model, the more contracts you use, the more you have to be mindful of slippage, but it also tends to increase profit factor in real-time results.
I’d also like to take a moment to discuss strategy performance results. In particular, why we’re focusing on a portfolio of instruments to level up rather than 1 instrument under several different data series. The reason we’re looking at using 1 instrument per portfolio is because using more than one instrument can impact strategy performance. In other words, being long 1 NQ contract traded on a 1 minute data series may get closed prematurely if a short on a 10 minute data series is opened. This doesn’t play out in backtests, but is a real concern in forward tests. As a result, we like to look for the best performance for a portfolio of instruments. In this way, there is no possibility that one strategy will interfere with the performance of another. In other words, you can scale up on one instrument using the same data series, but not on one instrument using multiple data series.
Let’s get into the strategy description.
Strategy 60 Description, Command Structure & Download (C#)
Strategy 60 combines one of my favorite old indicators with one of my new favorite indicators.
The new indicator is not apart of the native indicator set and must be downloaded to Nt8 before use. What’s nice about both indicators is that they use the same scale, which makes it easier to use one as a confirmation for the other.
To read the rest of this post, subscribe to the Automated Trading Strategies Newsletter.