Recently have been looking into some stock market prediction libraries and repositories for our group project for CS7643 Deep Learning at Georgia Tech. Previously I worked on traditional Machine Learning algorithms and Q-Learning algorithm from Reinforcement Learning for CS7646: Machine Learning for Trading commonly known as the “ML4T course”. My codes for ML4T is locked in this private GitHub repo. But here I am sharing the research findings for applications of Deep Learning for stock prediction.

Approaches

Traditional stock prediction can be seen as a time series regression problem where many many algorithms already exist. A naive approach could be classification/regression but time series is more robust approach.

However, for a regression stock prediction model, one needs to map the predicted stock price to BUY / SELL / HOLD action space. So classification probably makes more sense. But Reinforcement Learning really helps a lot because it can optimize the total gains.

PyTorch Implementations

  1. Generic RNN, LSTM: many resources available online
  2. Transformer+Attention: This Medium article and its corresponding GitHub repo applies Transformer and time embeddings which seems quite interesting
  3. Dual-stage Attention -RNN (DA-RNN): The paper is here https://arxiv.org/pdf/1704.02971.pdf and the implemented model is available here in this GitHub. A similar implementation in PyTorch is available here by KurochkinAlexey
  4. Deep Reinforcement Learning: Finally, this FinRL is an excellent library for applying Deep RL on stock prediction with demo and code examples to help you get started.

This is a work-in-progress note. So will update this as needed.