1.5k stars · BSD-3-Clause · v0.24.0 (2026-08-24) · Track this in Scout
scikit-learn-compatible time-series forecasting with rolling-origin backtesting built into the core — the anti-overfitting step most strategy work is missing.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A library that turns any scikit-learn-compatible model into a time-series forecaster, with the awkward parts — lag features, multi-step recursion, exogenous variables — handled automatically. Its distinguishing feature is that backtesting is built into the core: rolling-origin and expanding-window validation, hyperparameter search that respects time order, and probabilistic intervals rather than a single number.
What it is good for. Everything this radar has covered for trading research so far finds candidates: STUMPY finds repeating shapes, tsfresh finds predictive properties, backtesting.py tests a rule you wrote. The gap is the step in between — turning "these features look significant" into a model that is validated the way time-series models have to be validated, on data that comes strictly after the data it learned from. Get this wrong by even one bar and a strategy that is really noise will show you a beautiful equity curve; that mistake is the single most common way a solo trader loses a year. And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats.
- Rolling-origin backtesting and time-aware hyperparameter search are the core API, not something you have to remember to do correctly
- BSD-3-Clause — commercially safe, which two of the three backtesting options this radar has covered are not
- Any scikit-learn model works, so a linear baseline and a gradient-boosted model are one line apart, and the baseline usually deserves to win
- It forecasts a series; it does not model a trade. Spread, slippage, position sizing and stops are still yours to add before any number means money
- 1.5k stars and a small Spanish research team behind it — excellent documentation, real bus-factor risk
- The docs are licensed CC BY-NC-SA even though the code is BSD, so do not lift documentation text into your own docs or marketing pages
And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats .
And the licence is the practical detail: BSD-3-Clause, so unlike backtesting.py and vectorbt this can sit inside a paid product feature, next to quantstats .
pip install skforecast
