Alpha Not Foundopen trading research archive

Archive / Crypto & DeFi / E004

AI-generated research, checked but not peer-reviewed. It may contain errors.
E004  KILL  Below costsTested · October 2026

Ranking crypto coins by past return does not pay after costs

Across 40 market-neutral momentum and reversal rules on 24 crypto perpetuals, none earns a positive net Sharpe in all three windows after 7 bp per side; the median net Sharpe is -1.17 and the best gross is 1.34.

momentum reversal cross-sectional market-neutral perpetuals hourly multiple-testing

A common belief says that coins which rose most over the past hours or days keep outperforming the rest, or that they snap back. We tested both on 24 crypto perpetual futures with hourly prices: each rule bought the top fifth of coins by past return and shorted the bottom fifth in equal size, so market direction cancels. Of 40 variants, none was positive after costs of 7 bp per side in all three time windows. The median net Sharpe ratio was -1.17. The best rule earned a gross Sharpe of 1.34 but traded 6.22 times a day and netted -1.18.

Variants positive in all 3 windows0 of 40net of 7 bp per side
Median net Sharpe-1.17median gross Sharpe 0.00
Best gross Sharpe1.34net -1.18; turnover 6.22 a day
Positive net by window6 / 4 / 2of 40 in selection, validation and holdout
01 · The idea being tested

Coins that have outperformed the rest over the last hours or days keep outperforming (or, in the opposite view, fall back), so ranking coins by past return gives a market-neutral edge.

Why people believe it

People argue that traders chase the coins that are rising and that news spreads gradually across a crowded market, so winners should keep winning relative to losers. The opposite view holds that the biggest movers overshoot and give some back. Either way, going long the leaders and short the laggards, in equal size, would not depend on whether the whole market rises or falls.

Why it would persist The argument, as stated before testing

The belief is that a ranking rule across many small coins needs many positions and constant rebalancing, which may leave the gap too thin for large funds to take.

02 · How it was tested

Every few hours we ranked 24 crypto perpetual futures by their return over the previous 4 to 168 hours. The momentum version bought the top fifth and shorted the bottom fifth in equal total size; the reversal version did the opposite. Positions were held for 4 to 48 hours and a trading cost of 7 bp was charged on every change of position. That gives 40 variants. We split history into three consecutive windows and required a positive result after costs in all of them.

Pass required

Standard pass rule used for all tests; not pre-registered for this test. Net Sharpe above 0 in selection, validation and holdout.

Killed if

Standard rejection rule used for all tests; not pre-registered for this test. No variant with a positive net Sharpe in all three windows.

Costs

7 bp per side (5 bp fee + 2 bp slippage), charged on the sum of absolute weight changes across coins each hour, so a full rebalance of the book costs up to 28 bp.

Controls

No separate control; the grid is the control. The reversal rule is the exact mirror of its momentum twin before costs (gross Sharpe of opposite sign). Long-only buy-and-hold is not a benchmark because every book is dollar neutral.

03 · What happened
Why it was rejected

No variant is positive net of 7 bp per side in all three windows; the median net Sharpe is -1.17 and the highest gross Sharpe is 1.34.

  • 0 of 40 variants had a positive net Sharpe in selection, validation and holdout at the same time. 6 were positive in selection (15%), 4 in validation (10%) and 2 in holdout (5%), and none of the 6 selection winners was positive in validation.
  • The median gross Sharpe was 0.00, because each reversal rule is the exact mirror of its momentum twin. The median net Sharpe was -1.17, with a range from -8.62 to +0.32.
  • The highest gross Sharpe of any variant was 1.34. That rule traded 6.22 times a day (sum of absolute weight changes per day) and had a net Sharpe of -1.18.
  • Only 3 variants, all slow momentum rules, had a positive net Sharpe over the whole period (+0.32, +0.15, +0.11). Each was negative in validation (-1.19, -1.21, -1.28).
  • Trading less often loses less. Median net Sharpe was -3.42 at a 4-hour rebalance, -1.93 at 12, -1.15 at 24 and -0.59 at 48 hours, while the median daily turnover cost (median turnover times 7 bp) fell from 57.7 bp at a 4-hour rebalance to 31.6, 21.7 and 10.9 bp.
  • The fastest rule (4-hour lookback, 4-hour rebalance, momentum) had a net Sharpe of -8.62 with turnover of 18.84 a day.

No variant survives all three windows

All variants40Positive net in selection6and positive in validation0and positive in holdout0

Number of the 40 variants with a positive net Sharpe, requiring each further window in turn. 6 are positive in selection and none of those stays positive in validation.

Chart data (variants)
StageCount
All variants40
Positive net in selection6
and positive in validation0
and positive in holdout0

Trading less often loses less, never wins

-4-3-2-10Every 4 hours-3.37-3.49-4.54Every 12 hours-2.17-1.5-2.11Every 24 hours-1.21-1.19-1.33Every 48 hours-0.61-0.68-0.51

SelectionValidationHoldout

Median net Sharpe of the 10 variants at each rebalance interval, by window. Every bar is negative. The medians rise from between -3.37 and -4.54 at a 4-hour rebalance to between -0.51 and -0.68 at 48 hours as turnover falls.

Chart data (median net Sharpe)
SelectionValidationHoldout
Every 4 hours-3.37-3.49-4.54
Every 12 hours-2.17-1.5-2.11
Every 24 hours-1.21-1.19-1.33
Every 48 hours-0.61-0.68-0.51

Before costs centred on zero, after costs shifted down

-9 to -65.0%0.0%-6 to -312.5%0.0%-3 to -212.5%0.0%-2 to -132.5%12.5%-1 to 030.0%37.5%0 to 17.5%37.5%1 to 20.0%12.5%

Net of 7 bp per sideGross

Number of the 40 variants by whole-period Sharpe, before and after 7 bp per side. Gross Sharpes sit between -1.34 and +1.34 and cluster around zero; net Sharpes run down to -8.62 and only 3 are above zero.

Chart data (variants)
BinNet of 7 bp per side (count)Gross (count)
-9 to -620
-6 to -350
-3 to -250
-2 to -1135
-1 to 01215
0 to 1315
1 to 205
04 · What it means

Why it failed Interpretation · not established

Interpretation: gross Sharpes stayed within +/-1.34 while costs of 7 bp per side on a book rebuilt every few hours pushed net Sharpes far below zero. Net Sharpe improves as turnover falls, yet no variant, including the slowest, stayed positive across windows. The few variants positive in selection may be what 40 related tries produce by chance.

Lesson

Reading gross and net Sharpe against turnover shows how much of a loss is due to trading cost: here gross Sharpes stay between -1.34 and +1.34 while net Sharpes fall to -8.62 as turnover rises to 18.84 a day.

Scope of this result

Covers 24 crypto perpetual futures that still trade (survivors only), hourly closes from 2021-01 to 2026-10, top and bottom fifth by return over 4 to 168 hours, rebalances every 4 to 48 hours, equal weights, and costs of 7 bp per side.

A rejected experiment applies to the tested conditions and does not prove an idea can never work. bp = basis point, 0.01%.

1. Test design

Pre-registered
No
Data
Hourly closing prices of 24 USD-margined crypto perpetual futures (a core panel of coins that still trade, so delisted coins are missing) — the public klines feed of the largest USD-margined crypto perpetual venue; 1 hour; 2021-01..2026-10; public download, no login
Universe
24 liquid crypto perpetual futures, survivors only. A coin enters the ranking once it has more than L bars of history, and a ranking is used only when at least 10 coins have data.
Signal
Score = return over the previous L hourly bars, L in {4, 12, 24, 72, 168}. Every H bars, H in {4, 12, 24, 48}, rank the coins; the top 20% by score get equal long weights summing to +1 and the bottom 20% equal short weights summing to -1. Momentum holds this book, reversal holds its mirror image. 5 L x 4 H x 2 directions = 40 variants.
Execution
Weights are set at an hourly close and held, unchanged, until the next rebalance; the book earns the return of the following hour. Always invested: gross exposure 2, net exposure 0.
Costs
7 bp per side (5 bp fee + 2 bp slippage), charged on the sum of absolute weight changes across coins each hour, so a full rebalance of the book costs up to 28 bp.
Controls
No separate control; the grid is the control. The reversal rule is the exact mirror of its momentum twin before costs (gross Sharpe of opposite sign). Long-only buy-and-hold is not a benchmark because every book is dollar neutral.
Sample split
Three consecutive windows by position in the hourly series: first 60% (selection), next 20% (validation), last 20% (holdout).
Pass criterion
Standard pass rule used for all tests; not pre-registered for this test. Net Sharpe above 0 in selection, validation and holdout.
Kill criterion
Standard rejection rule used for all tests; not pre-registered for this test. No variant with a positive net Sharpe in all three windows.
Power
Not computed. The 40 variants share the same coins and hours and the mirror pairs are not independent.

2. Result

Observations
40
Instruments
24
Net mean
—
95% interval
Not reported
Median
-1.17
Worst
-8.62
Finding 1
0 of 40 variants had a positive net Sharpe in selection, validation and holdout at the same time. 6 were positive in selection (15%), 4 in validation (10%) and 2 in holdout (5%), and none of the 6 selection winners was positive in validation.
Finding 2
The median gross Sharpe was 0.00, because each reversal rule is the exact mirror of its momentum twin. The median net Sharpe was -1.17, with a range from -8.62 to +0.32.
Finding 3
The highest gross Sharpe of any variant was 1.34. That rule traded 6.22 times a day (sum of absolute weight changes per day) and had a net Sharpe of -1.18.
Finding 4
Only 3 variants, all slow momentum rules, had a positive net Sharpe over the whole period (+0.32, +0.15, +0.11). Each was negative in validation (-1.19, -1.21, -1.28).
Finding 5
Trading less often loses less. Median net Sharpe was -3.42 at a 4-hour rebalance, -1.93 at 12, -1.15 at 24 and -0.59 at 48 hours, while the median daily turnover cost (median turnover times 7 bp) fell from 57.7 bp at a 4-hour rebalance to 31.6, 21.7 and 10.9 bp.
Finding 6
The fastest rule (4-hour lookback, 4-hour rebalance, momentum) had a net Sharpe of -8.62 with turnover of 18.84 a day.

3. Interpretation

Why it failed
Interpretation: gross Sharpes stayed within +/-1.34 while costs of 7 bp per side on a book rebuilt every few hours pushed net Sharpes far below zero. Net Sharpe improves as turnover falls, yet no variant, including the slowest, stayed positive across windows. The few variants positive in selection may be what 40 related tries produce by chance.
Lesson
Reading gross and net Sharpe against turnover shows how much of a loss is due to trading cost: here gross Sharpes stay between -1.34 and +1.34 while net Sharpes fall to -8.62 as turnover rises to 18.84 a day.
Scope
Covers 24 crypto perpetual futures that still trade (survivors only), hourly closes from 2021-01 to 2026-10, top and bottom fifth by return over 4 to 168 hours, rebalances every 4 to 48 hours, equal weights, and costs of 7 bp per side.

4. Reproducibility

Steps
1) Download hourly closes of 24 USD-margined crypto perpetual futures from 2021-01 onward. 2) For each lookback L in {4, 12, 24, 72, 168}, compute each coin's return over the previous L bars. 3) At every H-th bar, H in {4, 12, 24, 48}, rank the coins (at least 10 with data); set equal long weights on the top 20% summing to +1 and equal short weights on the bottom 20% summing to -1; hold until the next rebalance; flip the sign for the reversal variants. 4) Each hour earn the next hour's weighted return and subtract 7 bp times the sum of absolute weight changes. 5) Compute the Sharpe ratio as mean over standard deviation of hourly returns times the square root of 8,760, in the first 60%, next 20%, last 20% of the series and over the whole period, and count variants positive in all three windows.
Grade
COMPLETE
Feedback
Feedbacksite

Feedback on the archive

Type
Type

Text only. No name or e-mail is asked; please do not include personal data. Nothing identifying you is stored.

0/2000

Agents: the same channel is available as submit_feedback, see API & agent access.