Signal Turnover
Quick Reference
| Property | Value |
|---|---|
| Dimension | stability |
| Category | statistics |
| Version | v1.0 |
| Output Column | signal_turnover |
Signal turnover: fraction of signal direction flips per window — low turnover = stable signal
Formula
rolling_mean((abs(diff(sign(signal), 1)) / 2.0), window)
CDM Inputs
| Column | CDM Table | Description |
|---|---|---|
signal | cdm_* | CDM source table |
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
window | integer | 300000 | Window for turnover estimation |
Output
Column: signal_turnover
Fraction of direction changes in rolling window (0 to 1)
Market Intuition & Trading Rationale
Signal turnover measures how frequently a signal changes direction: fraction of sign flips per window. A turnover of 0.0 means the signal never changes direction — it's perfectly stable (but may be stale). A turnover of 1.0 means the signal flips every observation — it's completely unstable (pure noise). Typical useful signals have turnover between 0.01–0.2 (1–20% of observations result in a direction change).
Turnover is the stability dimension's answer to a practical question: how often will I need to trade if I follow this signal? High turnover signals generate high trading frequency, high transaction costs, and high tax implications. Low turnover signals are cheaper to trade but may be slower to react to regime changes. The optimal turnover depends on the strategy's holding period and cost structure.
Usage Cases
- Trading cost estimation: signal_turnover × expected cost per trade = expected daily trading cost. Compare this to the signal's expected return (SNR × signal magnitude) to determine net profitability.
- Signal selection for long-only strategies: Long-only portfolios can't flip direction easily. Prefer signals with turnover < 0.1 for long-only; higher turnover signals are better suited for long-short strategies that can reverse positions cheaply.
- Regime change detection: A sudden spike in turnover (from 0.05 to 0.3) indicates the signal is losing stability — the market regime may be changing. Reduce position size until turnover stabilizes.
YAML Definition
name: signal_turnover
description: 'Signal turnover: fraction of signal direction flips per window — low
turnover = stable signal'
category: statistics
dimension: stability
version: v0.9.0 (Beta)
required_inputs:
- signal
output_column: signal_turnover
output_description: Fraction of direction changes in rolling window (0 to 1)
tags:
- stability
- turnover
- signal
parameters:
window:
type: integer
description: Window for turnover estimation
required: false
default: 300000
formula: rolling_mean((abs(diff(sign(signal), 1)) / 2.0), window)