Automated Trading Strategies: November Portfolio Update
In The Last 12 months Our Strategies Have Made Over $2.7M Based on Backtest Results
We all want to believe there’s a way to measure the forward strength of a model, but as we’ve explained before, market data is not random. It is based on auction mechanics. So, the same tools we use to validate and test the quality of data in a random data set can’t always be applied to the market. This is why we say ‘don’t use the simulated data feed within Ninjatrader’. It’s a random, internally generated market and has no correlation to real market data. So what can you do? The best you can do is make predictions about the future based on strategy performance and then track that performance, as well as the rationale for your predictions, over time.
This is why we publish updates every two months to track the progress of strategies. We like to look at how our top automated trading strategies are performing and update you on our key findings, highlights, takeaways and what’s in the pipeline. The following post is our November update. You can view past updates here:
What Are We Looking For In These Updates
We are looking for one thing in particular: consistency. When we say consistency, we mean strategies that perform like the backtest. We are tracking our best strategies to find the best strategy attributes. We can then use these attributes to create a strategy that gets us closer to the holy grail of automated trade strategy?
We define the holy grail of trade strategy as having the following attributes:
Profit factor greater than 3
Annual drawdown less than 3%
Annual return greater than 500%
Maximum daily low of -$1,000
Avg Daily profit greater than $1,000
Less than 5,000 trades annually
Greater than 253 trades annually
These attributes are not only how we define the holy grail, but some of them help to strengthen the strategy.
We’ve also added two columns to this backtest result: gross loss and gross profit. Why did we do this? We are increasingly focused on transparency. As much as possible, we want you to be able to understand how a strategy works. In our May update we decided to add a column for profit factor because someone asked the following question:
It’s nice that you can make $100K on a strategy, but how much did it take to get there?
It’s a good question for both the novice and professional. Ultimately, it gets at reinvestment risk, which can be hard to understand if you’re not used to trading futures contracts. We tried to address this question in the following post:
Now, we’re adding one more level of transparency because not everyone is going to read the article above. Instead of just looking at profit factor, which is calculated by dividing gross profit by gross loss, we’re showing the actual values of gross profit and loss.
We’ve also added RTY for Strategies 17 and 33 to the update. Both backtested well when we compared the NQ futures contract with the RTY contract in the post: Which Equity Index Will Lead To The Holy Grail Of Automated Trade Strategy: NQ Vs. RTY. While both have less than 253 trades in the year, they also have a high profit factor so we’re going to continue to track/test these strategies under the RTY contract as well.
Finally, to make room for these changes, we’ve removed the ‘# of trading days’ column in lieu of a note at the bottom of the chart since the number of trading days for each strategy is the same at 253.
With that, let’s dive into the update.
September Vs. November
So where do we stand in comparison with our last update?
The table below provides the backtest results from our last update: 8/30/2020 - 8/30/2021
For links to all strategies click here.
The following table provides the backtest results for the current or most recent update: 11/01/2020 - 11/01/2021
First, let’s review what the trend was coming into the September update. In general, we had a deterioration from July to September. This is an excerpt from the September update:
“Average profit factor for the entire portfolio decreased from 1.26 to 1.24 and average net profitability decreased from $98K to $89K. Profit per day decreased from $388 to $355 and profit per trade decreased from $145 to $116. The number of profitable trades also decreased slightly from 44% to 43%.”
Most of the deterioration occurred with optimized strategies (marked in yellow on the chart). When we removed optimized strategies from the portfolio the metrics improved. What we’ve found over the year is that as much fun as optimized strategies are to ‘hunt’, they are more prone to overfitting and therefore have highly inconsistent results.
Now let’s get to what we found in the most recent update:
For the year, net profit for the total portfolio decreased slightly from $2,788,075 to $2,746430 with a total max drawdown of $689K. The portfolio profit factor increased from 1.24 to 1.35 on fewer trades. In addition to a higher profit factor, we also have a lower max drawdown percentage from 8% to 7%. We also saw a decrease in average profit per strategy from $90K to $78K along with a 2% increase in the number of profitable trades. The decrease in net income led to a drop in profit per day from $355 to $310, however, because the number of trades decreased and the profit factor improved, the profit per trade increased from $116 to $188. So even though net profit decreased, this is a leaner portfolio; it’s more efficient. This is often the tradeoff in performance.
The bigger question, or the question you should be asking yourself, is how can I guarantee this will happen again next year? Unfortunately, the answer is “you can’t” and don’t believe anyone that says you can. All we can do is track how these strategies perform over time. Specifically, we are looking for consistency, which is why we conduct an update every two months like the one you’re reading now. We continue to mine and isolate the attributes of our top performing strategies with consistent results. The goal is to take the best attributes from the best performing strategies to create the holy grail of trade strategy.
In September, we published a post titled: Top 5 Strategies By Performance. It gives an overview of the top 5 strategies in each category (based on data from the September update). This is a summary of the post:
Strategy 3 has the highest net profitability at $331K.
Strategy 3 has the highest profit per day at $1,311.
Strategy 3 has the highest daily cumulative profit at $331K.
Strategy 8 has the highest percent profitability at 58%.
Strategy 10 has the highest return on max draw at 1958%.
Strategy 23 is the only strategy in this range with a drawdown of less than 1%
Strategy 23 has the lowest daily net profit at $1,675.
Strategy 25 has the highest daily net profit at $19K.
Strategy 28 has the lowest daily cumulative profit at $9,690.
Strategy 28 has the highest profit per trade at $525/trade.
Strategy 32 has the highest profit factor at 1.93.
Subscribers, click here for a link to a discussion on how we used these top strategies to mine for the specific attributes that make these some of our best strategies. We will include an update to this post in the annual report for subscribers in the beginning of January 2022.
Profit Factor
We want to take some time in this update to focus on profit factor (gross profit / gross loss). It is our primary gauge of performance. Specifically, we want to track how consistent the profit factor is from the September update to the November update. Actual net profit might change, but all we really care about is profit factor from a consistency perspective. The following table provides an overview of the profit factor increase from the last period to the current period.
First, a bit on how to read this table:
The right side is the strategy.
The left side is the change in profit factor from the last update.
All strategies marked in yellow have been optimized.
All strategies marked in blue experienced a considerable change in profit factor (at least .03 points) from the last update.
All strategies with an “*” have less than 253 trades for the year.
Based on our logic, everything in white would be considered “consistent” from the September update to the November update. So that’s strategies: 1, 2, 3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 31 and 35. Everything in blue would not be considered consistent. Some strategies experienced an increase with the September update, like Strategy 4, but are now back to where they were with the July update. This could be a kind of consistency as well. We are in the process of creating a graph to visually track the profit factor over time. This should provide more insight into what ‘longer-term consistency’ looks like.
We also noticed the following:
Almost all optimized strategies, except for Strategy 13, experienced a considerable change.
Almost all strategies with less than 253 trades, except for Strategy 31 and 35, had a considerable change.
What does this mean? It means our previous observations are supported here as well: optimized strategies and strategies with a low trade count tend to have inconsistent backtest results. This does not mean that the strategy is not ‘good’, it simply means that we can’t trust the backtest results as much as we can for unoptimized strategies or strategies with more than 253 trades per year. It also means that these strategies will require more time than others to determine consistency. It also suggests that many of our earlier strategies are consistent, while our more recent strategies are not. Again, this does not mean that these strategies are poor performers, but our only means of testing a strategy is with a backtest so we must focus on those strategies that we know are more consistent with backtest results. Going forward, we will not be publishing/recording any optimized strategies or strategies with less than 253 trades for the year.
Some of you may be asking, why not just extend the backtest period until you get 500+ trades? It’s a good question. We did just that and conducted an audit to test the data. The further back you go, the more issues we found with the data and we used several data sources. So for now at least we’re only backtesting on the most recent 12 month period.
Answers to Some Commonly Asked Questions:
Perhaps one of the most commonly asked questions we get is, how much do I need to get started? This is hard to say because it depends on many things, but ultimately you want to set your simulated account to an amount that is equal to the max drawdown plus some amount to buffer for negative attributes like a low profit factor. For more on what we think is the best way to approach this question for yourself, click here.
We continue to receive questions about funded trader programs. There is no easy answer to this question, but we can tell you for certain that the answer does not lie with one of our strategies. I passed the test with 5 days to spare, but it wasn’t with one of our strategies. So there’s no need to subscribe if that’s what you’re looking for. That said, we can give you some guidance on what you need to think about in order to pass. For more on what we think about the best way to approach funded trader programs click here.
In general, one of the most common questions we get pertains to the use of our strategies on other assets like crypto. You can read more about that in the post: Do our strategies work on cryptocurrencies? We’re also looking at other equity indices and asset classes. For a post on what we found when comparing NQ to RTY, click here. We also recently started a series that looks at futures contracts for other assets like commodities, bonds and forex. The first strategy in the series was Strategy 36 because it has the highest profit factor. You can view the results here. Going forward, each backtest will have its own post.
Another commonly asked question is in regards to overfitting. You can read the following posts to learn more about overfitting and what we’ve done to reduce its impact: Overfitting: What is it and what can we do about it and What Are We Doing To Ensure Backtest Accuracy? A few months later, we received a question regarding strategy strength and what optimization tools we’re using to increase robustness. We answered that question in the post: How Can You Tell If An Automated Trading Strategy Will Perform Well Over Time? After writing these posts, we became interested in creating a strategy that optimizes in real time. That is, how can we can optimize a strategy as close to the event as possible. In this way, the optimization is still based on backtest results, but the data used in the backtest is based on a very short period of time. Theoretically, overfitting should be less of a problem the closer the optimization occurs to the event. You can read more about this here.
One of our subscribers told us that the strategies were too hard to understand. To this we say, “Ask us anything. We’re here to help.” Practice on Strategies 1 and 5 (both are free) first and then ask us if you have any questions. Also, unlike most websites, we give you a full description of the strategy so you have the mechanics of the strategy, not just a license to use it.
Another common complaint/question we get is: Your free strategies aren’t that good. Why is that? I agree, that’s why we’re giving them away. The goal is to show you how our process works.
One of the most commonly asked questions we get is: How do I learn how to create automated strategies for myself? Our advice is to use the resources provided by Ninjatrader. We receive no remuneration for saying this. We are saying this because we like the platform and they have some great classes online. To learn more about their daily training programs, click here. See below for an overview of the kind of training they have and it’s all free.
What’s in the pipeline:
We just started a weekly update series. The goal of the series is to track strategies on a weekly basis to see if we can discover how to select the holy grail of trade strategy. It is based on the premise that the holy grail of automated trade strategy is not static, but fluid or rather made up of multiple strategies. To read more about that, click here. We’re going to call the weekly update the ‘Mudder’ Report. If you don’t understand why, you will after reading the article. Some of you got upset because we used a horse race analogy. This is the ultimate hunt, not a horse race, we get it. But, we can gain insight by looking at the hunt from different angles. Looking at strategies on a weekly basis helps to understand what’s happening between each update.
We’ve had several requests to publish the Mudder Report on Sunday and we’re going to make every effort to do so, but it also dawned on us that some people might be using the Mudder Report to actually trade live. Our goal is not to predict or recommend what to trade in the following week. It’s always fun to try your luck on a simulated account, but if you use the weekly update to trade live, you will get burned. Our goal in developing the Mudder Report is to aid in the development of a few working theories for the holy grail of automated trade strategy, which we believe could be any one or more of the following:
static
a moving target (uses multiple strategies)
made up of multiple contracts using a static strategy
made up of multiple contracts using multiple strategies.
We also have several new strategies coming out in the next two weeks. Stay tuned.
If you have any questions, feel free to contact us directly at automatedtradingstrategies@substack.com.