Лабораторный журнал: 100+ гипотез, большинство уже мертво.
Большинство контор публикуют только победителей. Здесь всё остальное: математика, бэктест и вердикт по каждой идее, которая не прошла валидацию, включая «топ-стратегии» из курсов за $500–$2,000. Ищите, фильтруйте по области или жмите Случайное вскрытие и проваливайтесь в кроличью нору. Живые стратегии остаются закрытыми.
Самые статистически мёртвые идеи из всех, что мы тестировали, ранжированы по t-статистике. Чем отрицательнее t, тем увереннее провал. Большинство продавалось в платных курсах.
After volume-confirmed dump events, mid-frequency reflexive bounce trades on 30m/1h/2h/4h timeframes carry sufficient edge for systematic deployment with tight SL/TP.
Method
Deep multi-timeframe path-dependent backtest on 90 days of 5min klines across 78 symbols (T1+T2+T3). Realistic filters: BTC regime gate, time-of-day, 60min cooldown. Per-tier breakdown.
Results
30min TF (n=421)
WR 38-42%, mean −0.10 to +0.01%
1h TF — best variant (n=479)
WR 40-44%, mean −0.00 to +0.06%, monthly +1.0%
2h TF (n=695)
WR 34-40%, mean −0.13 to −0.21%
4h TF (n=1089)
WR 32-40%, mean −0.19 to −0.27%
Pump filter overlay (skip pumped >30%/24h)
no improvement
Best Sharpe across all configs
0.03
Earlier "validation" was wrong
Initial test on n=100 random sample claimed +16.8%/mo. Bootstrap CI on that sample was ±0.70%, mean +0.41% — statistically indistinguishable from zero. Multiplying noise by 30× trade frequency compounded into a fake-positive projection.
Mean falls inside zero band. No statistically significant edge.
KILLED
Killed before paper validation. Modules disabled via env, code archived but not running. No live capital deployed.
Never claim edge from a single small sample. Confidence intervals on monthly projections require n ≥ 300 with proper out-of-sample. Compounding noise gives the illusion of signal.
Borrowing from Perelman's reduced-length functional from Ricci flow theory, "smooth" price approaches to a signal trigger (low geometric path energy) should correlate with higher follow-through than chaotic approaches.
Math — Perelman L-distance, discretized for price action
Where τ_k = k/N is normalized time position, σ²_k is local realized variance in 10-bar window centered on k, and r_k is the log-return at bar k.
Results — appeared promising on curated sample
Q1 (lowest L) WR on pump-only sample
76.1%, avg +4.37%
Q5 (highest L) WR on pump-only sample
52.1%, avg +2.53%
Walk-forward TEST > TRAIN (suspicious)
+5.52% vs +4.67%
DD reduction vs no-filter
−72%
Reality check — 5000 random "smart-money interesting" moments
RAVEN filter (pre-condition) pass rate
0.50% (25/5000)
Of those, true positives
24%, not 49% as CV claimed
GEOFLOW filter applied on top
100% removed TPs, kept all FPs
Final P&L
−$2.24 / $100 over 12 trades
KILLED
L-distance discriminates within pump-only labeled set, but the relationship inverts on the real-world distribution. FPs in the smart-money universe have lower L than TPs. The earlier "Sharpe 18" was a sample-bias artifact. Curated samples deceive.
A filter that works on labeled positives may not generalize. Always validate on the realistic operating distribution, including false positives.
The internal scoring function of a legacy strategy (V14 QUANT, stored in 14.6M signalsnapshots) may be overfit. Higher quality scores may not correlate positively with realized P&L.
Method
Random sample 5000 snapshots. For each: fetch forward 1m klines, simulate entry at the snapshot's own entryTop/Bot zone, walk forward bar-by-bar checking SL/TP/timeout. Compute realized pnlPct per trade. Then rank-correlate features vs outcome.
Real but small. Inverting the strategy's own scoring captures a +3-6%/month edge at 5× leverage. Strong decay TRAIN→TEST suggests the edge is regime-dependent. Worth deploying as overlay filter, not standalone.
Even "your own" scoring system can be wrong. Test the inverse. Overfit detection often hides in plain sight.
Following Sornette's Log-Periodic Power Law model, financial bubbles exhibit faster-than-exponential growth with log-periodic oscillations preceding a critical time tc. We test whether crypto's accelerated bubble cycles (days–weeks rather than months) yield tractable tc predictions on BTC, ETH, and top alts.
Sornette (1996–present), Financial Crisis Observatory, ETH Zurich
27+ peer-reviewed papers documenting fits on major historical bubbles (1929, 1987, 2000, 2007)
Mixed crypto results: BTC 2017 and 2021 peaks fit well ex-post; out-of-sample mixed
PLANNED
Implementation queued. Edge probability estimated 30–50% based on Sornette's published track record. Crypto-specific high-frequency LPPL with multi-asset confluence has no public retail-grade implementation we are aware of.
Binance MONITORING-tag announcements (volatility-warning labels) are preceded by detectable volume + range anomalies in the 6h window before the public announcement. If true, a pre-event SHORT detector could capture the post-announcement drop before the crowd reads the news.
Method
Phase 0: scrape Binance CMS catalog (catalogId=49). 20 pages × 50 articles. For each: identify coin, check if it has Binance USDT-M futures listing, fetch 1m klines spanning [T-6h, T+1h] around announcement. Compute pre-event drift, volume ratio, range expansion.
Results
Articles fetched
16 MONITORING tags
With futures-tradable coin
4
With sufficient kline history
3
Pre-event drift direction
3/3 DOWN (−2.3%, −13.0%, −19.0%)
Sample size for inference
n=3 — insufficient
100% downward drift in pre-event window is suggestive but n=3 is noise. Bootstrap 95% CI on n=3 spans entire ±50% range.
Why sample so small
Most MONITORING tags target spot-only altcoins, not futures-tradable
CMS pagination rate-limited beyond ~16 articles
Older announcement pages removed from CMS archive
PARKED
Hypothesis remains UNTESTED, not rejected. Need n ≥ 30 via archive.org scraping or spot-price analysis. Re-attempt when broader historical data sourced.
Promising directional signal (100% down-drift) at n=3 means nothing. Statistical significance starts at n ≥ 30 for non-parametric tests, n ≥ 100 for any robust claim.
Top-PnL Hyperliquid traders publish every position on-chain (HL's order book is fully transparent). Mirroring their entries to Binance USDT-M futures should capture a fraction of their edge — particularly on majors (BTC, ETH, SOL) where slippage is minimal.
Method
Identify top-20 wallets by 30-day PnL on HL. WebSocket listen to their position changes. When a tracked wallet opens a position above $100K notional, fire a mirroring order on Binance same coin, same side.
Why it failed in practice
Latency mismatch: HL whale fills are typically maker-limit at deep liquidity. Any follower with public-API latency enters 0.3-1.5% worse than the originator on average.
Position duration mismatch: Whales hold hours-to-days with average DCA-in over multiple fills. Our single-shot mirror catches only the entry tip, exits poorly.
Wallet attribution: Same person operates multiple wallets. Composite NET exposure ≠ individual wallet signal.
Selection bias: "Top 30-day PnL" includes survivorship + recency bias. Wallets fall off the leaderboard the moment they have a drawdown.
Reverse-MEV risk: When public HL whale wallets are watched, they sometimes intentionally fake entries to trap copy-traders.
KILLED
Tested in earlier sessions, failed. Hard rule established: never re-propose HL wallet-copy strategies regardless of who suggests them. Architecture flaw, not parameter flaw.
Transparent doesn't mean tradeable. Public information that requires faster execution than the originator already has zero edge for slower followers.
Binance DELISTING announcements (catalogId=48) trigger immediate panic dumps. Auto-shorting the announced coin within seconds of announcement should capture −15 to −40% over 24-72h.
Why it failed
Massive gap-down on first fill: by the time futures opens enough liquidity to short, price has already dumped 20-40%. Average entry slippage 8-15% from announcement price.
Spot dump > futures dump: spot market panics first; futures follows but at different magnitude due to existing long liquidations forcing a bounce.
Squeeze risk: after initial dump, surviving longs squeeze shorts on thin liquidity. 30-40% counter-bounces common within 24h.
Liquidity collapse: trading volume on delisted coins evaporates within 12h, making exit difficult without significant slippage.
Distinction from MONITORING tag
MONITORING tags (catalogId=49, BURST-class strategies) are different — they happen pre-announcement with intact liquidity. DELISTING auto-short specifically refers to acting AFTER public announcement, which has structural reasons to fail.
KILLED
Hard rule: never auto-short on DELISTING announcements. MONITORING (different category) remains a valid signal source under different mechanics.
Reactive shorts on widely-broadcast events are race-conditioned against the entire market. Edge requires either earlier information or different mechanics (pre-announcement detection like MONITORING 2.0).
Aggregating signal feeds from multiple "smart money" sources (HL alerts, on-chain whale flows, exchange leaderboards) into a unified scoring system should produce above-baseline performance through diversification of signal sources.
Live result
Period
7 days live, Q1 2026
P&L
−8.94%
Win-rate
~38%
Average loss size
2.4× average win size
Root cause analysis
Signal aggregation amplifies false signals: when 3 independent feeds say BUY simultaneously, often it's because they're all reading the same already-developing pump that's about to reverse
No regime filter: equally weighted signals in trending vs choppy regimes — chop regime saw 90% of losses
Implicit correlation between "smart money" sources: HL whales, Twitter influencers, and on-chain trackers all watch each other. Independent signals are not actually independent.
KILLED
−8.94% in 7 live days. Killed and replaced. Lesson reinforced for all future copy-style approaches.
Signal sources presented as "independent" rarely are. Test correlation between source returns before aggregating. Diversification doesn't help when underlying signals share hidden common factors.
Pivoting to mid-frequency (1–5min hold) as accessible alternative for the broader retail/prop universe.
PARKED
Real edge exists in this space but is structurally unreachable without enterprise-tier infrastructure. Not killed; revisitable if scale and infra justify the investment.
BTC and ETH log-prices are cointegrated; the stationary spread mean-reverts, so trading the z-score of the residual yields market-neutral edge independent of direction.
Math — Engle–Granger two-step
Step 1 — estimate the hedge ratio $\beta$ by OLS on log-prices:
Step 2 — test the residual for stationarity (ADF). Trade the z-score:
$$ z_t = \frac{\varepsilon_t - \mu_\varepsilon}{\sigma_\varepsilon}, \qquad \text{enter when } |z_t| > 2,\ \text{exit at } z_t \to 0 $$
Method
Rolling 90-day window, refit $\beta$ daily, ADF gate at $p<0.05$. Path-dependent replay on 1h bars, funding + 6 bps round-trip fee applied to both legs. 2024–2026 out-of-sample.
Results
ADF passes (window stationary)
63% of windows
In-sample spread Sharpe
1.4
Out-of-sample spread Sharpe
0.11
Mean reversion half-life
11–40h (unstable)
Net of 2-leg fees + funding
− EV
Why it failed
The hedge ratio $\beta$ is non-stationary — ETH/BTC structurally re-rates across regimes, so yesterday’s spread is not today’s spread.
Cointegration that holds in calm regimes breaks exactly when it matters (trend onset), producing the worst losses when $|z|$ is largest.
Two-leg funding + fees eat the thin residual; the edge is real gross, negative net.
KILLED
The pair is correlated, not durably cointegrated. Spread half-life drifts and $\beta$ re-rates; net-of-cost EV is negative out-of-sample. Classic stat-arb decays once the relationship is widely known.
Cointegration is a property of a window, not of an asset pair. In-sample ADF passing tells you nothing about the next window. Always cost both legs.
A market-neutral basket of correlated alts has a residual that follows an Ornstein–Uhlenbeck process; trading deviations beyond a calibrated band captures reversion with positive expectancy.
Math — OU process
Model the de-meaned basket spread $X_t$ as:
$$ dX_t = \theta(\mu - X_t)\,dt + \sigma\,dW_t $$
Mean-reversion speed $\theta$ gives the half-life, which sets holding time:
$$ t_{1/2} = \frac{\ln 2}{\theta} $$
Optimal entry band scales with the stationary standard deviation $\sigma/\sqrt{2\theta}$.
Method
Estimate $\theta,\mu,\sigma$ by MLE on a rolling window. Enter at $\pm1.5$ stationary-sigma, exit at $\mu$, hard time-stop at $3\times t_{1/2}$. 30 liquid USDT-M alts, path-dependent.
Results
Half-life (median)
6.5h
Gross Sharpe (in-sample)
1.6
Net Sharpe (out-of-sample)
0.5
Win rate
58%
Edge after 4 bps + funding
+0.8%/mo
PARTIAL EDGE
A small, real edge survives costs (+0.5–1%/mo) but decays fast as $\theta$ destabilises in trends. Viable only as a low-weight overlay with a strict time-stop, never standalone.
OU is the right model for a basket residual, but $\theta$ is regime-dependent. Size the trade by the estimated half-life, and respect the time-stop — reversion that does not arrive on schedule is a trend.
The cointegration failure of static pairs (see N-018) is fixable: let the hedge ratio $\beta_t$ evolve as a hidden state estimated online with a Kalman filter, so the spread stays stationary as the relationship drifts.
Math — state-space hedge ratio
State (hidden hedge ratio) and observation (one leg priced off the other):
Process/observation noise $Q,R$ tuned by likelihood. Trade the standardized innovation $y_t-\hat\beta_{t-1}x_t$. Prototype only — not yet replayed on full out-of-sample with realistic costs.
PARKED
Theoretically the correct fix for N-018’s drifting $\beta$. Parked pending a full path-dependent cost study — the open question is whether the adaptive ratio reduces drawdowns faster than it adds whipsaw. Queued behind higher-EV work.
When a static parameter is the failure mode, model it as a hidden state. But adaptivity is not free — it trades bias for variance, and variance is whipsaw.
Decompose the alt return covariance into principal components; the top eigenportfolios are systematic risk, the residual (idiosyncratic) returns mean-revert. Trade the residual, hedged against the top factors.
Math — residual after factor projection
Eigendecompose the correlation matrix $C = V\Lambda V^\top$, keep top-$k$ factors $F$, regress each asset on them:
Top-5 eigenportfolios as factors on 40 alts, daily refit, dollar-neutral residual book, 1h replay with full two-sided fees + funding + borrow.
Results
Gross Sharpe (residual book)
1.9
Turnover
~340%/week
Net Sharpe after fees
0.2
Eigenvector stability (top-5)
low — rotates weekly
KILLED
Gross signal is real (Sharpe ~1.9) but turnover kills it: ~340%/week at crypto taker fees leaves Sharpe ~0.2 net. Eigenvectors also rotate, so the factor hedge is stale. Works for an equities desk at 5 bps, not at crypto cost structure.
A high gross Sharpe with high turnover is a fee-rebate strategy, not an alpha strategy. The cost structure decides which textbook strategies are even reachable.
The Hurst exponent $H$ distinguishes trending ($H>0.5$) from mean-reverting ($H<0.5$) regimes. Gating an existing momentum book to fire only when $H>0.55$ should cut whipsaw losses.
Math — rescaled-range Hurst
Estimate $H$ from the scaling of the rescaled range $R/S$ with window length $n$:
Fit $\log(R/S)$ vs $\log n$; the slope is $H$. $H=0.5$ is a random walk.
Method
Compute $H$ on rolling 256-bar log-returns (DFA cross-check). Use as a binary gate on a baseline EMA-cross momentum book across 50 symbols.
Results
Baseline momentum Sharpe
0.4
Gated (H>0.55) Sharpe
0.7
Whipsaw trades removed
−31%
Signal lag from 256-bar window
~4h
PARTIAL EDGE
Real as a filter, not a strategy. Gating momentum on $H>0.55$ lifts Sharpe 0.4→0.7 and cuts a third of whipsaws — but the 256-bar estimate lags, so it confirms regimes late. Useful overlay, no standalone edge.
Regime detectors are lagging by construction — they need enough data to estimate the regime, by which time it is partly over. Use them to veto, not to time.
Position size inversely proportional to forecast volatility (vol-targeting) improves risk-adjusted return versus fixed size, because realized vol is forecastable even when returns are not.
Scale exposure to a target volatility $\sigma^\*$:
$$ w_t = \frac{\sigma^\*}{\hat\sigma_t}\,w_0 $$
Method
Fit GARCH(1,1) per symbol by QMLE, forecast 1-step $\hat\sigma_t$, scale a fixed momentum book to 60%/yr target vol. Compare to flat sizing.
Results
Vol forecast $R^2$ (1-step)
0.34
Return (similar)
~flat
Max drawdown
−41% → −29%
Sharpe
0.5 → 0.74
PARTIAL EDGE
Returns roughly unchanged, but drawdown and Sharpe improve materially — because volatility is forecastable ($\alpha+\beta\approx0.95$, strong persistence) even though direction is not. Adopted as a sizing layer, not an entry signal.
You cannot forecast returns, but you can forecast variance. Almost all of the durable, defensible value in quant trading lives on the risk side, not the signal side.
The Cont–Kukanov order-flow imbalance at the best bid/ask linearly predicts the next mid-price move; a fast book-pressure signal captures sub-minute drift.
Math — Cont–Kukanov OFI
OFI aggregates signed size changes at the top of book over $[t-\Delta,t]$:
Reconstruct L1 book from the public depth stream, regress next-$\delta$ mid-move on OFI for $\delta\in\{1,5,15\}$s. Net-of-fee replay assuming taker entry.
Results
In-sample $R^2$ ($\delta$=1s)
0.21
Predicted move per signal
0.6–1.4 bps
Round-trip taker cost
~7 bps
Net EV after fees + latency
−
KILLED
The signal is genuine ($R^2\approx0.2$) but the predicted move (~1 bp) is an order of magnitude below the fee. Capturing it requires maker fills and colocation; at public-API latency and taker fees it is dead. A market-maker’s edge, not a taker’s.
Predictive power and tradeable edge are different quantities. A signal worth 1 bp is worthless to anyone paying 7 bps to act on it.
Easley–López-de-Prado VPIN (volume-synchronized probability of informed trading) spikes before volatility events; fading extreme VPIN, or stepping aside, avoids adverse selection.
Math — VPIN
Over $n$ equal-volume buckets, VPIN is the average absolute buy/sell imbalance:
Bulk-volume classification (BVC) on aggregate trades, 50-bucket VPIN. Tested as a volatility pre-warning and as a fade trigger. Blocked by classification noise on public tape.
PARKED
Promising as a risk gate (high VPIN does precede vol), but bulk-volume buy/sell classification on public aggregate trades is noisy without true tick-level signed flow. Parked until a cleaner signed-flow source is sourced; not a standalone fade.
VPIN needs honest buy/sell classification. Inferring trade sign from public bars (Lee–Ready / BVC) injects enough noise to swamp the signal on fast crypto books.
Quoting symmetric bid/ask around a reservation price with inventory-aware skew, per Avellaneda–Stoikov, earns the spread on liquid alts while controlling inventory risk.
Paper market-maker on 3 liquid alts, inventory cap, $\gamma$ and $\kappa$ calibrated from the arrival curve. Maker rebate modeled, latency penalty applied on requotes.
Results
Gross spread captured
positive
Fill asymmetry (toxic fills)
severe
PnL after adverse selection
−
Inventory blow-outs on trends
frequent
Why it failed for us
We get filled preferentially on the wrong side — informed flow lifts our stale quote right before the move (adverse selection), exactly the cost AS assumes you can offset with requote speed.
At public-API requote latency we cannot pull quotes fast enough; faster co-located MMs are always ahead in the queue.
On trends the inventory term cannot keep up; the book runs against the held inventory.
KILLED
The model is correct; the infrastructure is not ours. Market making is a latency game — the spread is compensation for adverse selection, and you only win it if you are the fastest to cancel. We are not. Hard rule: no passive MM on public-API latency.
Earning the spread is not free money — it is payment for being run over by informed flow. If you cannot cancel faster than the informed trader can hit you, the spread is a loss.
Trade arrivals cluster (one trade raises the probability of the next), modelled by a self-exciting Hawkes process. The fitted branching ratio may flag the build-up of a liquidation cascade before price confirms.
Math — Hawkes conditional intensity
Intensity rises with each past event and decays exponentially:
The branching ratio $n=\alpha/\beta$ measures endogeneity; $n\to1$ signals criticality.
Method
Plan: fit $\mu,\alpha,\beta$ online by MLE on the aggregate-trade stream per symbol; monitor $n=\alpha/\beta$ as an early-warning of self-reflexive flow. Not yet built.
PLANNED
Queued. Filan & Sornette-style endogeneity ($n\to1$) is a clean criticality measure; the open question is whether it leads price by enough to act on, net of cost. To be tested as a risk-off gate first, not an entry.
Self-exciting clustering is one of the few genuinely robust empirical facts about order flow. Whether it is predictive rather than merely descriptive is the whole question.
When the perpetual funding rate is persistently positive, a delta-neutral position (short perp / long spot) harvests funding with no price exposure — a pure carry trade.
Math — carry P&L
Delta-neutral funding accrual over holding horizon (8h intervals):
Annualized carry from a flat funding rate $f$ paid 3×/day:
$$ r_{\text{ann}} = (1+f)^{3\cdot365}-1 $$
Method
Rank symbols by trailing funding, hold delta-neutral while $f>$ threshold, unwind on flip. Real spot+perp fees, borrow, and spot-leg slippage applied.
Results
Gross funding harvested (top decile)
+20–60%/yr
Net after fees + spot borrow
+8–18%/yr
Capacity (before funding compresses)
low
Tail risk: funding flips + basis gap
present
PARTIAL EDGE
A real, well-known carry that nets positive (+8–18%/yr on the top decile) but is capacity-capped — size compresses the very funding you harvest — and carries a fat left tail when funding flips into a basis gap. Runs as a low-weight sleeve, fully hedged. This is the public engine behind our free Funding scanner, not a directional edge.
Carry trades pick up pennies in front of a steamroller. They work until they don’t — size small, hedge fully, and respect the flip risk that arrives all at once.
The perpetual trades at a basis to spot that must converge via funding; entering when the basis is wide and holding to convergence is a low-risk trade.
Math — basis & no-arbitrage
Basis is the perp–spot gap, pinned by the funding mechanism:
Enter delta-neutral when $|b_t|$ exceeds a threshold, exit on convergence. Sub-second snapshots across 3 venues, full fees.
Results
Median basis
< 3 bps
Episodes with basis > round-trip cost
rare, <0.4%
Net EV
≈ 0
KILLED
The basis is already arbitraged to within fees by faster players almost continuously. Wide-enough dislocations to cover two-sided cost appear only in violent moments — exactly when execution is worst. No durable retail edge.
If a no-arbitrage relationship is enforced by a funding mechanism, the residual is competed down to the fastest participant’s cost. Yours is higher.
Plan: pull Deribit BTC/ETH option surfaces, build the 25Δ RR term structure, test extremes as contrarian spot signals. Blocked: liquid crypto options exist only for BTC/ETH, so the cross-section is two names wide.
PARKED
Conceptually sound and standard in FX, but crypto options liquidity is confined to BTC and ETH — a two-asset cross-section cannot support a systematic strategy. Parked until alt options liquidity matures. Useful as discretionary context, not a system.
A signal needs a cross-section to be a strategy. Two liquid underlyings is a chart, not a dataset.
The MVRV Z-score (deviation of market cap from realized cap) marks macro tops and bottoms; extreme readings time multi-month BTC cycle turns.
Math — MVRV Z-score
Standardize the gap between market value and realized value:
$$ Z = \frac{\text{MarketCap} - \text{RealizedCap}}{\sigma(\text{MarketCap})} $$
Method
Historical MVRV-Z on BTC since 2015. Label $Z>7$ as distribution, $Z<0$ as accumulation. Evaluate forward 90/180-day returns from threshold crossings.
Results
Cycle tops flagged ($Z>7$)
3/3 historically
Cycle bottoms flagged ($Z<0$)
3/3 historically
Sample size (independent cycles)
n=3–4
Intra-cycle / tactical use
no edge
PARTIAL EDGE
Strong macro context (every historical extreme aligned with a turn) but n=3–4 cycles is anecdote, not statistics, and it gives zero tactical (days–weeks) signal. Used to bias long-horizon risk posture, never to time trades.
On-chain cycle metrics describe four data points. They are a compass for posture, not a clock for entries — and four observations cannot be backtested into significance.
Fit by Baum–Welch (EM); decode the state path by Viterbi.
Method
Fit 3-state HMM on rolling returns, go long only in the inferred high-mean state. Walk-forward, costs applied.
Results
In-sample regime separation
clean
Out-of-sample state stability
flickers
Walk-forward Sharpe
0.1
State relabeling across refits
frequent
KILLED
In-sample the states look beautiful; out-of-sample they flicker and relabel on every refit, so the "regime" you trade is mostly fitting noise. The HMM finds structure in any series, including random walks. Killed.
Latent-state models will always find states. The test is whether the decoded states are stable out-of-sample under refitting — usually they are not.
Price loops across three pairs (e.g. BTC→ETH→USDT→BTC) drift out of parity; executing the cycle when the product of rates exceeds 1 locks a riskless profit.
Math — cycle parity
Arbitrage exists when the product of the three exchange rates beats fees:
Stream all three books, compute $R$ continuously, simulate atomic 3-leg execution with real taker fees and realistic fill latency.
Results
Raw cycles with $R>1$
frequent
Cycles with $R>1/(1-\phi)^3$
~0 after fees
Surviving after latency to fill leg 3
none
KILLED
After three taker fees and the latency to complete all three legs, the parity gap vanishes before leg three fills. This is the most-watched arb on every exchange and is closed in microseconds by colocated bots. Zero retail edge.
The most obvious arbitrage is the most competed. If a profit is visible in the public order book, it has already been taken by someone faster.
Reconstruct using only low-frequency approximation bands as the "trend".
Method
Daubechies-4 DWT, trade the slope of the reconstructed trend. Tested with both batch and strictly-causal (online) transforms.
Results
Batch DWT backtest Sharpe
2.3
Strictly-causal (online) DWT Sharpe
0.0
Edge source
boundary look-ahead
KILLED
The impressive backtest was pure look-ahead: a batch wavelet transform uses future bars to denoise the present (boundary effect). Re-run strictly causally, the edge is exactly zero. A textbook reconstruction-bias trap.
Any transform that "denoises" a bar using neighbouring bars peeks at the future at the right boundary. If a backtest needs the batch transform to work, it does not work.
EMD sifting on rolling windows; trade trend = residual + lowest-frequency IMF. Causal vs batch comparison.
KILLED
Same failure class as N-034. Envelope interpolation in sifting is non-causal at the window edge; recomputing EMD each new bar repaints prior IMFs, so live behaviour differs entirely from the backtest. Killed alongside wavelets.
Adaptive decompositions that repaint history when a new bar arrives cannot be traded — what you saw at the edge is not what you get.
Markets carry a measurable dominant cycle (Ehlers); estimating its period and phase times entries at cycle troughs and exits at peaks.
Math — dominant period via DFT power
Pick the period maximizing spectral power over a rolling window:
$$ \hat T = \arg\max_{T}\ \Big|\sum_{n} x_n\, e^{-2\pi i n / T}\Big|^{2} $$
Method
Rolling DFT / Hilbert dominant-cycle on 1h bars across 30 symbols, enter on inferred cycle phase, costs applied.
Results
Dominant period stability
changes every ~30 bars
Phase-timed entry Sharpe
0.1
KILLED
Crypto has no persistent dominant cycle — the estimated period jumps continuously, so phase timing is noise. Cycles fit ex-post on any series; out-of-sample the period is not stable enough to act on.
A spectrum always has a peak. The question is whether that peak is the same one bar from now — for crypto prices, it is not.
SSA decomposes a series into trend, oscillatory, and noise components via the eigentriples of its trajectory matrix; the reconstructed trend is a lower-lag filter than moving averages.
Math — trajectory matrix SVD
Embed the series into an $L\times K$ trajectory matrix and SVD it:
$$ X = \sum_{i} \sqrt{\lambda_i}\,U_i V_i^\top $$
Group leading eigentriples as "trend", reconstruct by diagonal averaging.
Method
Causal SSA on a sliding window; the open question is whether grouped reconstruction lags less than an EMA of equal smoothness, net of recompute cost.
PARKED
Unlike N-034/035, SSA can be made strictly causal. Parked because per-bar SVD on a long window is expensive and the lag advantage over a tuned EMA looked marginal in spot checks. Revisit if a cheap incremental SVD is wired.
Causal is necessary but not sufficient — a filter also has to beat the cheap baseline (an EMA) by enough to justify its cost.
2-layer LSTM, 40 features, walk-forward train/validate, predict next 1h return; trade sign of prediction with costs.
Results
Direction accuracy (out-of-sample)
50.6%
Predicted |return| vs realized
shrinks to ~0
Net of fees
−
KILLED
Because next-bar return is ~unpredictable, MSE training collapses the network toward predicting zero (the conditional mean). 50.6% directional accuracy ≈ coin flip, well under the fee hurdle. The architecture is irrelevant when the target has no learnable structure.
Deep nets do not manufacture signal. If the conditional mean of your target is ~0, an MSE-trained model will faithfully predict ~0. Pick a target with structure, not a fancier model.
Encoder-only Transformer, same feature set and walk-forward protocol as N-038, tuned over depth/heads.
Results
Direction accuracy
50.9%
vs LSTM baseline
≈ identical
Overfitting on small crypto history
severe
KILLED
A better function approximator on a target with no signal gives a better fit to noise, not better forecasts. No improvement over the LSTM, and worse overfitting given limited history. Killed.
Model capacity helps only when there is structure to capture. On near-random targets, more capacity buys more overfitting, not more edge.
Gradient-boosted trees on engineered features (vol regime, funding, OI delta, time-of-day) can classify which signals of an existing book are higher-quality, used as a filter rather than a generator.
Math — boosted additive model
The model is an additive ensemble fit greedily to the gradient of the loss:
Label baseline signals win/loss, train XGBoost with monotonic constraints, evaluate as a probability gate on out-of-sample signals. Strict temporal split, no leakage.
Results
AUC (out-of-sample)
0.58
Top-quartile precision lift
+9pp
Standalone generation
no edge
Decay TRAIN→TEST
moderate
PARTIAL EDGE
Weak-but-real as a filter on an existing edge (AUC 0.58, top-quartile precision +9pp) — never as a signal generator. Most of the lift is the vol-regime and time-of-day features, not the exotic ones. Kept as an optional overlay with monitored decay.
ML earns its keep ranking the quality of signals you already have, not conjuring signals from price alone. And the boring features (regime, time) usually carry the lift.
Train in a simulated LOB with a market-impact model; reward = negative implementation shortfall. Evaluated in-sim only.
PARKED
Execution (not alpha) is the right place for RL — the reward is well-defined and dense. Parked on the sim-to-real gap: the agent overfits the simulator’s impact model, and we lack a faithful live LOB simulator to trust it with real orders. Promising, not deployable yet.
RL belongs to execution, not direction. But an RL agent is only as honest as its simulator — a wrong impact model trains a confidently wrong agent.
GA over indicator/threshold/logic genes, fitness = in-sample Sharpe, 200 generations, then hold-out test.
Results
Best in-sample Sharpe
4.1
Same rule out-of-sample
−0.3
Multiple-testing inflation
extreme
KILLED
Evolving toward in-sample Sharpe is industrial-scale data snooping: searching millions of rule combinations guarantees a spectacular in-sample winner that is pure overfit. Out-of-sample it is negative. The GA optimizes the one thing you must not optimize directly.
If your search procedure maximizes in-sample performance over a huge rule space, your "discovery" is the maximum of noise. Significance must be penalized by the number of trials.
BOCPD (Adams–MacKay) flags structural breaks in the return-generating process in near-real-time; cutting risk at a detected changepoint avoids regime-transition losses.
Math — run-length posterior
Recursively update the posterior over the current run length $r_t$:
BOCPD with a Gaussian observation model and hazard $1/\lambda$ on volatility-standardized returns; de-risk when changepoint probability spikes.
Results
Detection lag
2–6 bars
Drawdown reduction (as gate)
−22%
Standalone signal
none
PARTIAL EDGE
Useful as a de-risking gate — it catches volatility-regime breaks a few bars in and trims drawdowns ~20% — but it generates no directional edge and lags by construction. Kept as a portfolio risk overlay.
Changepoint detectors are insurance, not alpha. Their value is cutting exposure into a regime break, accepting that "near-real-time" still means a few bars late.
GP with RBF + periodic kernels on feature windows; trade only when predictive variance is low. Costs applied.
Results
Predictive mean signal
≈ 0
Low-variance subset edge
none
$O(n^3)$ inverse cost
prohibitive
KILLED
The calibrated uncertainty is nice but the mean is still ~zero (same target problem as N-038), and the $O(n^3)$ covariance inverse makes rolling refits impractical. No edge, high cost. Killed.
Well-calibrated uncertainty around a zero-mean forecast is still a zero-mean forecast. Confidence about "no signal" is not tradeable.
On-chain exchange-flow series for majors, z-score extremes as directional bias, forward 1–3 day returns. Daily granularity only.
Results
Inflow-spike → next-3d drift
weakly negative
Information coefficient (IC)
~0.05
Intraday usefulness
none (daily data)
PARTIAL EDGE
A weak, slow bias (IC ~0.05) usable only on multi-day horizons and majors with clean labeled exchange wallets. Attribution noise (wallet clustering) and daily cadence cap it. Context input, not a trade trigger.
On-chain flow is real information but arrives slow and dirty. It shapes a multi-day lean; it cannot time an intraday entry.
BTC SOPR (and short-term-holder SOPR) vs forward swing returns around the 1.0 cross.
PARKED
The 1.0 cross aligns with inflections ex-post, but signals are sparse and the clean variant (STH-SOPR) needs a paid on-chain feed for real-time. Parked pending a reliable live source; macro context only, n too small to validate.
On-chain ratios that "call bottoms" do so a handful of times per cycle — beautiful on a chart, untestable as a system.
SSR and its Bollinger-band oscillator vs forward 30-day BTC returns since 2019.
Results
Correlation SSR-extreme → fwd return
~0.03
Confounded by total-market trend
yes
KILLED
SSR is a slow ratio of two trending series; its "extremes" mostly restate where we are in the cycle and add no timing information beyond price itself. Killed as a signal.
A ratio of two co-trending aggregates tells you the trend you already see. Decompose before claiming a metric is informative.
NVT and NVT-signal (smoothed) vs forward returns; controlled for the structural decline in on-chain volume as activity moved to L2s/exchanges.
Results
Raw NVT trend
structurally rising
Forward-return edge after detrending
none
KILLED
On-chain transaction volume structurally collapsed as activity moved off-chain (exchanges, L2s), so NVT rises mechanically regardless of valuation. The denominator no longer measures economic throughput. Dead metric for timing.
A valuation ratio is only meaningful if its denominator still measures what it used to. Definitions rot as market structure changes.
The Puell Multiple (daily miner revenue vs its yearly average) marks cyclical extremes via miner capitulation/euphoria.
Math — Puell Multiple
$$ \text{Puell} = \frac{\text{daily issuance value}}{\text{365-day MA of issuance value}} $$
Method
BTC Puell vs forward 90/180-day returns across cycles; halving-aware.
Results
Cyclical extremes flagged
3/3
Independent observations
n≈3
Tactical use
none
PARTIAL EDGE
Like MVRV (N-031), a coherent macro compass with only ~3 independent cycle observations and zero tactical resolution. Informs long-horizon posture; never an entry.
Halving-cycle metrics share one fatal property: the sample size is the number of cycles. Three points cannot reject a null.
Weekly/daily Google Trends SVI for top coins vs forward returns; lead-lag cross-correlation.
Results
Peak cross-correlation lag
0 (coincident)
SVI leads price
no — lags or simultaneous
Data latency
days + revisions
KILLED
Search interest is coincident-to-lagging with price (people search after a move, not before) and the data is delayed and revised. By the time SVI spikes, the move has happened. No front-running edge.
Attention follows price more than it leads it. Crowd-interest data describes the move you already missed.
FinBERT-style polarity on filtered cashtag streams, hourly aggregate vs next-hour return. Bot/spam filtering attempted.
Results
Information coefficient
~0.01
Bot / shill contamination
severe
Endogeneity (sentiment = price)
high
KILLED
Sentiment is dominated by bots, shills, and reflexivity (sentiment is mostly a lagged function of price). After de-botting, IC ~0.01 — indistinguishable from zero. The clean signal, if any, is buried under manufactured noise.
Social sentiment in crypto is an adversarial, reflexive dataset — much of it is paid or automated, and the rest just echoes the price. Treat it as noise until proven otherwise.
The composite Fear & Greed index at extremes ("Extreme Fear" / "Extreme Greed") is a contrarian signal for multi-day reversals.
Math — extreme-tail conditioning
$$ \text{long if } \text{FNG}_t < 10,\quad \text{trim if } \text{FNG}_t > 90 $$
Method
Daily FNG since 2018; forward 7/14-day BTC returns conditioned on tail buckets.
Results
Extreme Fear → fwd 14d
mildly positive
Extreme Greed → fwd 14d
mixed
Edge vs buy-and-hold
small
PARTIAL EDGE
A mild, real contrarian tilt at the fear extreme on multi-day horizons, but the index is itself ~25% price-derived (reflexive), so much of the "signal" is just buying dips. Marginal lean, not a system.
Composite sentiment indices that include price as an input will always "predict" mean reversion — because they partly are the price. Strip the circular inputs before believing the backtest.
The Higuchi/box-counting fractal dimension $D$ of a price window distinguishes smooth trends ($D\to1$) from rough chop ($D\to2$); regime-gating on $D$ improves a trend book.
Math — box-counting dimension
$$ D = \lim_{\epsilon\to 0}\frac{\log N(\epsilon)}{\log(1/\epsilon)} $$
Method
Higuchi FD on rolling 128-bar windows as a trend/chop gate, 30 symbols, costs applied.
Results
Correlation of $D$ with realized vol
high (redundant)
Incremental edge over a vol filter
none
KILLED
Fractal dimension is, empirically, a repackaged volatility measure — it correlates ~0.9 with realized vol and adds nothing a simple ATR gate does not. Elegant, redundant. Killed.
Before adopting an exotic estimator, regress it on the boring one. If $D$ is 0.9-correlated with ATR, you have re-derived ATR with extra steps.
A positive largest Lyapunov exponent $\lambda_1$ means sensitive dependence (chaos, low short-term predictability); $\lambda_1\to0$ windows are more forecastable.
Math — largest Lyapunov exponent
Average exponential divergence of nearby trajectories in the embedded phase space:
Rosenstein algorithm on delay-embedded returns; gate forecasting models to low-$\lambda_1$ windows.
PARKED
Conceptually appealing, but $\lambda_1$ estimates on short, noisy financial windows are statistically unstable (the embedding and noise floor dominate). Parked: cannot get an estimator we trust at tradeable window lengths.
Chaos-theory invariants need long, clean, low-noise series. Financial windows are short and noise-saturated — the estimator measures the noise.
The Shannon entropy of the binned return distribution measures disorder; low-entropy windows (concentrated returns) carry more exploitable structure.
Math — Shannon entropy
$$ H = -\sum_{i} p_i \log_2 p_i $$
Method
Entropy of binned rolling returns; correlate with subsequent strategy hit-rate and with volatility-of-volatility.
Results
Low-entropy → higher hit-rate
weak but present
Mostly a vol-of-vol proxy
partially
Best use
sizing modifier
PARTIAL EDGE
A weak, partly-independent regime measure — low-entropy windows do show modestly higher signal hit-rates, but much of it overlaps vol-of-vol. Kept as a minor sizing modifier, not a trigger.
Information-theoretic measures sometimes add a sliver beyond variance — but always net out the variance overlap before crediting the entropy.
Delay-embed returns, build the recurrence matrix, track determinism/laminarity as early-warning. Spot-checked, not fully replayed.
PARKED
Early-warning literature is suggestive, but RQA is $O(n^2)$ per window and the threshold $\varepsilon$ is finicky. Parked pending a cheap incremental implementation and a proper out-of-sample on transitions.
Critical-slowing-down early-warning signals are real in physical systems; whether they lead financial regime breaks by enough to act on is unproven and expensive to test.
Genuine trade-size and volume first digits follow Benford’s law; venues or pairs with manufactured volume deviate, flagging wash-traded markets to avoid.
Chi-square / MAD of first-digit distribution of trade sizes per pair-venue vs Benford; cross-check against known-clean majors.
Results
Majors (clean)
fits Benford
Several low-cap pairs
strong deviation
Use
universe hygiene filter
PARTIAL EDGE
Not a trading strategy but a useful data-hygiene filter: pairs whose trade-size digits violate Benford are likely wash-traded and excluded from any universe. Adopted as a pre-filter, not a signal.
Sometimes the win is not a trade but a removal — knowing which markets are fake keeps fake fills out of every other backtest.
Most eigenvalues of an empirical correlation matrix are noise (within the Marchenko–Pastur band); cleaning them yields a more stable correlation estimate for risk and hedging.
Math — Marchenko–Pastur noise band
Eigenvalues below $\lambda_+$ are statistically indistinguishable from noise, where:
Clip/shrink eigenvalues inside the MP band, rebuild $C$, use for minimum-variance hedge weights vs raw sample $C$.
Results
Out-of-sample hedge variance
lower vs sample $C$
Weight stability
higher
Directional edge
none (risk tool)
PARTIAL EDGE
A real improvement to risk estimation — cleaned correlations give more stable hedges and minimum-variance weights out-of-sample. No alpha by itself; adopted on the risk side, where most durable value lives.
A sample correlation matrix is mostly noise. Knowing which eigenvalues to trust is worth more than any single signal — but it is a risk tool, not a return tool.
Estimate pairwise TE across 40 coins, trade detected laggards on leader moves, costs + latency applied.
Results
Detected lead-lag in-sample
present
Lag horizon
1–2 bars
Net after fees at that horizon
−
Direction stability out-of-sample
flips
KILLED
Detected information flow is real but the exploitable lag is 1–2 bars and unstable — by the time TE is estimated, the spillover is priced, and the direction of the A→B arrow flips out-of-sample. Net negative after cost. Killed (cf. our separately-killed lead-lag work).
Estimating that A leads B takes a window of data; within that window the lead is already arbitraged. Measurable ≠ tradeable, once latency is honest.
$L^p$ norm of the persistence landscape as a crash early-warning.
Method
Plan: sliding-window point clouds of (multi-asset) returns, Vietoris–Rips filtration, monitor landscape norm. Not yet built.
PLANNED
Gidea–Katz reported rising persistence-landscape norms before 2000 and 2008 crashes. Queued as a multi-asset crash early-warning gate — the open question is the same as always: lead time net of false alarms.
Topology gives a coordinate-free view of structure. Whether that view leads price by enough to de-risk on is the only thing that matters — and is untested for us.
Price regime shifts are cusp catastrophes; fitting the cusp normal form to a control/state embedding predicts sudden jumps.
Math — cusp normal form
$$ \frac{dV}{dx} = x^3 + a x + b = 0 $$
Method
Cobb stochastic-cusp fit (control variables = vol, OI) to BTC; likelihood-ratio vs linear model.
Results
Bimodality detected
occasionally
Out-of-sample jump prediction
no edge
Parameter identifiability
poor
KILLED
The cusp model is barely identifiable on financial data — the control-variable mapping is arbitrary and the fit is unstable. Pretty geometry, no out-of-sample jump prediction. Killed.
Borrowing a physics model requires its variables to mean something measurable. When the "control parameters" are hand-picked, the catastrophe is in the fit, not the market.
Rolling 30/90-day BTC–DXY correlation; trade BTC on DXY signal when correlation is strongly negative.
Results
Rolling correlation
swings −0.6 ↔ +0.4
Sign stability
none
Overlay edge
none
KILLED
The "inverse correlation" is a part-time relationship — it is strongly negative in some regimes and positive in others, so an overlay built on it is right exactly as often as it is wrong. No stable, tradeable structure.
Macro correlations in crypto are regime-conditional and flip without warning. A relationship that is sometimes −0.6 and sometimes +0.4 is not a relationship you can trade.
BTC behaves as digital gold; gold momentum leads BTC, exploitable as a cross-asset overlay.
Math
$$ \rho_{BTC,Gold}\ \text{rolling, with lead-lag scan over } \pm 10\text{ days} $$
Method
Lead-lag cross-correlation BTC vs XAU since 2017.
Results
Average correlation
≈ 0.05
Stable lead-lag
none
KILLED
The "digital gold" link is a narrative, not a statistic: realized BTC–gold correlation hovers near zero with no stable lead-lag. Killed before it cost anything.
A compelling story is not a correlation. Measure the relationship before trading the thesis.
Condition BTC exposure on overnight NDX-futures direction during US-correlated regimes; flat otherwise.
Results
Beta in risk-off
high (~1+)
Beta in crypto-native regimes
~0
Gap-loss reduction (as gate)
modest
PARTIAL EDGE
Useful only as a risk-off gate during macro-correlated regimes — when BTC is trading as a tech-beta proxy, NDX overnight does help avoid gap-downs. In crypto-native regimes the beta is ~0 and the overlay is noise. Conditional, not constant.
Crypto’s macro beta is a switch, not a dial — near zero most of the time, near one in a shock. Use it only when the regime says it is on.
Dual-EMA crossover on ETH/BTC, rotate the held leg, weekly rebalance, costs applied; 2019–2026.
Results
Vs 50/50 hold (risk-adj)
mild improvement
Whipsaw in ranging ratio
present
Edge concentration
a few big rotations
PARTIAL EDGE
A mild, real rotation edge whose entire P&L comes from a handful of large multi-week ratio trends; in ranging periods it bleeds to whipsaw. Works as a slow allocation tilt, not a trading strategy.
Pair-rotation edges are lumpy — a few regime moves make the year. Size for the drought between them, not the feast.
Per-weekday mean returns with block bootstrap CIs; rolling-window stability check across years.
Results
In-sample weekday spread
looks significant
Sign stability across years
flips
Bonferroni-corrected significance
none
KILLED
Apparent weekday effects do not survive multiple-testing correction (7 days = 7 tests) and flip sign year to year. The "Monday effect" is noise that varies which day it favours. Killed.
Testing 7 weekdays and celebrating the best one is data-mining. Correct for the number of buckets, then check the sign holds across years.
Estimate the intraday vol curve per symbol; scale position size and ATR-stops by the hour-of-day factor.
Results
Intraday vol seasonality
strong & stable
Directional edge
none
Stop-distance improvement
real
PARTIAL EDGE
No directional edge, but the volatility-by-hour pattern is strong and stable (US open / session overlaps) — adopted to scale stop distances and sizing intraday so a fixed-percent stop is not too tight at 14:00 UTC and too loose at 04:00.
Intraday vol seasonality is one of the most robust patterns in markets. It will not tell you direction, but it should shape every stop and size you set.
Returns bucketed by lunar phase, full-moon windows tested for reversal bias; false-discovery-rate controlled across many calendar hypotheses.
Results
Raw lunar "effect"
p≈0.04 (uncorrected)
After FDR over calendar tests
not significant
KILLED
A textbook spurious-correlation honeypot. The lone "significant" calendar effect vanishes under false-discovery-rate control across the many calendar hypotheses tested. Included here as a discipline example: we test folklore so we can kill it with numbers, not opinion.
Test enough calendar quirks and one will hit p<0.05 by chance. FDR control is how you tell a discovery from a coincidence.
Price impact is linear in signed order flow with slope $\lambda$ (Kyle); estimating $\lambda$ per symbol lets us cap order size so impact stays below expected edge.
Math — Kyle's lambda
Mid-price moves linearly in net signed volume:
$$ \Delta P = \lambda\, Q + \text{noise} $$
Cap participation so expected impact $<$ expected edge:
Estimate $\lambda$ by regressing mid-moves on signed volume per symbol/hour; size orders to keep modeled impact under a fraction of expected edge.
Results
Impact model $R^2$
0.4–0.6
Slippage vs naive sizing
lower
Directional edge
none (execution tool)
PARTIAL EDGE
No alpha, but a real execution improvement: knowing $\lambda$ per symbol caps size before impact eats the edge, materially cutting slippage on thin alts. Adopted in the sizing layer.
Every signal has a capacity set by price impact. Estimating $\lambda$ tells you the size at which your own order destroys the edge you found.
Compute microprice from L1, test as next-tick mid predictor and as a passive-quote anchor.
Results
Next-tick mid prediction
better than mid
Taker exploitation after fees
none
PARTIAL EDGE
The microprice genuinely predicts the next mid better than the mid — but the gain is sub-fee and only useful to a passive market maker choosing which side to rest on. No taker edge. Filed with the MM research (cf. N-026).
Better fair-value estimates help whoever is already quoting. For a taker paying the spread, a 0.3-tick improvement is invisible.
Order flow is long-memory — trade signs are positively autocorrelated for hours (Lillo–Farmer) — so recent net flow predicts continued same-direction pressure.
Math — long-memory sign process
The sign autocorrelation decays as a slow power law:
Estimate sign-ACF, trade continuation on persistent net flow, costs + latency applied.
Results
Sign ACF long-memory
confirmed
Price impact of predictable flow
permanent ≈ 0
Net continuation edge
−
KILLED
The long memory is real but price does not drift with it: market makers anticipate the autocorrelated flow and absorb it (the famous "efficiency despite predictable flow"). Predictable order flow, unpredictable price. Killed.
Predictable order flow is not predictable returns — liquidity providers price the predictability out. The market can be efficient even when flow is forecastable.
Fade last-trade-side at micro-horizon; full taker fees applied.
Results
Reversion magnitude
~half-spread
Round-trip taker cost
> full spread
Net
−
KILLED
The bounce reversion is exactly the spread you must cross twice to trade it. Only a maker earning the spread captures it; a taker pays more than the reversion is worth. Killed.
Mean reversion at the scale of the spread belongs to whoever provides the spread. Crossing it to capture it is arithmetically a loss.
Hidden iceberg orders reveal themselves through repeated same-size refills at a level; detecting them locates strong support/resistance to lean on.
Math
$$ \text{flag level } L \text{ if } \#\{\text{refills}(L)\} \ge k \text{ with size } \approx \text{const} $$
Method
Reconstruct per-level refill patterns from L2 updates; tag persistent hidden liquidity. Limited by public depth-stream snapshotting.
PARKED
Detection works when full L2 deltas are available, but the public depth stream is snapshotted, not event-by-event, so refill patterns are aliased. Parked pending a true incremental book feed. Promising as a context layer, not standalone.
Reconstructing hidden liquidity needs event-level book updates. Snapshot feeds blur exactly the micro-pattern you are trying to detect.
Flag rapid place-then-cancel clusters; trade opposite the fake pressure.
Results
Spoof detection
noisy on public data
False positives (genuine cancels)
high
Edge
inconsistent
KILLED
Distinguishing manipulative spoofs from ordinary order management on public data is unreliable (most cancels are benign), and building a strategy around reading manipulators is fragile and adversarial. Killed on both robustness and principle.
Trying to out-read manipulators is a game where the other side controls the signal. Most cancelled orders are not spoofs, and the ones that are can flip on you.
Rank alts by Amihud, long the illiquid tertile / short the liquid, monthly rebalance, costs (which are themselves higher for illiquid names).
Results
Gross premium
positive
Net after (high) illiquid trading cost
thin
Tail risk in stress
severe (liquidity dries)
PARTIAL EDGE
The premium is real but self-consuming: the illiquid names that pay it are the expensive ones to trade, and the premium evaporates (turns sharply negative) in stress when liquidity vanishes. A small, fragile tilt at best.
A liquidity premium is rent for a risk that shows up all at once. The assets that pay it are the ones you cannot exit when you need to.
The effective spread can be backed out from the serial covariance of price changes (Roll), giving a transaction-cost estimate without quote data.
Math
$$ \hat s = 2\sqrt{-\mathrm{Cov}(\Delta p_t,\Delta p_{t-1})} $$
Method
Estimate Roll spread per pair, compare to observed quoted spread, use to flag costly markets for the backtester.
Results
Roll vs quoted spread
tracks on liquid names
Breaks when Cov > 0 (trends)
yes
PARTIAL EDGE
Useful cost-estimation tool for markets where we lack clean quote history — feeds realistic spreads into the backtester. Not a signal; breaks in trends where serial covariance turns positive (then we fall back to quoted spreads).
Honest backtests need honest costs. When quote data is missing, a covariance-based spread estimate beats assuming zero.
Synchronized multi-venue tape, cross-correlation lag estimate, trade laggard on leader move.
Results
Detected lead
20–120 ms
Latency to act (public API)
100–400 ms
Net edge
none
KILLED
The lead exists but is tens of milliseconds — far inside our public-API round-trip. This is a colocation/HFT trade; at our latency the laggard has already caught up. Killed.
A lead measured in milliseconds is only tradeable by someone whose latency is measured in microseconds. Know which game you are in.
Monitor top-liquidity pools vs CEX mid; simulate atomic arb net of gas, swap fee, and bridge/settlement risk.
PARKED
Real dislocations occur, but they are contested by MEV searchers with priority-gas auctions and atomic execution we cannot match from a CEX-side bot. Parked: viable only with on-chain co-execution infra and inventory on both legs. Not a CEX-API trade.
On-chain arbitrage is an MEV auction. Without a searcher’s position in the block-building pipeline, you are bidding against people who see your trade first.
Reconstruct GEX from the Deribit options chain; condition a mean-reversion vs momentum book on GEX sign.
PARKED
Strong framework in equities (SpotGamma-style), but in crypto dealer-side attribution is opaque and meaningful gamma exists only for BTC/ETH. Parked: the dealer-sign assumption is unverifiable on-chain/off-chain here. Two-asset cross-section again.
GEX works where you know who is short gamma. In crypto you mostly do not, and the options book is two names deep.
Delta-hedged short-vol / short-strangle on BTC-ETH, measure VRP capture vs tail losses.
PARKED
VRP is positive on average in crypto too, but harvesting it is picking up pennies in front of the steamroller — crypto’s fat tails make the short-vol drawdowns brutal, and delta-hedging at our latency is costly. Parked pending a proper tail-hedged structure and an options-execution stack.
Selling volatility earns a premium for absorbing tail risk. In an asset class defined by tails, that premium is rented, not owned — unless the tail is hedged.
Crypto option flow mixes hedging and speculation indistinguishably, so a high PCR may be bearish bets or bullish-spot hedging. The ratio has no stable contrarian content here. Killed.
A sentiment ratio is only contrarian if you know the flow is directional speculation. When hedgers and speculators share the tape, the ratio means nothing.
Track DVOL-style IV vs realized vol; use as a regime tilt for vol-sensitive sleeves (not as a standalone options trade).
Results
IV-RV mean-reverts
yes
As vol-regime context
useful
As standalone trade
execution-bound
PARTIAL EDGE
The IV-RV spread is a useful vol-regime context input (it mean-reverts and flags rich/cheap vol), but converting it to P&L needs an options-execution stack we treat as out of scope. Kept as context, parked as a trade.
Knowing vol is rich or cheap is half the trade; the other half is an execution venue for vol. Context is free, expression is not.
Long spot / short quarterly when annualized basis exceeds a threshold, hold toward expiry, roll. Real fees + collateral cost.
Results
Contango basis (bull regimes)
+5–25% ann
Backwardation (bear)
flips negative
Net, hedged
positive in contango only
PARTIAL EDGE
A real carry in contango regimes (sister trade to funding carry N-028), but it inverts in backwardation and is capacity- and collateral-capped. Runs only when the term structure pays, fully hedged. Not directional.
Basis carry pays you to be patient in contango and punishes you in backwardation. The trade is the regime filter, not the position.
The same perp can have positive funding on one venue and negative on another; going long the negative-funding venue and short the positive-funding venue nets the spread, delta-neutral.
Monitor funding across venues, open offsetting legs when the spread exceeds cost, manage collateral on both sides.
Results
Funding spreads > cost
occur regularly
Net of fees + collateral fragmentation
thin positive
Operational/counterparty risk
real (2 venues)
PARTIAL EDGE
A genuine delta-neutral spread but operationally heavy — capital fragmented across venues, transfer latency, and doubled counterparty risk. Thin net edge that only scales with infrastructure. Filed as a treasury/ops trade, not a signal.
Cross-venue arbitrage converts market risk into operational and counterparty risk. The spread is real; so is the cost of standing in two places at once.
Buy below a peg threshold, size by an estimated permanent-failure probability, exit at reconvergence. Studied on historical depeg events.
Results
Reversion when peg holds
fast, reliable
Event frequency
very rare
Tail (true de-peg / failure)
total loss
PARTIAL EDGE
Works almost always, until the one time it does not — a textbook negative-skew trade (small frequent gains, rare total loss). Tradeable only with hard sizing caps and a real assessment of issuer solvency. Opportunistic, not systematic.
Buying a depeg is selling insurance on the peg. The premium is reliable; the claim, when it comes, takes the whole position.
Sizing each trade by a fraction of the Kelly-optimal bet maximizes long-run log-growth without the ruinous variance of full Kelly.
Math — Kelly fraction
Optimal fraction from edge $b$ and win prob $p$:
$$ f^\* = \frac{bp - (1-p)}{b} $$
We deploy a de-rated fraction $\kappa f^\*$ with $\kappa\approx 0.25$–$0.5$.
Method
Apply quarter-to-half Kelly using empirically estimated (not assumed) edge/odds per strategy; compare growth and drawdown vs fixed-fractional.
Results
Full Kelly
highest growth, brutal DD
Quarter–half Kelly
near-max growth, sane DD
Sensitivity to edge mis-estimate
high
PARTIAL EDGE
Adopted as the sizing discipline, not a signal: fractional Kelly captures most of the growth at a fraction of the variance. Critical caveat — Kelly is brutally sensitive to over-estimated edge, so we always de-rate hard and size off conservative, realized estimates.
Kelly assumes you know your edge exactly. Since you never do, the only safe Kelly is a small fraction of it — over-betting a mis-estimated edge is how good strategies go to zero.
Estimate the sleeve covariance (cleaned via N-058 RMT), solve for equal-risk-contribution weights, rebalance monthly, compare aggregate Sharpe vs equal-capital.
Results
Aggregate Sharpe vs equal-weight
higher
Drawdown
lower
Dependence on stable covariance
high
PARTIAL EDGE
A real portfolio-construction gain — equalizing risk (not capital) across genuinely uncorrelated sleeves lifts aggregate Sharpe and smooths drawdowns. The catch is it needs a stable, well-estimated covariance (hence the RMT cleaning). This is how sleeves are combined, not a sleeve itself.
Most of a multi-strategy book’s Sharpe comes from how the sleeves are weighted, not from any one sleeve. Equal capital over-weights the riskiest sleeve by accident.
Estimate cointegrating vectors on rolling 90d baskets, trade the stationary combination z-score, full multi-leg costs.
Results
Cointegration rank $\ge1$
~55% of windows
Net Sharpe out-of-sample
0.4
Vector stability across refits
low
PARTIAL EDGE
More robust than the single pair (N-018) but the cointegrating vector still drifts and the basket needs many legs, multiplying cost. A thin positive net edge that only an ultra-low-fee desk would run. Marginal.
Adding assets stabilizes a cointegration estimate but multiplies the cost of trading it. The fee structure decides the break-even number of legs.
A copula captures non-linear, tail-dependent co-movement that linear cointegration misses; trading conditional-probability extremes of the copula beats z-score pairs.
Math — conditional copula signal
$$ h(u\mid v) = \frac{\partial C(u,v)}{\partial v},\quad \text{trade when } h\to 0 \text{ or } 1 $$
Method
Fit Student-t / Clayton copulas to pair return ranks, trade mispricing index extremes, costs applied.
Results
Tail-dependence captured
yes
Extra signals vs z-score
few
Net after fees
−
KILLED
The copula does model tail dependence the z-score misses, but the incremental signals are too few to cover the extra turnover, and fit instability adds noise. Sophistication without net edge. Killed.
A more flexible dependence model is only worth it if the extra signals it finds pay for themselves. Elegance is not edge.
The classic Gatev distance method — pair assets by minimal normalized-price distance, trade 2-sigma divergences — works on crypto majors.
Math
$$ \text{SSD}_{ij}=\sum_t\big(\tilde P_{i,t}-\tilde P_{j,t}\big)^2,\quad \text{trade at } |spread|>2\sigma $$
Method
Form pairs on a 12-month formation window, trade 6-month, normalized prices, costs applied; replicated across 2019–2026.
Results
Pre-2020 (less crowded)
small positive
Post-2021
decays to ≈0
KILLED
The original equities edge has decayed everywhere it was published, crypto included — it is the most-replicated stat-arb in the literature and is arbitraged out. Faint pre-2020, dead after. Killed.
A strategy in every textbook is a strategy in every competitor’s backtest. Published edges decay toward zero precisely because they are published.
Algorithmic divergence detection (price extreme vs RSI extreme), forward-return test across 50 symbols, costs applied — removing the human eye that usually selects only the winners.
Results
Divergences detected
thousands
Forward-return edge
≈ 0
Survivorship in manual examples
severe
KILLED
Mechanized and tested honestly across all occurrences, RSI divergence has no forward edge. Its reputation comes from hand-picked chart examples (only the ones that worked get screenshotted). Killed.
Any chart pattern looks predictive when you only show the cases where it worked. Detect it algorithmically over everything, then count.
Full Ichimoku ruleset (cloud breakouts + TK cross + Chikou confirm) backtested across 40 symbols and parameter variants.
Results
Default (9,26,52) Sharpe
0.2
Parameter sensitivity
extreme
KILLED
A bundle of moving-average crossovers with five tunable lookbacks — once you test the parameter grid honestly, performance is indistinguishable from a generic MA system and highly fit-dependent. No special edge. Killed.
Exotic-sounding indicator systems usually decompose into moving averages with more knobs. More knobs means more overfitting, not more edge.
Attempted to encode objective wave-counting rules; tested Fibonacci retracement-level bounces as entries across symbols.
Results
Wave count reproducibility
low — analyst-dependent
Fib-level bounce edge
none vs random levels
KILLED
Elliott counts are unfalsifiable (any move can be re-labelled after the fact), and Fibonacci retracement levels show no edge versus arbitrary percentage levels. A narrative framework, not a testable system. Killed.
If a method can be re-counted to fit any outcome after the fact, it makes no forward prediction. Unfalsifiable is just a slower way of saying useless.
Tested Gann-angle support/resistance and time-squares with mechanized rules on multiple unit scalings.
Results
Dependence on arbitrary unit scaling
total
Edge over random trendlines
none
KILLED
Gann methods depend entirely on an arbitrary price/time unit scaling chosen to make the geometry "work". Equating dollars with bars has no economic meaning. No edge over random lines. Killed.
Geometry on a price chart only means something if the axes have a fixed, justified scale. Free units let you draw any conclusion you want.
A convolutional net trained on rendered candlestick chart images learns profitable visual patterns end-to-end.
Math
$$ \hat y = \text{softmax}\big(W\cdot \text{CNN}(\text{image}(P_{t-k:t})) + b\big) $$
Method
Render OHLC windows to images, train a CNN classifier on forward-return labels, strict temporal split.
Results
Validation accuracy
~51%
Learned features
mostly recent-trend slope
vs a 2-feature logistic baseline
no improvement
KILLED
Rendering numbers as pixels and convolving them throws away precision and adds no information. The CNN rediscovers "recent slope" — reproducible with a two-line baseline — at far higher cost. Pareidolia with a GPU. Killed.
Turning structured numeric data into images to use a CNN is almost always a step backwards. The net can only learn what the pixels preserve, and pixels lose precision.
Train on calm-regime feature vectors, monitor reconstruction error live, de-risk on spikes.
Results
Reconstruction error spikes pre-vol
often
Lead time
short / coincident
As a risk gate
mildly useful
PARTIAL EDGE
A mild risk-gate: reconstruction error does rise around regime breaks, but mostly coincident with volatility, so it confirms more than it predicts. Kept as one input to a de-risking ensemble, not a trigger.
Anomaly detectors mostly tell you the present is unusual, not that the future is. Useful for stepping aside, weak for stepping in.
K-means / GMM on standardized regime features; map historical strategy performance per cluster.
PARKED
Clusters are interpretable but unstable across refits and sensitive to $k$ and feature scaling; cluster identity drifts, so "trade only in cluster 2" is not robust out-of-sample. Parked pending a stability-constrained clustering. Cousin of the killed HMM (N-032).
Unsupervised regimes are seductive and unstable. Before conditioning capital on a cluster label, prove the label means the same thing next month.
Stacking many weak predictors under a meta-learner yields a strong combined return forecast.
Math
$$ \hat y = g\big(f_1(\mathbf{x}),f_2(\mathbf{x}),\dots,f_m(\mathbf{x})\big) $$
Method
Stack LSTM, XGBoost, logistic, GP base learners under a meta-regressor with nested cross-validation.
Results
Cross-val improvement
marginal
Out-of-sample (true holdout)
worse than best single
Leakage via the stack
hard to fully avoid
KILLED
Stacking amplifies overfitting and leakage when the base learners share near-zero-signal targets — the meta-learner fits the validation noise. On a true holdout it underperformed the single best model. Complexity tax with negative return. Killed.
Ensembling weak-or-zero-signal models mostly ensembles their overfitting. Stacking is not a substitute for a target that has signal.
Deribit BTC/ETH monthly expiries, measure spot drift toward max-pain in the final 24–48h vs control days.
Results
Weak pull toward max-pain
detectable on big expiries
Magnitude
small, noisy
Only BTC/ETH, monthly
low frequency
PARTIAL EDGE
A weak, real-ish pull on the largest BTC/ETH monthly expiries, but small, noisy, and rare (12 events/yr × 2 names). Filed as discretionary expiry-day context, not a system — far too few events to validate.
Max-pain pinning is real where dealer gamma is large and concentrated. In crypto that is two names, twelve times a year — context, not a strategy.
Recurring inflows around month-end/start (DCA buyers, payday) create a turn-of-month bullish drift.
Math
$$ \bar r_{\text{ToM}} \text{ over days } \{-1,+1,+2,+3\}\ \text{around month boundary, bootstrap CI} $$
Method
Turn-of-month window returns vs rest-of-month, block bootstrap, stability across years.
Results
Equities-style ToM effect
present pre-2021
Crypto, recent years
not significant
24/7 market dilution
likely cause
KILLED
The equities turn-of-month effect does not robustly transfer to a 24/7, globally-distributed, no-payday-cycle market. Faint and unstable; not significant in recent data. Killed.
Calendar effects borrowed from equities assume equity-market plumbing (paydays, month-end rebalancing, closed weekends). Crypto has none of it.
Estimate $d$ (GPH / Whittle), fit ARFIMA to returns and to realized vol, forecast and trade returns; vol-forecast compared to HAR-RV.
Results
Long memory in returns
negligible ($d\approx0$)
Long memory in volatility
strong ($d\approx0.4$)
Return forecast edge
none
KILLED
Long memory lives in volatility, not returns ($d\approx0$ for returns). ARFIMA on returns forecasts nothing; on volatility it just reproduces what HAR-RV (N-023 family) already gives more cheaply. No return edge. Killed.
The persistence in markets is in the second moment, not the first. Long-memory models confirm vol is forecastable and returns are not — again.
Estimate the transition matrix on rolling windows, trade the expected next-state return, costs applied.
Results
Transition matrix vs uniform
barely distinguishable
Forecast edge
≈ 0
KILLED
Discretized returns are very nearly memoryless — the estimated transition matrix is almost row-uniform, so next-state forecasts carry no edge. A first-order Markov chain cannot find structure that is not there. Killed.
If the transition matrix is nearly uniform, the process is nearly memoryless. Discretizing a random walk does not create predictability.
Rank alts by trailing realized skew, long most-negative-skew / short most-positive, monthly rebalance, costs applied.
Results
Skew premium (gross)
positive
Net of fees
thin positive
Crash co-movement
the premium is the risk
PARTIAL EDGE
A real but risk-based tilt: negative-skew names pay a premium precisely because they crash together. It is compensation for tail risk, not free alpha — kept as a small factor tilt with tail awareness, never levered.
A return premium sorted on crash risk is rent for owning crash risk. It shows up as alpha until the crash, when it pays the bill all at once.
The Heterogeneous Autoregressive model of realized volatility (daily/weekly/monthly RV components) forecasts volatility well enough to drive sizing and stop placement.
Fit HAR-RV on intraday realized variance per symbol, forecast next-day RV, drive vol-targeted sizing and ATR-stop scaling; benchmark vs GARCH (N-023).
Results
Vol forecast $R^2$
0.45
Beats GARCH(1,1)
modestly
Directional content
none
PARTIAL EDGE
Adopted on the risk side: HAR-RV forecasts realized vol slightly better than GARCH and is cheap to fit, so it drives sizing and stop distances. No directional edge — like every honest result here, the forecastable quantity is variance, not return.
The most reliable thing you can predict in markets is how much they will move, not which way. Build the risk engine on that, and stop asking price to be predictable.
An asset’s own past 1–3 month return predicts its next-month return (Moskowitz–Ooi–Pedersen); going long recent winners / short recent losers across crypto harvests trend.
Math — TSMOM signal
Position = sign of the past-$k$ return, vol-scaled:
Lookbacks $k\in\{20,40,60\}$d, vol-targeted, weekly rebalance over 30+ liquid alts, costs and funding applied, 2019–2026 walk-forward.
Results
Gross Sharpe
0.7
Net Sharpe after fees + funding
0.35
Worst drawdowns
sharp trend reversals
Edge post-2022 vs pre
decaying
PARTIAL EDGE
A real, documented factor that nets a modest positive Sharpe — but it is lumpy (a few big trends make the year), suffers violent reversals, and has been decaying as the trade crowds. Kept as a small, vol-targeted trend sleeve inside a diversified book, never standalone or levered.
Time-series momentum is one of the few effects that replicates across asset classes and decades — which is also why it is crowded and decaying. Real, modest, and not a secret.
Decile sort on 30d trailing return, dollar-neutral long/short, weekly rebalance, borrow + fees applied; tested against the well-known "momentum crash" episodes.
Results
Gross long-short return
positive in trends
Momentum crashes (sharp rebounds)
severe
Net Sharpe
0.3
Correlation to TSMOM (N-105)
high
PARTIAL EDGE
The cross-sectional cousin of N-105 — a real premium that periodically crashes when beaten-down losers violently rebound (the classic momentum crash). Net Sharpe ~0.3 and largely redundant with time-series momentum. A minor diversifier at most, with explicit crash-risk management.
Cross-sectional and time-series momentum are two views of the same crowded trade — and both hand back months of gains in a single mean-reversion crash. Diversification between them is mostly an illusion.
Institutions ("smart money") leave a footprint — order blocks, liquidity pools resting above/below swing highs and lows, and fair value gaps (FVG). Price returns to these zones to fill imbalance and grab liquidity; trading the zones front-runs institutional flow.
Math — the falsifiable kernel
The only objectively-codable pieces. A 3-candle fair value gap (bullish):
Mechanized the falsifiable rules — liquidity sweep of a prior swing, then entry on return into the nearest FVG — and tested forward returns across 50 symbols with full costs, removing the human who normally draws the zones after the fact.
Results
Stop-runs / sweeps are real
yes — they happen
FVG "fill" rate
~90% — but price fills most gaps anyway
Mechanical sweep→FVG entry, net edge
≈ 0
"Order block" selection
unfalsifiable (drawn post-hoc)
KILLED
The testable kernel is real but unprofitable: liquidity sweeps (stop-runs) genuinely occur, and FVGs genuinely fill — but price fills almost any gap eventually, so the "fill" predicts nothing, and the mechanized sweep→entry has no net edge after cost. The rest of SMC — choosing which order block, which liquidity pool — is drawn after the move and cannot be falsified (same trap as Elliott Wave, N-093). A real phenomenon wrapped in an untestable presentation. Killed as a system.
SMC/ICT names something real (stop-hunts exist) and surrounds it with after-the-fact chart-drawing. The part you can test does not pay; the part that "works" cannot be tested. That is the signature of a narrative, not an edge.
The original "smart money" theory: a Composite Operator accumulates in trading ranges, leaving a schematic (selling climax, spring, sign of strength, last point of support, phases A–E). Entering on the "spring" — a false breakdown of the range low that rapidly reclaims — front-runs the markup.
Math — the only objective event (the spring)
Spring = penetration of the range low reclaimed within $n$ bars on elevated volume:
Codified only the spring (the rest of the schematic is labeled in hindsight). Tested spring entries inside identified ranges, forward returns, costs applied.
Results
Spring (false-breakdown reclaim)
weakly tradeable
Overlap with liquidity-sweep (N-107)
near-identical
Full phase-labeling (A–E, LPS, SOS)
hindsight-only
Net edge of mechanized spring
thin, regime-dependent
PARTIAL EDGE
Wyckoff is the honest ancestor of SMC — and its one falsifiable event, the spring (a false breakdown that reclaims), is a genuinely weak-but-real pattern, essentially the same stop-run as N-107. The full schematic (which range is accumulation vs distribution, where Phase C ends) is labeled after the fact and untestable. We keep the spring as a minor context cue, discard the phase-counting.
A century before "smart money concepts," Wyckoff described the same one real thing: price pokes below support to trigger stops, then reclaims. Everything testable in the smart-money canon reduces to that single stop-run — and a stop-run alone is a thin edge.
The taught trade: long the touch, exit at $\mu_{20}$.
Method
Long on close back above the band after a touch, exit at mid-band, −3% failsafe, 12h cap. 30 most-liquid USDT-M perps, 84 days of 5m bars, 0.20% round-trip friction. n = 11,938 trades.
Results
Trades
11,938
Win rate
40%
Mean net per trade
−0.20%
Profit factor
0.48
t-statistic
−19.9
Why it failed
A 2σ touch on a trending asset is not "oversold" — it is the trend working. The band is a volatility envelope, not a value signal.
The gross edge is a few basis points at best; 20 bps of friction per round trip turns a coin-flip into a wood-chipper.
t = −19.9 across twelve thousand trades. This is not "needs better filters". This is dead at any confidence level you like.
KILLED
The single most-taught entry in retail trading is, on modern crypto perps, a fee-donation machine. PF 0.48 on n=11,938. No filter we tried rescues it.
Mean-reversion signals must beat the friction floor, not zero. On 5m crypto, 0.20% round trip is a wall that band-touch reversion never clears.
The cross is a lagging filter of a lagging filter — by construction it fires after the move.
Method
Long on 9>21 cross, exit on reverse cross or 48h. Same universe / friction / split as N-109. n = 9,373.
Results
Trades
9,373
Win rate
20%
Mean net per trade
−0.18%
Profit factor
0.67
t-statistic
−7.7
Why it failed
On 5m crypto the cross fires dozens of times per week per symbol; four of five entries are chop, and the one real trend does not pay for the other four after fees.
The classic defence — "use it on higher timeframes" — reduces n so far that survivorship and window luck dominate any course-seller's screenshot.
KILLED
A 20% win rate with 2:1-style exits nets −0.18%/trade on nine thousand trades. The golden cross is a lagging description of the past, not a forecast.
Any signal built purely from smoothed price is late by construction. Late + fees = negative, regardless of how clean the chart examples look.
Long when RSI crosses up through 30, exit at RSI 50 or 12h. Same universe / friction / split. n = 4,012.
Results
Trades
4,012
Win rate
48%
Mean net per trade
−0.19%
Profit factor
0.62
t-statistic
−6.9
Why it failed
The 48% win rate looks respectable — and is exactly the trap. Winners are small (bounce to RSI 50), losers are the trades where "oversold" kept being right.
Crypto downtrends routinely pin RSI below 30 for hours; the strategy systematically buys the middle of liquidation cascades.
KILLED
Positive-sounding win rate, negative expectancy: the textbook asymmetry trap. −0.19%/trade over four thousand trades, t = −6.9.
Never evaluate an entry by win rate. Evaluate the full distribution — one fat left tail erases a month of small bounces.
A close above the recent swing high ("break of structure" in SMC vocabulary) signals continuation; buy the breakout. The trend-following half of every SMC course.
Long the breakout close, SL −2%, TP +4%, 12h cap. Same universe / friction. n = 2,284, time-split 60/40.
Results
Trades
2,284
Win rate
39%
Mean net per trade
−0.20%
Test-half mean
−0.34%
t-statistic
−4.1
Why it failed
Crypto 4h-scale swing breaks are where breakout sellers live: the market-maker fades the obvious level, and the retail stop cluster above the high is the exit liquidity.
Negative in both time halves — not a regime artifact.
KILLED
Buying the most visible level on the chart nets −0.20%/trade. If a structure break is obvious enough to teach, it is obvious enough to fade.
The breakout premium documented in older equity literature does not survive on crypto perps where stop-hunting is an industry.
When price wicks below a swing low ("sweeps liquidity") and closes back above, smart money has filled longs on retail stops; buying the reclaim rides the reversal. The single most-marketed SMC setup.
Long the reclaim close, SL under the sweep wick, TP at 2R, 8h cap. Same universe / friction / split. n = 1,496.
Results
Trades
1,496
Win rate
34%
Mean net per trade
−0.26%
Profit factor
0.74
t-statistic
−4.4
vs random-entry control (−0.17%)
WORSE than random
Why it failed
The mechanically-defined sweep-and-reclaim is indistinguishable from a downtrend pausing. One wick below a low carries no information about who traded it.
It tested worse than random entries with the same R:R — the setup actively selects weak tape.
The narrative ("smart money grabbed liquidity") is unfalsifiable dressing on a losing pattern. Nobody selling the course shows you n=1,496.
KILLED
The flagship SMC entry, tested as taught, loses more than buying at random moments. −0.26%/trade, PF 0.74. The story is compelling; the cash flow is not.
A mechanism story ("smart money", "liquidity grab") is not evidence. If the setup cannot beat a random-entry control with identical risk structure, the story is decoration.
Limit at gap midpoint on retrace, SL under gap base, TP 2R. Same universe / friction / split. n = 1,151.
Results
Trades
1,151
Win rate
41%
Mean net per trade
+0.05%
Profit factor
1.08
t-statistic
1.1 — statistically zero
Verdict logic
There is a faint gross tendency for gaps to act as support — and it is almost exactly the size of retail friction.
t = 1.1 on eleven hundred trades means the observed +0.05% is indistinguishable from luck.
KILLED
Not a scam, just not an edge: the effect exists at roughly fee-size and nets to noise. You trade a thousand times to end where you started, minus stress.
An effect equal to the cost of trading it is economically nonexistent. "Statistically visible" and "monetizable" are different bars.
Long the first touch of the zone (setup void on new high or 0.786 break), SL under 0.786, TP at the prior high. Same universe / friction / split. n = 462.
Results
Trades
462
Win rate
39%
Mean net per trade
+0.80%
Profit factor
1.57
t-statistic
2.6
Train / test halves
+1.22% / +0.38%
Random-in-uptrend control
−0.18%
Why it (partially) works
Strip the fib mysticism and this is buying a pullback inside a fresh impulse trend — a documented momentum effect. The 0.618 level itself is likely incidental; the conditioning on impulse is the substance.
It beats the random-in-uptrend control by ~1pp/trade, so the timing adds real value beyond trend context.
But the test half kept only a third of the train edge — consistent with regime sensitivity, thin n, or slow decay.
PARTIAL EDGE
A real pullback-timing effect hides under the fib branding: +0.80%/trade vs a negative control. Honest caveats: one 84-day window, n=462, and the out-of-sample half is materially weaker. Tradeable edge? Marginal. "Top strategy"? No.
When a retail setup works, it usually works because it accidentally encodes an old academic effect (momentum pullback) — not because of the numerology used to sell it.
The last opposing candle before an impulsive move ("order block") marks institutional inventory; price returning to that zone finds support. The most defensible claim in the SMC canon.
Definition
\text{impulse}: \tfrac{C_t - C_{t-3}}{C_{t-3}} \ge 2.5\%, \qquad \text{OB} = \text{last red candle in } [t-10, t-3]
Entry on first return into $[L_{OB}, H_{OB}]$; SL under the block; TP at 2R.
Method
Same universe / friction / split as the whole series. n = 604. Benchmarked against BOTH controls (random 2:1: −0.17%; random-in-uptrend: −0.18%).
Results
Trades
604
Win rate
49%
Mean net per trade
+0.83%
Profit factor
1.73
t-statistic
5.0
Train / test halves
+1.09% / +0.59% — both positive
Why it works (and what it actually is)
Formalized, an order block is a pullback-to-origin entry inside a fresh impulse — again the momentum-pullback effect, with the zone anchored at the move's origin where real prior transactions cluster.
It beats both random controls by a full percentage point per trade with t = 5. This is the only course-sold setup in our audit with a statistically solid, both-halves-positive result.
No claim about "institutions" is needed or supported — the mechanism is consistent with plain anchoring + momentum.
PARTIAL EDGE
The one that survived: +0.83%/trade, PF 1.73, positive in both halves, beats random controls decisively. Still a single 84-day window on one venue — and note the irony: the least-marketed, most mechanical SMC component is the only one that tests positive, while the flagship "liquidity sweep" loses to random.
Test the mechanical core of any narrative strategy. Sometimes a real (old, known) effect hides under new branding — and it is never the part the marketing screams about.
Meta-entry. Any long entry rule with SL −1.5% / TP +3% evaluated in our window should be benchmarked against firing the same trade at RANDOM times: if a "strategy" cannot beat random, its content is zero.
Math — the bar every setup must clear
Expected net of a random 2:1 long with win probability $p$:
Random timing in our window realizes $p=0.38$ → $\mathbb{E}[r]=-0.17\%$: the friction floor.
Method
5,517 pseudo-random long entries (fixed grid) + 1,713 random entries conditioned on an active uptrend, identical exits, identical friction, same 30-symbol universe and 84 days as the whole N-109…N-116 series.
Results
Random 2:1 long
−0.17%/trade · t = −8.0
Random long in uptrend context
−0.18%/trade
Course setups that beat random
2 of 8
Course setups worse than random
1 (liquidity sweep)
What this audit actually shows
Six of eight setups sold as "top strategies" in $500–$2,000 courses are indistinguishable from or worse than random trading after realistic fees.
The two survivors (order block, golden pocket) are re-brandings of the oldest documented effect in the book — momentum pullback — and their marketing never mentions the mechanical conditions under which they test positive.
Win-rate screenshots, discretionary "confirmation", and unfalsifiable smart-money narratives are how a −0.2%/trade pattern is packaged as a livelihood.
KILLED
The product being sold in most retail trading courses is hope with a fee schedule. If a vendor will not show you n, friction assumptions, and a random-entry control, you are the exit liquidity.
Demand three numbers from anyone selling a strategy: sample size, net-of-fees expectancy, and performance versus a random control with the same risk structure. Refusal is the answer.
The MACD histogram turning positive signals momentum ignition; long the cross, exit the reverse cross. Arguably the most-screenshotted indicator in existence.
A candle with a long lower wick (≥2× body) printed at a local low shows "rejection" — buyers stepped in; long the close. Price-action course staple #1.
"Institutions execute at VWAP", so price pulling back to the daily VWAP from above finds algorithmic support — long the touch. A day-trading course favorite.
A false break below a mature trading range that instantly reclaims ("spring") marks the end of accumulation — the classic Wyckoff long trigger, heavily marketed in 2024-26 course culture.
A tight consolidation ("base") followed by an impulsive rally marks a demand zone; the first return to the base finds unfilled buy orders. The supply-and-demand course canon.
Definition
\text{base}: \tfrac{H_b-L_b}{L_b}\le 1\% \text{ over } \ge 30\text{min}; \quad \text{impulse}: +3\% \text{ in } 30\text{min}; \quad \text{entry at first return to } H_b
Method
Long the first retest of the base top, SL under the base, TP 2R. Same harness. n = 59 (the setup is genuinely rare when defined strictly).
Results
Trades
59
Win rate
56%
Mean net per trade
+0.57%
Profit factor
2.02
t-statistic
2.6
Train / test halves
+0.51% / +0.61% — both positive
Why it (partially) works
Strictly defined, this is once again a pullback to the origin of a fresh impulse — the same effect that keeps Order Block (N-116) and Golden Pocket (N-115) alive. Three brandings, one phenomenon.
n = 59 is thin. The direction and both-halves consistency match its siblings, which is why we grade it partial rather than noise.
PARTIAL EDGE
Positive (+0.57%/trade, PF 2.02) but rare and thin-sampled. Together with N-115/N-116 it triangulates ONE real retail-accessible effect: momentum-pullback to impulse origin. Everything else in the course catalog tested dead.
When three independently-branded setups survive testing and share one mechanical core, the core is the finding. Buy the pullback in a fresh impulse; ignore the mythology attached to it.
Хотите такую же строгость для вашей стратегии?
Мы систематически бэктестим, валидируем и убиваем стратегии, пока что-то не выживет. Есть идея алгоритма или нужен доступ к живым сигналам? Начните здесь.