Factor Lens

Independent crypto factor and regime dashboard

Displayed factors

Each line is the cumulative growth of a beta-hedged, dollar-neutral long/short basket. The visible set is deliberately compact: factors are retained greedily only while their pairwise absolute return correlation stays at or below 0.50.

Market Cap
Large-cap minus small-cap basket, ranked on trailing market capitalization. This isolates the size premium.
Volatility
High-volatility minus low-volatility basket, ranked on trailing realized volatility. This isolates risk appetite toward more variable assets.
Momentum
Recent outperformers minus underperformers, using a 180-day lookback with a seven-day gap. The gap avoids treating very recent reversals as trend.
FDV Overhang
Lower dilution-overhang assets minus assets with more supply still to unlock. The signal uses circulating supply relative to valid max or total supply.

Methodology

Factor Lens applies the established idea that portfolio behavior is easier to understand when returns are decomposed into a small set of systematic drivers. The design follows the principles described in Revisiting the Two Sigma Factor Lens: prefer a holistic, parsimonious, differentiated and actionable factor set over a long list of overlapping signals.

This implementation is a crypto-market adaptation, not an affiliation or endorsement claim. It ranks liquid assets on explicit signals, forms dollar-neutral baskets, removes visibly duplicative factors, and then uses the remaining independent return streams to describe market regimes.

Validated primary market states

The primary map uses causal 90-day exponentially weighted factor returns, trailing BTC 45-day return and trailing BTC 45-day realized volatility. PCA compresses that panel and KMeans partitions it into two descriptive states. A trailing 14-day mode suppresses one-day label churn; future days never rewrite past labels.

The build fails if any state occupies less than 10% or more than 70% of the sample, or if adjacent states differ by less than three percentage points of mean trailing BTC return. That rejects outlier-only clusterings before export.

StateUTC daysOccupancyMean BTC 45d returnMean BTC 30d ann. vol.
Low-Trend / Risk-Off 888 60.7% -0.2% 42.4%
Strong-Trend / Risk-On 576 39.3% +13.6% 53.4%

How to read the overlay

The saturated colored areas are normalized KMeans distance-based confidence weights and always sum to 100%. They are not calibrated probabilities. BTC remains on the left axis, so transition uncertainty is visible against the price path.

Factor-only regime cross-check

This separate view runs PCA + KMeans on causal 90-day exponentially weighted factor returns only. PCA retains 92.9% of panel variance across 2 components. It is a factor-state cross-check, not a relabeling of the BTC-anchored primary model.

  • Factor state 0: strongest tilts are Volatility -2.13 sigma, FDV Overhang +1.98 sigma
  • Factor state 1: strongest tilts are Volatility +0.29 sigma, FDV Overhang -0.27 sigma

Signal contract

At each UTC-day close, the model fits only the prior 365 state-feature rows and refits every 14 days. It holds BTC until the next close only when the classified state's trailing next-day BTC return is positive; otherwise it holds cash. Switching exposure costs 0.10% one way. Future factor, regime and BTC rows cannot rewrite an earlier decision.

MetricState strategyBTC buy and hold
Total return269.0%176.3%
CAGR47.2%35.1%
Annualized volatility43.1%46.8%
Sharpe (0% cash rate)1.110.88
Maximum drawdown-41.0%-53.1%
Calmar1.150.66
Positive-return days43.7%50.1%

BTC exposure: 86.5%. Exposure switches: 10. This is a transparent research backtest, not a live trading claim.