Quantitative Trading Analysis with Python

309 students enrolled

Please confirm that you want to add **Quantitative Trading Analysis with Python** to your Wishlist.

Learn quantitative trading analysis from basic to expert level through practical course with Python programming language

309 students enrolled

What Will I Learn?

- Download index replicating fund data to perform quantitative trading analysis operations by installing related packages and running code on Python IDE.
- Implement trading strategies based on their category and frequency by defining indicators, identifying signals they generate and outlining rules that accompany them.
- Explore main trading categories through indicators such as simple moving averages SMA, moving averages convergence-divergence MACD, Bollinger Bands®, relative strength index RSI and statistical arbitrage through z-score.
- Evaluate simulated strategy historical risk adjusted performance through trading statistics and performance metrics.
- Calculate main trading statistics such as number of transactions and trades, net trading profit and loss P&L, maximum drawdown and portfolio equity.
- Measure principal strategy performance metrics such as annualized returns, standard deviation and Sharpe ratio.
- Maximize historical performance by optimizing strategy parameters through an exhaustive grid search of set combinations.

Requirements

- Python programming language is required. Downloading instructions included.
- Python Distribution (PD) and Integrated Development Environment (IDE) are recommended. Downloading instructions included.
- Python code files provided by instructor.
- Prior basic Python programming language knowledge is useful but not required.

Description

Learn quantitative trading analysis through a practical course with Python programming language using index replicating fund historical data for back-testing. It explores main concepts from basic to expert level which can help you achieve better grades, develop your academic career, apply your knowledge at work or take decisions as DIY investor. All of this while exploring the wisdom of Nobel Prize winners and best practitioners in the field.

**Become a Quantitative Trading Analysis Expert in this Practical Course with Python**

- Download index replicating fund data to perform quantitative trading analysis operations by installing related packages and running code on Python IDE.
- Implement trading strategies by defining indicators, identifying signals they generate and outlining rules that accompany them.
- Explore strategies based on simple moving averages SMA, moving averages convergence-divergence MACD, Bollinger Bands®, relative strength index RSI and statistical arbitrage through z-score.
- Evaluate simulated strategy historical risk adjusted performance through trading statistics and performance metrics.
- Calculate main trading statistics such as number of transactions and trades, net trading profit and loss P&L, maximum drawdown and portfolio equity.
- Measure principal performance metrics such as annualized returns, standard deviation and Sharpe ratio.
- Maximize historical performance by optimizing strategy parameters.

**Become a Quantitative Trading Analysis Expert and Put Your Knowledge in Practice**

Learning quantitative trading analysis is indispensable for finance careers in areas such as quantitative research, quantitative development, and quantitative trading mainly within investment banks and hedge funds. It is also essential for academic careers in quantitative finance. And it is necessary for DIY investors’ quantitative trading research and development.

But as learning curve can become steep as complexity grows, this course helps by leading you step by step using index replicating fund historical data for back-testing to achieve greater effectiveness.

**Content and Overview**

This practical course contains 49 lectures and 6 hours of content. It’s designed for all quantitative trading analysis knowledge levels and a basic understanding of Python programming language is useful but not required.

At first, you’ll learn how to download index replicating fund data to perform quantitative trading analysis operations by installing related packages and running code on Python IDE.

Then, you’ll implement trading strategy by defining indicators based on its category and frequency, identifying trading signals these generate and outlining trading rules that accompany them. You’ll do this while exploring main strategy categories of trend-following and mean-reversion with indicators such as simple moving averages SMA, moving averages convergence-divergence MACD, Bollinger Bands®, relative strength index RSI and statistical arbitrage through z-score.

Later, you’ll do strategy reporting by evaluating simulated strategy risk adjusted performance with historical data while exploring main areas of trading statistics and performance metrics. For this, you’ll calculate main trading statistics such as number of transactions and trades, net trading profit and loss P&L, maximum drawdown and portfolio equity. And you’ll also measure principal performance metrics such as annualized returns standard deviation and Sharpe ratio.

Finally, you’ll optimize strategy parameters by maximizing historical performance measured by portfolio equity metric. You’ll implement this through a constrained grid search of parameter set combinations

Who is the target audience?

- Students at any knowledge level who want to learn about quantitative trading analysis using Python programming language.
- Finance professionals or academic researchers who wish to deepen their knowledge in quantitative finance.
- DIY investors also at any knowledge level who desire to learn about quantitative trading analysis and put it in practice.
- This course is NOT about “get rich quick” trading strategies or magic formulas.

Compare to Other Python Courses

Curriculum For This Course

49 Lectures

05:42:35
+
–

Course Overview
6 Lectures
21:50

In this lecture you will view course disclaimer and learn which are its objectives, how you will benefit from it, its previous requirements and my profile as instructor.

Preview
03:33

In this lecture you will learn that it is recommended to view course in an ascendant manner as each section builds on last one and also does its complexity. You will also study course structure and main sections (course overview, strategy implementation, strategy reporting, strategy parameters optimization and bibliography).

Preview
01:54

In this lecture you will learn quantitative trading analysis definition, Miniconda Distribution for Python 2.7 64-bit (PD) and Python PyCharm Integrated Development Environment (IDE) downloading websites.

Quantitative Trading Analysis

03:28

In this lecture you will learn quantitative trading analysis data downloading into Python PyCharm Integrated Development Environment (IDE), data sources, code files originally in .TXT format that need to be converted in .PY format with quantitative trading analysis computation instructions, Python packages Miniconda Distribution for Python 2.7 64-bit (PD) installation (numpy, pandas, scipy, matplotlib, statsmodels and pyalgotrade) and related code (import <package> as <name>, build_feed(<instrument>, <fromYear>, <toYear>, <storage>) functions).

Quantitative Trading Analysis Data

12:49

Before starting course please download .TXT R script files as additional resources.

Course Code Files

00:03

You can download .PDF section slides file as additional resources.

Course Overview Slides

00:02

+
–

Strategy Implementation
21 Lectures
02:54:11

You can download .PDF section slides file as additional resources.

Strategy Implementation Slides

00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to strategy implementation (strategy indicators, strategy signals and strategy rules).

Strategy Implementation Overview

07:25

In this lecture you will learn strategy indicators definitions.

Strategy Indicators

02:29

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) indicators definition and main calculations (class <strategy>(), def __init__():, SMA(<csv data feed>, <parameters>), def getSMA():, def <strategyrun>():, addBarsFromCSV(<instrument>, <file path>, StrategyPlotter(), getInstrumentSubplot().addDataSeries(), <strategy>.run() and plot() functions).

Preview
12:04

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) indicators definition and main calculations (class <strategy>(), def __init__():, MACD(<csv data feed>, <parameters>), def getMACD ():, def <strategyrun>():, addBarsFromCSV(<instrument>, <file path>, StrategyPlotter(), getOrCreateSubplot().addDataSeries(), <strategy>.run() and plot() functions).

Trend-Following Strategy 2 Indicators

14:42

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) indicators definition and main calculations (class <strategy>(), def __init__():, BollingerBands(<csv data feed>, <parameters>), def getBBands ():, def <strategyrun>():, addBarsFromCSV(<instrument>, <file path>, StrategyPlotter(), getInstrumentSubplot().addDataSeries(), <strategy>.run() and plot() functions).

Mean-Reversion Strategy 1 Indicators

10:58

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) indicators definition and main calculations (class <strategy>(), def __init__():, RSI(<csv data feed>, <parameters>), lowerThreshold, upperThreshold, def getRSI ():, def <strategyrun>():, addBarsFromCSV(<instrument>, <file path>, StrategyPlotter(), getOrCreateSubplot().addDataSeries(), <strategy>.run() and plot() functions).

Mean-Reversion Strategy 2 Indicators

11:07

In this lecture you will learn mean-reversion strategy 3 (arbitrage through z-score) stationary time series tests definition and main calculations (read_csv(<file path>, index_col, pase_dates, acf(), pacf(), adfuller(), Series(), plot(), bar() and axhline() functions).

Mean-Reversion Strategy 3 Stationary Time Series

19:50

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) indicators definition and main calculations (class <strategy>(), def __init__():, RateofChange((<csv data feed>, <periods>), ZScore(<csv data feed>, <parameters>), lowerThreshold, upperThreshold, def getZScore():, def <strategyrun>():, addBarsFromCSV(<instrument>, <file path>, StrategyPlotter(), getOrCreateSubplot().addDataSeries(), <strategy>.run() and plot() functions).

Mean-Reversion Strategy 3 Indicators

11:27

In this lecture you will learn strategy signals definitions.

Strategy Signals

01:04

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) signals definition and main calculations (def onBars():, enterLong(<instrument>, <quantity>), exitActive(), exitMarket() functions).

Trend-Following Strategy 1 Signals

08:08

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) signals definition and main calculations (def onBars():, enterLong(<instrument>, <quantity>), exitActive(), exitMarket() functions).

Trend-Following Strategy 2 Signals

07:21

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) signals definition and main calculations (def onBars():, enterLong(<instrument>, <quantity>), exitActive(), exitMarket() functions).

Mean-Reversion Strategy 1 Signals

07:58

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) signals definition and main calculations (def onBars():, enterLong(<instrument>, <quantity>), exitActive(), exitMarket() functions).

Mean-Reversion Strategy 2 Signals

07:22

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) signals definition and main calculations (def onBars():, enterLong(<instrument>, <quantity>), exitActive(), exitMarket() functions).

Mean-Reversion Strategy 3 Signals

07:20

In this lecture you will learn strategy rules definitions.

Strategy Rules

02:05

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) rules definition and main calculations (def onEnterOk():, getEntryOrder().getExecutionInfo(), exitStop(<stop threshold>), def onEnterCanceled():, def onExitOk():, getExitOrder().getExecutionInfo(), getExitOrder().getType(), Order.Type.STOP, onExitCanceled(), exitMarket() functions).

Trend-Following Strategy 1 Rules

11:51

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) rules definition and main calculations (def onEnterOk():, getEntryOrder().getExecutionInfo(), exitStop(<stop threshold>), def onEnterCanceled():, def onExitOk():, getExitOrder().getExecutionInfo(), getExitOrder().getType(), Order.Type.STOP, onExitCanceled(), exitMarket() functions).

Trend-Following Strategy 2 Rules

06:22

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) rules definition and main calculations (def onEnterOk():, getEntryOrder().getExecutionInfo(), exitStop(<stop threshold>), def onEnterCanceled():, def onExitOk():, getExitOrder().getExecutionInfo(), getExitOrder().getType(), Order.Type.STOP, onExitCanceled(), exitMarket() functions).

Mean-Reversion Strategy 1 Rules

08:59

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) rules definition and main calculations (def onEnterOk():, getEntryOrder().getExecutionInfo(), exitStop(<stop threshold>), def onEnterCanceled():, def onExitOk():, getExitOrder().getExecutionInfo(), getExitOrder().getType(), Order.Type.STOP, onExitCanceled(), exitMarket() functions).

Mean-Reversion Strategy 2 Rules

07:40

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) rules definition and main calculations (def onEnterOk():, getEntryOrder().getExecutionInfo(), exitStop(<stop threshold>), def onEnterCanceled():, def onExitOk():, getExitOrder().getExecutionInfo(), getExitOrder().getType(), Order.Type.STOP, onExitCanceled(), exitMarket() functions).

Mean-Reversion Strategy 3 Rules

07:57

+
–

Strategy Reporting
14 Lectures
01:48:02

You can download .PDF section slides file as additional resources.

Strategy Reporting Slides

00:02

In this lecture you will learn section lectures’ details and main themes to be covered related to strategy reporting (trading statistics and performance metrics).

Strategy Reporting Overview

07:15

In this lecture you will learn trading statistics definitions.

Trading Statistics

03:39

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) trading statistics definition and main calculations (DrawDown(), Trades(), attachAnalyzer(), print, getBroker().getEquity(), getAll(), getMaxDrawDown(), getCount(), getProfitableCount(), getProfits(), getUnprofitableCount(), getLosses() functions).

Trend-Following Strategy 1 Trading Statistics

16:06

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) trading statistics definition and main calculations (DrawDown(), Trades(), attachAnalyzer(), print, getBroker().getEquity(), getAll(), getMaxDrawDown(), getCount(), getProfitableCount(), getProfits(), getUnprofitableCount(), getLosses() functions).

Trend-Following Strategy 2 Trading Statistics

08:30

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) trading statistics definition and main calculations (DrawDown(), Trades(), attachAnalyzer(), print, getBroker().getEquity(), getAll(), getMaxDrawDown(), getCount(), getProfitableCount(), getProfits(), getUnprofitableCount(), getLosses() functions).

Mean-Reversion Strategy 1 Trading Statistics

08:00

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) trading statistics definition and main calculations (DrawDown(), Trades(), attachAnalyzer(), print, getBroker().getEquity(), getAll(), getMaxDrawDown(), getCount(), getProfitableCount(), getProfits(), getUnprofitableCount(), getLosses() functions).

Mean-Reversion Strategy 2 Trading Statistics

07:49

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) trading statistics definition and main calculations (DrawDown(), Trades(), attachAnalyzer(), print, getBroker().getEquity(), getAll(), getMaxDrawDown(), getCount(), getProfitableCount(), getProfits(), getUnprofitableCount(), getLosses() functions).

Mean-Reversion Strategy 3 Trading Statistics

08:02

In this lecture you will learn performance metrics definitions.

Performance Metrics

03:20

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) performance metrics definition and main calculations (Returns(), SharpeRatio(), attachAnalyzer(), getOrCreateSubplot().addDataSeries(), getCumulativeReturns(), getSharpeRatio(), getAllReturns(), getPositiveReturns(), getNegativeReturns() functions).

Trend-Following Strategy 1 Performance Metrics

15:56

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) performance metrics definition and main calculations (Returns(), SharpeRatio(), attachAnalyzer(), getOrCreateSubplot().addDataSeries(), getCumulativeReturns(), getSharpeRatio(), getAllReturns(), getPositiveReturns(), getNegativeReturns() functions).

Trend-Following Strategy 2 Performance Metrics

07:49

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) performance metrics definition and main calculations (Returns(), SharpeRatio(), attachAnalyzer(), getOrCreateSubplot().addDataSeries(), getCumulativeReturns(), getSharpeRatio(), getAllReturns(), getPositiveReturns(), getNegativeReturns() functions).

Mean-Reversion Strategy 1 Performance Metrics

06:39

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) performance metrics definition and main calculations (Returns(), SharpeRatio(), attachAnalyzer(), getOrCreateSubplot().addDataSeries(), getCumulativeReturns(), getSharpeRatio(), getAllReturns(), getPositiveReturns(), getNegativeReturns() functions).

Mean-Reversion Strategy 2 Performance Metrics

06:59

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) performance metrics definition and main calculations (Returns(), SharpeRatio(), attachAnalyzer(), getOrCreateSubplot().addDataSeries(), getCumulativeReturns(), getSharpeRatio(), getAllReturns(), getPositiveReturns(), getNegativeReturns() functions).

Mean-Reversion Strategy 3 Performance Metrics

07:56

+
–

Strategy Parameters Optimization
7 Lectures
38:27

You can download .PDF section slides file as additional resources.

Strategy Parameters Optimization Slides

00:02

In this lecture you will learn strategy parameters optimization definition.

Strategy Parameters Optimization

02:02

In this lecture you will learn trend-following strategy 1 (double simple moving averages SMA) parameters optimization definition and main calculations (def parameters():, <itertools>.product(), <local>.run() functions).

Trend-Following Strategy 1 Parameters Optimization

10:07

In this lecture you will learn trend-following strategy 2 (moving averages convergence-divergence MACD) parameters optimization definition and main calculations (def parameters():, <itertools>.product(), <local>.run() functions).

Trend-Following Strategy 2 Parameters Optimization

06:36

In this lecture you will learn mean-reversion strategy 1 (Bollinger Bands®) parameters optimization definition and main calculations (def parameters():, <itertools>.product(), <local>.run() functions).

Mean-Reversion Strategy 1 Parameters Optimization

05:54

In this lecture you will learn mean-reversion strategy 2 (relative strength index RSI) parameters optimization definition and main calculations (def parameters():, <itertools>.product(), <local>.run() functions).

Mean-Reversion Strategy 2 Parameters Optimization

06:29

In this lecture you will learn mean-reversion strategy 3 (statistical arbitrage through z-score) parameters optimization definition and main calculations (def parameters():, <itertools>.product(), <local>.run() functions).

Mean-Reversion Strategy 3 Parameters Optimization

07:17

+
–

Bibliography
1 Lecture
00:02

You can download .PDF section slides file as additional resources.

Course Bibliography

00:02

About the Instructor