unravel
unravel
Measures the assets' overall share of all conversations about crypto.
Investor attention demonstrably precedes Bitcoin returns and volatility, acting as a predictive factor. Studies show attention metrics (Google Trends, social volume) Granger-cause price movements, with predictive accuracy improvements of 20% over baseline models in out-of-sample tests. This aligns with behavioral finance principles where attention drives retail investor inflows before institutional actors react.
For smaller-cap assets, attention directly impacts liquidity. A 10% increase in conversation share reduces idiosyncratic risk by improving market depth and narrowing bid-ask spreads. This creates a self-reinforcing cycle: rising attention → improved liquidity → reduced volatility → sustained attention.
The Attention Index sources data from social media platforms, forums, and crypto-related websites to track conversation volumes about specific assets. These inputs are aggregated and normalized against historical averages to determine relative attention levels, with maximum score of 1 indicating heightened interest compared to past trends.
unravel
Benchmark (Ethereum Classic) | Strategy | |
---|---|---|
100% | 100% | |
100% | 100% | |
1.00 | 1.00 | |
100% | 100% | |
1.00 | 1.00 | |
1.00 | 1.00 |
Predictive factors are designed to be translated into simple long-only strategy, with simulated past performance:
The strategy is rebalanced daily, on a continuous basis. There are 0.05% transaction costs applied on each position adjustment.
Get started by replicating the historical performance with our code snippets.
from api import get_normalized_series, get_price_series from backtest import vectorized_backtest from plotting import plot_backtest_results UNRAVEL_API_KEY = "YOUR-API-KEY" risk_factor = "attention_index" ticker= "ETC" start_date = "2022-01-01" end_date = "2024-06-01" smoothing = 7 risk_factor_signal = get_normalized_series(ticker, risk_factor, start_date, end_date, smoothing, UNRAVEL_API_KEY) price = get_price_series(ticker, start_date, end_date, UNRAVEL_API_KEY) price = price[risk_factor_signal.index] results = vectorized_backtest(price, risk_factor_signal) plot_backtest_results(results, ticker, risk_factor, smoothing)