Markets and trading · Edition No. 3 · 28 Aug 2026

blue-yonder/tsfresh

Extracts 700+ statistical features from price windows and filters them by significance — indicators without inventing them.

← Markets and tradingRead the whole edition →

9.3k stars · MIT · v0.21.2 (2026-05-31)

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.

Why it matters

ScalpingMate's real problem is not building strategies, it is the search space. Hand-picking indicator combinations means you test the twenty ideas you happened to think of, and your 2%-a-month target then depends on your imagination rather than on the data. This inverts it: cut three years of EURUSD 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.

Stars9.3k
LicenceMIT
Latestv0.21.2 (2026-05-31)checked 7 Sep 2026
Written inJupyter Notebook
NeedsDocker and Python 3
RunsLocally, on your own machine
Setup effort
2 / 5
Payoff
4 / 5
Good
  • MIT, so nothing stops you shipping it inside a commercial ScalpingMate
  • 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
Watch for
  • 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
Works well with

Feed those into a strategy and judge it in backtesting.py.

Install
source venv/bin/activate
pip install tsfresh
Screenshots
blue-yonder/tsfresh: GitHub preview cardblue-yonder/tsfresh: Screenshot 1

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.