Technical Analysis with Python for Algorithmic Trading

Use Technical Analysis and Indicators for (Day) Trading. Create, backtest and optimize TA Trading Strategies with Python
Technical Analysis with Python for Algorithmic Trading
File Size :
5.31 GB
Total length :
13h 27m



Alexander Hagmann


Last update




Technical Analysis with Python for Algorithmic Trading

What you’ll learn

Make proper use of Technical Analysis and Technical Indicators.
Use Technical Analysis for (Day) Trading and Algorithmic Trading.
Convert Technical Indictors into sound Trading Strategies with Python.
Backtest and Forward Test Trading Strategies that are based on Technical Analysis/Indicators.
Create and backtest combined Strategies with two or many Technical Indicators.
Create interactive Charts (Line, Volume, OHLC, etc.) with Python and Plotly.
Visualize Technical Indicators and Trend/Support/Resistance Lines with Python and Plotly.
Use Pandas, Numpy and Object Oriented Programming (OOP) for Technical Analysis and Trading.
Load Financial Data from local files and the web.
Simple Moving Average (SMA) strategies
Exponential Moving Average (EMA) strategies
Moving Average Convergence Divergence (MACD) strategies
Relative Strength Index (RSI) strategies
Stochastic Oscillator strategies
Bollinger Bands strategies
Pivot Point strategies
Fibonacci Retracement strategies
mixed strategies (combining two or many indicators)

Technical Analysis with Python for Algorithmic Trading


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.
Basic Python Coding Skills (Variables, Data Types, Lists, For Loops, Functions) -> This is not a Course for complete Python Beginners.
Basic Coding Skills in Pandas, Numpy and Matplotlib
Basic Knowledge of Trading / Investing would be great (not mandatory, but it helps)


“(How) Can I use Technical Analysis and Technical Indicators for Trading and Investing?” – This is one of the most frequently asked questions in trading and investing. This course clearly goes beyond rules, theories, vague forecasts, and nice-looking charts. (These are useful but traders need more than that.) This is the first 100% data-driven course on Technical Analysis. We´ll use rigorous Backtesting / Forward Testing to identify and optimize proper Trading Strategies that are based on Technical Analysis / Indicators. This course will allow you to test and challenge your trading ideas and hypothesis. It provides Python Coding Frameworks and Templates that will enable you to code and test thousands of trading strategies within minutes. Identify the profitable strategies and scrap the unprofitable ones!     The course covers the following Technical Analysis Tools and Indicators:Interactive Line Charts and Candlestick ChartsInteractive Volume ChartsTrend, Support and Resistance LinesSimple Moving Average (SMA)Exponential Moving Average (EMA)       Moving Average Convergence Divergence (MACD)Relative Strength Index (RSI)Stochastic Oscillator Bollinger BandsPivot Point (Price Action)Fibonacci Retracement (Price Action)combined/mixed Strategies and more.This is not only a course on Technical Analysis and Trading. It´s an in-depth coding course on Python and its Data Science Libraries Numpy, Pandas, Matplotlib, Plotly, and more. You will learn how to use and master these Libraries for (Financial) Data Analysis, Technical Analysis, and Trading.   Please note: This is not a course for complete Python Beginners (check out my other courses!)What are you waiting for? Join now and start making proper use of Technical Analysis! As always, there is no risk for you as I provide a 30-Days-Money-Back Guarantee.Thanks and looking forward to seeing you in the Course!


Section 1: Getting Started

Lecture 1 What is Technical Analysis? / Course Overview

Lecture 2 Tips: How to get the most out of this course

Lecture 3 Did you know…? (what Data can tell us about Technical Analysis)

Lecture 4 Student FAQ


Lecture 6 Course Materials / Download (Updated: 21 Dec 2022)

Section 2: Installing Python and Jupyter Notebooks

Lecture 7 Overview

Lecture 8 Download and Install Anaconda

Lecture 9 How to open Jupyter Notebooks

Lecture 10 How to work with Jupyter Notebooks

Section 3: Technical Analysis with Python – an Introduction

Lecture 11 Overview

Lecture 12 Installing and importing required Libraries/Packages


Lecture 14 Loading Financial Data from the Web

Lecture 15 Charting – Simple Line Charts

Lecture 16 Charting – Interactive Line Charts with Cufflinks and Plotly

Lecture 17 How to customize Plotly Charts

Lecture 18 Candlestick and OHLC Bar Charts

Lecture 19 Bar Size / Granularity

Lecture 20 Volume Charts

Lecture 21 Technical Indicators – Overview and Examples

Lecture 22 Trend Lines

Lecture 23 Support and Resistance Lines

Section 4: Technical Analysis – Theory and Use Cases

Lecture 24 Section Overview

Lecture 25 Technical Analysis vs. Fundamental Analysis

Lecture 26 Technical Analysis and the Efficient Market Hypothesis (EMH)

Lecture 27 Technical Analysis – Applications and Use Cases

Lecture 28 An Introduction to Currencies (FOREX) and Trading

Section 5: Simple Moving Averages (SMA) and Introduction to Backtesting

Lecture 29 Introduction

Lecture 30 Getting the Data

Lecture 31 A simple Buy and Hold “Strategy”

Lecture 32 Performance Metrics

Lecture 33 SMA Crossover Strategies – Overview

Lecture 34 Defining an SMA Crossover Strategy

Lecture 35 Vectorized Strategy Backtesting

Lecture 36 Finding the optimal SMA Strategy

Lecture 37 Generalization with OOP: An SMA Backtesting Class in action

Lecture 38 OOP: the special method __init__()

Lecture 39 OOP: the method get_data()

Lecture 40 OOP: the method set_parameters()

Lecture 41 OOP: the method test_strategy()

Lecture 42 OOP: the method plot_results()

Lecture 43 OOP: the method update_and_run()

Lecture 44 OOP: the method optimize_parameters()

Lecture 45 OOP: Docstrings and String Representation

Lecture 46 Trading Costs (Part 1)

Lecture 47 Trading Costs (Part 2)

Lecture 48 Trading Costs (Part 3)

Lecture 49 Special Case: Price/SMA Crossover

Section 6: Exponential Moving Averages (EMA)

Lecture 50 Introduction

Lecture 51 EMA Crossover Strategies – Overview

Lecture 52 Getting the Data

Lecture 53 EMA vs. SMA

Lecture 54 Defining an EMA Crossover Strategy

Lecture 55 Vectorized Strategy Backtesting

Lecture 56 OOP Challenge: Create the EMA Backtesting Class (incl. Solution)

Lecture 57 The EMA Backtesting Class in Action

Section 7: SMA / EMA Crossover Strategies (Coding Challenge)

Lecture 58 Introduction

Lecture 59 SMA / EMA Crossover Strategies – Overview

Lecture 60 Instructions & some Hints

Lecture 61 Solution

Section 8: Moving Average Convergence Divergence (MACD)

Lecture 62 Introduction

Lecture 63 MACD Strategies – Overview

Lecture 64 Getting the Data

Lecture 65 Defining an MACD Strategy (Part 1)

Lecture 66 Defining an MACD Strategy (Part 2)

Lecture 67 Vectorized Strategy Backtesting

Lecture 68 The MACD Backtesting Class in Action

Lecture 69 OOP Challenge: Create the MACD Backtesting Class (incl. Solution)

Lecture 70 Alternative MACD Strategies and Interpretations

Section 9: Relative Strength Index (RSI)

Lecture 71 Introduction

Lecture 72 RSI Strategies – Overview

Lecture 73 Getting the Data

Lecture 74 Defining an RSI Strategy (Part 1)

Lecture 75 Defining an RSI Strategy (Part 2)

Lecture 76 Vectorized Strategy Backtesting

Lecture 77 The RSI Backtesting Class in Action

Lecture 78 OOP Challenge: Create the RSI Backtesting Class (incl. Solution)

Lecture 79 Alternative RSI Strategies and Interpretations

Section 10: Working with two or many Indicators – MACD & RSI

Lecture 80 Introduction

Lecture 81 A combined MACD / RSI Strategy – Overview

Lecture 82 Backtesting and Optimizing the Strategies separately

Lecture 83 Combining MACD with RSI and Backtesting

Section 11: Stochastic Oscillator

Lecture 84 Introduction

Lecture 85 Getting the Data

Lecture 86 Defining an SO Strategy

Lecture 87 Vectorized Strategy Backtesting

Lecture 88 The SO Backtesting Class in Action

Lecture 89 OOP Challenge: Create the SO Backtesting Class (incl. Solution)

Lecture 90 Alternative SO Strategies and Interpretations

Section 12: Bollinger Bands

Lecture 91 Introduction

Lecture 92 Bollinger Bands – Overview

Lecture 93 Getting the Data

Lecture 94 Defining a Bollinger Bands Mean-Reversion Strategy (Part 1)

Lecture 95 Defining a Bollinger Bands Mean-Reversion Strategy (Part 2)

Lecture 96 Vectorized Strategy Backtesting

Lecture 97 The BB Backtesting Class in action

Lecture 98 OOP Challenge: Create the BB Backtesting Class (incl. Solution)

Section 13: Pivot Point Strategies

Lecture 99 Introduction

Lecture 100 Pivot Point – Overview and Data requirements

Lecture 101 Adding Pivot Point and Support and Resistance Lines

Lecture 102 Defining a simple Pivot Point Strategy

Lecture 103 Vectorized Strategy Backtesting

Lecture 104 Starting with raw Data

Lecture 105 Preparing the Data (1) – Timezone Conversion

Lecture 106 Preparing the Data (2) – Resampling to daily (NY Close)

Lecture 107 Preparing the Data (3) – OHLC Resampling

Lecture 108 Preparing the Data (4) – Merging Intraday and Daily Data

Lecture 109 Final Remarks – Now it´s your turn!

Section 14: Fibonacci Retracement Strategies

Lecture 110 Introduction

Lecture 111 Getting the Data

Lecture 112 A first Intuition on Fibonacci Retracement (Uptrend)

Lecture 113 A first Intuition on Fibonacci Retracement (Downtrend)

Lecture 114 Identifying Local Highs

Lecture 115 Identifying Local Lows

Lecture 116 Highs and Lows – an iterative approach

Lecture 117 Identifying Trends (Uptrend / Downtrend)

Lecture 118 Adding Fibonacci Retracement Levels

Lecture 119 A Fibonacci Retracement Breakout Strategy

Lecture 120 Vectorized Strategy Backtesting

Lecture 121 Final Remarks and alternative Strategies

Section 15: Appendix 1: Introduction to Time Series Data and Financial Analysis in Pandas

Lecture 122 Introduction

Lecture 123 Importing Time Series Data from csv-files

Lecture 124 Converting strings to datetime objects with pd.to_datetime()

Lecture 125 Indexing and Slicing Time Series

Lecture 126 Downsampling Time Series with resample()

Lecture 127 Coding Exercise 1

Lecture 128 Getting Ready (Installing required library)

Lecture 129 Importing Stock Price Data from Yahoo Finance

Lecture 130 Initial Inspection and Visualization

Lecture 131 Normalizing Time Series to a Base Value (100)

Lecture 132 The shift() method

Lecture 133 The methods diff() and pct_change()

Lecture 134 Measuring Stock Performance with MEAN Returns and STD of Returns

Lecture 135 Financial Time Series – Return and Risk

Lecture 136 Financial Time Series – Covariance and Correlation

Lecture 137 Coding Exercise 2

Lecture 138 Simple Returns vs. Log Returns

Lecture 139 Importing Financial Data from Excel

Lecture 140 Simple Moving Averages (SMA) with rolling()

Lecture 141 Momentum Trading Strategies with SMAs

Lecture 142 Exponentially-weighted Moving Averages (EWMA)

Lecture 143 Merging / Aligning Financial Time Series (hands-on)

Lecture 144 Helpful DatetimeIndex Attributes and Methods

Lecture 145 Filling NA Values with bfill, ffill and interpolation

Lecture 146 Timezones and Converting (Part 1)

Lecture 147 Timezones and Converting (Part 2)

Section 16: Appendix 2: Object Oriented Programming (OOP): The Financial Instrument Class

Lecture 148 Introduction

Lecture 149 Introduction to OOP and examples for Classes

Lecture 150 Required Packages

Lecture 151 The Financial Analysis Class live in action (Part 1)

Lecture 152 The Financial Analysis Class live in action (Part 2)

Lecture 153 The special method __init__()

Lecture 154 The method get_data()

Lecture 155 The method log_returns()

Lecture 156 String representation and the special method __repr__()

Lecture 157 The methods plot_prices() and plot_returns()

Lecture 158 Encapsulation and protected Attributes

Lecture 159 The method set_ticker()

Lecture 160 Adding more methods and performance metrics

Lecture 161 Inheritance

Lecture 162 Inheritance and the super() Function

Lecture 163 Adding meaningful Docstrings

Lecture 164 Creating and Importing Python Modules (.py)

Lecture 165 Coding Exercise 3: Create your own Class

Section 17: What´s next? (outlook and additional resources)

Lecture 166 Bonus Lecture

(Day) Traders and Investors who want to make proper use of Technical Analysis.,(Day) Traders and Investors who want to professionalize their Business.,Technical Analyst and Chartist who want to improve their work/analysis with powerful Python Coding,Everyone who wants to do more with Technical Analysis than just telling vague stories and creating pretty charts.

Course Information:

Udemy | English | 13h 27m | 5.31 GB
Created by: Alexander Hagmann

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top