# Udacity Resources Index

Udacity is one fo my prefered learning platforms, the anoter one is of course Coursera. I do not like Udemy, it is not my principle to learn from the “cheap” but mine is learn from the professional, and both Udacity and Coursera meet my needs.

Here I decided to Collect all of my favoroute courses on Udacity, of course due my time and energy, I am not able to take all of them, but I believe that this may help me to understand the industry technology trens on these areas.

## AIPN - AI Programming with Python Nanodegree

Learn Python, NumPy, Pandas, Matplotlib, PyTorch, and Linear Algebra—the foundations for building your own neural network.

• Python
• NumPy
• Pandas
• Matplotlib
• PyTorch
• Linear Algebra

### Part 01: Introduction to AI Programming

#### Module 01: Introduction to Nanodegree

##### Lesson 01: Welcome to AI Programming with Python
• Concept 01 : Welcome to the AI Programming with Python Nanodegree Program
• Concept 02 : Meet Your Instructors
• Concept 03 : Deadline Support
• Concept 04 : Community Guidelines
• Concept 05 : Lesson Plan

### Part 02 : Intro to Python

Learn Python- one of the most widely used programming languages in the industry, particularly in AI.

#### Module 01 : Lessons

##### Lesson 01 : Why Python Programming

Welcome to Introduction to Python! Here’s an overview of the course.

• Concept 01: Instructor
• Concept 02: Welcome to the Course
• Concept 03: Programming in Python
• Concept 04: Course Overview
• Concept 05: Data Types and Operators
##### Lesson 02 : Data Types and Operations

Familiarize yourself with the building blocks of Python! Learn about data types and operators, compound data structures, type conversion, built-in functions, and style guidelines.

• Concept 01: Introduction
• Concept 02: Aritmetic Operators
• Concept 03: Variables and Assignment Operators
• Concept 04: Integers and Floats
• Concept 05: Booleans, Comparison Operators, and Logical Operators
• Concept 06: Strings
• Concept 07: Type and Type convertion
• Concept 08: String Methods
• Concept 09: Lists and Membership Operators
• Concept 10: List Methods
• Concept 11: Tuples
• Concept 12: Sets
• Concept 13: Dictionaries and Identity Operations
• Concept 14: Compound Data Structures
• Concept 15: Conclusion
##### Lesson 03 : Control Flow

Build logic into your code with control flow tools! Learn about conditional statements, repeating code with loops and useful built-in functions, and list comprehensions.

• Concept 01: Introduction
• Concept 02: Conditional Statements
• Concept 03: Boolean Expressions for Conditions
• Concept 04: For Loops
• Concept 05: Building Dictionaries
• Concept 06: Iterating through dictionaries with For Loops
• Concept 07: While Loops
• Concept 08: Break, Continue
• Concept 09: Zip and Enumerate
• Concept 10: List Comprehension
##### Lesson 04 : Functions

Learn how to use functions to improve and reuse your code! Learn about functions, variable scope, documentation, lambda expressions, iterators, and generators.

• Concept 01: Defining Functions
• Concept 02: Variable Scope
• Concept 03: Documentation
• Concept 04: Lambda Expression
• Concept 05: [Optional] Iterators and Generators
• Concept 06: [Optional] Generator Expressions
##### Lesson 05 : Scripting
• Concept 01: Python Installation

• Concept 02: Install Python Using Anaconda
• Concept 03: [For Windows] Configuring Git Bash to Run Python
• Concept 04: Running a Python Script
• Concept 05: Programming Environtment Setup
• Concept 06: Editing a Python script
• Concept 07: Scripting with Raw Input
• Concept 08: Errors and Exceptions
• Concept 09: Handling Errors
• Concept 10: Accessing Error Messages
• Concept 11: Reading and Writing Files
• Concept 12: Importing Local Scripts
• Concept 13: The Standard Library
• Concept 14: Techniques for Importing Modules
• Concept 15: Third-Party Libraries
• Concept 16: Experimenting with an Interpret
• Concept 17: Online Resources

#### Module 02 : Lab

##### Lesson 01 : Lab: Classifying Images
• Concept 01: Command Line Arguments
• Concept 02: Mutable Data Types and Functions
• Concept 03: Creating Pet Image Labels
• Concept 04: Classifying Images
• Concept 05: Calculating Results
• Concept 06: Concluding Remarks

### Part 03 : NumPy, Pandas, Matplotlib

Let’s focus on library packages for Python, such as :

Numpy (which adds support for large data), Pandas (which is used for data manipulation and analysis) And Matplotlib (which is used for data visualization).

#### Module 01: Lessons

##### Lesson 01: Anaconda

Anaconda is a package and environment manager built specifically for data. Learn how to use Anaconda to improve your data analysis workflow.

• Concept 01: What is Anaconda?
• Concept 02: Installing Anaconda
• Concept 03: Managing Packages
• Concept 04: Managing Environments
• Concept 05: More Environment Actions
##### Lesson 02: Jupyter Notebooks

Learn how to use Jupyter Notebooks to create documents combining code, text, images, and more.

• Concept 01: What are the Jupyter notebooks?
• Concept 02: Installing Jupyter notebook
• Concept 03: Launching the notebook server
• Concept 04: Notebook interface
• Concept 05: Code cells
• Concept 06: Markdown Cells
• Concept 07: Keyboard Shortcuts
• Concept 08: Magic keywords
• Concept 09: Converting Notebooks
• Concept 10: Creating a Slideshow
• Concept 11: Finishing Up
##### Lesson 03: Numpy

Learn the basics of NumPy and how to use it to create and manipulate arrays.

• Concept 01: Introduction to NumPy
• Concept 02: Why Use NumPy?
• Concept 03: Creating and Saving NumPy ndarrays
• Concept 04: Using Built-in functions to create ndarrays
• Concept 05: Create and ndarray
• Concept 06: Accessing, Deleting, and Inserging Elemensts Into ndarrays
• Concept 07: Slicing ndarrays
• Concept 08: Boolean Indexing, Set Operations, and Sorting
• Concept 09: Manopulating ndarrays
• Concept 10: Arithmetic operations and Broadcasting
• Concept 11: Creating ndarrays with Broadcasting
• Concept 12: getting Set Up for the Mini-Project
• Concept 13: Mini-Project: Mean Normalization and Data Separation
##### Lesson 04: Pandas

Learn the basics of Pandas Series and DataFrames and how to use them to load and process data.

• Concept 01: Introduction to Pandas
• Concept 02: Why Use Pandas?
• Concept 03: Creating Pandas Series
• Concept 04: Accessing and Deleting Elements in Pandas Series
• Concept 05: Arithmetic Operations on Pandas Series
• Concept 06: Manipulate a Series
• Concept 07: Creating Pandas DataFrames
• Concept 08: Accessing Elements in Pandas DataFrames
• Concept 09: Dealing with NaN
• Concept 10: Manipulate a DataFrame
• Concept 12: Getting Set Up for the Mini-Project
• Concept 13: Mini-Project: Statics From Stock Data
##### Lesson 05: Matplotlib and Seaborn Part1

Learn how to use matplotlib and seaborn to visualize your data. In this lesson, you will learn how to create visualizations to depict the distributions of single variables.

• Concept 01: Tidy Data
• Concept 02: Bar Charts
• Concept 03: Absolute vs Relative Frequency
• Concept 04: Counting Missing Data
• Concept 05: Bar Chart Practice
• Concept 06: Pie Charts
• Concept 07: Histograms
• Concept 08: histogram Practice
• Concept 09: Figures, Axes, and Subplots
• Concept 10: Choosing a Plot for Discrete Data
• Concept 11: Descriptice Statistics, Outliers and Axis Limits
• Concept 12: Scales and Transformation
• Concept 13: Extra: kernel Density Estimation
##### Lesson 06: Matplotlib and Seaborn Part2

In this lesson, you will use matplotlib and seaborn to create visualizations to depict the relationships between two variables.

• Concept 01: Scatterplots and Correlation
• Concept 02: Overplotting, Transparency, and Jitter
• Concept 03: Heat Maps
• Concept 04: Scatterplot Practice
• Concept 05: Vilion Plots
• Concept 06: Box Plots
• Concept 07: Vilion and Box Plot Practice
• Concept 08: Clustered Bac Charts
• Concept 09: Categorcal Plot Practice
• Concept 10: Faceting
• Concept 11: Adaptation of Universal Plots
• Concept 12: Line Plots
• Concept 13: Additional Plot Practice
• Concept 14: postscript; Multivariate Visualization
• Concept 15: Extra: Swarm Plots
• Concept 16: Extra: Rug and Strip Plots

### Part 04 : Linear Algebra Essentials

Learn the basics of the beautiful world of Linear Algebra and why it is such an important mathematical tool in the world of AI.

#### Module 01: Lessons

##### Lesson 01: Introduction

Take a sneak peek into the beautiful world of Linear Algebra and learn why it is such an important mathematical tool.

• Concept 01: Our Goal
• Concept 02: Enssense of Linear Algebra
• Concept 03: Structure of the Lesson
• Concept 04: Working with Equations
##### Lesson 02: Vectors

Learn about vectors, the basic building block of Linear Algebra.

• Concept 01: What is a Vector?
• Concept 02: Vectors- Mathematical Definition
• Concept 03: Transpose
• Concept 04: Magnitute and Direction
• Concept 05: Operatios in the Field
• Concept 07: Scalar by Vector Multiplication
##### Lesson 03: Linear Combination

Learn how to scale and add vectors and how to visualize the process.

• Concept 01: Linear Combination
• Concept 02: Linear Combination and Span
• Concept 03: Linear Dependency
• Concept 04: Solving a simplified set of Equations
##### Lesson 04: Linear Transformation and Matrices

What is a linear transformation and how is it directly related to matrices? Learn how to apply the math and visualize the concept.

• Concept 01: What is a Matrix?
• Concept 03: Scalar Multipilication of Matrix and Quize
• Concept 04: Multipilication of a Square Mtrices
• Concept 05: Matrix Multipilication General
• Concept 06: Linear Transformation and Matrices

#### Module 02: Labs

##### Lesson 01: Vectors Lab

Learn how to graph 2D vectors.

##### Lesson 02: Linear Combination Lab

Learn how to computationally determine a vector’s span and solve a simple system of equations.

##### Lesson 03: Linear Mapping Lab

earn how to solve some problems computationally using vectors and matrices.

##### Lesson 04: Linear Algebra in Neural Networks

Take a peek into the world of Neural Networks and see how it related directly to Linear Algebra!

• Concept 01: What is a Neural Network?
• Concept 02: How are the Neurons Connected?
• Concept 03: Putting the Pieces Together
• Concept 04: The Feedforward Process- Finding h
• Concept 05: The Feedforward Process- Finding y

### Part 05 : Neural Networks

Acquire a solid foundation in deep learning and neural networks. Learn about techniques for how to improve the training of a neural network, and how to use PyTorch for building deep learning models.

#### Module 01: Deep Learning

##### Lesson 01: Introduction to Neural Networks

In this lesson, Luis will give you solid foundations on deep learning and neural networks. You’ll also implement gradient descent and backpropagation in python right here in the classroom.

• Concept 01: Classification Problems
• Concept 02: Linear Boundaries
• Concept 03: Higher Dimensions
• Concept 04: Perceptrons
• Concept 05: Why “Neural Networks” ?
• Concept 06: perceptions and Logical Operators
• Concept 07: Perceptron Trick
• Concept 08: Perceptron Algorithm
• Concept 09: Non-Linear Regions
• Concept 10: error Functions
• Concept 11: Log-loss Error Function
• Concept 12: Discrete vs Continuous
• Concept 13: Softmax
• Concept 14: One-Hot Encoding
• Concept 15: Maximum Likelihood
• Concept 16: Maximum Probabilities
• Concept 17: Cross Entropy
• Concept 18: Multi-class Cross Entropy
• Concept 19: Logistic Regression
• Concept 21: Logistic Regression Algorithm
• Concept 22: Notebook - Gradient Descent
• Concept 23: Perceptrons vs Gradient Descent
• Concept 24: Continuous Perceptrons
• Concept 25: Non-linear Data
• Concept 26: Non-linear Models
• Concept 27: Neural Network Architecture
• Concept 28: Feedforward
• Concept 29: Backpropogation
• Concept 30: Pre-lab: Analyzing Student Data
• Concept 31: Notebook: Analyzing Student Data
• Concept 32: Outro
##### Lesson 02: Implementing Gradient Descent

Mat will introduce you to a different error function and guide you through implementing gradient descent using numpy matrix multiplication.

• Concept 01: Mean Squarred Error Function
• Concept 03: Gradient Descent: The Math
• Concept 04: Gradient Descent: The Code
• Concept 05: Implementing Gradient Descent
• Concept 06: Multilayer Perceptrons
• Concept 07: Backpropjgation
• Concept 08: Implementing Backpropogation
##### Lesson 03: Training Neural Networks

Now that you know what neural networks are, in this lesson you will learn several techniques to improve their training.

• Concept 01: Training Optimization
• Concept 02: Testing
• Concept 03: Overfitting and Underfitting
• Concept 04: Early Stopping
• Concept 05: Regularization
• Concept 06: Dropout
• Concept 07: Local Minimal
• Concept 08: Random Restart
• Concept 10: Other Activation Functions
• Concept 11: Batch vs Stochastic Gradient Descent
• Concept 12: Learning Rate Decay
• Concept 13: Momentum
• Concept 14: Error Functions Around the World
##### Lesson 04: Deep Learning with PyTorch

Learn how to use PyTorch for building deep learning models.

• Concept 01: Introducing PyTorch
• Concept 02: PyTorch Tensors
• Concept 03: Defining Networks
• Concept 04: Training Networks
• Concept 05: Fashion-MNIST Exercise
• Concept 06: Interface & Validation
• Concept 09: Transfer learning
• Concept 10: Transfer Learning Solution

### Part 06 : Create Your Own Image Classifier

In the second and final project for this course, you’ll build a state-of-the-art image classification application.

#### Module 01: Project

##### Lesson 01: Create Your Own Image Classifier

In this project, you’ll build a Python application that can train an image classifier on a dataset, then predict new images using the trained model.

### Part 07 : Next Steps!

Congratulations!!!!! You finished your first nanodegree in the School of AI! What are the next steps?

### Part 08 (Elective) : Github

#### Module 01: Version Control with Github

##### Lesson 01: What is Version Control?

Version control is an incredibly important part of a professional programmer’s life. In this lesson, you’ll learn about the benefits of version control and install the version control tool Git!

• Concept 01: What is Version Control
• Concept 02: Version Control in Daily Use
• Concept 03: Git and Version Control Technology
• Concept 04: Mac/Linux Setup
• Concept 05: Windows Setup
• Concept 06: Onward
##### Lesson 02: Create A Git Repo

Now that you’ve learned the benefits of Version Control and gotten Git installed, it’s time you learn how to create a repository.

• Lesson 01: Create a Repo From Scratch
• Lesson 02: Clone an Existing Repo
• Lesson 03: Determine a Repo’s Status
• Lesson 04: Outro
##### Lesson 03: Review a Repo’s History

Knowing how to review an existing Git repository’s history of commits is extremely important. You’ll learn how to do just that in this lesson.

• Lesson 01: Displaying a Repository’s Commits
• Lesson 02: Changing How Git Log Display Information
• Lesson 03: Viewing Modified Files
• Lesson 04: Viewing File Changes
• Lesson 05: Viewing a Specific Commit
• Lesson 06: Outro
##### Lesson 04: Add Commits to a Repo

A repository is nothing without commits. In this lesson, you’ll learn how to make commits, write descriptive commit messages, and verify the changes you’re about to save to the repository.

• Lesson 02: Git Commit
• Lesson 03: Commit Messages
• Lesson 04: Git Diff
• Lesson 05: Having Git Ignore Files
• Lesson 06: Outro
##### Lesson 05: Tagging, Branching and Merging

Being able to work on your project in isolation from other changes will multiply your productivity. You’ll learn how to do this isolated development with Git’s branches.

• Lesson 01: Tagging
• Lesson 02: Branching
• Lesson 03: Branching Effectivity
• Lesson 04: Merging
• Lesson 05: Merge Confilicts
• Lesson 06: Outro
##### Lesson 06: Undoing Changes

Help! Disaster has struck! You don’t have to worry, though, because your project is tracked in version control! You’ll learn how to undo and modify changes that have been saved to the repository.

• Lesson 01: Midifying the Last Commit
• Lesson 02: Reverting a Commit
• Lesson 03: Reverting Commits
• Lesson 04: Outro

#### Module 02: Github & Collaboration

##### Lesson 01: Working with Remotes

You’ll learn how to create remote repositories on GitHub and how to get and send changes to the remote repository.

• Lesson 01: Remote Repositories
• Lesson 02: Add A Remote Repository
• Lesson 03: Push Changes to A Remote
• Lesson 04: Pulling Changes from a Remote
• Lesson 05: Pull vs Fetch
##### Lesson 02: Working on Another Deveoper’s Repository

In this lesson, you’ll learn how to fork another developer’s project. Collaborating with other developers can be a tricky process, so you’ll learn how to contribute to a public project.

• Lesson 01: Forking a Repository
• Lesson 02: Reviewing Existing Work
• Lesson 03: Determining What to Work On
##### Lesson 03: Staying in Sync With a Remote Repository

You’ll learn how to send suggested changes to another developer by using pull requests. You’ll also learn how to use the powerful git rebase command to squash commits together.

• Lesson 01: Create a Pull Request
• Lesson 02: Stay in Sync with Source Project
• Lesson 03: Manage an active PR
• Lesson 04: Squash Commits

### Part 09 (Elective) : Shell Workshop

#### Module 01: Unix Shell

##### Lesson 01: Shell Workshop

The Unix shell is a powerful tool for developers of all sorts. In this lesson, you’ll get a quick introduction to the very basics of using it on your own computer.

• Concept 01: Windows: Installing Git Bash
• Concept 02: Opening a Terminal
• Concept 03: Your First Command (echo)
• Concept 04: Navigating Directories (ls, cd, ..)
• Concept 05: Currrent Working Directory (pwd)
• Concept 06: Parameters and Options (ls -l)
• Concept 07: Organizing Your Files (mkdir, mv)
• Concept 09: Viewing Files (cat, less)
• Concept 10: Removing Things (rm, rmdir)
• Concept 11: Searching and Pipes (grep, wc)
• Concept 12: Shell and Environtment variables
• Concept 13: Startup Files (.bash_profile)
• Concept 14: Controlling the Shell Prompt (\$PS1)
• Concept 15: Aliases

## (AI) Artificial Intelligence Nanodegree

Become an expert in the core concepts of artificial intelligence and learn how to apply them to real-life problems.

### Module 01: Introduction

#### Lesson 01: Welcome to Artificial Intelligence

Welcome to Term 1 of the Artificial Intelligence Nanodegree program!

#### Lesson 02: Introduction to AI

An introduction to basic AI concepts with real world examples.

#### Lesson 03: Applying AI to Sudoku

In this lesson, you’ll get taste of the power of Artificial Intelligence by developing an algorithm to solve every Sudoku puzzle. Enjoy the fun of building your first AI agent and get coding!

#### Lesson 04: Setting Up with Anaconda

Get your environment set up using Anaconda, an extremely popular way to manage your environments and packages in python.

### Module 02: Career Services

#### Lesson 01: Jobs in AI

Learn about common jobs in artificial intelligence, and get tips on how to stay active in the community.

#### Lesson 02: Optimize Your Github Profile

Other professionals are collaborating on GitHub and growing their network. Submit your profile to ensure your profile is on par with leaders in your field.

### Module 03: Search and Optimization

#### Lesson 01: Introduction to Game Playing

In this lesson, you’ll learn about how to build a Game Playing AI Agent. You’ll focus on an agent that wins in the board game Isolation! You’ll learn some of the seminal techniques in AI Game Playing including Adversarial Search and Minimax Trees.

#### Lesson 02: Advanced Game Playing

In this lesson, you’ll build a Game-Playing agent that defeats opponents in Isolation. Along the way, you’ll learn about advanced Game-Playing techniques such as Iterative Deepening, Alpha-Beta Pruning, and Expectimax.

#### Lesson 03: Build an Adverserial Search Agent

In this lesson, you’ll learn how to implement some of the seminal search algorithms that are a cornerstone of AI including Breadth-First Search, Depth-First Search, and finally A Star Search. You’ll then put your skills to the test by teaching Pac-Man to navigate his world and complete complex tasks such as finding the fastest path through the map while maximizing points scored.

#### Lesson 05: Simulated Annealing

In this lesson, you’ll learn how to explore spaces and avoid local optima by using Simulated Annealing. In the process, you’ll solve the famous n-Queens problem using this advanced AI technique!

#### Lesson 06: Constraint Satisfaction

In this lesson we’ll return to one of the main techniques we used to solve Sudoku - constraint propagation. We’ll see how to use known constraints to solve a wide variety of problems including Map Coloring problems, and simple puzzles.

### Module 04: Logic, Reasoning and Planning

#### Lesson 01: Logic and Reasoning

In this lesson you’ll learn to build intelligent systems that can reason using logic! This is in many ways one of the foundational pieces of intelligence - the ability to arrive at new conclusions from a given set of facts.

#### Lesson 02: Planning

Explore how we can use logic and search to plan out complex itineraries. Many of these planning approaches are the same ones used to power Self-Driving Cars!

### Module 05: Probabilistic Models

#### Lesson 01: Probablistic Models

Learn to model uncertainty in the real world using probability theory.

#### Lesson 02: Bayes Nets

Learn to encode probability distributions using compact graphical models that enable efficient analysis.

#### Lesson 03: Inference in Bayes Nets

In this lesson, you will learn about probabilistic inference using Bayes Nets, i.e. how to answer questions that you are interested in, given certain inputs.

#### Lesson 04: Hidden Markov Models

Learn to process sequences and time-series data using Hidden Markov Models.

#### Lesson 06: Wrapping UP Term1

Links to lesson plans for weeks 13 & 14 of term 1.

Complete real-world projects designed by industry experts, covering topics from asset management to trading signal generation. Master AI algorithms for trading, and build your career-ready portfolio.

### Part 01: Term 1: Quantitive trading

#### Module 01: Quant Basics

##### Lesson 01: Welcome to the Nanoprogram

Welcome to the exciting world of Quantitative Trading! Say hello to your instructors and get an overview of the program.

• Concept 01: What is Quant?
• Concept 02: Time Management
##### Lesson 02: Get Help from Peers and Mentors

You are starting a challenging journey. Take 3 minutes to read how to get help with projects and content.

• Concept 01: What it Takes
• Concept 02: Reviews
• Concept 03: Knowledge

##### Lesson 04: Stock Prices

Learn about stocks and common terminology used when analyzing stocks.

• Concept 01: Stocks
• Concept 02: Stock Prices
• Concept 03: Terminology
• Concept 04: Stock Data
##### Lesson 05: Market Mechanics

Learn about how modern stock markets function, how trades are executed and prices are set. Study market behavior, and analyze price and volume data to identify potential trading signals.

• Concept 01: Framers’ Market
• Concept 03: Liquidity
• Concept 04: Tick Data
• Concept 05: OHLC: Open, High, Low, Close
• Concept 06: Resample Data
• Concept 07: Volume
• Concept 08: Gaps in Market Data
• Concept 09: Markets in Different Timezones
• Concept 20: Summary
##### Lesson 06: Data Processing

Learn how to adjust market data for corporate actions, include fundamental information in your analysis and compute technical indicators.

• Concept 01: Market Data
• Concept 02: When to Use Time Stamps
• Concept 03: Coorporate Actions: Stock Splits
• Concept 04: Technical Indicators
• Concept 05: Missing Values
• Concept 08: Survivor Bias
• Concept 09: Fundemental Information
• Concept 10: Price Earnings Ratio
• Concept 11: Exchange Traded Funds
• Concept 12: Index vs ETF
• Concept 13: Alternate DATA
• Concept 14: Interlude: Your Goals
##### Lesson 07: Stock Returns

Learn how to calculate stock returns, and log returns in particular. Learn why log returns are used to analyze financial data.

• Concept 01: Returns
• Concept 02: Calculate Returns
• Concept 03: Log Returns
• Concept 04: Log Returns and Compounding
• Concept 05: Distributions of Returns and Prices
• Concept 06: Why Log Returns

Learn about 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.

• Concept 01: Designing a Trading Strategy
• Concept 02: Momentum-based Signals
• Concept 03: Long and Short Positions
• Concept 04: Dtype
• Concept 06: Momentum-based Portfolio
• Concept 07: Calculate Top and Bottom Performing
• Concept 08: Statistical Analysis
• Concept 09: The Many Meanings of “Alpha”
• Concept 10: Test Returns for Statistical Signigicance
• Concept 11: Statistical Analysis
• Concept 12: Finding Alpha
• Concept 13: Interlude: Global Talent
##### Lesson 09: Project 1: Trading with Momentum

Learn to implement a trading strategy on your own and test to see if it has the potential to be profitable.

##### Lesson 01: Quant Workflow

Learn about the overall quant workflow, including alpha signal generation, alpha combination, portfolio optimization, and trading.

• Concept 01: Starting from a Hypothesis
• Concept 02: Quant Workflow
• Concept 03: Flavors of Trading
• Concept 04: Anatomy of a Strategy
##### Lesson 02: Outliers and Filtering

Learn the importance of outliers and how to detect them. Learn about methods designed to handle outliers.

• Concept 01: Sources of Outliers
• Concept 02: Outliers Due to Real Events
• Concept 03: Outliers, Signals and Strategies
• Concept 04: Spotting Outliers in Raw Data
• Concept 05: Handling Outliers in Raw Data
• Concept 06: Spotting Outliers in Signal Returns
• Concept 07: Handling Outliers in Signal Returns
• Concept 08: Generating Robust Trading Signals
##### Lesson 03: Regression

bout regression, and related statistical tools that pre-process data before regression analysis. See how regression relates to trading and other more advanced methods.

• Concept 01: Distributions
• Concept 02: Exercise: Visualize Distributions
• Concept 03: Parameters of a Distribution
• Concept 04: Standard Normal Distribution
• Concept 05: Testing for Normality
• Concept 06: Normality
• Concept 07: Heteroskedasticity
• Concept 08: Transforming Data
• Concept 09: Linear Regression
• Concept 10: Breush Pagan in Depth (optional)
• Concept 11: Regression
• Concept 12: Multivariate Linear Regression
• Concept 13: Regression in Trading
• Concept 14: regression with two stocks
• Concept 15: Interlude: Your Brain
##### Lesson 04: Time Series Modeling

Learn about advanced methods for time series analysis, including ARMA, ARIMA, Kalman Filters, Particle Filters, and recurrent neural networks.

• Concept 01: Time Series Modeling
• Concept 02: Autoregressive Models
• Concept 03: Moving Average Models
• Concept 04: Advanced Time Series Models
• Concept 05: ARMA and ARIMA
• Concept 06: Kalman Filter
• Concept 07: Particle Filter
• Concept 08: Recurent Neural Networks
##### Lesson 05: Volatility

Learn about stock volatility, and how the GARCH model analysis volatility. See how volatility is used in equity trading.

• Concept 01: What is Volatility?
• Concept 02: Historical Volatility
• Concept 03: Annualized Volatility
• Concept 04: Scale of Volatility
• Concept 05: Rolling Windows
• Concept 06: Exponentially Weighted Moving Average
• Concept 07: Estimate Volatility
• Concept 08: Forecasting Volatility
• Concept 09: markets & Volatility
• Concept 10: using Volatility for Equity Trading
• Concept 11: Breakout Strategies
##### Lesson 06: Pairs Trading and Mean Reversion

Learn about pairs trading, and study the tools used in identifying stock pairs and making trading decisions.

• Concept 01: Mean Reversion
• Concept 02: Finding Pairs to Trade
• Concept 03: Identity Pairs to Trade
• Concept 04: Cointegration
• Concept 05: ADF and Roots
• Concept 06: Clustering Stocks
• Concept 07: Trade Pairs of Stocks
• Concept 08: Finding Pairs
• Concept 10: 3 or More Stocks
• Concept 11: Details of Johanson Test
##### Lesson 07: Project 2: Breakout Strategy

Implement the breakout strategy, find and remove outliers, and test to see if it can be a profitable strategy.

#### Module 03: Funds, ETFs, Portfolio Optimizations

##### Lesson 01: Stocks, Indices, Funds

Gain an overview of stocks, indices and funds. Also learn how to construct an index.

• Concept 01: Indices
• Concept 02: market Cap
• Concept 03: Growth V. Value
• Concept 04: Ratios
• Concept 05: Index Categories
• Concept 06: Price Weightning
• Concept 07: Market Cap Weighting
• Concept 08: Adding or Removing from an Index
• Concept 09: How an Index is Constructed
• Concept 10: Hang Seng Index Construction
• Concept 11: Index after Add or Delete
• Concept 12: Funds
• Concept 13: Active vs. Passive
• Concept 14: Rate of Returns over Multiple Periods
• Concept 15: Smart Beta
• Concept 16: Mutual Funds
• Concept 17: Hedge Funds
• Concept 18: Relative and Absolute Returns
• Concept 20: Net Asset Value
• Concept 21: Expense Ratios
• Concept 22: Open End Mutual Funds
• Concept 23: Handling Withdraws
• Concept 24: Close End Mutual Funds
• Concept 25: Transaction Costs
##### Lesson 02: ETFs

Learn about Exchanged Traded Funds (ETFs) and how they are used by investors and fund managers.

• Concept 01: Shrtcomings of Mutual Funds
• Concept 02: How ETFs are Used
• Concept 03: Hedging
• Concept 05: Authorized Participant and Create Process
• Concept 06: Redeeming Shares
• Concept 07: Lower Operational Costs & Taxes
• Concept 08: Arbitrage
• Concept 09: Arbitrage for Efficient ETF Pricing
##### Lesson 03: Portfolio Risk and Return

Learn the fundamentals of portfolio theory, which are key to designing portfolios for mutual funds, hedge funds and ETFs.

• Concept 01: Diversification
• Concept 02: Portfolio Mean
• Concept 03: Portfolio Variance
• Concept 04: Reducing Risk
• Concept 05: Variance of a 3-Asset Portfolio
• Concept 06: The Covariance Matrix and Quadratic Forms
• Concept 07: Calculate a Covariance Matrix
• Concept 08: np.Cov
• Concept 09: The Efficient Frontier
• Concept 10: Capital Market Line
• Concept 11: The Sharpe Ration
• Concept 12: Other Risk Measures
• Concept 13: The Capital Assets Pricing Model