Cryptocurrency Algorithmic Trading With Python And Binance

Tags: Binance

Create powerful Trading Strategies and fully automated AWS Trading Bots for Bitcoin & co. | Spot and Futures Trading

Last updated 2022-01-10 | 4.7

- Build automated Crypto Trading Bots with Python
- Binance and Amazon Web Services (AWS)
- Spot Trading and Futures Trading
- Create powerful and unique Crypto Trading Strategies

What you'll learn

Build automated Crypto Trading Bots with Python
Binance and Amazon Web Services (AWS)
Spot Trading and Futures Trading
Create powerful and unique Crypto Trading Strategies
Rigorous Testing of Strategies: Backtesting
Forward Testing and live Testing (Paper Trading)
Deep Dive into the Binance API (Spot & Futures)
API Trading with Binance and many other Exchanges (FTX
Kraken
...)
Truly Data-driven Trading and Investing
Margin Trading (Leverage)
Understand Trading: Order Types
Commissions
Bid-Ask-Spread
Slippage
Liquidation
etc.
Load Historical Market Data (Price
Volume and more) from Crypto Spot & Futures Markets
Get programmatic access to many Crypto Exchanges with the CCXT Library
Python Coding and Object Oriented Programming (OOP) in a way that everybody understands it
Coding with Numpy
Pandas
Matplotlib and Seaborn
Fully automate and schedule your Trades on a virtual Server in the AWS Cloud
Stream high-frequency real-time Cryptocurrency Data
Understand
analyze
control and limit Trading Costs

* Requirements

* No Python experience needed. This course provides a Python Crash Course.
* No Finance/Trading knowledge required. You will learn everything you need to know.
* A desktop computer (Windows
* Mac
* or Linux) capable of storing and running Anaconda. The course will walk you through installing the necessary free software.
* An internet connection capable of streaming HD videos.
* Some high school level math skills would be great (not mandatory
* but it helps).

Description

  • Build automated Crypto Trading Bots with Python, Binance and Amazon Web Services (AWS)
  • Spot Trading and Futures Trading
  • Create powerful and unique Crypto Trading Strategies
  • Rigorous Testing of Strategies: Backtesting, Forward Testing and live Testing (Paper Trading)
  • Deep Dive into the Binance API (Spot & Futures)
  • API Trading with Binance and many other Exchanges (FTX, Kraken, ...)
  • Truly Data-driven Trading and Investing
  • Margin Trading (Leverage)
  • Understand Trading: Order Types, Commissions, Bid-Ask-Spread, Slippage, Liquidation, etc.
  • Load Historical Market Data (Price, Volume and more) from Crypto Spot & Futures Markets
  • Get programmatic access to many Crypto Exchanges with the CCXT Library
  • Python Coding and Object Oriented Programming (OOP) in a way that everybody understands it
  • Coding with Numpy, Pandas, Matplotlib and Seaborn
  • Fully automate and schedule your Trades on a virtual Server in the AWS Cloud
  • Stream high-frequency real-time Cryptocurrency Data
  • Understand, analyze, control and limit Trading Costs

Course content

29 sections • 374 lectures

Welcome and Introduction Preview 02:31

Did you know...? (a Sneak Preview on Crypto Trading) Preview 05:50

How to get the best out of this course Preview 05:27

Student FAQ Preview 02:11

*** LEGAL DISCLAIMER (MUST READ!) *** Preview 01:34

Course Overview Preview 06:25

Investing vs. (Algorithmic) Trading Preview 14:46

Asset Classes, Money and (Crypto-) Currencies Preview 11:32

What is a Stable Coin? Preview 06:00

Why Trading Cryptocurrencies? Preview 06:45

Why using Binance? Preview 08:46

Spot Trading vs. Derivatives (Futures) Trading (Part 1) Preview 08:13

Spot Trading vs. Derivatives (Futures) Trading (Part 2) Preview 10:34

[Article] Algorithmic Trading 101 and how to start Preview 02:27

Binance.com and Binance.US at a first glance Preview 12:35

How to get a 10% Discount on Trading Commissions Preview 00:14

Registration and Identity Verification Preview 06:03

How to instantly buy your first Cryptos Preview 06:00

Deposits and Withdrawals (Part 1) Preview 07:58

Deposits and Withdrawals (Part 2) Preview 05:24

The first Spot Trade (buy Bitcoin) Preview 10:32

Trade Analysis and Trading Fees/Commissions Preview 10:01

Another Spot Trade (sell Bitcoin) Preview 03:26

Limit Orders vs. Market Orders Preview 06:37

Take-Profit Orders Preview 03:56

Stop-Loss Orders Preview 06:52

The Order Book Preview 05:39

Bid-Ask-Spread and Slippage Preview 07:35

Total Costs of a Trade (visible vs. hidden Costs) Preview 04:26

Liquidity and Market Depth Preview 04:19

Introduction to Charting and Technical Indicators Preview 09:38

Introduction Preview 01:32

Download and Install Anaconda Preview 08:08

How to open Jupyter Notebooks Preview 09:29

How to work with Jupyter Notebooks Preview 14:00

Tips for Python Beginners Preview 01:54

Overview Preview 02:59

Getting the API Key & other Preparations Preview 03:58

Commands to install required packages Preview 00:14

How to install the Binance API Wrapper Preview 02:22

Connecting to the API/Server Preview 04:15

Troubleshooting (BinanceAPIException Error) Preview 00:21

Retrieving general account/system Info (Part 1) Preview 10:10

Retrieving general account/system Info (Part 2) Preview 06:53

Getting (current) Market Data Preview 07:22

How to load Historical Price & Volume Data (Part 1) Preview 07:10

How to load Historical Price & Volume Data (Part 2) Preview 14:04

Excursus: Loading Historical Data (csv) from the Website Preview 05:21

Streaming real-time Market Data (Part 1) Preview 07:21

Important notice for Binance.US users Preview 00:08

Streaming real-time Market Data (Part 2) Preview 02:45

Streaming and collecting real-time Candles Preview 08:50

Placing a Test Order Preview 04:15

The Binance Spot Test Network Preview 04:00

Creating a Connection to the Spot Testnet Preview 02:29

Spot Testnet API - Overview Preview 06:38

Placing a Market Buy Order Preview 08:16

Placing a Market Sell Order Preview 02:15

Placing Limit Orders Preview 06:55

Reporting: Getting all (historical) Orders and Trades Preview 03:02

How to create & run a first (simple) Trading Bot Preview 06:16

Introduction and Overview Preview 03:57

Installing and importing required Libraries/Packages Preview 01:59

Loading Financial Data from the Web Preview 10:54

Initial Inspection and Visualization Preview 12:22

[Article] Loading Data into Pandas - advanced topics Preview 00:04

Normalizing Time Series to a Base Value (100) Preview 06:35

Coding Challenge #1 Preview 05:20

Price changes and Financial Returns Preview 09:03

Reward and Risk of Financial Instruments Preview 05:57

Coding Challenge #2 Preview 00:14

Investment Multiple and CAGR Preview 06:50

Compound Returns & Geometric Mean Return Preview 04:17

Coding Challenge #3 Preview 00:09

Discrete Compounding Preview 08:00

Continuous Compounding Preview 05:53

Log Returns Preview 02:21

Simple Returns vs Log Returns ( Part 1) Preview 06:04

Simple Returns vs Log Returns ( Part 2) Preview 05:42

Coding Challenge #4 Preview 00:10

Comparing the Performance of Financial Instruments Preview 09:37

(Non-) Normality of Financial Returns Preview 12:35

Annualizing Return and Risk Preview 04:51

Resampling / Smoothing of Financial Data Preview 07:44

Rolling Statistics Preview 09:05

Coding Challenge #5 Preview 00:19

Short Selling and Short Position Returns (Part 1) Preview 03:16

Introduction to Currencies (Forex) and Trading Preview 07:26

Short Selling and Short Position Returns (Part 2) Preview 04:44

Short Selling and Short Position Returns (Part 3) Preview 04:07

Coding Challenge #6 Preview 00:12

Covariance and Correlation Preview 07:09

Portfolios and Portfolio Returns Preview 03:57

Margin Trading and Levered Returns (Part 1) Preview 04:56

Margin Trading and Levered Returns (Part 2) Preview 08:52

Coding Challenge #7 Preview 00:14

Trading Strategies - Overview Preview 06:20

[Article] More on Trading Strategies Preview 02:11

Trading Strategies for Cryptocurrencies (best practices) Preview 04:44

How to create your own Trading Strategies Preview 06:09

[Article] The Lifecycle of a Trading Strategy Preview 03:33

Getting the Data Preview 03:24

Financial Data Analysis / Visual Inspection Preview 03:38

A simple Buy and Hold "Strategy" Preview 04:12

Performance Measurement Preview 05:11

Introduction Preview 04:45

Data Preparation Preview 04:57

Explanatory Data Analysis: Financial Returns and Trading Volume (Part 1) Preview 09:44

Explanatory Data Analysis: Financial Returns and Trading Volume (Part 2) Preview 04:50

Formulating a Long-only Strategy based on Price & Volume Data Preview 08:19

Strategy Backtesting Preview 07:38

Trading Costs Preview 08:20

Introduction Preview 00:16

Getting started Preview 01:27

Strategy Optimization (Part 1) Preview 10:19

Strategy Optimization (Part 2) Preview 03:59

Putting everything together: a Backtester Class Preview 10:26

Backtesting & Forward Testing (Part 1) Preview 04:43

Backtesting & Forward Testing (Part 2) Preview 05:03

Introduction Preview 00:15

Getting started Preview 01:19

Important notice for Binance.US users Preview 00:08

Recap: Streaming and Collecting Real-Time Candles Preview 04:21

Creating the LongOnlyTrader Class Preview 05:36

Working with historical data and real-time data (Part 1) Preview 06:23

Working with historical data and real-time data (Part 2) Preview 03:23

Adding a Long-Only Trading Strategy Preview 08:28

Placing Orders and Executing Trades Preview 08:16

Trade Monitoring and Reporting Preview 11:25

How to set/automate the stop of a Trading Session Preview 05:11

Introduction Preview 05:45

Getting started Preview 01:38

Recap: Explanatory Data Analysis and generating a Trading Idea Preview 02:00

Defining the Long-Short Strategy Preview 05:19

A Long-Short Backtesting Framework Preview 05:22

Strategy Backtesting Preview 07:36

A Long-Short Trading Framework Preview 05:40

Implementing and Automating a Long-Short Trading Strategy Preview 03:47

Preview: Running a Python Trader Script Preview 07:32

Introduction and Motivation Preview 02:50

Demonstration: AWS EC2 for Algorithmic Trading live in action Preview 07:09

Amazon Web Services (AWS) - Overview and how to create a Free Trial Account Preview 02:34

How to create an EC2 Instance Preview 07:58

How to connect to your EC2 Instance Preview 04:20

Required Installations and Downloads Preview 00:14

Getting the Instance Ready for Algorithmic Trading Preview 03:26

How to run Python Scripts in a Windows Command Prompt Preview 04:05

How to start Trading sessions with Batch (.bat) Files Preview 04:02

How to schedule Trading sessions with the Task Scheduler Preview 05:14

Creating an account on Binance Futures Testnet Preview 00:50

First Steps Preview 04:11

The first Futures Trade (Long) Preview 10:14

Trade Analysis Preview 06:58

A trade with Leverage Preview 04:10

The impact of Leverage Preview 05:42

A Short Trade Preview 03:39

Margin Requirements and Liquidation (Part 1) Preview 07:39

Margin Requirements and Liquidation (Part 2) Preview 12:01

Excursus: The Futures Calculator Preview 03:58

How to add Stop Loss to an open position Preview 03:53

Stop Loss (SL) and Take Profit (TP) Orders Preview 04:07

Margin Mode: Cross vs. Isolated Preview 08:15

Position Mode: One-way (Netting) vs. Hedging Preview 08:38

How to work with many open positions Preview 04:54

Introduction to the Funding Rate Preview 03:35

The Funding Rate explained (Part 1) Preview 06:14

The Funding Rate explained (Part 2) Preview 06:49

The Funding Rate explained (Part 3) Preview 03:18

The Funding Rate live in action Preview 02:55

Introduction Preview 06:55

Getting the Data Preview 01:26

Backtesting without Leverage and Trading Costs in the Futures Market Preview 05:22

Recap: Leverage and levered Returns Preview 00:59

Levered Returns: a more realistic approach Preview 10:34

The Futures Backtesting Class live in action Preview 05:28

How to adjust the Framework to (levered) Futures Trading Preview 09:03

The impact of Leverage on Trading Performance Preview 05:42

Introduction and Preparations Preview 02:38

The Binance Futures API Preview 13:14

How to change Settings and Modes Preview 05:30

Placing Market Orders (Part 1) Preview 07:42

Trade Analysis - Trade and Income History Preview 05:20

Placing Market Orders (Part 2) Preview 03:25

Getting Historical Futures Market Data Preview 05:04

Streaming Future Prices in real-time Preview 04:25

A Futures Trading Bot (Part 1) Preview 07:17

A Futures Trading Bot (Part 2) Preview 07:38

Introduction Preview 07:00

Preparations Preview 01:49

First Steps with CCXT Preview 06:05

General Exchange Information Preview 03:31

The Public API Preview 05:25

Loading Historical Data (Part 1) Preview 09:44

Loading Historical Data (Part 2) Preview 05:27

Streaming real-time Data (Part 1) Preview 05:12

Introduction to Multithreaded Programming Preview 05:22

Streaming real-time Data (Part 2) Preview 03:17

Streaming real-time Data (Part 3) Preview 03:32

Getting Historical Data and Streaming live Data Preview 07:32

The Private API Preview 04:56

How to connect to Testnets (Sandbox mode) Preview 02:40

Creating Orders and analyzing Trades (Spot) Preview 04:27

Creating Orders and analyzing Trades (Futures) Preview 06:36

A CCXT Spot Trading Bot Preview 08:44

Excursus: Generalization Preview 04:25

A CCXT Futures Trading Bot Preview 08:42

Introduction Preview 05:54

Creating accounts on FTX.com and FTX.us Preview 02:52

FTX and CCXT - an Overview Preview 05:43

What you should consider for Backtesting Preview 05:13

An FTX Spot Trading Bot Preview 04:42

Futures Trading on FTX Preview 00:04

An FTX Futures Trading Bot Preview 00:04

Intro to the Time Value of Money (TVM) Concept (Theory) Preview 06:01

Calculate Future Values (FV) with Python / Compounding Preview 03:29

Calculate Present Values (FV) with Python / Discounting Preview 02:38

Interest Rates and Returns (Theory) Preview 04:26

Calculate Interest Rates and Returns with Python Preview 03:47

Introduction to Variables Preview 05:04

Excursus: How to add inline comments Preview 02:50

Variables and Memory (Theory) Preview 01:57

More on Variables and Memory Preview 06:33

Variables - Dos, Don´ts and Conventions Preview 03:49

The print() Function Preview 04:09

Coding Exercise 1 Preview 09:00

TVM Problems with many Cashflows Preview 03:21

Intro to Python Lists Preview 02:22

Zero-based Indexing and negative Indexing in Python (Theory) Preview 02:47

Indexing Lists Preview 03:10

For Loops - Iterating over Lists Preview 07:48

The range Object - another Iterable Preview 04:56

Calculate FV and PV for many Cashflows Preview 07:35

The Net Present Value - NPV (Theory) Preview 07:47

Calculate an Investment Project´s NPV Preview 03:02

Coding Exercise 2 Preview 08:41

Data Types in Action Preview 06:07

The Data Type Hierarchy (Theory) Preview 03:30

Excursus: Dynamic Typing in Python Preview 01:38

Build-in Functions Preview 05:52

Integers Preview 03:18

Floats Preview 05:58

How to round Floats (and Integers) with round() Preview 05:10

More on Lists Preview 05:15

Lists and Element-wise Operations Preview 04:19

Slicing Lists Preview 04:33

Slicing Cheat Sheet Preview 00:03

Changing Elements in Lists Preview 02:44

Sorting and Reversing Lists Preview 03:48

Adding and removing Elements from/to Lists Preview 09:33

Mutable vs. immutable Objects (Part 1) Preview 09:04

Mutable vs. immutable Objects (Part 2) Preview 05:12

Coding Exercise 3 Preview 11:32

Tuples Preview 06:50

Dictionaries Preview 06:22

Intro to Strings Preview 08:47

String Replacement Preview 04:10

Booleans Preview 02:23

Operators (Theory) Preview 04:37

Comparison, Logical and Membership Operators in Action Preview 08:21

Coding Exercise 4 Preview 08:56

Conditional Statements Preview 09:04

Keywords pass, continue and break Preview 09:37

Calculate a Project´s Payback Period Preview 04:35

Introduction to while loops Preview 07:58

Coding Exercise 5 Preview 00:05

Defining your first user-defined Function Preview 06:07

What´s the difference between Positional Arguments vs. Keyword Arguments? Preview 05:35

How to work with Default Arguments Preview 05:27

The Default Argument None Preview 06:17

How to unpack Iterables Preview 04:40

Sequences as arguments and *args Preview 05:05

How to return many results Preview 02:42

Scope - easily explained Preview 08:16

Coding Exercise 6 Preview 00:04

Modules, Packages and Libraries - No need to reinvent the Wheel Preview 07:52

Numpy Arrays Preview 08:23

Indexing and Slicing Numpy Arrays Preview 03:13

Vectorized Operations with Numpy Arrays Preview 03:56

Changing Elements in Numpy Arrays & Mutability Preview 05:50

View vs. copy - potential Pitfalls when slicing Numpy Arrays Preview 04:45

Numpy Array Methods and Attributes Preview 05:13

Numpy Universal Functions Preview 03:59

Boolean Arrays and Conditional Filtering Preview 04:39

Advanced Filtering & Bitwise Operators Preview 06:11

Determining a Project´s Payback Period with np.where() Preview 04:50

Creating Numpy Arrays from Scratch Preview 05:56

Coding Exercise 7 Preview 00:05

How to work with nested Lists Preview 04:21

2-dimensional Numpy Arrays Preview 03:51

How to slice 2-dim Numpy Arrays (Part 1) Preview 05:36

How to slice 2-dim Numpy Arrays (Part 2) Preview 02:03

Recap: Changing Elements in a Numpy Array / slice Preview 03:39

How to perform row-wise and column-wise Operations Preview 04:33

Coding Exercise 8 Preview 00:05

Intro to Tabular Data / Pandas Preview 04:19

Create your very first Pandas DataFrame (from csv) Preview 09:09

Pandas Display Options and the methods head() & tail() Preview 06:41

First Data Inspection Preview 11:25

Coding Exercise 9 Preview 00:05

Selecting Columns Preview 06:05

Selecting one Column with the "dot notation" Preview 02:16

Zero-based Indexing and Negative Indexing Preview 03:04

Selecting Rows with iloc (position-based indexing) Preview 10:07

Slicing Rows and Columns with iloc (position-based indexing) Preview 04:39

Position-based Indexing Cheat Sheets Preview 00:02

Selecting Rows with loc (label-based indexing) Preview 03:14

Slicing Rows and Columns with loc (label-based indexing) Preview 10:21

Label-based Indexing Cheat Sheets Preview 00:02

Summary, Best Practices and Outlook Preview 06:30

Coding Exercise 10 Preview 00:05

First Steps with Pandas Series Preview 03:53

Analyzing Numerical Series with unique(), nunique() and value_counts() Preview 13:50

Analyzing non-numerical Series with unique(), nunique(), value_counts() Preview 07:17

The copy() method Preview 03:57

Sorting of Series and Introduction to the inplace - parameter Preview 08:59

First Steps with Pandas Index Objects Preview 05:57

Changing Row Index with set_index() and reset_index() Preview 10:07

Changing Column Labels Preview 03:20

Renaming Index & Column Labels with rename() Preview 03:51

Filtering DataFrames (one Condition) Preview 10:20

Filtering DataFrames by many Conditions (AND) Preview 04:45

Filtering DataFrames by many Conditions (OR) Preview 05:04

Advanced Filtering with between(), isin() and ~ Preview 08:35

Intro to NA Values / missing Values Preview 08:52

Handling NA Values / missing Values Preview 10:51

Exporting DataFrames to csv Preview 02:14

Summary Statistics and Accumulations Preview 10:26

Visualization with Matplotlib (Intro) Preview 08:48

Customization of Plots Preview 12:56

Histogramms (Part 1) Preview 04:34

Histogramms (Part 2) Preview 06:28

Scatterplots Preview 07:18

First Steps with Seaborn Preview 05:24

Categorical Seaborn Plots Preview 13:33

Seaborn Regression Plots Preview 12:21

Seaborn Heatmaps Preview 08:17

Removing Columns Preview 05:18

Introduction to GroupBy Operations Preview 02:02

Understanding the GroupBy Object Preview 08:05

Splitting with many Keys Preview 06:49

split-apply-combine Preview 09:36

Helpful DatetimeIndex Attributes and Methods Preview 06:24

Filling NA Values with bfill, ffill and interpolation Preview 10:07

Timezones and Converting (Part 1) Preview 04:36

Timezones and Converting (Part 2) Preview 04:48

Introduction to OOP and examples for Classes Preview 10:58

The Financial Analysis Class live in action (Part 1) Preview 04:58

The Financial Analysis Class live in action (Part 2) Preview 03:42

The special method __init__() Preview 08:28

The method get_data() Preview 06:49

The method log_returns() Preview 03:21

String representation and the special method __repr__() Preview 03:41

The methods plot_prices() and plot_returns() Preview 05:21

Encapsulation and protected Attributes Preview 04:02

The method set_ticker() Preview 03:18

Adding more methods and performance metrics Preview 05:51

Inheritance Preview 09:01

Inheritance and the super() Function Preview 06:47

Adding meaningful Docstrings Preview 06:24

Creating and Importing Python Modules (.py) Preview 04:19

Coding Exercise: Create your own Class Preview 07:13