Skip to main content

A curated collection of time series prediction models for one shot, long term financial forecasting evaluation.

Project description


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.pydownload 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.py

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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

benchstreet-1.0.1.tar.gz (3.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

benchstreet-1.0.1-py2.py3-none-any.whl (141.7 kB view details)

Uploaded Python 2Python 3

File details

Details for the file benchstreet-1.0.1.tar.gz.

File metadata

  • Download URL: benchstreet-1.0.1.tar.gz
  • Upload date:
  • Size: 3.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for benchstreet-1.0.1.tar.gz
Algorithm Hash digest
SHA256 4b1315eea2f6d21cb3bdecd9f364378ccbd28586ddf13740ac345a0233f07834
MD5 c0e75aaa3dae34106d9c616b355a6647
BLAKE2b-256 22ab8688f1e8aa0aa032e875051045e31fc3488ed103d009b6caa86aba00add6

See more details on using hashes here.

File details

Details for the file benchstreet-1.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: benchstreet-1.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 141.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.7

File hashes

Hashes for benchstreet-1.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 68357ccddae752ff978908e11487e112b6d8951bc6c1aa9564fb5fe26f123b68
MD5 524498609f94f8f9a77cdf0ea0cc6071
BLAKE2b-256 bafc94e905a798d27cf68379761f69b22e32b902262a1a4207d05807621ef175

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page