Analysis updated 2026-05-18
Study the methodology as a template for pre-registered, out-of-sample strategy testing that resists data snooping.
Reproduce the backtest on your own HistData exports to verify the results or test a variation of the entry rules.
Use the permutation test and bootstrap code as a starting point for testing a different trading setup with the same statistical discipline.
| mykola-quant/turtle-soup-smt-falsification | a-bissell/unleash-lite | abhiinnovates/whatsapp-hr-assistant | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | hard | hard |
| Complexity | 4/5 | 4/5 | 3/5 |
| Audience | researcher | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires downloading HistData or Binance 1-minute bar exports manually before running the conversion and backtest scripts.
Turtle Soup and CRT (Canon Range Trading) are names for a popular discretionary trading pattern used by retail traders in forex, metals, and crypto. SMT divergence (Smart Money Technique) refers to a confirmation signal where a correlated instrument, such as gold and the US dollar, fails to move in the expected direction alongside the primary asset. This repository tests whether adding the SMT divergence filter to a Turtle Soup strategy actually improves profitability. The answer, based on four pre-registered tests across gold/silver, gold/dollar, and Bitcoin/Solana pairs, is no. Every version of the strategy produces negative expected returns after realistic transaction costs. Where the SMT filter showed statistical significance in full-sample data (gold versus dollar proxies in 2025), the effect turned out to be concentrated in a specific period and failed to hold across earlier years or a different asset class. The authors call this a regime fingerprint, not a stable edge. What makes this repository notable is the methodology rather than the result. Most retail strategy testing fixes thresholds after seeing the data, charges no transaction costs, and cherry-picks favorable time windows. This project does the opposite: it pre-registers every threshold before running any tests, uses 10,000-shuffle permutation tests for statistical significance, charges realistic costs (0.5 pip round-trip on forex, 0.13% round-trip on crypto), and applies a strict out-of-sample rule where a result survives only if both halves of the data independently show positive returns below a fixed p-value. Three apparent signals that passed full-sample tests were rejected by this out-of-sample requirement. To reproduce the tests, you download 1-minute bar data from HistData (free), run a conversion script to clean it into parquet files, optionally build a synthetic dollar index from six currency pairs, and run the main backtest script. It prints the full result including the permutation test, bootstrap confidence interval, and out-of-sample verdict. Data comes from HistData for forex and metals, Binance for crypto. Built with Python, pandas, numpy, and matplotlib.
A pre-registered backtesting study that rigorously tests whether an SMT divergence filter improves a Turtle Soup trading pattern across forex, metals, and crypto, finding no surviving edge after transaction costs.
Mainly Python. The stack also includes Python, pandas, numpy.
No license information was found in the README.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.