Finally, in part 3 we talked about the intricacies of placing and judging entries (and the associated entry price), exits, and the rules for placing stops.
Now that we finally know how to trade, we can start backtesting our amazing strategy. If you're new to the series, we're building a simple moving average crossover strategy. In doing so, we're going to be backtesting this strategy manually, which means a whole lot of manual work, but since the strategy is so simple, everyone can do it. The question is: can you do it?
We're going to be trading our strategy long-only, and these are our rules:
- Entry: if the EMA(10) crosses up above the EMA(21) we're going to be entering long.
- Exit: if the EMA(10) crosses below the EMA(21) we're going to be exiting.
- Stop: At most recent obvious swing low.
No one ever thought I would get around doing the work myself, to show that it's actually doable, and really not that hard, so here we go. Here are 100 trades of this strategy in one of my most favorite timeframes to test, and that is right after the 2017 bubble high, following into the extremely low volatility over the coming year. The reason I like to start testing a strategy like this on this particular timeframe is the aforementioned low volatility. If you were around during that time, at the end, we were happy about a 10 Dollar move in a day. And because we're testing a strategy that tries to profit from trends, a low volatility environment is a good starting point. If a trend strategy survives a low volatility environment, it's probably not that bad.
I have to add, though, doing a backtest like this, is technically not very good. There are far better, and more advanced, ways to get a qualitatively better backtest. Including doing an in-of-sample first, then doing an out-of-sample test, some walk-forward testing, and then running a live test. These topics are far too advanced for this little series. I want to teach you basic concepts, that should get you pretty far, for quite a while, and hopefully help you not get stuck in the same traps that I did.
What you're reading here, is the culmination of two to three years of reading trading books now. If you're still reading this, I'm assuming, you really do play with the idea of becoming a "fulltime trader" one day, or want to "make it as a trader". If you find these things boring or hard, they are. In the end you really have to ask yourself one thing:
How bad do you really want it?
When I tell you, you have to backtest at least 100 trades doing the rules we defined above manually, are you looking forward to that activity? If not, you're welcome to the club. I don't like doing these things either. The thing is, no one of your crypto noob friends are going to this work either. Do you want to get ahead of your competition or do you not want to get ahead? If you can't make yourself do a little backtest, then please ask yourself: what are you doing here? Do you really really really want to become a trader? Because if you don't, then invest with an automated fund, ETF, or whathaveyou. Trust me, it's really not worth your time going any further, if you don't want to put in the time and effort as well. Do something else.
I'm a really bad trader myself. At some point I thought making more and more money is what it's all about, and I agree it is, but it's also not and I can tell you why. Have you read one of the Market Wizards books by Jack Schwager? If not, then please do. Read just one of them. They are full of anecdotes of some of the most successful traders that ever lived.
Let's disregard for a moment that what these people achieved entails a great deal of luck. Let's also disregard how big these statistical outliers are. Just for a moment, think about all the people working in hedge funds, at exchanges, or in high-frequency trading firms. These companies do not hire any schmock that comes around. You have to train, and study, and work your way into one of these jobs. What makes you think that you will be outperforming any of these people, if the greatest of the greatest can't even "beat the market?" What makes you think you might have one tenth of the skill of any of these people, if you can't even sit down for 30 minutes, and do a short little manual backtest?
Enough pep-talk. Here's the result of my stupid backtest. Why did I make myself do this? I'm so angry right now.
Losses Wins Count 68 32 Sum 177.36 308.68 Average 2.61 9.65 Median 2.27 4.26 Minimum 0.17 0 Maximum 8.57 42.15 Net Profit 131.32
Overall we can see that this strategy seems to have been profitable, which is a good first sign to investigate the rules further.
A few caveats:
- Right now we assume no trading costs. Normally every time we buy and sell, we have to pay trading fees. Depending on the exchange this is about 0.1% for each sell and buy. (Net profit after trading fees 111.32%)
- The stop loss wasn't even hit once in this entire test, which means the cross happened always before the swing low was invalidated.
- With a strategy without profit target we're 100% dependent on the average winner size outperforming the average loser size. Even the median winner is bigger.
- This strategy has a low win rate. Only about 30 of the 100 trades were winners. If you'd trade this by yourself, would you be able to stomach that 70% of your trades are losers?
- The stop losses are pretty wide, which is a problem for people who think they need a tight stop loss.
You can find the chart with the backtest here. For all the losses I removed the "green" profit rectangle, but kept it for all the winners. This way you can easier see how I set the stop losses. Below is a list of all the trades.
Doing this manual backtest took me about 2 hours. If you are new to trading, and trading crypto specifically, please do yourself a favor. Next time when you hear another "great" strategy from an influencer, please backtest the strategy at least once.
There's still room for improvement for our strategy, which is something we're going to explore in the upcoming parts of this series.
Because this series is quite a bit of work, I'd appreciate a small donation to my Bitcoin wallet:
List of Trades
|Losses (in %)||Wins (in %)|