/cryptools

Primary LanguageJupyter Notebook

Cryptools

A user-friendly playground for strategists to build, experiment, deploy and analyze different crypto trading strategies! Note: The tool is currently designed for personal use and not for production level use.

Setting up (Windows)

  1. Download and install Anaconda (for Python3 Windows 64bit)

  2. Open Anaconda Navigator (optional: register to share and/or keep track of your environments across machines) and install jupyter lab

  3. Create a conda environment and install the following dependencies:

  • pandas
  • pyyaml
  • import_ipynb
  • mysqlclient
  • ccxt
  1. Download MySQL installer to install and configure MySQL server

  2. Download and install MySQL workbench - a friendly interface to work with the database

  3. Start MySQL server using the following parameters

--local-infile=1
--secure-file-priv=""
  1. Run setup-db.sql in the workbench

  2. Set up config.yml (see config.yml.example file)

  3. Launch jupyter lab from ./playbook, code strategies and run! Go to main.ipynb and change the "strategy" section.

Overview

Database Layout

alt text

Reference and Documentations

  • mysqlclient - MySQLdb - apparently the fastest compare to other Python MySQL connectors

  • ccxt - manual for ccxt library (collection of many crypto exchange api wrappers)

Next

Vote for priority by incrementing the number in [].

  • Support for backtesting (catalyst) and storing performance results [1]
  • Visualization summary of performance results of different strategies [1]
  • Analysis tools for comparing results of different strategies [1]
  • Support auto-update of order details in database [1]
  • Support analytics and alternative data [1]