• Stars
    star
    1,191
  • Rank 39,271 (Top 0.8 %)
  • Language
    Jupyter Notebook
  • License
    MIT License
  • Created about 6 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Deep Learning and Machine Learning stocks represent promising opportunities for both long-term and short-term investors and traders.

Contributors Forks Stargazers Issues MIT License LinkedIn

Buy Me A Coffee

Deep Learning and Machine Learning for Stock Predictions

Description: This is for learning, studying, researching, and analyzing stock in deep learning (DL) and machine learning (ML). Machine learning and deep learning are both types of AI. Predicting Stocks with a Machine Learning method or Deep Learning method with different types of algorithm. Experimenting with stock data to see how it works and why it works or why it does not work that way. Using different types of stock strategies in machine learning or deep learning. Using Technical Analysis or Fundamental Analysis in machine learning or deep learning to predict the future stock prices. In addition, to predict stocks in the long terms or short terms.

Machine learning is a subset of artificial intelligence involved with the creating of algorithms that can change itself without human intervention to produce an output by feeding itself through structured data. On the other hand, deep learning is a subset of machine learning where algorithms are created, but the functions are like machine learning and many of the different types of algorithms give a different interpretation of the data. The network of algorithms is called artificial neural networks and is similar to neural connections that exist in the human brain.

Machine Learning Step-by-Step

  1. Collecting/Gathering Data.
  2. Preparing the Data - load data and prepare it for the machine learning training.
  3. Choosing a Model.
  4. Training the Model.
  5. Evaluating the Model.
  6. Parameter Tuning.
  7. Make a Predictions.

Deep Learning Model Step-by-Step

  1. Define the Model.
  2. Complie the Model.
  3. Fit the Model with training dataset.
  4. Make a Predictions.

Programming Languages and Tools:

python Nteract Anaconda Spyder Jupyter Notebook Notepad++

Three main types of data: Categorical, Discrete, and Continuous variables

  1. Categorical variable(Qualitative): Label data or distinct groups.
    Example: location, gender, material type, payment, highest level of education
  2. Discrete variable (Class Data): Numerica variables but the data is countable number of values between any two values.
    Example: customer complaints or number of flaws or defects, Children per Household, age (number of years)
  3. Continuous variable (Quantitative): Numeric variables that have an infinite number of values between any two values. Example: length of a part or the date and time a payment is received, running distance, age (infinitly accurate and use an infinite number of decimal places)

Data Use

  1. For 'Quantitative data' is used with all three centre measures (mean, median and mode) and all spread measures.
  2. For 'Class data' is used with median and mode.
  3. For 'Qualitative data' is for only with mode.

Two types of problems:

  1. Classification (predict label)
  2. Regression (predict values)

Bias-Variance Tradeoff

Bias

  • Bias is the difference between our actual and predicted values.
  • Bias is the simple assumptions that our model makes about our data to be able to predict new data.
  • Assumptions made by a model to make a function easier to learn.

Variance

  • Variance is opposite of bias.
  • Variance is variability of model prediction for a given data point or a value that tells us the spread of our data.
  • If you train your data on training data and obtain a very low error, upon changing the data and then training the same.

Overfitting, Underfitting, and the bias-variance tradeoff

Overfitted is when the model memorizes the noise and fits too closely to the training set. Good fit is a model that learns the training dataset and genernalizes well with the old out dataset. Underfitting is when it cannot establish the dominant trend within the data; as a result, in training errors and poor performance of the model.

Overfitting:

Overfitting model is a good model with the training data that fit or at lease with near each observation; however, the model mist the point and random noise is capture inside the model. The model have low training error and high CV error, low in-sample error and high out-of-sample error, and high variance.

  1. High Train Accuracy
  2. Low Test Accuracy

Avoiding Overfitting:

  1. Early stopping - stop the training before the model starts learning the noise within the model.
  2. Training with more data - adding more data will increase the accuracy of the modelor can help algorithms detect the signal better.
  3. Data augmentation - add clean and relevant data into training data.
  4. Feature selection - Use important features within the data. Remove features.
  5. Regularization - reduce features by using regularization methods such as L1 regularization, Lasso regularization, and dropout.
  6. Ensemble methods - combine predictions from multiple separate models such as bagging and boosting.
  7. Increase training data.

Good fit:

  1. High Train Accuracy
  2. High Test Accuracy

Underfitting:

Underfitting model is not perfect, so it does not capture the underlying logic of the data. Therefore, the model does not have strong predictive power with low accuracy. The model have large training set error, large in-sample error, and high bias.

  1. Low Train Accuracy
  2. Low Test Accuracy

Avoiding Underfitting:

  1. Decrease regularization - reduce the variance with a model by applying a penalty to the input parameters with the larger coefficients such as L1 regularization, Lasso regularization, dropout, etc.
  2. Increase the duration of training - extending the duration of training because stopping the training early will cause underfit model.
  3. Feature selection - not enough predictive features present, then adding more features or features with greater importance would improve the model.
  4. Increase the number of features - performing feature engineering
  5. Remove noise from the data

Python Reviews

Step 1 through step 8 is a review on python.
After step 8, everything you need to know is relates to data analysis, data engineering, data science, machine learning, and deep learning.
Here the link to python tutorial:
Python Tutorial for Stock Analysis

List of Machine Learning Algorithms for Stock Trading

Most Common Regression Algorithms

  1. Linear Regression Model
  2. Logistic Regression
  3. Lasso Regression
  4. Support Vector Machines
  5. Polynomial Regression
  6. Stepwise Regression
  7. Ridge Regression
  8. Multivariate Regression Algorithm
  9. Multiple Regression Algorithm
  10. K Means Clustering Algorithm
  11. NaΓ―ve Bayes Classifier Algorithm
  12. Random Forests
  13. Decision Trees
  14. Nearest Neighbours
  15. Lasso Regression
  16. ElasticNet Regression
  17. Reinforcement Learning
  18. Artificial Intelligence
  19. MultiModal Network
  20. Biologic Intelligence

Different Types of Machine Learning Algorithms and Models

Algorithms is a process and set of instructions to solve a class of problems. In addition, algorithms perform computation such as calculations, data processing, automated reasoning, and other tasks. A machine learning algorithm is a method that provides systems with the ability to automatically learn and improve from experience without being having formulated.

Prerequistes

Python 3.5+
Jupyter Notebook Python 3
Windows 7 or Windows 10

Download Software

https://www.python.org/

Programming Language:

python

Tools:

Anaconda Spyder Jupyter Notebook Notepad++ Notepad++

Authors

* Tin Hang

Disclaimer

πŸ”» Do not use this code for investing or trading in the stock market. However, if you are interest in the stock market, you should read πŸ“š books that relate to stock market, investment, or finance. On the other hand, if you into quant or machine learning, read books about πŸ“˜ machine trading, algorithmic trading, and quantitative trading. You should read πŸ“— about Machine Learning and Deep Learning to understand the concept, theory, and the mathematics. On the other hand, you should read academic paper and do research online about machine learning and deep learning on πŸ’»

πŸ”΄ Warning: This is not financial advisor. Do not use this to invest or trade. It is for educational purpose.

Some codes might not work because some of the library packages are updated or outdated. The code will need to be updated and it depends on the python package library. Some libraries will need to be either upgraded or downgraded.

More Repositories

1

Stock_Analysis_For_Quant

Various Types of Stock Analysis in Excel, Matlab, Power BI, Python, R, and Tableau
Jupyter Notebook
1,632
star
2

SimpleStockAnalysisPython

Teaches step-by-step to analysis stock data in python.
Jupyter Notebook
335
star
3

Mathematics_for_Machine_Learning

Learn the mathematics behind machine learning and explore various mathematical concepts within machine learning.
Jupyter Notebook
39
star
4

Trading-Strategies-in-Emerging-Markets-Coursera

Design your own Trading Strategy
Jupyter Notebook
34
star
5

Data-Science

Utilizing Kaggle Data and Real-World Data for Data Science and Prediction in Python, R, Excel, Power BI, and Tableau.
Jupyter Notebook
23
star
6

Beverages_Long_Term_Investment

Long-Term Investment in the Beverage Industry
Jupyter Notebook
15
star
7

SimpleStockAnalysisR

Tutor step-by-step on how to analyze stock data using the R language.
Jupyter Notebook
14
star
8

100_Day_Challenge

100 day Challenge writing codes daily
Jupyter Notebook
13
star
9

LastAncientOne

My personal repository
8
star
10

Scrape_Data

Scrape Data from Twitter, Facebook, Yahoo, and other websites
Jupyter Notebook
6
star
11

Home_Improvement_Retail_Investment

Select the optimal investment for housing and home construction.
Jupyter Notebook
5
star
12

Technology_Investment

Analyzing and investing Technology Stocks
R
4
star
13

GDP_Project

GDP Forcasting
4
star
14

ASL_Signing

Jupyter Notebook
2
star
15

Covid-19_Vaccines_Investment

Find the best investment opportunity among vaccine companies.
Jupyter Notebook
2
star
16

Electric_Cars_Investment

Investing in the Long-Term Future of Electric Cars
Jupyter Notebook
1
star
17

AMD-vs-NVDA

Analyzing 2 technology stocks using Master Analyst Program (MAP).
Jupyter Notebook
1
star