Loved by learners at thousands of companies
Time series data is all around us; some examples are the weather, human behavioral patterns as consumers and members of society, and financial data. In this course, you'll learn how to calculate technical indicators from historical stock data, and how to create features and targets out of the historical stock data. You'll understand how to prepare our features for linear models, xgboost models, and neural network models. We will then use linear models, decision trees, random forests, and neural networks to predict the future price of stocks in the US markets. You will also learn how to evaluate the performance of the various models we train in order to optimize them, so our predictions have enough accuracy to make a stock trading strategy profitable.
Preparing data and a linear modelFree
In this chapter, we will learn how machine learning can be used in finance. We will also explore some stock data, and prepare it for machine learning algorithms. Finally, we will fit our first machine learning model -- a linear model, in order to predict future price changes of stocks.Machine learning for finance50 xpExplore the data with some EDA100 xpCorrelations100 xpData transforms, features, and targets50 xpCreate moving average and RSI features100 xpCreate features and targets100 xpCheck the correlations100 xpLinear modeling50 xpCreate train and test features100 xpFit a linear model100 xpEvaluate our results100 xp
Machine learning tree methods
Learn how to use tree-based machine learning models to predict future values of a stock's price, as well as how to use forest-based machine learning methods for regression and feature selection.Engineering more features50 xpFeature engineering from volume100 xpCreate day-of-week features100 xpExamine correlations of the new features100 xpDecision trees50 xpFit a decision tree100 xpTry different max depths100 xpCheck our results100 xpRandom forests50 xpFit a random forest100 xpTune random forest hyperparameters100 xpEvaluate performance100 xpFeature importances and gradient boosting50 xpRandom forest feature importances100 xpA gradient boosting model100 xpGradient boosting feature importances100 xp
Neural networks and KNN
We will learn how to normalize and scale data for use in KNN and neural network methods. Then we will learn how to use KNN and neural network regression to predict the future values of a stock's price (or any other regression problem).Scaling data and KNN Regression50 xpStandardizing data100 xpOptimize n_neighbors100 xpEvaluate KNN performance100 xpNeural Networks50 xpBuild and fit a simple neural net100 xpPlot losses100 xpMeasure performance100 xpCustom loss functions50 xpCustom loss function100 xpFit neural net with custom loss function100 xpVisualize the results100 xpOverfitting and ensembling50 xpCombatting overfitting with dropout100 xpEnsembling models100 xpSee how the ensemble performed100 xp
Machine learning with modern portfolio theory
In this chapter, you'll learn how to use modern portfolio theory (MPT) and the Sharpe ratio to plot and find optimal stock portfolios. You'll also use machine learning to predict the best portfolios. Finally, you'll evaluate performance of the ML-predicted portfolios.Modern portfolio theory (MPT); efficient frontiers50 xpJoin stock DataFrames and calculate returns100 xpCalculate covariances for volatility100 xpCalculate portfolios100 xpPlot efficient frontier100 xpSharpe ratios; features and targets50 xpGet best Sharpe ratios100 xpCalculate EWMAs100 xpMake features and targets100 xpPlot efficient frontier with best Sharpe ratio100 xpMachine learning for MPT50 xpMake predictions with a random forest100 xpGet predictions and first evaluation100 xpEvaluate returns100 xpPlot returns100 xpClosing remarks and advice50 xp
PrerequisitesSupervised Learning with scikit-learn
Assistant Professor of Data Science at Regis University
I teach and develop data science courses for Regis University's Master's in data science degree. I also do research with neural networks on EEG data. I spend some of my extra time applying neural nets to financial data in order to predict future prices of stocks and cryptocurrencies.