Stock Technical Analysis with Python

Learn stock technical analysis from basic to expert level through a practical course with Python programming language.
3.2 (14 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.
134 students enrolled
Instructed by Diego Fernandez Business / Finance
$19
$40
52% off
Take This Course
  • Lectures 45
  • Length 8.5 hours
  • Skill Level All Levels
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 4/2016 English

Course Description

Learn stock technical analysis through a practical course with Python programming language using real world data. It explores main concepts from basic to expert level which can help you achieve better grades, develop your finance career or make decisions as DIY investor. All of this while referencing best practitioners in the field.

Become a Stock Technical Analysis Expert in this Practical Course with Python

  • Download stock data and perform technical analysis operations by installing related packages and running code on the Python IDE.
  • Compute lagging stock technical indicators such as moving averages and Bollinger bands®.
  • Calculate leading stock technical indicators such as moving averages convergence/divergence and relative strength index.
  • Determine single technical indicator based stock trading opportunities through price, double, bands and signal crossovers.
  • Define multiple stock indicators based stock trading occasions through price crossovers confirmed by bands crossovers.
  • Outline long (buy) or short (sell) stock trading strategies based on single or multiple technical indicators trading openings.
  • Evaluate stock trading strategies performances by comparing them against buy and hold benchmark.

Become a Stock Technical Analysis Expert and Put Your Knowledge in Practice

Learning stock technical analysis is indispensable for finance careers in areas such as equity research or equity trading. It is also essential for academic careers in quantitative finance.  And it is one of the two most common analysis techniques for DIY investors.

But as learning process can become difficult as complexity grows, this course helps by leading you through step by step real world practical examples for greater effectiveness.

Content and Overview

This practical course contains 45 lectures and 8.5 hours of content. It’s designed for all stock technical analysis knowledge levels and a basic understanding of Python programming language is useful but not required.

At first, you’ll learn how to download stock data and perform technical analysis operations by installing related packages and running code on the Python IDE. Next, you’ll calculate lagging stock technical indicators such as simple moving averages (SMA), exponential moving averages (EMA), Bollinger bands® (BB), parabolic stop and reverse (SAR). After that, you’ll compute leading stock technical indicators such as average directional movement index (ADX), commodity channel index (CCI), moving averages convergence/divergence (MACD), rate of change (ROC), relative strength index (RSI), stochastic oscillator (Full STO) and Williams %R.

Then, you’ll define single technical indicator based stock trading openings through price, double, bands and signal crossovers. Next, you’ll determine multiple technical indicators based trading opportunities through price crossovers which need to be confirmed by second technical indicator band crossover. Later, you’ll give shape to stock trading strategies which are long (buying) or short (selling) using single or multiple technical indicators trading occasions.

Finally, you’ll evaluate stock trading strategies performance with buy and hold as initial benchmark and comparing their annualized return for performance, annualized standard deviation for volatility or risk and annualized Sharpe ratio for risk adjusted return.

What are the 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.

What am I going to get from this course?

  • Download stock data and perform technical analysis operations by installing related packages and running code on the Python IDE.
  • Compute lagging stock technical indicators or overlays such as moving averages, Bollinger bands®, parabolic stop and reverse.
  • Calculate leading stock technical indicators or oscillators such as average directional movement index, commodity channel index, moving averages convergence/divergence, rate of change, relative strength index, stochastic oscillator and Williams %R.
  • Determine single technical indicator based stock trading opportunities through price, double, bands and signal crossovers.
  • Define multiple technical indicators based stock trading occasions through price crossovers confirmed by bands crossovers.
  • Outline long (buy) or short (sell) stock trading strategies based on single or multiple technical indicators trading openings.
  • Assess stock trading strategies performance by comparing their annualized return, standard deviation and Sharpe ratio against buy and hold benchmark.

What is the target audience?

  • Students at any knowledge level who want to learn about stock technical 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 stock technical analysis and put it in practice.
  • This course is NOT about “get rich quick” trading systems or magic formulas.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Course Overview
Article
Before starting course please download .TXT Python code files as additional resources.
Article

You can download .PDF section slides as additional resources.

03:45

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.

03:08

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 (stock technical indicators, stock trading signals, stock trading strategies and strategies performance comparison).

04:23

In this lecture you will learn stock technical analysis definition, Python Distribution (PD) and Integrated Development Environment (IDE) downloading websites.

18:17

In this lecture you will learn stock technical 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 technical analysis computation instructions, Python packages Miniconda Distribution for Python 2.7 64-bit (PD) installation (numpy, pandas, matplotlib and ta-lib) and related code (import <package> as <name>, datetime(<year>, <month>, <day) and DataReader(<ticker>, <source>, <start>, <end>)

Section 2: Stock Technical Indicators
Article

You can download .PDF section slides as additional resources.

03:57

In this lecture you will learn section lectures’ details and main themes to be covered related to lagging technical indicators (moving averages MA, Bollinger bands® BB and parabolic stop and reverse SAR) and leading technical indicators (average directional movement index ADX, commodity channel index CCI, moving averages convergence/divergence MACD, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R).

15:11

In this lecture you will learn simple moving averages SMA and exponential moving averages EMA definitions and main calculations (SMA(<Close>, <periods>), EMA(<Close>, <periods>) and plot(<y=data>)).

08:03

In this lecture you will learn Bollinger bands® BB definition and calculation (BBANDS(<Close>, <timeperiod>, <nbdevup>, <nbdevdn>, <matype>) and plot(<y=data>)).

11:17

In this lecture you will learn parabolic stop and reverse SAR definition and calculation (SAR(<High>, <Low> <acceleration>, <maximum>) and plot(<y=data>)).

14:10

In this lecture you will learn average directional movement index ADX definition and calculation (ADX(<High>, <Low>, <Close>, <timeperiod>), PLUS_DI(<High>, <Low>, <Close>, <timeperiod>), MINUS_DI(<High>, <Low>, <Close>, <timeperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

11:26

In this lecture you will learn commodity channel index CCI definition and calculation (CCI(<High>, <Low>, <Close>, <timeperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

13:35

In this lecture you will learn moving averages convergence/divergence MACD definition and calculation (MACD(<Close>, <fastperiod>, <slowperiod>, <signalperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

09:04

In this lecture you will learn rate of change ROC definition and calculation (ROC(<Close>, <timeperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

08:28

In this lecture you will learn relative strength index RSI definition and calculation (RSI(<Close>, <timeperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

12:39

In this lecture you will learn stochastic momentum index SMI definition and calculation (STOCH(<High>, <Low>, <Close>, <fastk_period>, <slowk_period>, <slowk_matype>, <slowd_period>, <slowd_matype>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

09:36

In this lecture you will learn Williams %R definition and calculation (WILLR(<High>, <Low>, <Close>, <timeperiod>), plot(<y=data>) and subplot(<rows>, <columns>, <position>)).

Section 3: Stock Trading Signals
Article

You can download .PDF section slides as additional resources.

08:04

In this lecture you will learn section lectures’ details and main themes to be covered related to single indicator trading signals (simple moving averages SMA, exponential moving averages EMA, Bollinger bands® BB, parabolic stop and reverse SAR, average directional movement index ADX, commodity channel index CCI, moving averages convergence/divergence MACD, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators) and multiple indicator trading signals (simple moving average SMA with commodity channel index CCI, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators).

19:41

In this lecture you will learn simple moving average SMA and exponential moving average EMA trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

16:04

In this lecture you will learn Bollinger bands® BB and parabolic stop and reverse SAR trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

16:16

In this lecture you will learn average directional movement index ADX and commodity channel index CCI trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

15:06

In this lecture you will learn moving averages convergence/divergence MACD and rate of change ROC trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

16:30

In this lecture you will learn relative strength index RSI, stochastic oscillator Full STO and Williams %R trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

17:23

In this lecture you will learn simple moving average SMA with commodity channel index CCI and rate of change ROC combined trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

18:58

In this lecture you will learn simple moving average SMA with relative strength index RSI, stochastic oscillator Full STO and Williams %R combined trading signals definition and calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

Section 4: Stock Trading Strategies
Article

You can download .PDF section slides as additional resources.

06:50

In this lecture you will learn section lectures’ details and main themes to be covered related to single indicator trading strategies (simple moving averages SMA, exponential moving averages EMA, Bollinger bands® BB, parabolic stop and reverse SAR, average directional movement index ADX, commodity channel index CCI, moving averages convergence/divergence MACD, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators) and multiple indicator trading strategies (simple moving average SMA with commodity channel index CCI, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators).

11:40

In this lecture you will learn simple moving average SMA and exponential moving average EMA trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

12:17

In this lecture you will learn Bollinger bands® BB and parabolic stop and reverse SAR trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

15:30

In this lecture you will learn average directional movement index ADX and commodity channel index CCI trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

12:19

In this lecture you will learn moving averages convergence/divergence MACD and rate of change ROC trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

14:35

In this lecture you will learn relative strength index RSI, stochastic oscillator Full STO and Williams %R trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

12:44

In this lecture you will learn simple moving average SMA with commodity channel index CCI and rate of change ROC combined trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

16:44

In this lecture you will learn simple moving average SMA with relative strength index RSI, stochastic oscillator Full STO and Williams %R combined trading strategies calculation (shift(<periods>), for<i, r in enumerate(iterrows()>:, if<>:, elif<>:, else<>:, and iloc[<row>, <column>] ).

Section 5: Strategies Performance Comparison
Article

You can download .PDF section slides as additional resources.

11:53

In this lecture you will learn section lectures’ details and main themes to be covered related to single indicator strategies performance (simple moving averages SMA, exponential moving averages EMA, Bollinger bands® BB, parabolic stop and reverse SAR, average directional movement index ADX, commodity channel index CCI, moving averages convergence/divergence MACD, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators) and multiple indicator strategies performance (simple moving average SMA with commodity channel index CCI, rate of change ROC, relative strength index RSI, stochastic oscillator Full STO and Williams %R indicators). You will also learn main assessment metrics such as annualized return for performance, annualized standard deviation for volatility or risk and annualized Sharpe ratio for risk adjusted performance.

18:36

In this lecture you will learn simple moving average SMA and exponential moving average EMA strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

16:54

In this lecture you will learn Bollinger bands® BB and parabolic stop and reverse SAR strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

17:17

In this lecture you will learn average directional movement index ADX and commodity channel index CCI strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

16:44

In this lecture you will learn moving averages convergence/divergence MACD and rate of change ROC strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

18:13

In this lecture you will learn relative strength index RSI, stochastic oscillator Full STO and Williams %R strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

15:00

In this lecture you will learn simple moving average SMA with commodity channel index CCI and rate of change ROC combined strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

17:04

In this lecture you will learn simple moving average SMA with relative strength index RSI, stochastic oscillator Full STO and Williams %R combined strategies performance calculation (cumprod(<daily returns>), std(<daily returns>), sqrt() and DataFrame(<data=[]>)).

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

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 finance and data analysis. Within finance he has focused on stock fundamental, technical and investment portfolio analysis. Within data analysis he has concentrated on applied statistics, probability, optimization methods, forecasting models and machine learning. 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.

Ready to start learning?
Take This Course