Hello there ๐! Thanks for your interest in TradeBot by Dan Healy.
TradeBot is a two tiered system to
- predict the direction Bitcoin prices will go in the future and
- trade on those predictions for profit.
From 2/11/2019 to 1/31/2020, we've made predictions in real time every 15 minutes, recorded and and time stamped the results on the Bitcoin blockchain. This repo has the time stamped files so you can examine the results yourself.
The primary strategy has made a return of 188%, a 30% higher return than Bitcoin.
If you're skeptical of these results--who doesn't make money in a bull market?-- we performed walk forward tests for Bitcoin and Ether for the year 2018, when BTC lost 65% of its value and ETH lost 80% of its value.
The results: a 3% loss in BTC and an 11% gain in ETH. That's a relative performance of 277% and 556% ๐ค.
Detailed supplementary analysis is available in PredictingBitcoin.pdf, Backtesting.pdf, and Volatility.pdf. Our technical methods are described in TechnicalPresentation.pdf.
Finally, correlation.mp4 shows the scatterplot of relative frequency of prediction vs change in price, over 30 days. Take a look to see the direct relationship between predictions and price change.
For a walk through the presentation, or questions about any of the above, email me at [email protected].
To easily use this package, you will probably need to:
- Install pipenv--pip install pipenv
- pipenv shell
- pipenv install pandas
- pipenv install matplotlib
It may work by default if you have an existing python environment.
The basic suite of commands is in run.py. This includes simulating all variants based on 1/0 buy/sell values, and plotting/animating the moving average of the predictions.
Uncomment "adjust_arrays" in plot_moving_average.py in order to see the predictions shifted to the right. This has been a useful way to visualize future price change for the 10 day MA.
Note on the "translator" function in run: the original names for the strategy variants are confusing and don't match those used in the write up, which are superior. So, the translator functions translate the time stamped file names into the more understandable and accurate ones used in the paper.
All OTS files/zips containing predictions are in /stamps; the unzipped CSVs are in /variants, for your convenience.
Stamp Erratum: Note: Around 1/31/2020, TradeBot began to suffer infrastructure issues that led to performance degradation and made the data unusable, which is why we halt there. The data is left available for verification. For June 3, there is no timestamp; June 21 has a stamp that is improperly named as June 22; and June 22 is stamped around 12 hours later than it should be. All others are stamped at 11:55 PM UTC the night of the date they are named for.