Quantitative Trading Analysis with Python
3.3 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
278 students enrolled
Wishlisted Wishlist

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

Add to Wishlist

Quantitative Trading Analysis with Python

Learn quantitative trading analysis from basic to expert level through practical course with Python programming language
3.3 (17 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
278 students enrolled
Created by Diego Fernandez
Last updated 5/2017
English
Current price: $10 Original price: $50 Discount: 80% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 5.5 hours on-demand video
  • 6 Articles
  • 17 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
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.
View Curriculum
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.
Students Who Viewed This Course Also Viewed
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
Diego Fernandez
3.8 Average rating
429 Reviews
2,966 Students
21 Courses
Exfinsis

Diego Fernandez is author of high-quality online courses and ebooks at Exfinsis for anyone who wants to become an expert in financial data analysis.

His main areas of expertise are financial analysis and data science. Within financial analysis he has focused on computational finance, quantitative finance and trading strategies analysis. Within data science he has concentrated on machine learning, applied statistics and econometrics. For all of this he has become proficient in Microsoft Excel®, R statistical software® and Python programming language® analysis tools. 

He has important online business development experience at fast-growing startups and blue-chip companies in several European countries. He has always exceeded expected professional objectives by starting with a comprehensive analysis of business environment and then efficiently executing formulated strategy.

He also achieved outstanding performance in his undergraduate and postgraduate degrees at world-class academic institutions. This outperformance allowed him to become teacher assistant for specialized subjects and constant student leader within study groups. 

His motivation is a lifelong passion for financial data analysis which he intends to transmit in all of the courses.