Course Code
mlfinancepython
Duration
21 hours (usually 3 days including breaks)
Requirements
- Basic experience with Python programming
- Basic familiarity with statistics and linear algebra
Overview
Machine learning is a branch of Artificial Intelligence wherein computers have the ability to learn without being explicitly programmed. Python is a programming language famous for its clear syntax and readability. It offers an excellent collection of well-tested libraries and techniques for developing machine learning applications.
In this instructor-led, live training, participants will learn how to apply machine learning techniques and tools for solving real-world problems in the finance industry.
Participants first learn the key principles, then put their knowledge into practice by building their own machine learning models and using them to complete a number of team projects.
By the end of this training, participants will be able to:
- Understand the fundamental concepts in machine learning
- Learn the applications and uses of machine learning in finance
- Develop their own algorithmic trading strategy using machine learning with Python
Audience
- Developers
- Data scientists
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline
Introduction
- Difference between statistical learning (statistical analysis) and machine learning
- Adoption of machine learning technology and talent by finance companies
Understanding Different Types of Machine Learning
- Supervised learning vs unsupervised learning
- Iteration and evaluation
- Bias-variance trade-off
- Combining supervised and unsupervised learning (semi-supervised learning)
Understanding Machine Learning Languages and Toolsets
- Open source vs proprietary systems and software
- Python vs R vs Matlab
- Libraries and frameworks
Understanding Neural Networks
Understanding Basic Concepts in Finance
- Understanding Stocks Trading
- Understanding Time Series Data
- Understanding Financial Analyses
Machine Learning Case Studies in Finance
- Signal Generation and Testing
- Feature Engineering
- Artificial Intelligence Algorithmic Trading
- Quantitative Trade Predictions
- Robo-Advisors for Portfolio Management
- Risk Management and Fraud Detection
- Insurance Underwriting
Hands-on: Python for Machine Learning
- Setting Up the Workspace
- Obtaining Python machine learning libraries and packages
- Working with Pandas
- Working with Scikit-Learn
Importing Financial Data into Python
- Using Pandas
- Using Quandl
- Integrating with Excel
Working with Time Series Data with Python
- Exploring Your Data
- Visualizing Your Data
Implementing Common Financial Analyses with Python
- Returns
- Moving Windows
- Volatility Calculation
- Ordinary Least-Squares Regression (OLS)
Developing an Algorithmic Trading Strategy Using Supervised Machine Learning with Python
- Understanding the Momentum Trading Strategy
- Understanding the Reversion Trading Strategy
- Implementing Your Simple Moving Averages (SMA) Trading Strategy
Backtesting Your Machine Learning Trading Strategy
- Learning Backtesting Pitfalls
- Components of Your Backtester
- Using Python Backtesting Tools
- Implementing Your Simple Backtester
Improving Your Machine Learning Trading Strategy
- KMeans
- K-Nearest Neighbors (KNN)
- Classification or Regression Trees
- Genetic Algorithm
- Working with Multi-Symbol Portfolios
- Using a Risk Management Framework
- Using Event-Driven Backtesting
Evaluating Your Machine Learning Trading Strategy's Performance
- Using the Sharpe Ratio
- Calculating a Maximum Drawdown
- Using Compound Annual Growth Rate (CAGR)
- Measuring Distribution of Returns
- Using Trade-Level Metrics
- Summary
Troubleshooting
Closing Remarks