A complete AI-driven process using GANs with LSTM and CNN to predict stock price movements, incorporating diverse data sources and hyperparameter optimization.
StockPredictionAI is an open-source notebook that demonstrates a complete AI pipeline for predicting stock price movements using a Generative Adversarial Network (GAN) with LSTM and CNN architectures. It integrates multiple data sources, including technical indicators, sentiment analysis, and correlated assets, to capture complex market patterns. The project addresses the challenge of forecasting financial time series by leveraging advanced machine learning techniques and hyperparameter optimization.
Data scientists, quantitative analysts, and machine learning engineers interested in applying deep learning to financial forecasting. It's suitable for those with experience in time-series analysis, neural networks, and stock market data.
Developers choose this project for its comprehensive approach, combining cutting-edge AI methods like GANs, reinforcement learning, and diverse feature engineering in a single pipeline. It offers a practical, code-driven example for experimenting with stock prediction models beyond traditional techniques.
In this noteboook I will create a complete process for predicting stock price movements. Follow along and we will achieve some pretty good results. For that purpose we will use a Generative Adversarial Network (GAN) with LSTM, a type of Recurrent Neural Network, as generator, and a Convolutional Neural Network, CNN, as a discriminator. We use LSTM for the obvious reason that we are trying to predict time series data. Why we use GAN and specifically CNN as a discriminator? That is a good question: there are special sections on that later.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines historical trading data, technical indicators, BERT sentiment analysis, Fourier transforms, and correlated assets, as detailed in Sections 3.1-3.5, to capture diverse market signals.
Uses an LSTM as generator and CNN as discriminator with Wasserstein GAN and Metropolis-Hastings GAN for stability, explained in Sections 4.2 and 4.4, enhancing time-series generation.
Applies Bayesian optimization with Gaussian processes and reinforcement learning (Rainbow, PPO) to tune GAN parameters, as described in Section 4.6, reducing manual tuning effort.
Employs stacked autoencoders for high-level feature extraction, XGBoost for importance analysis, and statistical checks for data quality, outlined in Sections 3.7-3.8, improving model robustness.
The notebook was created in January 2019 and uses MXNet, which has declining support compared to modern frameworks like PyTorch, leading to potential compatibility and maintenance issues.
Training involves GANs with reinforcement learning on multiple GPUs, as noted in the introduction, making it inaccessible for users without substantial hardware resources.
Focused solely on Goldman Sachs stock with hardcoded data sources, requiring significant modification to adapt to other assets, as acknowledged in the data preparation sections.
Lacks extensive backtesting or real-world validation metrics; the results are primarily illustrative, raising doubts about its effectiveness in live trading environments.