9.3k stars · MIT · v0.21.2 (2026-05-31) · Track this in Scout
Extracts 700+ statistical features from price windows and filters them by significance — indicators without inventing them.
▶Repo detailsthe review · specs · pros & cons · install
What it is
A library that extracts hundreds of statistical features from time-series windows — trends, autocorrelations, entropy, peak counts and far more — then runs hypothesis tests to discard the ones with no relationship to your target.
What it is good for. Anyone hunting trading strategies runs out of imagination before they run out of data. Hand-picking indicator combinations means you test the twenty ideas you happened to think of, so the result depends on the ideas rather than on the data. This inverts it: cut three years of price history into windows, label each by what price did next, extract everything, and let the statistical filter tell you which properties actually carry signal. It complements STUMPY from Edition 1 rather than competing — STUMPY finds shapes that repeat, tsfresh finds properties that predict — and whatever survives either search should go straight to backtesting.py (Edition 2) before you believe a word of it.
- MIT, so nothing stops you shipping it inside a commercial product
- The significance filter is the point — it is feature selection, not just feature generation
- Outputs a plain pandas table that drops straight into any model or backtester
- The full feature set on a million bars will exhaust a small VPS. Start with
MinimalFCParameters - Survivors are correlations, not edges — plenty will evaporate once you subtract spread and slippage
- Many extracted features are effectively uninterpretable, which makes trusting a live signal harder
Feed those into a strategy and judge it in backtesting.py.
pip install tsfresh

