stock-rnn logo

stock-rnn

lilianweng/stock-rnn

Predict stock market prices using RNN model with multilayer LSTM cells.

GraphCanon updated today · GitHub synced today

2.0k stars673 forksLast push 4y Python

Decision brief

Predicts stock market prices using LSTM-based RNNs with optional multi-stock embeddings.

Good fit when

  • Forecasting stock prices requires an approach that benefits from long-term memory in sequential data
  • Improved accuracy is needed when considering multiple stocks for prediction

Avoid when

  • Short-term price predictions dominate the forecasting focus
  • Single-stock analysis suffices without incorporating multi-stock embeddings

Observed Jul 12, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Dormant (1485d since push)
As of today
Provenance
Not a fork · Personal account
As of today
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

pip install stock-rnn
PyPI

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

This repository provides a framework for predicting stock market prices using Recurrent Neural Network (RNN) models, particularly focusing on Long Short-Term Memory (LSTM) networks. It includes the implementation of an RNN model with multilayer LSTM cells and supports optional multi-stock embeddings to enhance prediction accuracy.

Capability facts

Languages
python

Source: github.language · Aug 22, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Aug 22, 2026)

3. Run `python data_fetcher.py` to download the prices of individual stocks in S & P 500, each
Source link

Tags

README

Predict stock market prices using RNN

Check my blog post "Predict Stock Prices Using RNN": Part 1 and Part 2 for the tutorial associated.

One thing I would like to emphasize that because my motivation is more on demonstrating how to build and train an RNN model in Tensorflow and less on solve the stock prediction problem, I didn't try too hard on improving the prediction outcomes. You are more than welcome to take this repo as a reference point and add more stock prediction related ideas to improve it. Enjoy.

  1. Make sure tensorflow has been installed.
  2. First download the full S&P 500 data from Yahoo! Finance ^GSPC (click the "Historical Data" tab and select the max time period). And save the .csv file to data/SP500.csv.
  3. Run python data_fetcher.py to download the prices of individual stocks in S & P 500, each saved to data/{{stock_abbreviation}}.csv. (NOTE: Google Finance API returns the prices for 4000 days maximum. If you are curious about the data in even early times, try modify data_fetcher.py code to send multiple queries for one stock. Here is the data archive (stock-data-lilianweng.tar.gz) of stock prices I crawled up to Jul, 2017. Please untar this file to replace the "data" folder in the repo for test runs.)
  4. Run python main.py --help to check the available command line args.
  5. Run python main.py to train the model.

For examples,

  • Train a model only on SP500.csv; no embedding
python main.py --stock_symbol=SP500 --train --input_size=1 --lstm_size=128 --max_epoch=50
  • Train a model on 100 stocks; with embedding of size 8
python main.py --stock_count=100 --train --input_size=1 --lstm_size=128 --max_epoch=50 --embed_size=8
  • Start your Tensorboard
cd stock-rnn
mkdir logs
tensorboard --logdir ./logs --port 1234 --debug

My python environment: Python version == 2.7

BeautifulSoup==3.2.1
numpy==1.13.1
pandas==0.16.2
scikit-learn==0.16.1
scipy==0.19.1
tensorflow==1.2.1
urllib3==1.8

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.