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.txt
in 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.py
again to train your model. The model should be in themodels
folder - Change the
model
configuration setting inconfig.yaml
to the model path that you just trained on - Run
evaluation.py
to determine if the model is profitable on average. If it is not, consider adjusting settings inconfig.yaml
until it is. - Run
run.py
to start trading. You will have to run/start
on 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.