In this course, you will become familiar with a variety of up-to-date financial analysis content, as well as algorithms techniques of machine learning in the Python environment, where you can perform highly specialized financial analysis. You will get acquainted with technical and fundamental analysis and you will use different tools for your analysis. You will learn the Python environment completely. You will also learn deep learning algorithms and artificial neural networks that can greatly enhance your financial analysis skills and expertise.
This tutorial begins by exploring various ways of downloading financial data and preparing it for modeling. We check the basic statistical properties of asset prices and returns, and investigate the existence of so-called stylized facts. We then calculate popular indicators used in technical analysis (such as Bollinger Bands, Moving Average Convergence Divergence (MACD), and Relative Strength Index (RSI)) and backtest automatic trading strategies built on their basis.
The next section introduces time series analysis and explores popular models such as exponential smoothing, AutoRegressive Integrated Moving Average (ARIMA), and Generalized Autoregressive Conditional Heteroskedasticity (GARCH) (including multivariate specifications). We also introduce you to factor models, including the famous Capital Asset Pricing Model (CAPM) and the Fama-French three-factor model. We end this section by demonstrating different ways to optimize asset allocation, and we use Monte Carlo simulations for tasks such as calculating the price of American options or estimating the Value at Risk (VaR).
In the last part of the course, we carry out an entire data science project in the financial domain. We approach credit card fraud/default problems using advanced classifiers such as random forest, XGBoost, LightGBM, stacked models, and many more. We also tune the hyperparameters of the models (including Bayesian optimization) and handle class imbalance. We conclude the book by demonstrating how deep learning (using PyTorch) can solve numerous financial problems.
Technical Analysis in Python
-
1Introduction of Python Programming in Financial Analysis
-
2Introduction of Financial Analysis
-
3Introduction
-
4Getting data from Yahoo Finance
-
5Getting data from Quandl
-
6Converting prices to returns
-
7Changing frequency
-
8Visualizing time series data
-
9Identifying outliers
-
10Investigating stylized facts of asset returns
-
11Codes of Chapter 1
Time Series Modeling
-
12Introduction
-
13requirements of chapter 2
-
14Creating a candlestick chart
-
15Backtesting a strategy based on simple moving average
-
16Calculating Bollinger Bands and testing a buy/sell strategy
-
17Calculating the relative strength index and testing a long/short strategy
-
18Building an interactive dashboard for TA
-
19Codes of Chapter 2
Multi-Factor Models
-
20Introduction
-
21requirements of chapter 3
-
22Decomposing time series
-
23Testing for stationarity in time series
-
24Correcting for stationarity in time series
-
25Modeling time series with exponential smoothing methods
-
26Modeling time series with ARIMA class models
-
27Forecasting using ARIMA class models
-
28Codes of Chapter 3
Modeling Volatility with GARCH Class Models
Monte Carlo Simulations in Finance
-
36Introduction
-
37requirements of chapter 5
-
38Explaining stock returns' volatility with ARCH models
-
39Explaining stock returns' volatility with GARCH models
-
40Implementing a CCC-GARCH model for multivariate volatility forecasting
-
41Forecasting a conditional covariance matrix using DCC-GARCH
-
42Codes of Chapter 5
Asset Allocation in Python
-
43Introduction
-
44requirements of chapter 6
-
45Simulating stock price dynamics using Geometric Brownian Motion
-
46Pricing European options using simulations
-
47Pricing American options with Least Squares Monte Carlo
-
48Pricing American options using Quantlib
-
49Estimating value-at-risk using Monte Carlo
-
50Codes of Chapter 6
Identifying Credit Default with Machine Learning
Advanced Machine Learning Models in Finance
-
56Introduction
-
57requirements of chapter 8
-
58Loading data and managing data types
-
59Exploratory data analysis
-
60Splitting data into training and test sets
-
61Dealing with missing values
-
62Encoding categorical variables
-
63Fitting a decision tree classifier
-
64Implementing scikit-learn's pipelines
-
65Tuning hyperparameters using grid search and cross-validation
-
66Codes of Chapter 8
Deep Learning in Finance
-
67Introduction
-
68requirements of chapter 9
-
69Investigating advanced classifiers
-
70Theres more about use advanced classifiers to achieve better results
-
71Using stacking for improved performance
-
72Investigating the feature importance
-
73Investigating different approaches to handling imbalanced data
-
74Bayesian hyperparameter optimization
-
75Codes of Chapter 9