Markets and trading · Edition No. 48 · 12 Oct 2026

pst-group/pysystemtrade

A complete systematic futures trading system in Python, with backtesting and live execution through one broker.

← Markets and tradingRead the whole edition →
pysystemtrade: a whole trading system. Backtests and trades futures systematically.

3,550 stars · GPL-3.0, read from /blob/develop/LICENSE — note the default branch is develop, so a master path 404s. Standard and unmodified, and the file names no project copyright holder, only the Free Software Foundation boilerplate. · 1.8.3, and THE YEAR COULD NOT BE SETTLED BY ANY SOURCE AVAILABLE HERE. The release page reads '30 Sep 07:52' with no year. The project is NOT ON PyPI AT ALL — a determination, stated in its own README — so the usual registry route does not exist; ungh's release cache for this repository stops at 1.8.2 of 2024-11-06, which bounds the release to 2025 or 2026 and no further; the pst-group ungh releases path, the releases atom feed and api.github.com were all refused. The release page's own '3 commits to develop since this release' against a pushedAt of 2026-10-08 on a 4,842-commit repository makes 2026 far more plausible, but that is an inference and the edition prints it as unsettled. · Track this in Scout

A complete systematic futures trading system in Python, with backtesting and live execution through one broker.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It implements the framework from Rob Carver's books on systematic trading: how to combine trading rules, how to size positions, how to allocate capital across instruments. You can run it purely as a backtesting environment, feeding it historical futures data and measuring what the rules would have done. You can also run it as a live system: it connects to Interactive Brokers through the ib_async library and places real orders on a schedule. The repository holds 4,842 commits over eleven years. It is not published as a package — the README states plainly that it is not on PyPI and must be installed from git. What it does not offer is support: the README says the maintainers provide no high-level help and that anyone needing it "should choose another project", and it states that the owners are not registered or authorised by any financial regulator.

Why it matters

Who it suits. A person who has read the books, understands futures and leverage, and wants the author's own implementation rather than their own reading of it. It also suits anyone studying how a complete systematic system is put together, because very few are published in full. Skip it unless you can read and modify Python comfortably and can afford to lose what you put in; leveraged futures can lose more than the deposit.

Verdict. Genuinely the real thing rather than a teaching example, and that is both the recommendation and the warning. The project changed hands: it moved from its original author's account to the pst-group organisation in January 2026, with a different primary maintainer since 2024, and the old address still redirects. Code landed four days before this was written, so it is the most actively developed project in today's markets section. Two gaps to know about: the README states no minimum Python version anywhere and there is no published package to check one against, and the newest release is tagged 1.8.3 with a date of 30 September whose year could not be established from any source available here — it is either 2025 or 2026, and the edition says so rather than guessing. Use the develop branch, which is the default.

Stars3,550
LicenceGPL-3.0, read from /blob/develop/LICENSE — note the default branch is develop, so a master path 404s. Standard and unmodified, and the file names no project copyright holder, only the Free Software Foundation boilerplate.
Latest1.8.3, and THE YEAR COULD NOT BE SETTLED BY ANY SOURCE AVAILABLE HERE. The release page reads '30 Sep 07:52' with no year. The project is NOT ON PyPI AT ALL — a determination, stated in its own README — so the usual registry route does not exist; ungh's release cache for this repository stops at 1.8.2 of 2024-11-06, which bounds the release to 2025 or 2026 and no further; the pst-group ungh releases path, the releases atom feed and api.github.com were all refused. The release page's own '3 commits to develop since this release' against a pushedAt of 2026-10-08 on a 4,842-commit repository makes 2026 far more plausible, but that is an inference and the edition prints it as unsettled.
Good
  • A complete published system rather than a component, with eleven years and 4,842 commits behind it.
  • Backtesting and live trading share one codebase, so what you tested is what runs.
  • Only 26 open issues and 5 open pull requests on a project this size, which suggests the board is tended.
Watch for
  • Live trading needs an Interactive Brokers account and places real orders; futures can lose more than the deposit.
  • Not on PyPI, no stated minimum Python version, and the default branch is develop rather than main.
  • No high-level support by the maintainers' own statement, and no regulatory authorisation of any kind.
Similar repositories
Install
git clone https://github.com/pst-group/pysystemtrade.git
cd pysystemtrade
python3 -m venv venv
source venv/bin/activate
python -m pip install .
Screenshots
pst-group/pysystemtrade: GitHub preview card

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.