LSTM Equity Signals
A proof of concept that predicts a stock's next-day close from two inputs: its recent prices and the sentiment of news about it. The bet was that sentiment carries information that price history alone misses.
Approach
- Sentiment: a custom scraper collects articles and daily digests about the stock, scored with VADER using a finance-weighted lexicon.
- Prices: daily closes from Yahoo Finance, min-max scaled to the sentiment range.
- Model: each day is a (sentiment, price) vector; a 30-day sliding window feeds an LSTM, then dense layers and a single output neuron for tomorrow's price. Trained on mean squared error with backpropagation through time.
What the backtest does and doesn't show
A preliminary backtest compared two very different stocks: NVIDIA, stable with heavy news coverage, and INNOVATE Corp. (VATE), volatile with sparse coverage. Trading on the predictions earned a positive return on NVIDIA over one- to six-month windows and mostly lost money on VATE.
That is a result about where the idea might work, not evidence of an edge. Two stocks can't separate signal from a stock that simply went up, and the write-up doesn't state transaction costs or an out-of-sample split. The useful finding is the contrast: the model did well on a stable, well-covered stock and badly on a volatile, sparsely covered one.
Limitations and next steps
- Too slow to retrain at market pace on available hardware, so no forward test was run.
- Planned: broader news and social sources, technical features (MACD, Bollinger bands) compared against sentiment, and incremental training.