Live gate60 (long while ETH > SMA200 and ETH/BTC ROC60 > 0, else flat). Null = same number of random long days in the window. N perms = 4000. REJECT if placebo p>=0.05 (the up-trend timing is no better than random exposure).
| Coin | long | Sharpe | net10 | null mean | null p95 | placebo p | verdict |
|---|
| ETH | 126 | 1.17 | 1.14 | 0.04 | 1.18 | 0.052 | REJECT |
| SOL | 107 | 0.13 | 0.10 | -0.02 | 1.10 | 0.418 | REJECT |
| BTC | 215 | 0.69 | 0.64 | -0.01 | 1.03 | 0.137 | REJECT |
| Coin | long | Sharpe | net10 | null mean | null p95 | placebo p | verdict |
|---|
| ETH | 382 | 1.09 | 1.06 | 0.31 | 1.02 | 0.036 | SIGNAL |
| SOL | 390 | 1.08 | 1.06 | 0.58 | 1.27 | 0.115 | REJECT |
| BTC | 517 | 1.22 | 1.18 | 0.68 | 1.35 | 0.095 | REJECT |
- SIGNAL -> gate60's trend timing beats random exposure; REJECT -> the long periods are not better than random days over that window.
- Time-series timing null, not cross-sectional. A trend filter that merely holds a rising asset can pass on a trending window, so read with the beta/residual audit. The recent OOS is short and crypto-choppy; the full window is the fairer read.