
Explore the course structure and what's planned for each section, and learn tips to maximize your outcomes in this ai algorithmic trading course with python.
Learn the essential disclaimer and risk awareness for AI algorithmic trading, clarifying the course is educational and not financial advice, with no guaranteed profitable algorithms in Australia.
Aligns trading concepts with machine learning fundamentals and clarifies key terminologies. Covers four sections: trading concepts, trading process, machine learning basics, and machine learning applications in trading.
Explore the trading landscape with the market, brokers, and market makers, and analyze returns, risk, long and short positions, and open-high-low-close candles.
Develop a structured trading process from edge research to live trading, using price prediction signals, backtesting, paper money, and risk-aware evaluation to approach real markets.
Learn the fundamentals of machine learning, from data gathering and cleaning to feature extraction, model ideation, training, testing, and deployment, with hands-on trading examples.
Learn how machine learning applies to trading by generating signals and predicting prices, using supervised and unsupervised models and chart pattern insights from data such as Twitter news.
Explore essential Python packages used across the course, including Jupyter Notebook, NumPy, Pandas, Matplotlib, and Seaborn, for plotting.
Explore how the Jupyter notebook acts as a web server that runs code in cells and preserves results for quick experimentation in data science.
Install and run Jupyter lab, create and run notebook cells, and use keyboard shortcuts to develop efficiently in a Python environment.
Explore NumPy and pandas as widely used data analysis tools. NumPy enables fast multi-dimensional array operations, while pandas handles table data with dataframe operations like group by, reshaping, and filtering.
Explore numpy basics, from installing and importing numpy to creating, reshaping, and performing elementwise operations on arrays, including zeros and ones arrays and indexing techniques.
Learn pandas basics by installing and importing pandas, creating series and data frames, and using timestamps, date ranges, numpy integration, and core tools like head, tail, describe, and info.
Explore plotting with Matplotlib and Seaborn to create graphs and charts for data analysis, compare styling flexibility, and practice rendering a few charts.
Learn to use seaborn and matplotlib to create line plots of time point vs signal and scatter plots of tip vs total bill, with hue by sex.
Identify data sources and data types for AI trading. Learn methods to access and retain data from providers through coding.
Compare market data and alternative data, explore timeframes from tick to year, and emphasize data credibility, cleaning, and UTC time zone alignment for reliable model training.
Explore methods to access data for AI algorithmic trading, including broker APIs, trading platform packages, and HTML scraping; compare paid and free sources across asset classes.
Explore Alpha Vantage as a multi-asset data source for market data, including intraday stock data, forex, crypto, and fundamental data, using Python to access APIs with an API key.
Access Alpha Vantage intraday time series data with Python, using an API key, pandas, numpy, and requests to fetch, structure, and analyze open, high, low, close, and volume.
Learn to handle Alpha Vantage rate limits in Python by detecting the limiter after five calls per minute, waiting 61 seconds, and continuing downloads across months; then save to CSV.
Install Metatrader 5, then access data and currency charts by connecting to a broker through a desktop platform. Create a demo account to practice with paper money and configure leverage.
Connect to metatrader five with Python using the metatrader five package, fetch OHLCV data with numpy and pandas, convert times to UTC timestamps, and save to CSV.
Master feature and target design as the course foundation, then explore rolling window concepts, key considerations, and practical coding.
Define and extract features from past price data to forecast future targets, using moving windows to create past and future frames for time-series modeling.
Learn how to choose feature windows and forecasting horizons in AI trading, normalize time-varying data, and select time-neutral features that align with the target.
Use pandas to compute percentage return with a configurable lookback, shift to create target labels, and inner join features and targets by timestamp while suffixing target columns to prevent leakage.
Design features with pandas ta using a strategy object to configure indicators like sma and rsi. Apply multiple lookback periods, handle nan values, and export features to csv for modeling.
Visualize features and targets for AI trading by reading the data, splitting features and targets, and using plots and heatmaps to assess distributions, correlations, and moving averages.
Visualize feature frequency and distribution with histograms to compare indicators like simple moving average and RSI, showing how length affects standard deviation and data variance.
Explore probability based algorithms with a focus on Bayesian methods to model buy/sell signals in AI algorithmic trading using Python.
Adopt a Bayesian mindset to update inferences as new evidence arrives, changing the probability of ice cream based on sunny weather, nearby ice cream carts, and season.
Learn the basics of bayesian mathematics by outlining conditional and joint probabilities, defining posterior, likelihood, and prior, and understanding how bayesian estimation connects evidence with events.
Apply Bayesian inference to spam detection by comparing the posterior probability of spam versus normal email using prior, likelihood, and evidence like deal and food words.
Apply Bayesian methods to estimate mu and sigma of a normal distribution from chocolate contamination data, using prior knowledge and the likelihood to compute the posterior from observed data points.
Explore bayesian parameter estimation by maximizing the posterior over mu and sigma, given prior and likelihood; discuss practical optimization challenges and reliance on estimation packages.
Master Bayesian probabilities with PyMC, using out-of-the-box distributions to link them together. Implement a simple toy project in a Jupyter notebook to see PyMC handle the formulas for you.
Learn PyMC basics by modeling normal and Bernoulli distributions, sampling and tracing results with Arviz, and building conditional and multi-variable models using pm.Model.
Estimate mu for a normal target distribution using bayesian methods in PyMC by updating a prior with observed data through the likelihood to infer the posterior of mu.
Differentiate regression and classification, using linear regression to estimate height and logistic regression with a sigmoid to classify obesity. Train with cross-entropy to optimize the weights.
This lecture converts a regression return problem into classification, loads euro/usd data at 30-minute resolution, scales features with scikit-learn, and uses mutual information to select features before Bayesian trading.
Explore how logistic regression becomes Bayesian logistic regression by treating beta as a probabilistic parameter described by a normal distribution, yielding a posterior for uncertainty.
Learn bayesian logistic regression in python using PyMC, with two features — simple moving average and RSI — priors, sigmoid, and Bernoulli outcomes to predict price direction.
Evaluate price-direction models with a confusion matrix and precision/recall to assess trading signals; experiment with rsi, moving averages, priors, and data splits.
Explore how a decision tree is used for classification and regression, and examine how random forests work and how they help.
Apply decision tree basics to classify data using weight and height to distinguish basketball players from non players. Create sequential splits with lines and thresholds, guided by cross-entropy intuition.
Explore how decision trees handle regression by splitting data on fertilizer and water features, using averages to estimate crop yield, and evaluating with mean squared error.
Apply a regression decision tree to estimate returns using two features, tune max depth and min samples split, train with scikit-learn, and visualize with plot_tree and Graphviz.
Use a trained decision tree regressor with simple moving average and standard deviation to predict returns. Assess performance with mean squared error and visualize predictions via a scatter plot.
Demonstrate how a decision tree uses standard deviation and simple moving average to predict returns, and visualize the surface with meshgrid and contour plots for trading signals.
Train a decision tree regressor with features, tune max depth, and evaluate mean squared error to identify features like average true range, simple moving average, Williams Art, and standard deviation.
Split the data into train and test sets using sklearn's train_test_split, train on the training data, then evaluate mean square error on the unseen test data to detect overfitting.
Apply a decision tree classifier to classify return direction (up or down) using two features, optimized with entropy and visualized via Graphviz, trained on binary targets from the dataset.
Apply a decision tree classifier with entropy on all features, split data into train and test, train, evaluate with precision and recall, and compare train versus test performance.
Explore k-fold cross validation to assess model reliability across multiple training folds and validation data, revealing overfitting, high variance, and guiding hyperparameter tuning.
Apply cross-validation and parameter tuning to real stock data in Python, converting a continuous target to binary up/down signals with time series split using scikit-learn.
Explore cross validation in Python by selecting appropriate splits, calculating train and test lengths from data samples, and handling package limitations to avoid split failures.
Tune the decision tree using grid search with cross-validation to optimize max depth and max features, using a decision tree classifier, accuracy scoring, and refit on full data.
Explore learning curves with cross-validation to select optimal train size in Python using scikit-learn. Compare train and validation accuracy across sizes to prevent overfitting.
Explore how deep decision trees cause overfitting and how random forests use data subsets and majority voting to improve classification and regression performance.
Use a random forest classifier in Python to predict price direction, convert targets to classification, and evaluate with cross-validation accuracy on five folds.
Explains tuning a random forest with a param grid - estimators, max depth, and min samples leaves - using grid search cross-validation to find best parameters and reveal feature importance.
Explore gradient boosting, compare bagging and boosting, and clarify the key differences between these ensemble methods for improving model performance.
Explore ensemble methods in AI trading by combining models through bagging and boosting; learn how random forests use parallel classifiers and how boosting cancels errors with a linear weighted combination.
Explore boosting with a eur/usd 30-minute data set over two years, using Lightgbm regression with tree-based submodels, scaling, simple moving average features, and evaluating via MAE and MSE.
Split data into training and validation sets with train_test_split to monitor performance and avoid overfitting while tuning boosting models and evaluating with mean squared error.
Apply time series cross-validation with a moving window split in sklearn to train and test on 2000-row data, adjusting train sizes, test lengths, and splits.
Train an LGB model on a subset of data, apply cross-validation, and log predictions at each split, then concatenate results into a single predictions dataframe to derive buy/sell signals.
Explore deep learning concepts and the basics of artificial neural networks, focusing on feedforward neural networks and their role in algorithmic trading.
Explore how deep learning models transform features into targets using weights, activation functions, and neural networks, then optimize with cost functions and metrics.
Explore gradient descent as an optimization method to minimize a cost function by adjusting weights using the first derivative and learning rate, highlighting risks of local minima and step size.
Explore feedforward neural networks with input, hidden, and output layers connected without loops. Learn backpropagation as a gradient-descent based training method and compare activation functions like relu, sigmoid, and tanh.
Train a feedforward neural network with TensorFlow to estimate log return from euro usd data, using feature selection, scaling, and a sequential model with early stopping.
Learn to tune feed-forward neural network hyperparameters with grid search cross-validation, using scikit-learn and the keras regressor wrapper to evaluate batch sizes, epochs, and layer sizes.
Explore grid search for tuning a feed-forward neural network in Python, retrain with best batch size, epochs, and hidden layers, and inspect cross-validation scores and predictions via a DataFrame.
Introduce recurrent neural networks and long short-term memory. See practical examples that illustrate how RNNs handle sequence data.
Explore recurrent neural networks and long short term memory, including vector to sequence, sequence to vector, and sequence to sequence models, and how gating addresses vanishing and exploding gradients.
Implement an lstm model with TensorFlow on euro/usd 30-minute data, creating windowed lag features and a binary target to predict up or down movement.
Build an LSTM model in TensorFlow with a five-step window and a single feature, defining the input layer and one-unit LSTM. Split data into train and test sets.
Reshape inputs to three-dimensional sequences, prepare X_train and X_test with the window size and features, then train an LSTM model with binary cross-entropy loss and accuracy, tracking history and validation.
Diagnose lstm models in tensorflow/keras with early stopping, monitor loss, and a dense layer to combine multiple lstm outputs, while addressing overfitting and limited data.
Welcome to one of the most comprehensive trading courses using Machine learning and AI to generate buy/sell signal
AI based trading bots are on the rise and their share of the market has been growing rapidly. Not only big trading quant financial institutions such as MLQ AI, Kavout, QuantAI, Precision Alpha, etc are using artificial intelligence for trading but also retail traders have been using this powerful tool to find the edge to the market. This makes having machine learning in your algorithmic trading bot a must.
The backbone of any trading setup is buy and sell signal generation, and this comes from having a reliable and correct price prediction. That is where machine learning and artificial intelligence can shine.
In this course, different asset classes' market data are downloaded, and different types of machine learning algorithms are applied to those types of data. Those algorithms are the ones widely used in the data science and trading. They include probability based, deep learning, artificial neural networks, decision trees, etc. Then, we use those algorithms to predict price and generate signals.
Hands on With Python
Every step in this course has coding sections with python. First, the intuition is explained then we develop some code to implement that idea using machine learning packages.
Exploring Data Sources (Market Data)
The very first step in any machine learning project is having access to data. Different market data providers have different ways to capture data.
Features and Targets
Before designing any machine learning model, it needs to be clear that what we expect our model to predict. In trading terminology, is it a trend, volatility, return that the buy/sell signal is focused
Also, giving raw data (OHLC) to the model, makes it difficult to predict any price movement. Designing the features that can contribute to signal generation is the must.
Machine Learning Models
Using different types of ML models that can create signals in different asset classes. There are countless number of ML algorithms, and they are still growing. Knowing and implementing big category of those algorithms enable us to explore and implement all other variations.
We only not implement those models in Python but also, we explore different ways of training them and tuning hyper parameters. We use well-known python packages that widely used in data science community.
Before implementing and using any package or algorithm, we first go through intuition and explain the idea behind that model. we use simple terms and avoid going through complicated Math formula and good enough to diagnose the model.