samar-gulati/algorithm-tester — explained in plain English
Analysis updated 2026-05-18
Check a trading strategy backtest for look-ahead bias before trusting its results.
Test whether a strategy's apparent edge survives resampling and crisis exclusion.
Learn common backtesting pitfalls through the included worked case studies.
| samar-gulati/algorithm-tester | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | hard |
| Complexity | 3/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.10 or newer, clone the repo and install requirements or use pip install -e.
Algorithm-tester is a small Python framework built to test trading strategies honestly, written by a high school student who noticed that the backtesting tools they were using made bad ideas look good. Rather than just measuring whether a strategy made money in the past, the framework is designed to try hard to prove a strategy wrong before it gets used with real money. Every strategy idea passes through a sequence of checks. First it runs through a backtest engine that only lets the strategy see prices from before the day it is making a decision, so it cannot accidentally peek into the future. Then a look-ahead audit deliberately corrupts future prices and reruns the strategy to see if its results change, which would reveal cheating. A matched-exposure control compares the strategy against a simple twin that holds the same average amount of risk with no clever timing, to check whether any apparent skill is really just holding more or less cash. A resampling test called block bootstrap checks whether the strategy's edge survives being recombined thousands of times in different orders, and a related check asks whether the results depend on just one unusual historical event, like a single financial crisis. Finally, a deflated Sharpe ratio calculation discounts the strategy's score based on how many variations were tried before landing on this one, since testing many versions and reporting only the best one inflates apparent skill. The framework also tests itself. A property fuzzer runs many randomized fake markets and strategies through the engine to confirm basic rules always hold, and a mutation test deliberately plants known bugs into the code to confirm the test suite actually catches them. The repository ships with a generic demo trading strategy, since the author's real private strategy is not included, along with three written case studies describing strategy ideas the framework rejected. Setup requires Python 3.10 or newer, and the project can be installed by cloning the repository or directly from GitHub.
A Python framework that rigorously stress-tests trading strategy backtests to catch the many ways they can lie about performance.
Mainly Python. The stack also includes Python, pandas, pytest.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.