# Distribution Moments

Also known as: skewness, kurtosis, fat tails.
A Statistics concept (Normalization & distribution) in the LuxAlgo Library, with 1 indicator implementation.

## What are Distribution Moments?

Distribution moments are the statistics that summarize the shape of a return distribution. The first moment is the mean; the second central moment is variance, whose square root is standard deviation. The third standardized moment is skewness, which measures asymmetry: negative skew means a longer left tail, so the outsized surprises tend to be downside. The fourth standardized moment is kurtosis, which measures tail weight; a normal distribution has kurtosis of 3, and readings above that (positive excess kurtosis) are the usual quantitative marker of fat tails. Standardized means each is divided by the matching power of standard deviation, so skewness and kurtosis are unitless shape numbers.

The machinery is classical statistics: moment-based description of distributions was systematized by Karl Pearson's work in the late nineteenth century, long before finance adopted it. Markets forced the adoption. Benoit Mandelbrot's 1963 study of cotton prices famously documented tails far heavier than the normal model allows, and decades of subsequent research have confirmed heavy tails and asymmetry as standing features of speculative returns rather than curiosities.

They matter because market returns are not normal. Equity index returns typically show negative skew and clear excess kurtosis, so tools that assume normality, such as [z-score](https://www.luxalgo.com/library/concept/z-score/) thresholds and sigma-multiple bands, understate how often extreme moves occur. Profiling the moments of the actual data (see [distribution-of-returns profiling](https://www.luxalgo.com/library/concept/distribution-of-returns-profiling/)) shows how far those assumptions can be trusted on the market at hand.

The estimation caveat is severe for the higher moments. Skewness and kurtosis are powered by cubed and fourth-powered deviations, so a single outlier can dominate an entire window's estimate, and rolling readings jump when that outlier enters or exits the sample. Short windows produce numbers too noisy to trust, which is why practitioners lean on long samples, report alongside a [percentile rank](https://www.luxalgo.com/library/concept/percentile-rank/) view of the same data, or use robust alternatives when the sample is thin.

## How to read moment gauges on a chart

Moments appear on charts as rolling-window panes; reading them is mostly about respecting their estimation noise.

1. Fix the inputs: a return series (log or simple) and a window long enough for the moment you want, with higher moments demanding much more data.
2. Read rolling skewness by sign and persistence: a stretch of negative readings says recent surprises lean downside; single-bar flips mean little.
3. Read kurtosis against 3 (or excess kurtosis against 0): persistently elevated readings mark a tape whose extremes outrun sigma-based expectations.
4. Trace spikes to their cause before believing them: one outlier bar entering the window can swing both higher moments dramatically, and the reading will jump again when it leaves.
5. Cross-check against a nonparametric view, such as the return histogram or percentile table, before letting a moment reading change risk decisions.

## How it's calculated

Skewness and kurtosis standardize the third and fourth central moments of returns, measuring the asymmetry and tail weight of the distribution.

```
r_t = ln(P_t / P_{t-1})
m = (1 / n) × Σ r_t over t = 1..n
σ^2 = (1 / n) × Σ (r_t - m)^2 over t = 1..n
σ = sqrt(σ^2)
Skew = [(1 / n) × Σ (r_t - m)^3 over t = 1..n] / σ^3
Kurt = [(1 / n) × Σ (r_t - m)^4 over t = 1..n] / σ^4
ExcessKurt = Kurt - 3

  P_t: close price at bar t
  r_t: one-bar log return
  t: bar index within the sample window
  n: sample window length in bars (no universal default; often 20 to 252)
  ln(): natural logarithm
  m: mean return, the first moment
  σ^2: variance, the second central moment
  σ: standard deviation
  Skew: skewness, the standardized third central moment (asymmetry)
  Kurt: kurtosis, the standardized fourth central moment (tail weight)
  ExcessKurt: kurtosis in excess of the normal distribution's value of 3
```

A normal distribution has Skew = 0 and Kurt = 3; positive excess kurtosis signals fat tails, and negative skew a heavier downside, both typical of equity returns.

These are the population estimators; sample versions apply bias corrections such as the n - 1 variance denominator and the Fisher-Pearson adjusted skewness.

Compute the moments on returns rather than raw prices, since prices are non-stationary.

## How traders use it

- As a rolling risk read: tracking skewness and kurtosis over a moving window can flag a deteriorating tail environment even while realized volatility still looks calm, though higher-moment estimates are noisy on short windows.
- For threshold calibration: high kurtosis argues for empirical cutoffs such as [percentile rank](https://www.luxalgo.com/library/concept/percentile-rank/) instead of sigma multiples, because sigma-based limits are breached more often than normal math implies.
- For instrument comparison: skew separates markets that grind up and crash down from roughly symmetric ones, which informs asymmetric stop and target placement.
- As simulation inputs: [Monte Carlo path](https://www.luxalgo.com/library/concept/monte-carlo-price-paths/) engines built on normal draws inherit the normal model's thin tails, so moment estimates (or resampling from the empirical distribution) are what make simulated risk resemble the market's actual behavior.
- For projection honesty: [probability cones](https://www.luxalgo.com/library/concept/probability-cones/) and similar forward bands widen correctly only when the generating assumptions carry the observed skew and tail weight rather than textbook symmetry.

## Distribution Moments vs related statistics

- **Z-score** (https://www.luxalgo.com/library/concept/z-score/): A Z-score uses only the first two moments, mean and standard deviation, and implicitly trusts the normal shape. Skewness and kurtosis are exactly the corrections that say how far that trust is misplaced on the market at hand.
- **Percentile Rank** (https://www.luxalgo.com/library/concept/percentile-rank/): Percentiles describe the same distribution without any moment machinery: rank the sample and read off cutoffs. They are robust to outliers and shape assumptions, which is why percentile thresholds are the standard fallback when higher-moment estimates are too noisy.
- **Entropy Measures** (https://www.luxalgo.com/library/concept/entropy-measures/): Entropy summarizes a distribution through information content rather than shape coefficients: how unpredictable the outcomes are overall. Moments decompose the shape feature by feature; entropy compresses it into a single disorder number. They answer related but different questions.

## FAQ

### What do skewness and kurtosis tell a trader?

Skewness says which tail is longer: negative skew means the large surprises tend to be on the downside, positive skew the opposite. Kurtosis says how heavy both tails are relative to a normal distribution, which sits at 3. Together they warn when standard-deviation reasoning will understate the frequency and size of extreme moves in that particular market.

### What are fat tails?

A distribution has fat tails when extreme outcomes occur more often than the normal distribution predicts, which shows up as kurtosis above 3. Daily equity returns are the textbook case: multi-sigma moves happen far more frequently than the normal model implies. Practically, fat tails mean stops, position sizes, and band thresholds derived from standard deviation are less conservative than they appear.

### Why does the normal distribution have kurtosis of 3?

It falls out of the Gaussian math: the standardized fourth moment of any normal distribution equals exactly 3, regardless of its mean or variance. That constant makes 3 the natural benchmark, and many tools subtract it to report excess kurtosis, where 0 means normal-like tails. Always check which convention a platform uses, since the two reports differ by exactly 3.

### What is the difference between kurtosis and excess kurtosis?

Only the baseline. Raw kurtosis benchmarks at 3 for a normal distribution; excess kurtosis subtracts the 3 so that zero means normal tails, positive means fat tails, and negative means thin tails. Statistical software is split between the conventions, which causes recurring confusion when readings are compared across platforms without checking the definition.

### How much data do skewness and kurtosis estimates need?

More than intuition suggests, because both are driven by rare observations raised to high powers. Windows of a few dozen bars produce estimates that swing wildly with single outliers; stable readings typically want hundreds of observations or more, and even then tail-driven jumps are normal. Treat short-window moment panes as qualitative alerts, not measurements.

### Can skewness itself be traded?

Directly trading shape is mostly an options-market affair, where implied skew is priced and research on skewness-related premia is extensive. On spot charts the realistic uses are defensive and structural: matching stop and target asymmetry to the market's documented asymmetry, and refusing symmetric-risk assumptions in markets that historically grind one way and crash the other.

## Implementations in the Library

- Distribution Moments (LuxAlgo): https://www.luxalgo.com/library/indicator/distribution-moments/

## Related concepts

- Distribution-of-returns Profiling: https://www.luxalgo.com/library/concept/distribution-of-returns-profiling/
- Percentile Rank: https://www.luxalgo.com/library/concept/percentile-rank/
- Min-max Scaling: https://www.luxalgo.com/library/concept/min-max-scaling/
- Sigmoid/softmax Transforms: https://www.luxalgo.com/library/concept/sigmoid-softmax-transforms/
- Standard Deviation: https://www.luxalgo.com/library/concept/standard-deviation/
- Z-score: https://www.luxalgo.com/library/concept/z-score/
- Winsorization: https://www.luxalgo.com/library/concept/winsorization/
- Normality Testing: https://www.luxalgo.com/library/concept/normality-testing/
- Outlier Detection: https://www.luxalgo.com/library/concept/outlier-detection/

---

Source: https://www.luxalgo.com/library/concept/distribution-moments/ (LuxAlgo Library, the encyclopedia of trading & technical analysis). Free to use with attribution: https://www.luxalgo.com/library/license/