stockpredictionai  by borisbanushev

AI notebook for stock price prediction using GANs

created 6 years ago
4,931 stars

Top 10.3% on sourcepulse

GitHubView on GitHub
Project Summary

This repository presents a comprehensive notebook for predicting stock price movements using a Generative Adversarial Network (GAN) with an LSTM generator and a CNN discriminator. It targets individuals interested in applying advanced AI techniques to financial markets, offering a detailed walkthrough of data sourcing, feature engineering, model architecture, and hyperparameter optimization.

How It Works

The core approach combines multiple data sources (historical prices, technical indicators, NLP sentiment analysis via BERT, Fourier transforms, ARIMA, correlated assets) to feed an LSTM-based generator. This generator is trained against a CNN discriminator within a GAN framework. Hyperparameter optimization is further enhanced using Reinforcement Learning (RL) agents (Rainbow, PPO) and Bayesian optimization, aiming to adapt to market dynamics.

Quick Start & Requirements

  • Installation: Requires Python with MXNet/Gluon, scikit-learn, pandas, numpy, and statsmodels.
  • Data: Assumes local CSV files for stock data and news sentiment (not provided).
  • Hardware: Mentions training on multiple GPUs, suggesting potential performance benefits.
  • Resources: The notebook details extensive data preprocessing and model training, implying significant computational time and resources.

Highlighted Details

  • Multi-modal Data Fusion: Integrates diverse data types, including NLP sentiment analysis and Fourier transforms, for a holistic market view.
  • Advanced GAN Techniques: Explores Metropolis-Hastings GAN (MHGAN) and Wasserstein GAN (WGAN) for improved stability and performance.
  • RL for Hyperparameter Optimization: Leverages RL agents (Rainbow, PPO) to dynamically tune model parameters, addressing market volatility.
  • Experimental Approach: Acknowledges the experimental nature of using CNNs for time-series discrimination and autoencoders for feature extraction.

Maintenance & Community

  • The project was created by Boris Banushev.
  • The README indicates a planned GitHub upload for specific code implementations (Rainbow, MHGAN) in early 2019.
  • No explicit community channels (Discord, Slack) or roadmap are mentioned.

Licensing & Compatibility

  • The README does not explicitly state a license.
  • Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The project is presented as a notebook rather than a packaged library, requiring significant effort to adapt and run. Key data files are not included, and some advanced components (e.g., deep unsupervised learning for derivatives pricing, full RL implementations) are marked as "to be added soon" or only results are shown. The experimental nature of several core components is highlighted.

Health Check
Last commit

1 year ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
243 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.