Data & Analysis Stocks, Crypto, All Markets

Signal Research

Paste into Claude, ChatGPT, or any coding agent

This skill provides the systematic methodology for discovering, engineering, evaluating, and combining predictive trading signals (alpha signals) using quantitative methods. It covers the full research pipeline — from raw data to deployable signal — including factor model construction, feature engineering, signal evaluation metrics (Information Coefficient, Information Ratio, decay analysis), combinatorial signal testing with overfitting safeguards, time-series cross-validation, and crypto-specific signal discovery. This is the research layer that feeds into trading strategies.

When to Use This Skill

  • When searching for new predictive signals (alpha discovery)
  • When constructing factor models (single-factor or multi-factor)
  • When engineering features from raw market/on-chain data
  • When evaluating whether a signal has genuine predictive power
  • When analyzing how quickly a signal decays over time
  • When combining multiple signals into a composite model
  • When applying proper cross-validation for time-series financial data
  • When quantifying crypto-specific signals (funding rate, sentiment, on-chain metrics)

What This Skill Does

  1. Alpha Signal Discovery: Systematic process for generating and screening candidate signals
  2. Factor Model Construction: Builds single-factor and multi-factor models with proper orthogonalization
  3. Feature Engineering: Transforms raw data into predictive features (returns, z-scores, ratios, ranks)
  4. Signal Evaluation: Measures predictive power using IC, IR, turnover, and decay rate
  5. Overfitting Prevention: Applies multiple testing corrections, walk-forward validation, and out-of-sample discipline
  6. Signal Combination: Combines signals using ranking, z-scoring, and weighted composites
  7. Crypto Signal Specialization: Evaluates funding rate signals, social sentiment quantification, and on-chain metric factors

How to Use

Alpha Discovery

Discover new alpha signals for BTC using price, volume, and funding rate data over the past 2 years

Factor Model

Build a multi-factor model for crypto top-20 assets using momentum, value, and volatility factors

Signal Evaluation

Evaluate the predictive power of this signal: 7-day funding rate z-score for ETH perpetual futures

Feature Engineering

Engineer trading features from raw OHLCV + on-chain data for [token]. What transformations add predictive value?

Signal Decay

How quickly does the momentum signal (20-day return) decay for BTC? What's the optimal holding period?

Data Sources

With MCP/CLI tools connected:

  • yFinance MCPs (tooyipjee, maxscheijen, Adity-star) — Historical OHLCV, returns computation, fundamental data
  • Empyrical MCP — Performance metrics, risk-adjusted returns, factor analysis support
  • CoinGecko MCP / CoinGecko Price MCP — Crypto price history, market cap, volume, social metrics
  • Binance MCP (TermiX, snjyor) — Funding rates, open interest, order book depth, liquidation data
  • Crypto Sentiment MCP — Social sentiment scores, Fear & Greed index, social volume
  • DeFiLlama — TVL data, fee revenue, protocol metrics for on-chain factor construction
  • Whale Tracker MCP — Whale flow data for exchange flow factors

Without tool access: Ask the user to provide:

  1. Historical price data (OHLCV) for the asset(s) — minimum 252 trading days (1 year), ideally 500+
  2. Any additional data series they want to test as signals (funding rates, sentiment scores, on-chain metrics)
  3. The universe of assets (single asset or cross-sectional)
  4. Target holding period (1 day, 1 week, 1 month)
  5. Forward return data for evaluating signal predictions

Proceed with analysis framework using provided data. Note statistical limitations of small samples.

Methodology

Step 1: Define the Research Question

Before generating signals, precisely define what you are trying to predict.

RESEARCH QUESTION FRAMEWORK:

1. TARGET VARIABLE: What are you predicting?
   - Forward 1-day return (short-term)
   - Forward 5-day return (swing trading)
   - Forward 21-day return (monthly)
   - Forward return sign (direction only)
   - Risk-adjusted forward return (Sharpe of next N days)

2. UNIVERSE: What assets?
   - Single asset (BTC, ETH, SPY, etc.)
   - Cross-sectional (top 50 crypto, S&P 500 members)
   - Single asset = time-series signal
   - Cross-sectional = relative ranking signal

3. SIGNAL TYPE: What kind of edge?
   - Momentum: Past returns predict future returns
   - Mean-reversion: Extreme moves revert
   - Value: Cheap assets outperform expensive ones
   - Quality: High-quality assets outperform low-quality
   - Sentiment: Crowd behavior predicts short-term moves
   - Flow: Money movement predicts price direction

4. HOLDING PERIOD: How long will you hold?
   - Must match the signal's predictive horizon
   - A 1-day signal used for 30-day holding = misuse

Step 2: Feature Engineering — Raw Data to Predictive Features

Transform raw data into features that may have predictive power.

Core Feature Transformations:

RETURNS (most common base feature):
  Simple return: r_t = (P_t - P_{t-1}) / P_{t-1}
  Log return: r_t = ln(P_t / P_{t-1})  [better for compounding analysis]
  N-day return: r_{t,N} = (P_t - P_{t-N}) / P_{t-N}
  Periods: 1d, 5d, 10d, 21d, 63d, 126d, 252d

VOLATILITY:
  Realized vol: σ_N = StdDev(r_t, N) × √252  [annualized]
  Parkinson vol: σ_P = √(1/(4N×ln2) × Σ(ln(H_t/L_t))²)  [uses high-low, more efficient]
  Vol ratio: σ_short / σ_long  [vol regime detection]
  Periods: 5d, 10d, 21d, 63d

Z-SCORES (standardization for cross-sectional comparisons):
  z = (x - μ) / σ
  Rolling z-score: z_t = (x_t - mean(x, N)) / std(x, N)
  Cross-sectional z: z_i = (x_i - mean(x, all assets)) / std(x, all assets)
  Common window: 21-day, 63-day rolling

RATIOS:
  Price / SMA(N): Trend deviation ratio
  Volume / SMA(Volume, N): Volume surge ratio
  ATR(short) / ATR(long): Volatility expansion/contraction ratio
  RSI: Already a ratio (0-100 scale)

RANKS (robust to outliers -- preferred for cross-sectional):
  Percentile rank: rank_i = rank(x_i) / N
  No outlier sensitivity (rank of 1000% return = same as rank of 50% return)
  Always normalize: 0 (worst) to 1 (best)

INTERACTION FEATURES:
  Momentum × Volume: High return + high volume = stronger signal
  Volatility × Direction: Low vol + positive return = quality trend
  Price vs MA × RSI: Near MA + oversold RSI = mean-reversion setup

LAGGED FEATURES:
  Signal value at t-1, t-2, ..., t-N
  Useful for: detecting signal persistence and autocorrelation
  Caution: More lags = more overfitting risk

Crypto-Specific Feature Engineering:

FUNDING RATE FEATURES:
  Raw funding rate (8h intervals)
  Cumulative funding (7d, 14d, 30d)
  Funding rate z-score: z = (FR_t - mean(FR, 30d)) / std(FR, 30d)
  Funding rate momentum: FR_t - FR_{t-7}
  Extreme funding dummy: 1 if |FR| > 0.05%, else 0

SENTIMENT FEATURES:
  Fear & Greed Index (0-100): Contrarian signal at extremes
  Social volume z-score: Unusual social activity
  Weighted sentiment: Volume-weighted average of sentiment scores
  Sentiment divergence: Price rising but sentiment falling (or vice versa)

ON-CHAIN FEATURES:
  Exchange flow z-score: Net flow vs 30d average (see onchain-analysis skill)
  Active address momentum: 7d MA / 30d MA of daily active addresses
  NVT ratio: Market cap / Daily on-chain transaction volume
  MVRV ratio: Market cap / Realized cap (BTC/ETH specific)
  Staking ratio change: Delta in % of supply staked over 7d/30d
  Whale accumulation score: Net whale flow z-score (see onchain-analysis)

Step 3: Single-Factor Signal Evaluation

Evaluate each candidate signal individually before combining.

Information Coefficient (IC):

IC = Spearman rank correlation between signal value and forward return

IC INTERPRETATION:
  | IC Value | Interpretation | Quality |
  |----------|---------------|---------|
  | > 0.10 | Very strong | Rare -- check for overfitting |
  | 0.05-0.10 | Strong | Good single factor |
  | 0.02-0.05 | Moderate | Useful in combination |
  | 0.00-0.02 | Weak | May add marginal value in multi-factor |
  | < 0.00 | Negative or zero | Discard (or use as reverse signal if significant) |

WHY SPEARMAN (not Pearson):
  - Robust to outliers (crypto has extreme outliers)
  - Captures monotonic relationships (not just linear)
  - Works with ranked portfolios (long top decile, short bottom decile)

CALCULATION:
  For each period t:
    IC_t = SpearmanCorr(Signal_values_t, Forward_returns_{t+1 to t+H})

  Average IC = mean(IC_t across all periods)
  IC standard error = std(IC_t) / √(N_periods)
  IC t-stat = Average IC / IC standard error

  STATISTICAL SIGNIFICANCE:
  t-stat > 2.0 (p < 0.05): Signal is statistically significant
  t-stat > 2.5: More robust significance
  t-stat > 3.0: Strong evidence of predictive power

Information Ratio (IR):

IR = Mean(IC) / StdDev(IC)

IR = how consistently the signal predicts (Sharpe ratio of IC)

  | IR Value | Interpretation |
  |----------|---------------|
  | > 0.5 | Excellent -- very consistent signal |
  | 0.3-0.5 | Good -- reliable signal |
  | 0.1-0.3 | Moderate -- usable but inconsistent |
  | < 0.1 | Poor -- too noisy to rely on |

A signal can have a decent IC but poor IR if it only works in certain market regimes.

Turnover:

Turnover = fraction of portfolio that changes when signal is re-evaluated

Turnover = Σ|weight_{t} - weight_{t-1}| / 2

LOW TURNOVER (< 20% monthly): Cheap to trade, long-term factors
HIGH TURNOVER (> 100% monthly): Expensive, must overcome transaction costs

NET IC = IC - (Turnover × Transaction_Cost_per_unit)

If Net IC < 0: Signal is profitable before costs but unprofitable after costs → DISCARD

TRANSACTION COST ESTIMATES:
  | Market | One-way Cost | Round-trip |
  |--------|-------------|-----------|
  | US equities (liquid) | 5 bps | 10 bps |
  | US equities (small) | 15 bps | 30 bps |
  | Crypto (BTC/ETH, CEX) | 5-10 bps | 10-20 bps |
  | Crypto (altcoin, CEX) | 10-30 bps | 20-60 bps |
  | Crypto (DEX, major) | 30-50 bps | 60-100 bps |
  | Crypto (DEX, small) | 50-300 bps | 100-600 bps |

Step 4: Signal Decay Analysis

Measure how quickly a signal loses predictive power over time.

SIGNAL DECAY METHODOLOGY:

1. Compute IC at different forward horizons:
   IC_1d = IC using 1-day forward returns
   IC_2d = IC using 2-day forward returns
   IC_5d = IC using 5-day forward returns
   IC_10d = IC using 10-day forward returns
   IC_21d = IC using 21-day forward returns

2. Plot IC vs horizon → decay curve

3. Fit exponential decay: IC(h) = IC_0 × e^(-λh)
   - IC_0: signal strength at generation
   - λ: decay rate (higher = faster decay)
   - Half-life = ln(2) / λ

4. OPTIMAL HOLDING PERIOD = horizon where IC is maximized
   or = half-life of the decay curve

TYPICAL DECAY RATES:

| Signal Type | Half-Life | Optimal Holding |
|------------|-----------|-----------------|
| Momentum (short-term, 5d return) | 3-7 days | 5-10 days |
| Momentum (medium, 21d return) | 10-30 days | 15-30 days |
| Momentum (long, 126d return) | 30-90 days | 60-120 days |
| Mean-reversion (RSI extreme) | 1-3 days | 1-5 days |
| Funding rate extreme | 1-5 days | 2-7 days |
| Sentiment extreme | 1-3 days | 1-5 days |
| On-chain flow signal | 3-14 days | 5-21 days |
| Value (NVT, P/E) | 30-90 days | 30-90 days |

IF A SIGNAL HAS NO DECAY (flat IC across horizons):
  - May be a structural alpha (rare and valuable)
  - Or may be a data artifact -- investigate carefully
  - Test on out-of-sample data

IF A SIGNAL DECAYS IN < 1 DAY:
  - Only usable for high-frequency trading
  - Transaction costs likely eat the edge
  - Requires low-latency execution infrastructure

Step 5: Cross-Validation for Time Series

Standard k-fold cross-validation is INVALID for time series because it leaks future information. Use these methods instead.

METHOD 1: WALK-FORWARD VALIDATION (Recommended)

  Train: [────────────] (e.g., days 1-252)
  Test:       [────]    (e.g., days 253-273)

  Then slide forward:
  Train: [──────────────] (e.g., days 22-273)
  Test:         [────]    (e.g., days 274-294)

  Parameters:
  - Training window: 252 trading days (1 year) minimum
  - Test window: 21 trading days (1 month) typical
  - Step size: 21 days (non-overlapping test periods)
  - Total walks: (Total days - Training window) / Step size

METHOD 2: EXPANDING WINDOW

  Train: [──]          (days 1-252)
  Test:     [──]       (days 253-273)

  Train: [────]        (days 1-273)
  Test:       [──]     (days 274-294)

  Train: [──────]      (days 1-294)
  Test:         [──]   (days 295-315)

  Advantage: Uses all available training data
  Disadvantage: Earlier data may be less relevant (regime changes)

METHOD 3: PURGED K-FOLD (for cross-sectional signals)

  Standard k-fold BUT:
  1. Sort by time
  2. Create a GAP (purge window) between train and test folds
  3. Gap size = maximum holding period + 1
  4. Prevents information leakage from overlapping return horizons

  Example (5-fold, 5-day forward returns):
  Fold 1: Train [all except fold 1], Gap [5 days each side], Test [fold 1]
  The 5-day gap ensures no return period in train overlaps with test

VALIDATION RULES:
  - NEVER use standard k-fold for time series data
  - NEVER include future data in training (even indirectly via normalization)
  - Test period should cover at least 2 full market cycles (bull + bear)
  - Minimum 100 test-period observations for statistical validity
  - Report ALL walk-forward results (not just the best)

Step 6: Multi-Factor Model Construction

Combine individually validated signals into a composite model.

Factor Combination Methods:

METHOD 1: EQUAL-WEIGHT Z-SCORE COMBINATION (Simplest)

  1. For each signal, compute cross-sectional z-score at each time t
  2. Composite = mean(z-score_1, z-score_2, ..., z-score_K)
  3. Rank assets by composite score
  4. Long top quintile, short bottom quintile (or just long top)

  Pros: Robust, no estimation error, hard to overfit
  Cons: Ignores signal strength differences

METHOD 2: IC-WEIGHTED COMBINATION

  1. Compute rolling IC for each signal (trailing 63 days)
  2. Weight_k = max(IC_k, 0) / Σ max(IC_j, 0)
  3. Composite = Σ(Weight_k × z-score_k)

  Pros: Adapts to which signals are currently working
  Cons: Slightly more prone to overfitting than equal-weight

METHOD 3: REGRESSION-BASED (Most Powerful, Most Dangerous)

  Forward_return = β_1 × Signal_1 + β_2 × Signal_2 + ... + β_K × Signal_K + ε

  Estimated via: OLS, Ridge, Lasso, or Elastic Net
  - Ridge (L2): Shrinks coefficients, handles multicollinearity
  - Lasso (L1): Sets weak signals to exactly zero (feature selection)
  - Elastic Net: Combination of Ridge + Lasso

  CRITICAL: Estimate coefficients ONLY on training data
  - Use walk-forward to estimate β on training, test on holdout
  - Re-estimate coefficients every rebalance period
  - Regularization is MANDATORY (unregularized OLS will overfit)

METHOD 4: RANK-BASED COMBINATION (Most Robust)

  1. For each signal, rank all assets (0 = worst, 1 = best)
  2. Composite rank = mean(rank_1, rank_2, ..., rank_K)
  3. Advantages: No parametric assumptions, robust to outliers

Factor Orthogonalization:

PROBLEM: Signals often overlap (e.g., momentum and trend-following are correlated)
SOLUTION: Orthogonalize factors to remove redundancy

PROCESS:
  1. Compute correlation matrix of all candidate signals
  2. If two signals have |correlation| > 0.7: they are redundant
  3. Keep the one with higher IC, discard or residualize the other
  4. Residualization: Signal_B_orth = Signal_B - β × Signal_A
     (regress B on A, use residuals as the orthogonalized B)
  5. Maximum factors in a model: 5-7 (more = overfitting risk)
  6. Each factor should capture a DIFFERENT source of return

FACTOR CATEGORY DIVERSIFICATION:
  Include at most 1-2 signals from each category:
  - Momentum (1 signal: e.g., 21d return)
  - Value (1 signal: e.g., NVT z-score)
  - Volatility (1 signal: e.g., vol ratio)
  - Flow (1 signal: e.g., exchange flow z-score)
  - Sentiment (1 signal: e.g., Fear & Greed z-score)

Step 7: Overfitting Prevention and Multiple Testing Correction

The biggest risk in signal research is finding patterns that do not generalize.

OVERFITTING WARNING SIGNS:

1. Signal works perfectly in-sample but fails out-of-sample
2. Signal requires very specific parameter values (e.g., RSI(13) works but RSI(12) and RSI(14) don't)
3. Signal has extremely high IC (>0.15) -- probably fitting noise
4. Signal needs many conditions/filters to work
5. Signal was found after testing 100+ variants

MULTIPLE TESTING CORRECTION:

When you test N signals, some will appear significant by chance.

Bonferroni correction (conservative):
  Adjusted p-value threshold = 0.05 / N
  If you tested 20 signals: need p < 0.0025 (t-stat > 3.0)
  If you tested 100 signals: need p < 0.0005 (t-stat > 3.5)

Benjamini-Hochberg (less conservative):
  1. Sort p-values from smallest to largest: p_(1) ≤ p_(2) ≤ ... ≤ p_(N)
  2. Find largest k where p_(k) ≤ (k/N) × 0.05
  3. All signals with p ≤ p_(k) are significant

HAIRCUT RULE OF THUMB:
  Reported backtest Sharpe should be haircut by:
  Adjusted Sharpe = Reported Sharpe × (1 - 0.1 × √(Number of signals tested / 10))

  Example: Tested 50 signals, best has Sharpe 2.0
  Adjusted = 2.0 × (1 - 0.1 × √5) = 2.0 × 0.776 = 1.55

STRUCTURAL SAFEGUARDS:
  1. Define your signal universe BEFORE testing (don't add signals after seeing results)
  2. Reserve 30% of data as a FINAL holdout -- never touch until the very end
  3. Use walk-forward validation (not in-sample optimization)
  4. Prefer simple models (fewer parameters = less overfitting)
  5. Require economic rationale for every signal (not just statistical significance)
  6. Test on multiple assets / time periods -- signal should generalize

Step 8: Signal Deployment Decision Framework

After evaluation, decide whether a signal is ready for live trading.

SIGNAL READINESS CHECKLIST:

| Criterion | Threshold | Pass/Fail |
|-----------|-----------|-----------|
| Average IC | > 0.02 (single asset) or > 0.03 (cross-sectional) | |
| IC t-statistic | > 2.5 (after multiple testing correction) | |
| Information Ratio | > 0.2 | |
| Out-of-sample IC | > 50% of in-sample IC | |
| Walk-forward Sharpe | > 0.5 (after transaction costs) | |
| Signal decay half-life | > 2× rebalance frequency | |
| Turnover (monthly) | Low enough that costs < 50% of gross alpha | |
| Economic rationale | Clear, documented | |
| Works in multiple periods | Bull + bear + sideways | |
| Survives multiple testing correction | Yes | |

DECISION:
  All criteria pass → Deploy at small size, monitor for 3 months
  1-2 criteria fail → Refine signal, retest
  3+ criteria fail → Discard signal or return to feature engineering

DEPLOYMENT SIZING:
  New signal: 25% of full intended allocation
  After 3 months positive: 50% of full allocation
  After 6 months positive: 75% of full allocation
  After 12 months positive: full allocation
  At any point if signal degrades: reduce to 25% or halt

Anti-Patterns

DO NOT do these — they are the most common signal research failures:

  1. Data snooping / p-hacking: Testing hundreds of signal variations and reporting only the best one. Apply multiple testing corrections and require out-of-sample validation.

  2. Lookahead bias: Using information that would not have been available at the time of the signal. Example: Using a company’s annual earnings report data on the day it was filed, not the day it was released. Always use point-in-time data.

  3. Survivorship bias: Only analyzing assets that exist today. Crypto tokens that went to zero, stocks that were delisted — ignoring them inflates backtest performance. Use full historical universe.

  4. Overfitting to parameters: If your signal only works with RSI(13) and not RSI(12) or RSI(14), it is overfit. Good signals are robust to small parameter changes.

  5. Ignoring transaction costs: A signal with IC of 0.05 but 200% monthly turnover is worthless in crypto after DEX fees. Always compute net-of-cost IC and Sharpe.

  6. Confusing correlation with causation: Just because funding rate predicts returns does not mean funding rate causes returns. Understand the mechanism — funding rate extremes attract arbitrageurs who push price.

  7. Using standard k-fold on time series: This leaks future information into training data. Always use walk-forward, expanding window, or purged k-fold.

  8. Too many factors in one model: More than 5-7 factors in a model virtually guarantees overfitting. Each factor must contribute independent, orthogonal predictive power.

Validation Checkpoints

Input Validation

  • Research question clearly defined (target variable, universe, holding period)
  • Sufficient historical data (minimum 252 days; 500+ preferred; crypto: 24/7 data)
  • Data is point-in-time (no lookahead bias)
  • Universe includes delisted/dead assets (no survivorship bias)
  • Data is clean (no gaps, outliers handled, adjusted for splits/forks)
  • Training/test split defined BEFORE any signal testing begins
  • Multiple testing correction method selected

Signal Evaluation Validation

  • IC computed using Spearman rank correlation
  • IC t-statistic reported with statistical significance
  • Information Ratio computed and above minimum threshold
  • Signal decay curve plotted with half-life calculated
  • Turnover computed and net-of-cost IC is positive
  • Walk-forward validation used (not in-sample optimization)
  • Out-of-sample IC is at least 50% of in-sample IC
  • Multiple testing correction applied

Model Validation

  • Factors are not highly correlated (|r| < 0.7 pairwise)
  • Economic rationale documented for every factor
  • Model has at most 5-7 factors
  • Walk-forward Sharpe is positive after transaction costs
  • Model tested across multiple market regimes
  • Final holdout data confirms results

Example

User: “Evaluate whether the 7-day funding rate z-score is a predictive signal for BTC forward 5-day returns.”

Analysis:

## Signal Evaluation: BTC Funding Rate Z-Score → 5-Day Forward Return

### Signal Definition
- Signal: z_t = (FR_7d_avg_t - mean(FR_7d, 90d)) / std(FR_7d, 90d)
  - FR_7d_avg = average 8-hour funding rate over past 7 days
  - Z-scored against trailing 90-day distribution
- Hypothesis: Extreme positive funding (overleveraged longs) predicts
  negative 5-day returns. Extreme negative funding (overleveraged shorts)
  predicts positive 5-day returns. Signal is CONTRARIAN.
- Economic rationale: Extreme funding rates create carry costs that force
  position unwinds. Arbitrageurs also exploit extreme funding by taking
  the opposing side, pushing price in the contrarian direction.

### Data
- Asset: BTC/USDT perpetual (Binance)
- Period: Jan 2021 -- Dec 2024 (4 years, ~1,460 daily observations)
- Training: Jan 2021 -- Dec 2023 (3 years)
- Test: Jan 2024 -- Dec 2024 (1 year, fully out-of-sample)
- Funding rate: 8-hour intervals, averaged to daily

### Feature Engineering
- Raw signal: 7-day average funding rate
- Transformation: 90-day rolling z-score
- Signal value: Negated (multiply by -1) because signal is contrarian
  - High z → overlevered longs → bearish → we want negative signal
  - Low z → overlevered shorts → bullish → we want positive signal

### Results: Information Coefficient

| Period | Mean IC | IC Std Dev | IC t-stat | IR |
|--------|---------|-----------|-----------|-----|
| Full sample (2021-2024) | 0.047 | 0.12 | 3.24 | 0.39 |
| Training (2021-2023) | 0.052 | 0.13 | 2.98 | 0.40 |
| Test (2024) | 0.038 | 0.10 | 2.71 | 0.38 |
| Bull regime (2021, 2024 Q4) | 0.061 | 0.14 | 2.42 | 0.44 |
| Bear regime (2022) | 0.039 | 0.11 | 2.18 | 0.35 |
| Sideways regime (2023) | 0.041 | 0.12 | 2.05 | 0.34 |

### Signal Decay Analysis

| Forward Horizon | IC | Significance |
|----------------|-----|-------------|
| 1-day | 0.021 | Weak |
| 2-day | 0.032 | Moderate |
| 3-day | 0.041 | Moderate |
| 5-day | 0.047 | Strong (peak) |
| 7-day | 0.039 | Moderate |
| 10-day | 0.028 | Moderate |
| 14-day | 0.015 | Weak |
| 21-day | 0.005 | Negligible |

Half-life: ~8 days
Optimal holding period: 5-7 days
Signal is largely exhausted by day 14

### Turnover Analysis
- Signal rebalance frequency: Weekly (every 5 days)
- Average position change per rebalance: 35% (one-way turnover)
- Transaction cost assumption: 10 bps round-trip (Binance taker)
- Monthly turnover cost: ~30 bps
- Gross monthly alpha (from IC): ~1.4%
- Net monthly alpha: ~1.1% → Viable after costs

### Walk-Forward Validation
- 3-year training, 1-year test
- Walk-forward Sharpe (net of costs): 1.42
- Out-of-sample IC retention: 73% of in-sample (0.038 / 0.052)
- Signal works in all 3 regimes tested

### Multiple Testing Correction
- Signals tested in this research batch: 8
- Bonferroni threshold: p < 0.05/8 = 0.00625 → t-stat > 2.73
- Full-sample t-stat: 3.24 > 2.73 → PASSES Bonferroni correction
- Test-set t-stat: 2.71 → borderline (close to 2.73)
  → Signal is significant but not overwhelmingly so on test alone

### Signal Readiness Checklist

| Criterion | Value | Pass? |
|-----------|-------|-------|
| Average IC > 0.02 | 0.047 | Yes |
| IC t-stat > 2.5 (corrected) | 3.24 (full), 2.71 (test) | Yes (marginal on test) |
| IR > 0.2 | 0.39 | Yes |
| OOS IC > 50% of IS | 73% | Yes |
| Walk-forward Sharpe > 0.5 | 1.42 | Yes |
| Half-life > 2× rebalance | 8d > 2×5d? No (8 < 10) | Marginal |
| Net-of-cost alpha positive | 1.1% monthly | Yes |
| Economic rationale | Clear (leverage unwind) | Yes |
| Works across regimes | Bull, bear, sideways | Yes |
| Survives multiple testing | Bonferroni p < 0.00625 | Yes |

### Recommendation
APPROVED for deployment at 25% allocation. Signal has genuine predictive
power for BTC 5-day returns with economic rationale (leverage unwind effect).
The contrarian funding rate signal is strongest at 5-7 day horizons with a
half-life of ~8 days.

Caution: Marginal significance on the test set alone suggests this signal
should be combined with other factors (momentum, exchange flow) rather than
traded in isolation. See [Risk Management](/trading-skills/risk-management/) for position sizing.

Deploy: 25% size for 3 months → evaluate → scale if Sharpe holds > 1.0.