Backtesting Crypto Trading Strategies with Python & C++ 2021

Use Python and the Power of C++ for High-Performance Backtesting and Optimization of your Trading Strategies

Backtest your trading ideas before implementing them in real conditions!
Backtesting is an essential step when elaborating a trading strategy. This course will explain how you can use programming to estimate the potential performance of your strategy and avoid unpleasant surprises in live trading.
By the end of the course, you will be able to build your own backtesting framework and comfortably use all its features.
Collect and store large amounts of market data
Before starting to backtest, you need to have a reliable system that collects, stores and organizes the data. You will learn how to fetch data from any cryptocurrency exchange (Binance, FTX…) and store candlestick data efficiently in a powerful file format: HDF5. Many developers do not yet know about this file format, so you will have the upper hand by learning it!
Get your coding skills to the next level with Python AND C++
Python serves as the ideal programming language for building the main features of your backtesting system. You will also use the Pandas library to calculate technical indicators from scratch and control the output of this calculation with precision.
But that’s not all: Do you want to perform backtesting on a large amount of data with many complex operations? This requires a lot of computing power, and this is where C++ coding can be incredibly useful. You will be surprised to discover that C++ is not as scary as it may seem.
Have a scientific approach to your backtesting: use an optimization algorithm!
This course is ambitious, and it addresses real-world problems: you’ll want to find parameters for your strategy that will maximize its performance. To help you with this task, you will learn how to write an optimization algorithm from the Genetic Algorithm family: NSGA-2. When it comes to backtesting, this approach is unique, and you won’t find it anywhere else.
Most of the content of this course can be applied to traditional markets like the stock market.
Disclaimer: This course is not investment advice. The trading strategies are presented as examples.

What you’ll learn

  • Collect Data from Cryptocurrency Exchanges through their REST API.
  • Store Data using the HDF5 format.
  • Use the Pandas library to calculate Technical Indicators.
  • Backtest various types of strategies and prepare to backtest your own.
  • Link a Python and C++ Program.
  • Use C++ to perform heavy calculations.
  • Use Visual Studio Code and CMake to Create a C++ Library.
  • Avoid common mistakes when backtesting.
  • Optimize your backtesting results with a Genetic Algorithm.
  • Implement the NSGA-2 Algorithm.

Course Content

  • Introduction –> 3 lectures • 14min.
  • Setting Up the Coding Environment –> 3 lectures • 6min.
  • Market Data Collection –> 8 lectures • 1hr 4min.
  • Storing the Market Data to an HDF5 Database –> 6 lectures • 46min.
  • Strategy Backtesting With Python –> 13 lectures • 1hr 58min.
  • High-performance Backtesting with C++ –> 11 lectures • 2hr 23min.
  • Backtesting Optimization –> 10 lectures • 1hr 45min.

Backtesting Crypto Trading Strategies with Python & C++ 2021

Requirements

  • Basic Python knowledge (know what a class/object is, dictionaries, lists, functions, loops, etc.).
  • Basic knowledge about trading (what candlesticks are, Long/Short…).

Backtest your trading ideas before implementing them in real conditions!
Backtesting is an essential step when elaborating a trading strategy. This course will explain how you can use programming to estimate the potential performance of your strategy and avoid unpleasant surprises in live trading.
By the end of the course, you will be able to build your own backtesting framework and comfortably use all its features.

Collect and store large amounts of market data
Before starting to backtest, you need to have a reliable system that collects, stores and organizes the data. You will learn how to fetch data from any cryptocurrency exchange (Binance, FTX…) and store candlestick data efficiently in a powerful file format: HDF5. Many developers do not yet know about this file format, so you will have the upper hand by learning it!

Get your coding skills to the next level with Python AND C++
Python serves as the ideal programming language for building the main features of your backtesting system. You will also use the Pandas library to calculate technical indicators from scratch and control the output of this calculation with precision.
But that’s not all: Do you want to perform backtesting on a large amount of data with many complex operations? This requires a lot of computing power, and this is where C++ coding can be incredibly useful. You will be surprised to discover that C++ is not as scary as it may seem.

Have a scientific approach to your backtesting: use an optimization algorithm!
This course is ambitious, and it addresses real-world problems: you’ll want to find parameters for your strategy that will maximize its performance. To help you with this task, you will learn how to write an optimization algorithm from the Genetic Algorithm family: NSGA-2. When it comes to backtesting, this approach is unique, and you won’t find it anywhere else.

Most of the content of this course can be applied to traditional markets like the stock market.

Disclaimer: This course is not investment advice. The trading strategies are presented as examples.