Model backtests
Public reports on how SpreadFighter models behave on historical data: what was tested, what held up, what did not, and how to read a report — control samples, held-out checks, costs, limitations.
Where to find them
The reports are collected on the page app.spreadfighter.com/backtests. In the app it opens from the top menu, item Model backtests. The page is available without signing in: video descriptions link to the reports, and anyone can open them.
On the left is the list of reports by model name, on the right the selected report. Each report has its own address of the form /backtests?report=<id>; links to individual reports are in the table below.
A report shows how a model behaves on history but does not reveal how it is built: formulas, thresholds and parameters stay closed. Only the measurable properties of the model's output and the testing method are published.
Which reports exist
Seven reports are published now, newest first. The finding in each row restates the report's own verdict.
| Model | Date | Main finding |
|---|---|---|
| Footprint — Value Area | 04 Nov 2026 | Value Area is too narrow to be a grid bot range: over a day, a grid on it loses 1.07% on average versus 0.49% for a grid on the daily high and low. Grid width decides, not its position, and no width beat simply holding the coin on average |
| Liquidation Spike | 11 Oct 2026 | The signal shows where it is about to get volatile, not where price will go: the average return after a signal matches a random moment, and the price range over the next hour is 1.5 times wider than usual. Trading neither with the spike nor against it covers 9 bp round-trip costs |
| Volatility targeting | 01 Oct 2026 | Volatility targeting on 56 perps makes risk steadier but adds no money: the market's Sharpe goes from 0.55 to 0.56, and all confidence intervals cross zero. In alts, rising prices raise volatility — the reverse leverage effect compared to equities |
| Footprint — Unfinished auctions | 01 Oct 2026 | Price returns to almost any bar extreme — 86% of the time within 20 bars; to an unfinished auction no more often than to a finished one. Trading "to the magnet" loses the commission |
| [SF] DOM Z-score | 23 Sep 2026 | In the first version, a wall in the order book breaks no less often than an ordinary band, including near the liquidation zone: 0 of 14 checks of the pairing with the liquidation map passed. The indicator is a map of the book, not an entry signal |
| Liquidation Heatmap | 19 Sep 2026 | Two things survived testing: the side of the liquidation flow (78.2% of dollars on the predicted side at a 1-hour horizon) and the band width. The map shows where forced selling is available, not where price will go |
| Predict Liquidation | 13 Sep 2026 | The model's levels do not differ from arbitrary horizontal lines of the same geometry, either in how often price reaches them or in how price behaves after a touch |
How a report is built
Every report has the same structure:
- Question — one sentence: what exactly was tested.
- Period and sample — dates, exchanges, number of instruments, timeframe.
- Verdict — a short summary for those who will not read further.
- Key figures — four numbers the verdict rests on.
- Sections — how it was tested, the result with tables, what follows from it and how to use the model.
- Limitations — what the test does not cover.
- Date the report was published or updated.
How to read the testing
Below are the techniques that appear in the reports, as the reports themselves explain them.
Control sample
A bare hit rate means nothing: price bounces off round numbers, off yesterday's high, and off nothing at all. So the model's signal is always compared with a control that differs in exactly one property. Examples from the reports:
- Predict Liquidation — the model's levels against lines of the same geometry on candles where the model did not fire, and against random lines drawn from the same distribution.
- Liquidation Spike — random minutes of the same coin, at the same hour of day and with the same daily volatility, 10 per signal.
- Unfinished auctions — unfinished extremes against finished ones at the same distance from close to extreme: without this adjustment the comparison is misleading.
- Liquidation Heatmap — not a uniform grid but a symmetric volatility band with the same number of cells. Otherwise a wide map would catch more volume simply because it covers more of the screen.
Look first at the difference from the control, not at the absolute percentages.
Hypotheses before the calculation and held-out checks
Five of the seven reports state that the hypotheses or the test design were written down before the calculation. In Liquidation Spike the parameters were not tuned; in DOM Z-score only the default settings were tested, on purpose. Part of the data is set aside and not used in the search: the reports call this a held-out check — for example, the last 12 months for Volatility targeting or September for Unfinished auctions. In Liquidation Spike the period is split into two halves, and only what has the same sign in both halves and on both exchanges counts as a finding.
Walk-forward
In the Liquidation Heatmap report the model is tested walk-forward by month: each month is predicted by a model that has seen only earlier months. This keeps knowledge of the future out of the result.
Confidence intervals
In most reports the intervals are computed by bootstrapping over days (in Liquidation Spike, over weeks for long horizons), not over individual rows. The Liquidation Heatmap report explains why: resampling rows within an instrument understates the intervals two to three times. Value Area uses a t-statistic clustered by day instead of the bootstrap, and Volatility targeting uses the Newey–West correction. If the interval of the difference from the control covers zero, there is no difference.
When there are many comparisons, the reports account for it: DOM Z-score uses the Holm correction for the family of tests, and in Liquidation Spike, with about 300 comparisons, only what holds in both halves of the period and on both exchanges counts as a finding.
Costs
Trading rules are tested after costs, and the report states the cost level:
- Liquidation Spike — 9 bp round trip;
- Volatility targeting — 4 bp per unit of notional turnover;
- Footprint — Value Area — 0.05% commission on every fill;
- Unfinished auctions — trading "to the magnet" gives −9 bp per trade after commissions.
In their limitations the reports separately list what was not accounted for: slippage, funding, limit order queue. In the Unfinished auctions and DOM Z-score reports, if the stop and the take-profit fall in the same candle, the stop is counted.
Checking the measurement itself
A negative result is worth something only if the method can see an effect where one is known to exist. In the Predict Liquidation report the same procedure was run on yesterday's high and low: on those it finds a clear difference from the control on a sample eight times smaller. So the absence of a difference on the model's levels means the absence of an effect, not a weak test.
Limitations
The Limitations section is a mandatory part of every report: how many coins and months, which coins dropped out (for example, delisted ones), what was simplified in the calculation. Read it before applying the finding to your own coins and timeframe. Every report ends with a disclaimer: it describes the past and is not a forecast, a recommendation or investment advice.
Why the reports include numbers that hurt the model
The section exists to show what was measured, not only what worked. If only confirmed results were published, backtests would turn into a shop window, and no report could be trusted. Therefore:
- the Predict Liquidation report was published with a negative verdict, even though the model is still sold;
- the Liquidation Heatmap report has a section on the third phase of testing: 48 checks weakened eight claims out of ten, and the confidence intervals of the second phase turned out to be understated two to three times. The report gives the numbers that survived this phase, not the original ones;
- in Liquidation Spike the only pattern found — a pullback after a short squeeze on Binance alts — is explicitly marked as not meeting the report's criterion;
- DOM Z-score states that 0 of 14 checks of the pairing with the liquidation map passed, and describes a fix for the indicator's second version;
- the negative findings on Value Area, unfinished auctions and volatility targeting are published just like positive ones.
Related articles
- Predict Liquidations Chart, Liquidations Balance, Predict Liquidations Screener & DOM
- Liquidation Heatmap
- Liquidation Spike
- Footprint (Volume Footprint) — Value Area and unfinished auctions.
- Grid bot: how many grids to set — a separate backtest of the grid step.