ABYSS Index methodology · SOL
The ABYSS Score is a contrarian composite index (0-100) for crypto assets (BTC, ETH, SOL, XRP, DOGE and ADA). It blends several categories of signals into a single number: high = near the floor (accumulation), low = near the top (distribution). The whole formula is public and versioned so anyone can audit and reproduce it.
Components and weights
| category | component | weight | normalization | source | what it measures |
|---|---|---|---|---|---|
| Sentiment | Fear & Greed | 20% | direct (0-100) | alternative.me | Inverted Fear & Greed index: extreme fear = accumulation opportunity. |
| Momentum | Weekly RSI | 22% | rolling percentile (winsorized) | Kraken (OHLC) | Weekly RSI(14) vs its own history: oversold = accumulate. |
| Trend | Distance to EMA200 | 16% | rolling percentile (winsorized) | Kraken (OHLC) | Price distance to the 200-week EMA: well below = deep value. |
| Derivatives | Perp funding | 16% | rolling percentile (winsorized) | Deribit / OKX | Perpetuals funding: high funding (crowded longs) = top risk. |
| Macro | M2 liquidity (US) | 16% | z-score | FRED · M2SL (EE.UU.) | US M2 money-supply YoY momentum (FRED M2SL): rising liquidity = supportive backdrop. |
| Macro | Dollar (USD Index) | 10% | z-score | FRED · DTWEXBGS | Dollar strength (Fed trade-weighted index): a strong dollar is a headwind. |
Note: non-BTC assets (ETH, SOL, XRP, DOGE, ADA) share this component template; the percentile/z-score normalization self-calibrates on each asset's own history, but the weights are NOT optimized per asset. BTC additionally includes our own on-chain valuation (MVRV, computed on OUR node) in its LIVE formula (v1.1); the other assets have no on-chain component.
Regime bands
| range | regime |
|---|---|
| 80–100 | Strong accumulation |
| 60–80 | Value / Early accumulation |
| 40–60 | Neutral / Transition |
| 20–40 | Greed / Late cycle |
| 0–20 | Euphoria / Distribution |
v1 bands are provisional: the breakpoints (20/40/60/80) will be tuned against the index's own history.
How it is normalized
Each raw metric is mapped to a 0-100 sub-score with its own normalizer: rolling percentile (winsorized at 1/99 so an extreme reading doesn't saturate the index) for skewed series, or z-score for near-normal series. It is then contrarian-oriented (expensive/greedy signal → low sub-score) and combined with the weights above. The result is rounded to 0-100.
History and backtest (no look-ahead)
The historical series is reconstructed week by week since 2018 using only data available up to each date (expanding window, no peeking into the future). You can download the full series and verify it:
Validation: what happened after each band?
For each week since 2018 we look at which band the ABYSS Score was in and compute the asset's return 3 and 12 months later. If the index adds value, high bands (floor) should precede better returns than low bands (top).
| Band | cases (3m/12m) | Avg return 3m | % positive 3m | Avg return 12m | % positive 12m |
|---|---|---|---|---|---|
| Strong accumulation | 6 / 4 | -15% | 33% | -90% | 0% |
| Value / Early accumulation | 71 / 52 | +28% | 32% | +12% | 25% |
| Neutral / Transition | 66 / 59 | +13% | 55% | +38% | 34% |
| Greed / Late cycle | 89 / 78 | +42% | 57% | +303% | 81% |
| Euphoria / Distribution | 18 / 18 | +17% | 50% | +34% | 50% |
In-sample and with overlapping (non-independent) windows; past performance doesn't guarantee future results. The reconstruction is point-in-time: each week uses the components available up to that date (some free sources, like funding, don't reach back to 2018, so older weeks are computed with fewer, re-weighted components). 'Cases' is the number of weeks with a forward value available at each horizon (the 12m one drops the last 52 weeks), so 3m and 12m have different samples. Extreme bands have few observations. It's a sanity check, not a strategy.
Reproducibility and robustness
Every value carries its formula version (formula_version). If a data source is unavailable, the engine re-weights the remaining components and flags the result as degraded, deterministically. Historical values are never rewritten: a weight change bumps the version.
Data sources
We use free or public-domain sources and, above all, compute the index ourselves (which is our own data): Fear & Greed (alternative.me), price and candles (Kraken), funding (Deribit/OKX), macro M2/dollar/rates (FRED, public domain), hashrate (Blockchain.com). The dollar reading is the Fed trade-weighted index (DTWEXBGS), not the 'DXY' trademark.
API and data
GET /api/v1/index · GET /api/v1/history · GET /api/v1/history/csv
formula_version: abyss-sol-1.0.0
Limitations & honesty
- In-sample backtest: the series is reconstructed point-in-time, but the weights are not optimized; Fear & Greed only exists since 2018 (it doesn't cover the 2013-2017 cycle).
- Real cadence per source: M2 monthly (lagged), DXY/rates daily, Fear & Greed daily, funding 8h. Not every component is 'real-time'.
- On-chain: live BTC includes our own MVRV (v1.1 formula, computed on our node); the historical backtest uses v1.0 because there's no reconstructed historical MVRV. The other assets have no on-chain component.
For educational purposes only. Not financial advice.