SingleSip: open-source and free next-gen trading bot for hundreds of cryptocurrencies. Integrated backtesting, data acquisition, evaluation, A/B testing and trading.
SingleSip is organized into backtesting, A/B testing and evaluation. Some Python, Tensorflow and finance experience is required to get the most out of the project. If you have the required knowledge and spend some time adjusting settings, the model should work well. That being said, this project is not plug-and-play, due to the complexity of the technologies used and the dynamic nature of financial markets.
The setup is somewhat complicated. You will want to sign up for CoinAPI and Poloniex, as well as create a Telegram bot for live info on trading and testing. Next, follow these steps:
- Create a new Conda environment with Python 3.10.14. I personally recommend using Miniconda
- Run
pip install -r requirements.txtin the main folder - Create the configuration file by running
python dryrun.py - Explore and populate the configuration values. They are documented in CONFIG.md
- Run
dryrun.pyagain to train your model. The model should be in themodelsfolder - Change the
modelconfiguration setting inconfig.yamlto the model path that you just trained on - Run
evaluation.pyto determine if the model is profitable on average. If it is not, consider adjusting settings inconfig.yamluntil it is. - Run
run.pyto start trading. You will have to run/starton the Telegram bot and authenticate for live trading updates.
telegram_test.py- Probably not needed for most use cases - you can test if the Telegram bot is working by running this fileevaluation.py- Used to evaluate a singular model and find the average profit and outperform statistics for a selected modeldryrun.py- Used to backtest and train a singular modeltesting.py- Used for A/B testing. Comes with an integration with Telegramrun.py- Used for live trading. Comes with an integration with Telegram
Several technologies were used in the making of this project. Here is a non-exaustive list of the major ones:
- polosdk - Poloniex SDK
- Tensorflow - Used to train the models
- python-telegram-bot - Wrapper for Telegram, used for the integration with trading
- PyTorch Lightning - An integration with PyTorch Lightning (via pytorch_forecasting) is still in development
If you would like to report a bug, feel free to report it in our Issues tracker.
If you are looking for specific help with your integration of SingleSip, please contact me through the contacts on my profile.