[Video] Bitcoin Auto-ML Machine-Learning Model Enhancement Live
Crypto-ML is pleased to announce the release of an enhanced Bitcoin Auto-ML machine-learning model. This change gives a 21% improvement in performance. Whereas we have previously announced updates to models, we wanted to provide more depth as to how this enhancement was discovered, vetted, and deployed. So in this video and post, we’ll cover:
- Some of the details behind this change
- What users can expect
- An explanation of how these changes are identified and tested
Please note that as of this writing, the Bitcoin Auto-ML trade position remains open. It was “BUY” before and after the update.
You’ll find both a video deep dive here and text below covering the material.
Bitcoin market context
As discussed in our post How Does Crypto-ML Handle Narrow Trading Ranges, 2018 has largely been characterized by consolidation of price movements. We are continuing to see narrower and narrower ranges. As this occurs, we want to ensure we have a model that can:
- Handle small trading ranges effectively
- Still capture large breakouts if one occurs
Oftentimes, a strategy that works well for small trading ranges will be quick to close out winning trades. The downfall is this may mean you miss out on a large price run because you close too early. Based on Bitcoin price history, it has been best to optimize for large price movements.
Machine learning is evolving
The good news is when you use a machine-learning model as your basis, you can allow your strategy to evolve as situations change. In the past, we have released numerous updates to our models, such as:
- Machine Learning Enhancements for Ethereum and Bitcoin Cash Now Live
- Bitcoin Machine-Learning Model Enhanced
As new data is obtained, it’s possible to see new patterns and react better to future scenarios. (Learn more in our post How to Use Machine Learning to Trade Bitcoin and Crypto.)
Data ranges considered and improvements realized
One of the key factors to consider is what sets of data are most “relevant” to the current trading paradigm.
- In 2017, we were in a bull market, with wild swings up.
- In 2018, we saw a partial reversal of the 2017 run and a dominant bear market
These are two very different periods. Further, the start of 2018 was punctuated with a strong selloff of the late-2017 run but then evened out for approximately the last 8 months.
Our machine learning focus has largely been on this last 8 months period, which we’ll call the relevant range.
Testing machine-learning model enhancements
If our models see new patterns forming in the relevant range, it’s important to see how those patterns operationalize and also how they play into the big picture. There are numerous statistical tests we can run, but a couple of the major tests we consider are:
1) Data withholding: In this case, we may build or tweak our model based on a random 80% of the data. We then test the resulting model against the remaining 20%. This helps ensure the model isn’t just a fit of the data and that it is actually identifying useful patterns.
2) Trade quantity: If a model is able to grab the majority of upswings with a few trades, that may just be the model fitting itself to this exact set of data. It wouldn’t hold up in the future. But if it consistently generating trades, it is doing so off of real patterns that are repeating regularly. We want to see a solid number of trades and we want to see that those patterns occur in other data sets, which leads us to the final major test…
3) Testing against alternate paradigms: If a model is generated based on our relevant range, we can then go apply the model back to other time periods. For example, the model may work well during the consolidation of the last few months. But how does it work during the run-up of 2017? And how does it work during the crash of early 2018? What about other scenarios?
That last test is the most critical. We don’t want to change a model that helps us now, but may cause us to miss out on a huge spike in the future. Additionally, if we have a model that works well during the last few months but also works well in totally different market paradigms, then we know we have something very effective.
Auto-ML enhancement details
With that background info in mind, here is a breakdown of how Auto-ML performs with the enhancement.
- “Account Value” is the growth of a hypothetical $1,000
- “Trades” is the number of closed trades
- “Return Net of Fees” subtracts an estimate of trading fees based on Coinbase Pro structures
You’ll see the before and after changes along with a percentage improvement for each row.
Relevant range improvement
Based on the primary data considered, this is how the updated Bitcoin Auto-ML model performs in a period of consolidation. Fundamentally, it appears to be adjusting entry points and optimizing for smaller ranges.
You can see strong changes in our primary metric (Account Value), with a 25% improvement in performance.
Before | After | Change | |
---|---|---|---|
Account Value | $1,640.53 | $2,051.62 | +25% |
Trades | 21 | 22 | +5% |
Return Net of Fees | 47% | 85% | +81% |
Expanded range improvement
This model has been applied to completely separate datasets (such as those mentioned earlier), but if we look at a dataset inclusive of all of 2017 and 2018, we still see strong benefits, including a 21% Account Value improvement.
You’ll also see that this model issued significantly more trades. The fees then offset some of the benefits though it is still positive. The “Return Net of Fees” is a very important consideration to avoid trading at too high a frequency.
Before | After | Change | |
---|---|---|---|
Account Value | $11,411.85 | $13,776.00 | +21% |
Trades | 68 | 92 | +35% |
Return Net of Fees | 788% | 870% | +10% |
Conclusion
This provides a behind-the-scenes look at how updates to the Bitcoin machine-learning models can be evaluated.
- If you haven’t already, we highly recommend you read about Auto-ML and turn it on in your notification settings.
- Or if you are not yet a Crypto-ML member, you can learn more about Crypto-ML and sign up for the waitlist.