• This repository has been archived on 27/Jul/2023
  • Stars
    star
    7,822
  • Rank 4,848 (Top 0.1 %)
  • Language
    Jupyter Notebook
  • License
    Apache License 2.0
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

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

Repository Details

Gathers machine learning and deep learning models for Stock forecasting including trading bots and simulations

logo

MIT License


Stock-Prediction-Models, Gathers machine learning and deep learning models for Stock forecasting, included trading bots and simulations.

Table of contents

Contents

Models

Deep-learning models

  1. LSTM
  2. LSTM Bidirectional
  3. LSTM 2-Path
  4. GRU
  5. GRU Bidirectional
  6. GRU 2-Path
  7. Vanilla
  8. Vanilla Bidirectional
  9. Vanilla 2-Path
  10. LSTM Seq2seq
  11. LSTM Bidirectional Seq2seq
  12. LSTM Seq2seq VAE
  13. GRU Seq2seq
  14. GRU Bidirectional Seq2seq
  15. GRU Seq2seq VAE
  16. Attention-is-all-you-Need
  17. CNN-Seq2seq
  18. Dilated-CNN-Seq2seq

Bonus

  1. How to use one of the model to forecast t + N, how-to-forecast.ipynb
  2. Consensus, how to use sentiment data to forecast t + N, sentiment-consensus.ipynb

Stacking models

  1. Deep Feed-forward Auto-Encoder Neural Network to reduce dimension + Deep Recurrent Neural Network + ARIMA + Extreme Boosting Gradient Regressor
  2. Adaboost + Bagging + Extra Trees + Gradient Boosting + Random Forest + XGB

Agents

  1. Turtle-trading agent
  2. Moving-average agent
  3. Signal rolling agent
  4. Policy-gradient agent
  5. Q-learning agent
  6. Evolution-strategy agent
  7. Double Q-learning agent
  8. Recurrent Q-learning agent
  9. Double Recurrent Q-learning agent
  10. Duel Q-learning agent
  11. Double Duel Q-learning agent
  12. Duel Recurrent Q-learning agent
  13. Double Duel Recurrent Q-learning agent
  14. Actor-critic agent
  15. Actor-critic Duel agent
  16. Actor-critic Recurrent agent
  17. Actor-critic Duel Recurrent agent
  18. Curiosity Q-learning agent
  19. Recurrent Curiosity Q-learning agent
  20. Duel Curiosity Q-learning agent
  21. Neuro-evolution agent
  22. Neuro-evolution with Novelty search agent
  23. ABCD strategy agent

Data Explorations

  1. stock market study on TESLA stock, tesla-study.ipynb
  2. Outliers study using K-means, SVM, and Gaussian on TESLA stock, outliers.ipynb
  3. Overbought-Oversold study on TESLA stock, overbought-oversold.ipynb
  4. Which stock you need to buy? which-stock.ipynb

Simulations

  1. Simple Monte Carlo, monte-carlo-drift.ipynb
  2. Dynamic volatility Monte Carlo, monte-carlo-dynamic-volatility.ipynb
  3. Drift Monte Carlo, monte-carlo-drift.ipynb
  4. Multivariate Drift Monte Carlo BTC/USDT with Bitcurate sentiment, multivariate-drift-monte-carlo.ipynb
  5. Portfolio optimization, portfolio-optimization.ipynb, inspired from https://pythonforfinance.net/2017/01/21/investment-portfolio-optimisation-with-python/

Tensorflow-js

I code LSTM Recurrent Neural Network and Simple signal rolling agent inside Tensorflow JS, you can try it here, huseinhouse.com/stock-forecasting-js, you can download any historical CSV and upload dynamically.

Misc

  1. fashion trending prediction with cross-validation, fashion-forecasting.ipynb
  2. Bitcoin analysis with LSTM prediction, bitcoin-analysis-lstm.ipynb
  3. Kijang Emas Bank Negara, kijang-emas-bank-negara.ipynb

Results

Results Agent

This agent only able to buy or sell 1 unit per transaction.

  1. Turtle-trading agent, turtle-agent.ipynb

  1. Moving-average agent, moving-average-agent.ipynb

  1. Signal rolling agent, signal-rolling-agent.ipynb

  1. Policy-gradient agent, policy-gradient-agent.ipynb

  1. Q-learning agent, q-learning-agent.ipynb

  1. Evolution-strategy agent, evolution-strategy-agent.ipynb

  1. Double Q-learning agent, double-q-learning-agent.ipynb

  1. Recurrent Q-learning agent, recurrent-q-learning-agent.ipynb

  1. Double Recurrent Q-learning agent, double-recurrent-q-learning-agent.ipynb

  1. Duel Q-learning agent, duel-q-learning-agent.ipynb

  1. Double Duel Q-learning agent, double-duel-q-learning-agent.ipynb

  1. Duel Recurrent Q-learning agent, duel-recurrent-q-learning-agent.ipynb

  1. Double Duel Recurrent Q-learning agent, double-duel-recurrent-q-learning-agent.ipynb

  1. Actor-critic agent, actor-critic-agent.ipynb

  1. Actor-critic Duel agent, actor-critic-duel-agent.ipynb

  1. Actor-critic Recurrent agent, actor-critic-recurrent-agent.ipynb

  1. Actor-critic Duel Recurrent agent, actor-critic-duel-recurrent-agent.ipynb

  1. Curiosity Q-learning agent, curiosity-q-learning-agent.ipynb

  1. Recurrent Curiosity Q-learning agent, recurrent-curiosity-q-learning.ipynb

  1. Duel Curiosity Q-learning agent, duel-curiosity-q-learning-agent.ipynb

  1. Neuro-evolution agent, neuro-evolution.ipynb

  1. Neuro-evolution with Novelty search agent, neuro-evolution-novelty-search.ipynb

  1. ABCD strategy agent, abcd-strategy.ipynb

Results signal prediction

I will cut the dataset to train and test datasets,

  1. Train dataset derived from starting timestamp until last 30 days
  2. Test dataset derived from last 30 days until end of the dataset

So we will let the model do forecasting based on last 30 days, and we will going to repeat the experiment for 10 times. You can increase it locally if you want, and tuning parameters will help you by a lot.

  1. LSTM, accuracy 95.693%, time taken for 1 epoch 01:09

  1. LSTM Bidirectional, accuracy 93.8%, time taken for 1 epoch 01:40

  1. LSTM 2-Path, accuracy 94.63%, time taken for 1 epoch 01:39

  1. GRU, accuracy 94.63%, time taken for 1 epoch 02:10

  1. GRU Bidirectional, accuracy 92.5673%, time taken for 1 epoch 01:40

  1. GRU 2-Path, accuracy 93.2117%, time taken for 1 epoch 01:39

  1. Vanilla, accuracy 91.4686%, time taken for 1 epoch 00:52

  1. Vanilla Bidirectional, accuracy 88.9927%, time taken for 1 epoch 01:06

  1. Vanilla 2-Path, accuracy 91.5406%, time taken for 1 epoch 01:08

  1. LSTM Seq2seq, accuracy 94.9817%, time taken for 1 epoch 01:36

  1. LSTM Bidirectional Seq2seq, accuracy 94.517%, time taken for 1 epoch 02:30

  1. LSTM Seq2seq VAE, accuracy 95.4190%, time taken for 1 epoch 01:48

  1. GRU Seq2seq, accuracy 90.8854%, time taken for 1 epoch 01:34

  1. GRU Bidirectional Seq2seq, accuracy 67.9915%, time taken for 1 epoch 02:30

  1. GRU Seq2seq VAE, accuracy 89.1321%, time taken for 1 epoch 01:48

  1. Attention-is-all-you-Need, accuracy 94.2482%, time taken for 1 epoch 01:41

  1. CNN-Seq2seq, accuracy 90.74%, time taken for 1 epoch 00:43

  1. Dilated-CNN-Seq2seq, accuracy 95.86%, time taken for 1 epoch 00:14

Bonus

  1. How to forecast,

  1. Sentiment consensus,

Results analysis

  1. Outliers study using K-means, SVM, and Gaussian on TESLA stock

  1. Overbought-Oversold study on TESLA stock

  1. Which stock you need to buy?

Results simulation

  1. Simple Monte Carlo

  1. Dynamic volatity Monte Carlo

  1. Drift Monte Carlo

  1. Multivariate Drift Monte Carlo BTC/USDT with Bitcurate sentiment

  1. Portfolio optimization

More Repositories

1

NLP-Models-Tensorflow

Gathers machine learning and Tensorflow deep learning models for NLP problems, 1.13 < Tensorflow < 2.0
Jupyter Notebook
1,721
star
2

malaya

Natural Language Toolkit for bahasa Malaysia, https://malaya.readthedocs.io/
Jupyter Notebook
369
star
3

Gather-Deployment

Gathers Python deployment, infrastructure and practices.
Jupyter Notebook
352
star
4

malaysian-dataset

Text corpus for Malaysia, https://malaya.readthedocs.io/en/latest/Dataset.html
Jupyter Notebook
229
star
5

malaya-speech

Speech Toolkit for Malaysian language, https://malaya-speech.readthedocs.io/
Jupyter Notebook
191
star
6

Machine-Learning-Numpy

Gathers Machine learning models using pure Numpy to cover feed-forward, RNN, CNN, clustering, MCMC, timeseries, tree-based, and so much more!
Jupyter Notebook
106
star
7

Self-Driving-Car-Engines

Gathers signal processing, computer vision, machine learning and deep learning for self-driving car engines.
Jupyter Notebook
80
star
8

Python-DevOps

gathers Python stack for DevOps, these are usually my basic templates use for my implementations, so, feel free to use it and evolve it! Everything is Docker!
Python
77
star
9

Deep-Learning-Tensorflow

Gathers Tensorflow deep learning models.
Jupyter Notebook
51
star
10

project-suka-suka

Husein pet projects in here!
Jupyter Notebook
49
star
11

YOLO-Object-Detection-Tensorflow

YOLO: Real-Time Object Detection using Tensorflow and easy to use
Python
44
star
12

Machine-Learning-Data-Science-Reuse

Gathers machine learning and data science techniques for problem solving.
Jupyter Notebook
36
star
13

Bahasa-NLP-Tensorflow

Gathers Tensorflow deep learning models for Bahasa Malaysia NLP problems
Jupyter Notebook
28
star
14

Signal-Classification-Comparison

Classify signal using Deep Learning on Tensorflow and various machine learning models.
Jupyter Notebook
25
star
15

Tensorflow-JS-Projects

Web projects using Tensorflow JS, Plotly, D3, Echarts, NumJS, and NumericJS
JavaScript
19
star
16

Pyspark-ML

Gathers data science and machine learning problem solving using PySpark and Hadoop.
Jupyter Notebook
10
star
17

Reinforcement-Learning-Agents

Gathers machine learning and deep learning models for Reinforcement Learning
Python
9
star
18

Neural-Network-Multilanguages

implement Artificial Neural Network on different languages
PHP
4
star
19

herpetologist

Dynamic parameter type checking for Python 3.6 and above. This able to detect deep nested variables.
Jupyter Notebook
3
star
20

water-healer

Forked of Streamz to deliver processed guarantees at least once for Kafka consumers with extra features.
Jupyter Notebook
2
star
21

Hackathon-Huseinhouse

Gathers hackathon and huseinhouse dashboards
JavaScript
2
star
22

malaya-boilerplate

Tensorflow freeze graph optimization and boilerplates to share among Malaya projects.
Python
1
star
23

malaya-graph

Knowledge Graph Toolkit for Bahasa Malaysia, https://malaya-graph.readthedocs.io/
Jupyter Notebook
1
star