Algorithmic Trading A-Z with Python, Machine Learning & AWS

BY
Udemy

Know in detail the Day Trading algorithms with Python, ML and AWS by opting for this course offered by Udemy.

Mode

Online

Fees

₹ 599 3499

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course overview

Algorithmic Trading A-Z with Python, Machine Learning & AWS course is an online Data-driven Trading programme that enables financial professionals and data scientists to have exhaustive training on Algorithmic Trading. The curriculum will help to enrich the skills to develop data-driven Day Trading Bot using python and Amazon Web Services (AWS) and build and apply unique Strategies.  

Algorithmic Trading A-Z with Python, Machine Learning & AWS online course, provided by Udemy, could be taken by interested candidates who got a computer and access to the internet. The previous knowledge of Python and finance or trading knowledge is not required to take this course. The learners will be tutored from the fundamentals. The syllabus will explore Day Trading, coding, and creating powerful Trading strategies based on Technical Indicators. 

Algorithmic Trading A-Z with Python, Machine Learning & AWS  certification specifically will cover the five basic rules of Day Trading and give the learners insight into Day Trading and help avoid losing money unwantedly. 

The highlights

  • Online course 
  • Full lifetime access
  • 30-Day Money-Back Guarantee
  • Access on mobile and TV
  • Certificate of completion
  • Comprehensive course 
  • English videos with subtitle 
  • Downloadable resources

Program offerings

  • 34 hours on-demand video
  • 33 articles
  • 28 downloadable resources
  • Full lifetime access
  • Access on mobile and tv
  • Certificate of completion
  • English videos with subtitles
  • Comprehensive content

Course and certificate fees

Fees information
₹ 599  ₹3,499
certificate availability

Yes

certificate providing authority

Udemy

Who it is for

What you will learn

Programming skills Knowledge of python

After the completion of the Algorithmic Trading A-Z with Python, Machine Learning & AWS online certification, the certified learners will have in-depth knowledge on Day trading with Brokers Oanda and FXCM and on how to come about with unique Trading Strategies with Python. The participants also will be equipped to analyze, control, and limit Trading Costs. 

The syllabus

Getting Started

  • What is Algorithmic Trading/Course Overview
  • How to get the best out of this course
  • Did you know...? ( what Data can tell us about Day Trading)
  • Student FAQ
  • *** LEGAL DISCLAIMER (MUST READ!) ***

+++PART1: Day Trading, Online Brokers and API's+++

  • Our very first Trade
  • Long Term investing vs. (Algorithmic) Day Trading
  • Overview & the Brokers OANDA and FXCM

Day Trading with OANDA A-Z: a Deep Dive

  • OANDA at a first glance
  • How to create an Account
  • FOREX / Currency Exchange Rates explained
  • Our second Trade - EUR/USD FOREX Trading
  • How to calculate Profit & Loss of a Trade
  • Trading Costs and Performance Attribution
  • Margin and Leverage
  • Margin Closeout and more
  • Introduction to Charting
  • Our third Trade A-Z - Going Short EUR/USD
  • Netting vs. Hedging
  • Market, Limit and Stop Orders
  • Take-Profit and Stop-Loss Orders
  • A more general Example
  • Trading Challenge

FOREX Day Trading with FXCM

  • FXCM at a first glance
  • How to create an Account
  • Example Trade: Buying EUR/USD
  • Trade Analysis
  • Charting
  • Closing Positions vs. Hedging Positions
  • Order Types at a glance
  • Trading Challenge

Installing Python and Jupyter Notebooks

  • Introduction
  • Download and Install Anaconda
  • How to open Jupyter Notebooks
  • How to work with Jupyter Notebooks
  • Tips for Python Beginners

Trading with Python and OANDA/FXCM - an Introduction

  • Overview
  • OANDA: Commands to install required packages
  • OANDA: How to install the OANDA API / Wrapper
  • OANDA: Getting the API Key & other Preparations
  • OANDA: Connecting to the API/Server
  • OANDA: How to load Historical Price Data (Part 1)
  • OANDA: How to load Historical Price Data (Part 2)
  • OANDA: Streaming high-frequency real-time Data
  • OANDA: How to place Orders and execute Trades
  • Trading Challenge
  • FXCM: Commands to install required packages
  • FXCM: How to install the FXCM API Wrapper
  • FXCM: Getting the Access Token & other Preparations
  • FXCM: Connecting to the API/Server
  • Troubleshooting: FXCM Server Connection Issues
  • FXCM: How to load Historical Price Data (Part 1)
  • FXCM: How to load Historical Price Data (Part 2)
  • FXCM: Streaming high-frequency real-time Data
  • FXCM: How to place Orders and execute Trades
  • Trading Challenge

Conclusion and Outlook

  • Conclusion and Outlook

+++PART 2: Pandas for Financial Data Analysis and Introduction to OOP++

  • Introduction and Downloads Part 2

Introduction to Time Series Data in Pandas

  • Importing Time Series Data from csv-files
  • Converting strings to datetime objects with pd.to_datetime()
  • Indexing and Slicing Time Series
  • Downsampling Time Series with resample()
  • Coding Exercise 1

Financial Data Analysis with Pandas - an Introduction

  • Getting Ready (Installing required library)
  • Importing Stock Price Data from Yahoo Finance
  • Initial Inspection and Visualization
  • Normalizing Time Series to a Base Value (100)
  • The shift() method
  • The methods diff() and pct_change()
  • Measuring Stock Performance with MEAN Returns and STD of Returns
  • Financial Time Series - Return and Risk
  • Financial Time Series - Covariance and Correlation
  • Coding Exercise 2
  • Simple Returns vs. Log Returns
  • Importing Financial Data from Excel
  • Simple Moving Averages (SMA) with rolling()
  • Momentum Trading Strategies with SMAs
  • Exponentially-weighted Moving Averages (EWMA)
  • Merging / Aligning Financial Time Series (hands-on)

Advanced Topics

  • Helpful DatetimeIndex Attributes and Methods
  • Filling NA Values with bfill, ffill and interpolation
  • Timezones and Converting (Part 1)
  • Timezones and Converting (Part 2)

Object Oriented Programming (OOP): Creating a Financial

  • Introduction to OOP and examples for Classes
  • The Financial Analysis Class live in action (Part 1)
  • The Financial Analysis Class live in action (Part 2)
  • The special method __init__()
  • The method get_data()
  • The method log_returns()
  • String representation and the special method __repr__()
  • The methods plot_prices() and plot_returns()
  • Encapsulation and protected Attributes
  • The method set_ticker()
  • Adding more methods and performance metrics
  • Inheritance
  • Inheritance and the super() Function
  • Adding meaningful Docstrings
  • Creating and Importing Python Modules (.py)
  • Coding Exercise 3: Create your own Class

+++PART 3: Defining and Testing Trading Strategies+++

  • Introduction to Part 3
  • Trading Strategies - an Overview
  • Downloads for Part 3
  • Getting the Data
  • A simple Buy and Hold "Strategy"
  • Performance Metrics

Defining and Backtesting SMA Strategies

  • SMA Crossover Strategies - Overview
  • Defining an SMA Crossover Strategy
  • Vectorized Strategy Backtesting
  • Finding the optimal SMA Strategy
  • Generalization with OOP: An SMA Backtesting Class in action
  • Creating the Class (Part 1)
  • Creating the Class (Part 2)
  • Creating the Class (Part 3)
  • Creating the Class (Part 4)
  • Creating the Class (Part 5)
  • Creating the Class (Part 6)
  • Creating the Class (Part 7)
  • Creating the Class (Part 8)

Defining and Backtesting simple Momentum/Contrarian

  • Simple Contrarian/Momentum Strategies - Overview
  • Getting the Data
  • Excursus: Your FAQs answered
  • Defining a simple Contrarian Strategy
  • Vectorized Strategy Backtesting
  • Changing the Window Parameter
  • Trades and Trading Costs (Part 1)
  • Trades and Trading Costs (Part 2)
  • Generalization with OOP: A Contrarian Backtesting Class in action
  • OOP Challenge: Create the Contrarian Backtesting Class (incl. Solution)

Defining and Backtesting Mean-Reversion Strategies (Bollinger)

  • Mean-Reversion Strategies - Overview
  • Getting the Data
  • Defining a Bollinger Bands Mean-Reversion Strategy (Part 1)
  • Defining a Bollinger Bands Mean-Reversion Strategy (Part 2)
  • Vectorized Strategy Backtesting
  • Generalization with OOP: A Bollinger Bands Backtesting Class in action
  • OOP Challenge: Create the Bollinger Bands Backtesting Class (incl. Solution)

Trading Strategies powered by Machine Learning - Regression

  • Machine Learning - an Overview
  • Linear Regression with scikit-learn - a simple Introduction
  • Making Predictions with Linear Regression
  • Overfitting
  • Underfitting
  • Getting the Data
  • A simple Linear Model to predict Financial Returns (Part 1)
  • A simple Linear Model to predict Financial Returns (Part 2)
  • A Multiple Regression Model to predict Financial Returns
  • In-Sample Backtesting and the Look-ahead-bias
  • Out-Sample Forward Testing

Trading Strategies powered by Machine Learning - Classification

  • Logistic Regression with scikit-learn - a simple Introduction (Part 1)
  • Logistic Regression with scikit-learn - a simple Introduction (Part 2)
  • Getting and Preparing the Data
  • Predicting Market Direction with Logistic Regression
  • In-Sample Backtesting and the Look-ahead-bias
  • Out-Sample Forward Testing
  • Generalization with OOP: A Classification Backtesting Class in action
  • The Classification Backtesting Class explained (Part 1)
  • The Classification Backtesting Class explained (Part 2)

Advanced Backtesting Techniques

  • Introduction to Iterative Backtesting ("event-driven")
  • A first Intuition on Iterative Backtesting (Part 1)
  • A first Intuition on Iterative Backtesting (Part 2)
  • Creating an Iterative Base Class (Part 1)
  • Creating an Iterative Base Class (Part 2)
  • Creating an Iterative Base Class (Part 3)
  • Creating an Iterative Base Class (Part 4)
  • Creating an Iterative Base Class (Part 5)
  • Creating an Iterative Base Class (Part 6)
  • Creating an Iterative Base Class (Part 7)
  • Creating an Iterative Base Class (Part 8)
  • Adding the Iterative Backtest Child Class for SMA (Part 1)
  • Adding the Iterative Backtest Child Class for SMA (Part 2)
  • Using Modules and adding Docstrings
  • OOP Challenge: Add Contrarian and Bollinger Strategies

+++PART 4: Real-time Implementation and Automation of strategies+++

  • Introduction and Overview
  • UPDATED: Downloads for Part 4

Implementation and Automation with OANDA (UPDATED!)

  • Updating the Wrapper Package (Part 1)
  • Updating the Wrapper Package (Part 2)
  • **Weekend and Bank Holiday Alert**
  • Historical Data, real-time Data and Orders (Recap)
  • Preview: A Trader Class live in action
  • How to collect and store real-time tick data
  • Storing and resampling real-time tick data (Part 1)
  • Storing and resampling real-time tick data (Part 2)
  • Storing and resampling real-time tick data (Part 3)
  • Storing and resampling real-time tick data (Part 4)
  • Storing and resampling real-time tick data (Part 5)
  • Working with historical data and real-time tick data (Part 1)
  • Working with historical data and real-time tick data (Part 2)
  • Working with historical data and real-time tick data (Part 3)
  • Defining a simple Contrarian Strategy
  • Placing Orders and Executing Trades
  • Trade Monitoring and Reporting
  • Trading other Strategies - Coding Challenge
  • Implementing an SMA Crossover Strategy (Solution)
  • Implementing a Bollinger Bands Strategy (Solution)
  • Machine Learning Strategies (1) - Model Fitting
  • Machine Learning Strategies (2) - Implementation
  • Importing a Trader Module / Class
  • Running a Python Trader Script

Implementation and Automation with FXCM (Updated!)

  • **Weekend and Bank Holiday Alert**
  • Historical Data, real-time Data and Orders (Recap)
  • Troubleshooting: FXCM Server Connection Issues
  • Preview: A Trader Class live in action
  • Collecting and storing real-time tick data
  • Storing and resampling real-time tick data (Part 1)
  • A Trader Class
  • Storing and resampling real-time tick data (Part 2)
  • Storing and resampling real-time tick data (Part 3)
  • Working with historical data and real-time tick data (Part 1)
  • Working with historical data and real-time tick data (Part 2)
  • Working with historical data and real-time tick data (Part 3)
  • Defining a Simple Contrarian Trading Strategy
  • Placing Orders and Executing Trades
  • Trade Monitoring and Reporting
  • Trading other Strategies - Coding Challenge
  • SMA Crossover and Bollinger Bands (Solution)
  • Machine Learning Strategies (1) - Model Fitting
  • Machine Learning Strategies (2) - Implementation
  • Running a Python Script

Cloud Deployment (AWS) | Scheduling Trading Sessions | Full Automation

  • Introduction and Motivation
  • Demonstration: AWS EC2 for Algorithmic Trading live in action
  • Amazon Web Services (AWS) - Overview and how to create a Free Trial Account
  • How to create an EC2 Instance
  • How to connect to your EC2 Instance
  • Getting the Instance Ready for Algorithmic Trading
  • **Weekend and Bank Holiday Alert**
  • How to run Python Scripts in a Windows Command Prompt
  • How to start Trading sessions with Batch (.bat) Files
  • How to schedule Trading sessions with the Task Scheduler
  • How to stop Trading Sessions (OANDA)
  • How to stop Trading Sessions (FXCM)

+++ PART 5: Expert Tips & Tricks, Case Studies and more +++

  • Overview
  • Downloads for PART 5

Trading Hours, Spreads and Granularity - control and limit Trading Costs!

  • Introduction and Preparing the Data
  • The best time to trade (Part 1)
  • The best time to trade (Part 2)
  • Spreads during the busy hours
  • The Impact of Granularity
  • Conclusions

Working with two or many Strategies (Combination)

  • Introduction
  • Strategy 1: SMA
  • Strategy 2: Mean Reversion
  • Combining both Strategies - Alternative 1
  • Taking into account busy Trading Hours
  • Strategy Backtesting
  • Combining both Strategies - Alternative 2
  • Strategy Optimization

A Machine Learning-powered Strategy A-Z (DNN)

  • Project Overview
  • Installation of Tensorflow & Keras (Part 1)
  • Installation of Tensorflow & Keras (Part 2)
  • Getting and Preparing the Data
  • Adding Labels/Features
  • Adding lags
  • Splitting into Train and Test Set
  • Feature Scaling/Engineering
  • Creating and Fitting the DNN Model
  • Prediction & Out-Sample Forward Testing
  • Saving Model and Parameters
  • **Important Notices**
  • Implementation (Oanda & FXCM)

+++ APPENDIX: Python Crash Course +++

  • Overview

Appendix 1: Python (& Finance) Basics

  • Section Downloads
  • Intro to the Time Value of Money (TVM) Concept (Theory)
  • Calculate Future Values (FV) with Python / Compounding
  • Calculate Present Values (FV) with Python / Discounting
  • Interest Rates and Returns (Theory)
  • Calculate Interest Rates and Returns with Python
  • Introduction to Variables
  • Excursus: How to add inline comments
  • Variables and Memory (Theory)
  • More on Variables and Memory
  • Variables - Dos, Don´ts and Conventions
  • The print() Function
  • Coding Exercise 1
  • TVM Problems with many Cashflows
  • Intro to Python Lists
  • Zero-based Indexing and negative Indexing in Python (Theory)
  • Indexing Lists
  • For Loops - Iterating over Lists
  • The range Object - another Iterable
  • Calculate FV and PV for many Cashflows
  • The Net Present Value - NPV (Theory)
  • Calculate an Investment Project´s NPV
  • Coding Exercise 2
  • Data Types in Action
  • The Data Type Hierarchy (Theory)
  • Excursus: Dynamic Typing in Python
  • Build-in Functions
  • Integers
  • Floats
  • How to round Floats (and Integers) with round()
  • More on Lists
  • Lists and Element-wise Operations
  • Slicing Lists
  • Slicing Cheat Sheet
  • Changing Elements in Lists
  • Sorting and Reversing Lists
  • Adding and removing Elements from/to Lists
  • Mutable vs. immutable Objects (Part 1)
  • Mutable vs. immutable Objects (Part 2)
  • Coding Exercise 3
  • Tuples
  • Dictionaries
  • Intro to Strings
  • String Replacement
  • Booleans
  • Operators (Theory)
  • Comparison, Logical and Membership Operators in Action
  • Coding Exercise 4
  • Conditional Statements
  • Keywords pass, continue and break
  • Calculate a Project´s Payback Period
  • Introduction to while loops
  • Coding Exercise 5

Appendix 2: User-defined Functions (required for OOP)

  • Section Downloads
  • Defining your first user-defined Function
  • What´s the difference between Positional Arguments vs. Keyword Arguments?
  • How to work with Default Arguments
  • The Default Argument None
  • How to unpack Iterables
  • Sequences as arguments and *args
  • How to return many results
  • Scope - easily explained
  • Coding Exercise 6

Appendix 3: Numpy, Pandas, Matplotlib and Seaborn Crash Course

  • Downloads for this Section
  • Modules, Packages and Libraries - No need to reinvent the Wheel
  • Numpy Arrays
  • Indexing and Slicing Numpy Arrays
  • Vectorized Operations with Numpy Arrays
  • Changing Elements in Numpy Arrays & Mutability
  • View vs. copy - potential Pitfalls when slicing Numpy Arrays
  • Numpy Array Methods and Attributes
  • Numpy Universal Functions
  • Boolean Arrays and Conditional Filtering
  • Advanced Filtering & Bitwise Operators
  • Determining a Project´s Payback Period with np.where()
  • Creating Numpy Arrays from Scratch
  • Coding Exercise 7
  • How to work with nested Lists
  • 2-dimensional Numpy Arrays
  • How to slice 2-dim Numpy Arrays (Part 1)
  • How to slice 2-dim Numpy Arrays (Part 2)
  • Recap: Changing Elements in a Numpy Array / slice
  • How to perform row-wise and column-wise Operations
  • Coding Exercise 8
  • Intro to Tabular Data / Pandas
  • Create your very first Pandas DataFrame (from csv)
  • Pandas Display Options and the methods head() & tail()
  • First Data Inspection
  • Coding Exercise 9
  • Selecting Columns
  • Selecting one Column with the "dot notation"
  • Zero-based Indexing and Negative Indexing
  • Selecting Rows with iloc (position-based indexing)
  • Slicing Rows and Columns with iloc (position-based indexing)
  • Position-based Indexing Cheat Sheets
  • Selecting Rows with loc (label-based indexing)
  • Slicing Rows and Columns with loc (label-based indexing)
  • Label-based Indexing Cheat Sheets
  • Summary, Best Practices and Outlook
  • Coding Exercise 10
  • First Steps with Pandas Series
  • Analyzing Numerical Series with unique(), nunique() and value_counts()
  • Analyzing non-numerical Series with unique(), nunique(), value_counts()
  • The copy() method
  • Sorting of Series and Introduction to the inplace - parameter
  • First Steps with Pandas Index Objects
  • Changing Row Index with set_index() and reset_index()
  • Changing Column Labels
  • Renaming Index & Column Labels with rename()
  • Filtering DataFrames (one Condition)
  • Filtering DataFrames by many Conditions (AND)
  • Filtering DataFrames by many Conditions (OR)
  • Advanced Filtering with between(), isin() and ~
  • Intro to NA Values / missing Values
  • Handling NA Values / missing Values
  • Exporting DataFrames to csv
  • Summary Statistics and Accumulations
  • Visualization with Matplotlib (Intro)
  • Customization of Plots
  • Histogramms (Part 1)
  • Histogramms (Part 2)
  • Scatterplots
  • First Steps with Seaborn
  • Categorical Seaborn Plots
  • Seaborn Regression Plots
  • Seaborn Heatmaps
  • Removing Columns
  • Introduction to GroupBy Operations
  • Understanding the GroupBy Object
  • Splitting with many Keys
  • split-apply-combine

What's Next? (outlook and additional resources)

  • Get your special BONUS here!

Instructors

Mr Alexander Hagmann

Mr Alexander Hagmann
Data Scientist
Udemy

Other Masters

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books