Factor Research

An alpha factor toolkit for Hyperliquid

Keel ships 199 composable components — signals, transforms, regime detectors and portfolio aggregators — plus an evaluation surface for information coefficient, half-life and decay. It is a toolkit, not a curated factor catalog with stamped numbers; the catalog page is roadmap.

By Keel Research Team · Updated May 18, 2026

Toolkit, not catalog — and why that matters

Factor libraries come in two shapes. Curated catalogs publish a fixed list of factors with stamped IC, ICIR, half-life, and turnover numbers — usually on one specific universe and cost model. Composable toolkits give you the building blocks and the evaluators so you can stamp the numbers yourself. Keel ships the toolkit shape today, because IC and decay numbers depend on universe definition, cost model, lookback window, and rebalance horizon — a single stamped number reads cleanly but only tells the truth on one specific setup.

A curated catalog — IC, ICIR, half-life, turnover, and decay curve stamped per factor on a standard HL universe — is on the roadmap. Until then, the toolkit lets you compute the same numbers against your own universe and assumptions.

The 199 components, by category

The component registry has 199 entries decorated with @register_component. They break down roughly as follows.

CategoryExamples
Momentum signals (8)Cross-sectional momentum at multiple lookbacks; time-series momentum; risk-adjusted momentum.
Trend signals (10)EMA/SMA crossovers, MACD-style, channel breakouts, trend strength scoring.
Volatility signals (9)Realized vol, vol-of-vol, vol regime indicators, Garman-Klass, ATR-based.
Volume / liquidity signals (6)Volume rank, dollar volume, volume z-score, OI-weighted scoring.
Statistical signals (2)Z-score and percentile rank transforms used as direct signals.
Logic signalsBreakout detectors, mean-reversion triggers, threshold gates.
Regime detectors (5)FundingLevelRegime, FundingDispersionRegime, plus vol-, trend-, and correlation-based regimes.
Portfolio aggregators (~20)Forecast weighting, rank normalization, sign-split long/short, equal-weight, inverse-vol.
Transforms (~16)Rolling normalization, smoothing, lag, decay, regime gates and scalers, signal-combiners.

The remainder are data loaders, risk overlays (vol targeting, position caps, gross and net leverage limits), execution operators (buffered rebalancer, neutralization), and utility components that wire pipelines together. Every one is composable — you can stack them in arbitrary order, branch them, and store intermediate values for inspection.

The signal evaluation surface

The evaluators are the other half of the toolkit. They consume the same pipeline that produces a signal. That alignment is the thing — the IC you compute in research is exactly the IC the live broker sees, because both read the same pipeline output.

  • Information coefficient (Pearson and Spearman). Per-bar cross-sectional correlation between factor and forward return at a chosen horizon. Spearman default.
  • Rolling IC and ICIR-equivalent stability. Sliding-window mean and standard deviation of IC. Sharpe-style ratio. Distinguishes truly informative factors from lucky ones.
  • Half-life and decay curve. Bars until IC halves; full IC-by-horizon plot. Sets the natural rebalance horizon and reveals whether you have a fast or slow signal.
  • Quantile spread. Forward return of top decile minus bottom decile. Tests monotonicity — many high-IC factors lack a clean monotone payoff, which is a warning sign.
  • Turnover and cost sensitivity. What fraction of the cross-section changes deciles per bar, and what the quantile spread looks like net of realistic fees and slippage. The honest filter that kills the prettiest paper factors.

Hyperliquid-tuned defaults

The components ship with defaults appropriate for HL perp data: 15-minute price bars, 1-hour funding, ~220 markets, fee schedule from the HL maker/taker tiers. Funding is a first-class input, not a footnote. Data loaders standardize units across the universe so cross-sectional rankings are comparing apples to apples. The regime detectors are conditioned on HL-specific regime structure, not transplanted from equity research.

The implication: a momentum or carry factor you build with Keel components is HL-shaped by default. You can change the defaults for a different venue if you ever leave HL — but Keel is built for the case where you do not.

On the roadmap: a stamped factor catalog

A public catalog with one page per factor — `/factor/cross-sectional-momentum-7d` and so on — showing IC, ICIR, half-life, decay curve, and turnover on a standard HL universe at a standard cost model. Until it ships, you can compute the same numbers against your own universe and cost model with the toolkit above.

Try it

Compose a factor from the 199 components, run the evaluators against the HL universe, and decide whether it earns a spot in a strategy.

FAQ

Common questions

What is an alpha factor?

A numerical score, computed per asset per bar, that ranks the cross-section by expected forward return. Examples: 1-week price momentum, current funding rate, open-interest delta over 12 hours, a z-scored basis between funding and realized volatility. The factor itself is a vector across the universe; the strategy is the wrapping that turns the rank into positions. In Keel, factors are pipeline components — a signal class that consumes data loaders and emits a cross-sectional score.

How is information coefficient computed?

For each bar, compute the rank correlation (Spearman by default) between the factor score across the universe and the realized forward return over a chosen horizon. Average across the sample for the headline IC. Roll across a window for the rolling-IC plot. Mean IC over standard deviation of IC gives the ICIR-equivalent stability metric. Keel computes all of these inside the same pipeline that produces the signal, so research and live both see the same factor values.

How does this differ from QuantInsti or Hudson & Thames factor libraries?

Different scope. QuantInsti is an educational platform; Hudson & Thames mlfinlab is a Python library of academic implementations. Keel is HL-native infrastructure: the components are tuned to perp trading on Hyperliquid (1-hour funding, 15-minute bars, real fee tiers), and the evaluators wire into the same backtester and live broker. Keel is opinionated about the venue but composable about the components — the 199 parts are a toolkit, not a curated catalog with stamped IC per factor.

Can I add custom factors?

Yes. Components are Python classes decorated with @register_component. You subclass the appropriate base (Signal, Transform, RegimeDetector, Aggregator), implement the compute method, register it, and it appears to the pipeline executor exactly like a built-in. The evaluators do not care whether a factor is built-in or custom — the IC, decay, and half-life come from the pipeline output regardless of source.

What is the roadmap for a curated factor catalog?

A factor library page with stamped IC, ICIR, half-life and turnover numbers per factor per universe is a planned product surface — but not yet shipped. The honest reason: those numbers depend on universe definition, cost model, lookback windows, and rebalance horizon. Publishing a single set of numbers can mislead more than it informs. What ships today is the toolkit to compute the numbers on your data, your universe, and your assumptions. The catalog page will follow once we have a stable opinion about the defaults.