Financial Modeling for Algorithmic Trading using Python
- 12.5 hours on-demand video
- 1 downloadable resource
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- How to use Numpy, Pandas, and matplotlib to manipulate, analyze, and visualize financial data
- Understand the Time Value of Money applications and project selection
- Make use of Monte Carlo method to simulate portfolio ending values, value options, and calculate Value at Risk
- Understand complex financial terminology and methodology in simple ways
- Featuring a premiere on Ensemble Learning with Bagging & Boosting
- How to apply your skills to real world cryptocurrency trading such as Bitcoin and Ethereum
- Building high-frequency trading robots
- Implementing backtesting econometrics for trading strategies evaluation
- Get hands-on with financial forecasting using machine learning with Python, Keras, scikit-learn, and pandas
In this video, we will discuss future value concepts of fixed and uncertain rates of return. The video ends with an introduction to NumPy built-in functions for time value of money calculations.
• Learn the basic example
• Create a future value function
• Value current holdings with constant and uncertain returns
Walkthrough of enumeration of retiring long term debt in the form a table that tracks loan balance, interest and principal payments and cumulative interest paid
• Demonstrate the NumPypmt function to calculate monthly payments
• Build Pandas DataFrame to store relevant loan outputs
• Graph loan balance and cumulative interest over time
In this video, use parts of the previous video to create a reusable amortization application allowing users to compare loan scenarios.
• Create a function that outputs amortization table and loan summary data
• Compare several loan scenarios to demonstrate functionality
In this video, we will introduce another library’ statsmodels, and use its built-in single exponential smoothing model.
• Use statsmodels exponential smoothing model to forecast the price of gold
• Demonstrate the model with various values of a smoothing constant
In this video, we will develop a simple signals based trading system and back test it for effectiveness.
• Create a fast and slow moving average forecast
• Create a signal and system return column
• Compare visually, the trading system to buy and hold strategy
Beta is used as a simple measurement of a stock’s riskiness relative to the market as a whole. This video derives Beta using two distinct methods.
• Download market and security data
• Transform data
• Calculate Beta with linear regression and with NumPycov function
Diversification can mute risk in the stock market. This video demonstrates the impact of diversification with a two security portfolio.
• Calculate expected return and volatility of a two security portfolio
• Create table with various weights, returns and volatilities
• Graph volatility vs. expected return
In this video, put concepts discussed in previous videos together in a module that can be imported and used in encapsulated form.
• Combine methods of previous videos into functions of MonteCarlo class
• Demonstrate functionality
• The list of data will be evaluated in respective chart
In this video, you will become familiar with the basics of trading, economics, and finance required to start building high-frequency trading algorithms.
Explain Financial Terminology
Explain Micro-market Structure
Explain Financial Data Structures
In this video, you shall setup your machine / virtual machine so that you could start building algorithmic trading bots in subsequent sections.
Setup Linux OS / Virtual Machine
Setup Python Development Environment including Anaconda & Zipline
Setup and Customize Eclipse IDE for Python including Git Plugins
In this video, you are going to analyze the pricing data using Jupyter Notebook. You will also plot the historical pricing data and interpret the trends observed.
Download Zipline Data Bundles Quandl / Quantopian-Quandl
Fetch Data using Zipline Data Portal Interface
Plot and Chart the Pricing Data using Matplotlib and analyze Candle Stick Charts
In this video, you will analyze the performance reports outputted by Zipline Backtesting. You are going to plot charts of economic evaluation metrics using Matplotlib.
Load the Performance Report of the Buy & Hold Strategy.
Analyze and Interpret the different evaluation metrics of the Backtesting
Calculate the Return on Investment ( ROI ) and Understand the Dynamics of Stock Splits
In this video, you will become familiar with the basics of decision trees, random forests, and ensemble learning.
Study the mathematics and algorithm criteria for building decision trees
Introduce ensemble learning bootstrap aggregation (bagging)
Highlight the difference between classification and regression trees
In this video, you shall learn how to implement random forests for stock price forecasting using SciKit-Learn machine learning library in Python.
Feature engineering for stock price model
Fine-tuning the parameters of Random Forests Regressor model
Train and export the model using JobLib
In this video, you shall integrate the trained model into the existing trading bot skeletion and learn how to import models and use them forecasting during a trading session.
Import trained random forests Regressor model
Design a trading strategy that forecasts stock price before making decisions
Run the Backtest session
In this video, you are going to analyze the Backtest session performance report using Jupyter Notebook. You will learn new econometric fundamentals and understand the different evaluation metrics.
Import the performance report in a Jupyter Notebook
Plot and analyze performance
Understand econometric evaluation metrics available in Zipline
In this video, you shall learn correlation analysis in statistics, auto-correlation trading strategy, and pairs trading strategy.
Dive into the mathematics of correlation analysis
Learn how the auto-correlation trading strategy works
Learn how the pairs trading strategy works
In this video, you shall build the auto-correlation trading strategy into our algorithmic trading bot and learn more about the Zipline APIs.
Design and implement the Auto-Correlation Strategy with Python
Configure Zipline run_algorithm method
Run the strategy and plot portfolio value over time
In this video, you are going to analyze the performance reports using Jupyter Notebook. You will also learn more econometric evaluation methods and techniques.
Import the performance report
Analyze and plot econometric indicators
Understand the interpretation of more econometric indicators and what each one of them means
In this video, you will become familiar with the basics of boosting, gradient boosting, and time series cross validation.
What is boosting in ensemble learning?
What is gradient boosting and how is it related to gradient descent?
What is cross validation? Introduce variants of cross validation for time series forecasting.
In this video, you shall integrate VaR & stop loss into scalp trading with two indicator signals and bollinger bands.
A quick refresher on historical simulation and model-based approaches to calculate VaR
Calculate Conditional Value at Risk in Zipline trading sessions of Backtest simulation.
Trigger stop loss and exit positions
In this video, we introduce support vector machines for both classification and regression, and how to use different kernel functions such as sigmoid and radial basis functions.
Support Vector Machine and finding an optimal decision boundary
Kernel functions and the difference between linearly separable and non-linearly separable datasets
The mathematics derivation of support vector machines as primal dual optimization problem with Lagrange multipliers
In this video, you will code along the implementation of support vector regression with grid search cross validation for forecasting portfolio returns.
Implement support vector regression and grid search cross validation with SciKit-Learn
Import trained model and forecast portfolio returns during Zipline Backtest simulation
Evaluate the Sharpe ratio and accumulative returns of the trading strategy
Define what we mean by financial forecasting, what AI methods we will be using in this course and how they solve common problems in Finance.
Learn the basic definition of financial forecasting
Learn which AI methods we will be focusing on in this course
Learn how those methods help solving one of the most challenging problems in Finance
Learn how to quickly install and verify all the necessary tools to work with financial data and AI methods.
Download, install, and verify Miniconda package manager and Python 3.7 distribution
Install all the necessary packages using Conda
Verify that they have been installed correctly
Learn the basics of training and testing the LSTM Model.
Understand the main training parameters like batch-size and epoch, pick up the right values
Understand the training and testing metrics and how to use them to find out when to stop training
Learn how to run the training script and interpret results
- Working knowledge of Python is required.
Video Learning Path Overview
A Learning Path is a specially tailored course that brings together two or more different topics that lead you to achieve an end goal. Much thought goes into the selection of the assets for a Learning Path, and this is done through a complete understanding of the requirements to achieve a goal.
Technology has become an asset in finance. Among the hottest programming languages, you’ll find Python becoming the technology of choice for Finance. The financial industry is increasingly adopting Python for general-purpose programming and quantitative analysis, ranging from understanding trading dynamics to building financial machine learning models.
This well thought out Learning Path takes a step by step approach to teach you how to use Python for performing financial analysis and modeling on a day-to-day basis. Beginning with an introduction to Python and its third party libraries, you will learn how to apply basics of Finance such as Time Value of Money and time series in Python. You will also perform valuations, linear regressions, and Monte Carlo simulation for analyzing some basic models.
Once you are comfortable in analyzing models with Python, you will learn to practically apply them to analyze machine learning models for your own financial data. You will then learn how to build machine learning models and trading algorithms as per your trade. You will also learn to build a trading bot for providing fully automated trading solutions to your trade. Next, you will learn to evaluate the models for value at risk using machine learning techniques.
Now that you are being familiar with machine learning, you will step ahead with learning deep learning techniques for Financial forecasting, predicting Forex currency exchange rates, looking into financial loan approval, fraud detection, and forecasting stock prices.
Towards the end of this course, you will be able to perform financial valuations, build algorithmic trading bots, and perform stock trading and financial analysis in different areas of finance.
Get hands-on with financial forecasting using machine learning with Python, Keras, scikit-learn, and pandas
Use libraries like Numpy, Pandas, Scipy and Matplotlib for data analysis, manipulation and visualization
Be comfortable with Monte Carlo Simulation, Value at Risk, and Options Valuation
Grasp Machine Learning forecasting on a specific real-world financial data
Matthew Macarty has taught graduate and undergraduate business school students for over 15 years and currently teaches at Bentley University. He has taught courses in statistics, quantitative methods, information systems and database design.
Mustafa Qamar-ud-Din is a machine learning engineer with over 10 years of experience in the software development industry. He is a specialist in image processing, machine learning and deep learning. He worked with many startups and understands the dynamics of agile methodologies and the challenges they face on a day to day basis. He is also quite aware of the professional skills which the recruiters are looking for when making hiring decisions.
Jakub Konczyk has enjoyed and done programming professionally since 1995. He is a Python and Django expert and has been involved in building complex systems since 2006. He loves to simplify and teach programming subjects and share it with others. He first discovered Machine Learning when he was trying to predict the real estate prices in one of the early stage startups he was involved in. He failed miserably. Then he discovered a much more practical way to learn Machine Learning that he would like to share with you in this course. It boils down to “Keep it simple!” mantra.
- This course is ideal for aspiring data scientists, Python developers and anyone who wants to start performing quantitative finance using Python. You can also make this beginner-level guide your first choice if you’re looking to pursue a career as a financial analyst or a data analyst.