Show HN: Benchstreet – the stock prediction AI benchmark

3 months ago 4


Benchstreet is a curated collection of time series prediction models designed to help developers evaluate and compare the performance of different approaches in one-shot, long-term financial data forecasting.

The models are trained on 20 years of S&P 500 daily closing prices provided by Investing.com.

Important

This is not an objective benchmark! It's intended as a qualitative guide and a reference on how to implement these models.


Table of Contents

Model Type
Transformer/Foundation Models TimesFM (baselinefine-tuned), Chronos (baselinefine-tuned)
Feedforward Neural Networks (FNNs) MLP (recursivevector), N-BEATS (direct)
Convolutional Neural Networks (CNNs) 1D-CNN (recursivevector), TemporalCN (vector)
Recurrent Neural Networks (RNNs) LSTM (recursivevectorencoder-decoder), GRU (recursivevector)
Statistical Models ARIMA (recursive), SARIMAX (vector), FBProphet (direct)

Want a model added to this list? Raise an issue here or make a PR!

Tip

The winner: N-BEATS. High accuracy with extremely low training time.


TimesFM

timesfm-baseline

timesfm/baseline.py

view magnified graph

timesfm-fine-tuned

timesfm/fine_tune.ipynbdownload on huggingface 🤗

view magnified graph

Chronos

chronos-baseline

chronos/baseline.py

view magnified graph

chronos-fine-tuned

chronos/fine_tune.ipynbdownload on huggingface 🤗

view magnified graph

MLP

mlp-recursive

mlp/recursive.py

view magnified graph

mlp-vector

mlp/vector.py

view magnified graph

N-BEATS

n_beats/direct.py

view magnified graph

1D-CNN

1d-cnn-recursive

cnn/recursive.py

view magnified graph

1d-cnn-vector

cnn/vector.py

view magnified graph

TemporalCN

tcn/vector.py

view magnified graph

LSTM

lstm-recursive

lstm/recursive.py

view magnified graph

lstm-vector

lstm/vector.py

view magnified graph

lstm-encoder-decoder

lstm/encdec.py

view magnified graph

GRU

gru-recursive

gru/recursive.py

view magnified graph

gru-vector

gru/vector.py

view magnified graph

ARIMA

arima/recursive.py

view magnified graph

SARIMAX

sarimax/direct.ipynb

view magnified graph

FBProphet

fbprophet/direct.py

view magnified graph

Want a model added to this list? Raise an issue here or make a PR!

Read Entire Article