## Aritificial Intelligence for Trading.

Udacity and WorldQuant Asset Management

Β My Solutions & Projects – Artificial Intelligence for Trading

“Never underestimate the power of AI …”

**Brief Description**

##### 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:

**Advanced Portifolio Optimization**

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 using Deep Learning**

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!

**Sentiment Analysis and Alphas with Random Forest, PCA, and Deep Neural Networks**

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.

**My Projects**

`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.`