Back to Research
Volatility & Risk August 17, 2026 • 18 min read

Beyond Volatility: Realized Skewness and Kurtosis in Intraday Returns

Volatility tells you how much a market moved. It says nothing about the shape of those moves — whether the risk sat in sharp downside jumps or a steady grind, whether the tails were fat or thin. That shape is measurable, from the same high-frequency data, using realized skewness and kurtosis. This is the complete guide to the higher moments of intraday returns.

Panoramic technical representation of Realized Moments showing normal distribution vs high variance, skewness and kurtosis

1. Volatility is only the second moment

Realized variance — the sum of squared intraday returns — has become the workhorse measure of risk, and for good reason: it is model-free, easy to compute, and converges to true variance as you sample more finely. But variance is only the second moment of the return distribution. It treats a session that drifted quietly and one that lurched down in a single violent move as identical, as long as their total dispersion matches. Two markets with the same volatility can carry very different risks.

To tell them apart you need the higher moments: skewness, which captures asymmetry, and kurtosis, which captures tail heaviness. And just as variance has a model-free "realized" estimator built from intraday data, so do these.

2. Realized skewness

Skewness measures which way the distribution leans. Negative skew means the big moves were disproportionately to the downside — a market that grinds up and occasionally gaps down; positive skew is the reverse. Amaya, Christoffersen, Jacobs and Vasquez (2015) defined the realized version directly from a day's intraday returns:

RSkew = √N · Σ ri3 / RV3/2

where ri are the N intraday returns and RV = Σ ri² is the realized variance. The cube in the numerator preserves the sign of each move, so systematic asymmetry survives; the √N scaling and the division by RV3/2 make the number dimensionless and comparable across days and sampling frequencies.

3. Realized kurtosis

Kurtosis measures how much of the action lives in the tails. High kurtosis is the fingerprint of a jumpy session — mostly small moves punctuated by a few large ones — while a low value describes returns that stayed close to their typical size. The realized estimator follows the same recipe with a fourth power:

RKurt = N · Σ ri4 / RV2

The fourth power makes large returns dominate the sum, so a single outsized move lifts kurtosis sharply — which is exactly what you want from a tail-risk gauge. As with skewness, the N scaling normalizes the estimate so it can be compared like-for-like across instruments and days.

Moment Captures Reads high when…
Realized varianceDispersionMoves were large overall
Realized skewnessAsymmetryBig moves clustered on one side (sign matters)
Realized kurtosisTail heavinessA few jumps dominated an otherwise calm session

4. Why the shape carries signal

This is not just descriptive statistics. Amaya and co-authors found that stocks with the most negative realized skewness over a week tended to outperform those with the most positive skew over the following week — a robust, tradable pattern in the cross-section of returns that plain volatility does not capture. The intuition is that investors pay up for lottery-like, positively-skewed payoffs and shun negatively-skewed ones, leaving a premium behind. Realized kurtosis, meanwhile, is a direct read on jump and tail risk — the kind of exposure that a variance number quietly averages away right up until it hurts.

For a systematic desk, that makes the higher moments both a risk lens and a source of cross-sectional signal — a natural complement to the regime read from the Hurst exponent and the efficiency picture from the variance ratio.

5. Reading them honestly

Higher moments are more delicate than variance, and it pays to respect that. They need enough intraday observations to be stable — a handful of returns will give noisy, unreliable estimates. They are, by construction, dominated by the largest moves, so a single bad print or a stale quote can distort them; clean data matters more here than almost anywhere else, which is why sampling by activity with information-driven bars and screening prints against a reconstructed book pays off. And like realized variance, they are a measure of what did happen over a window, not a guarantee of what happens next. Treated as one input among several — beside dispersion, toxicity, and cost — they add a dimension the others miss.

6. Where they fit

Realized moments round out the "realized measures" corner of the toolkit. Variance gives you the size of the moves; skewness and kurtosis give you their shape. Alongside VPIN for flow toxicity and the effective spread from our spread estimators, they build a fuller picture of the risk in a session than any single number can. And because they are model-free and cheap to compute, they slot straight into a backtest or a live risk monitor without any fitting.

7. Computing it

Both estimators are a few sums over a return series. Our open-source orderflow-metrics library ships them, dependency-free, in TypeScript and Python:

import { realizedSkewness, realizedKurtosis } from "orderflow-metrics";

realizedSkewness(returns);   // √N · Σr³ / RV^1.5  — intraday asymmetry
realizedKurtosis(returns);   // N · Σr⁴ / RV²      — intraday tail heaviness

The Python distribution exposes the same functions as realized_skewness and realized_kurtosis. Point them at a day's worth of intraday returns, roll them forward, and you have a live read on the shape of risk — part of the wider market microstructure stack we build in the open.

8. Conclusion

Two markets with identical volatility can be nothing alike — one quietly efficient, the other one bad print away from a gap. Realized skewness and kurtosis recover that difference from the same intraday data, turning the shape of returns into numbers you can risk-manage and, in the case of skewness, even trade on. Measure them on enough clean data, read them alongside variance rather than instead of it, and volatility stops being the end of the risk story and becomes just the beginning. We build these tools in the open, one metric at a time — you can follow our journey on LinkedIn, explore the full research library, or read the code in our open-source metrics.

For more on volatility analytics and open-source tooling, visit our official resources:

🧩 Open Source 💻 orderflow-metrics on GitHub 📚 More Research