Udacity Inc. and WorldQuant LLC
My Solutions & Projects - Artificial Intelligence for Trading
This is an extremely interesting Nanodegree if you want to apply Artificial Intelligence to track patterns in the Financial Markets. The topics and projects include:
-
Basic of quantitative analysis, including data processing, trading signal generation, and portfolio management. Use Python to work with historical stock data, develop trading strategies, and construct a multi-factor model with optimization.
-
Stocks and common terminology used for analysis.
-
Modern Market functions: How trades are executed, analyse price and volume data to identify potential trading signals.
-
Data Processing: How to adjust market data for corporate actions, include fundamental information in your analysis and compute technical indicators.
-
Stock Returns: How to calculate stock returns, and log returns in particular. Learn why log returns are used to analyze financial data.
-
Momentum Trading: Alpha signals, and how they can be applied to a long/short trading strategy. Learn about momentum, a common alpha signal used in trading strategies.
-
Quant Workflow: Overall quant workflow, including alpha signal generation, alpha combination, portfolio optimization, and trading.
-
Outliers and Filtering: Importance of outliers and how to detect them. Learn about methods designed to handle outliers.
-
Regression: Regression, and related statistical tools that pre-process data before regression analysis. See how regression relates to trading and other more advanced methods.
-
Time Series Modeling: Advanced methods for time series analysis, including ARMA, ARIMA, Kalman Filters, Particle Filters, and recurrent neural networks.
-
Volatility: Stock volatility, and how the GARCH model analysis volatility. See how volatility is used in equity trading.
-
Pairs Trading and Mean Reversion: Pairs trading, and study the tools used in identifying stock pairs and making trading decisions.
-
Stocks, Indices, Funds: Gain an overview of stocks, indices and funds. Also learn how to construct an index.
-
ETFs: Learn about Exchanged Traded Funds (ETFs) and how they are used by investors and fund managers.
-
Portfolio Risk and Return: Fundamentals of portfolio theory, which are key to designing portfolios for mutual funds, hedge funds and ETFs.
-
Portfolio Optimization: Optimize portfolios to meet certain criteria and constraints. Get hands on experience in optimizing a portfolio with the cvxpy Python library.
-
Factors: Factor investing and alpha research. ps. Project designed by Jonathan Larkin, equities trader and quant investor.
-
Factor Models and Types of Factors: Theory of factor models, distinguish between alpha and risk factors, and get an overview of types of factors.
-
Risk Factor Models: Model portfolio risk using factors.
-
Time Series and Cross Sectional Risk Models: Time series and cross-sectional risk models.
-
Risk Factor Models with PCA: Principle Component Analysis and how it's used to build risk factor models.
-
Alpha Factors: Alpha generation and evaluation from a practitioner's perspective.
-
Alpha Factor Research Methods: Alpha research from a practitioner's perspective.
-
Advanced Portfolio Optimization: Portfolio optimization using alpha factors and risk factor models.
-
Natural Language Processing: How to build a Natural Language Processing pipeline.
-
Text Processing: Prepare text obtained from different sources for further processing, by cleaning, normalizing and splitting it into individual words or tokens.
-
Feature Extraction: Transform text using methods like Bag-of-Words, TF-IDF, Word2Vec and GloVE to extract features that you can use in machine learning models.
-
Financial Statements: How to scrape data from financial documents using Regular Expressions and BeautifulSoup
-
NLP Analysis: How to apply to NLP to financial statements
-
Neural Networks: Implement gradient descent and backpropagation in Python, use several techniques to improve their training, use PyTorch for building deep learning models.
-
RNN and LSTM: Recurrent neural networks to learn from sequential data such as text. Build a network that can generate realistic text one letter at a time.
-
Embeddings & Word2Vec: Embeddings in neural networks by implementing the Word2Vec model.
-
Sentiment Prediction RNN: Implement a sentiment prediction RNN for predicting whether a movie review is positive or negative!
-
Machine Learning & Decision Trees: Decision trees are a structure for decision-making where each decision leads to a set of consequences or additional decisions.
-
Model Testing and Evaluation: Metrics to evaluate models and about how to avoid over- and underfitting.
-
Random Forests: Random forest models and how to use them to combine alpha factors.
-
Feature Engineering: Engineer features such as market dispersion, market volatility, sector and date parts. Also learn to engineer targets (labels) that are robust to market changes over time.
-
Overlapping Labels: Non-independent labels that comes up during alpha combination with machine learning models.
-
Feature Importance: Decide relevant each feature is to a machine learning model's predictions. Two methods for calculating feature importance.
-
Backtesting: Backtesting helps you determine whether or not your strategies can be generalizable to future unseen data.
-
Optimization with Transaction Costs: How to make the portfolio optimization in a backtest more realistic, and also more computationally efficient.
-
Attribution: Use performance attribution to determine how each factor contributed to the portfolio's results.
-
Implement a trading strategy on your own and test to see if it has the potential to be profitable.
-
Implement the breakout strategy, find and remove outliers, and test to see if it can be a profitable strategy.
-
Smart Beta and Portfolio Optimization
Build a smart beta portfolio against an index and optimize a portfolio using quadratic programming.
-
Alpha Research and Factor Modeling
Research and implement alpha factors, build a risk factor model. Use alpha factors and risk factors to optimize a portfolio.
-
Natural Language Processing on Financial Statements
NLP Analysis on 10-k financial statements to generate an alpha factor.
-
Sentiment Analysis with Neural Networks (Pytorch, NLTK & Stocktwits)
Build a deep learning model to classify the sentiment of messages.
-
Combining Signals for Enhanced Alpha (Random Forest for Alpha)
Build a random forest to generate better alpha.
-
Build a backtester using Barra data.