Stylized Facts as Generative Benchmarks
Since no single number captures whether synthetic returns 'look like' real markets, generative models for financial time series are graded against a checklist of well-known statistical regularities — fat tails, volatility clustering, leverage effect — rather than a visual eyeball test.
Prerequisites: Stylized Facts of Asset Returns
A generative model for images can be checked, imperfectly but usefully, by eye. A generative model for asset returns cannot: a synthetic price path can look completely plausible on a chart and still be statistically nothing like a real market — missing fat tails, missing volatility clustering, missing the asymmetric link between falling prices and rising volatility. Because there's no single ground-truth "correctness" score for a return series, the field settled on grading synthetic data against a checklist of well-documented empirical regularities that hold across almost every liquid market — the stylized facts — rather than any one summary statistic.
The analogy: a forged signature checked stroke by stroke
A forged signature can look right at a glance and still fail under scrutiny — the pen pressure at the loop, the pause before the final stroke, the angle of the crossbar. A forensic examiner doesn't ask "does this look like a signature," they check a specific list of measurable traits known to be hard to fake. Grading synthetic returns works the same way: instead of "does this chart look like a market," check a fixed list of measurable statistical traits that are notoriously hard for a generative model to get right by accident.
The checklist, each restated in plain terms
- Fat tails: extreme returns (both directions) occur far more often than a normal distribution predicts. Measured by excess kurtosis, , which is for a normal distribution and typically – for real daily returns.
- Volatility clustering: large moves tend to be followed by large moves (of either sign), and calm periods by calm periods. Measured by the autocorrelation of squared or absolute returns, which stays positive for many lags in real data, unlike raw returns whose autocorrelation dies almost immediately.
- Leverage effect: volatility tends to rise more after a price drop than after an equivalent rise. Measured by the correlation between today's return and tomorrow's volatility, which is reliably negative in equities.
- Absence of linear autocorrelation: raw returns themselves are close to unpredictable one step ahead — their own autocorrelation should be near zero, distinguishing "no linear structure in the mean" from "no structure at all" (which volatility clustering rules out).
A generative model is graded by computing each of these on many synthetic paths and comparing the resulting numbers, or their distributions, against the same statistics computed on real historical data.
Worked example 1: scoring a model on kurtosis and clustering
Real S&P 500 daily returns over some sample: excess kurtosis ; autocorrelation of squared returns at lag 1 . A candidate generator's synthetic paths: excess kurtosis (close — good), lag-1 squared-return autocorrelation (far too low — bad). Verdict: this model gets the marginal shape of single-day returns roughly right but fails to reproduce volatility clustering, meaning calm and turbulent periods in its synthetic data are essentially randomly scattered rather than grouped the way real markets group them — a flaw invisible from a kurtosis number alone.
Worked example 2: a numeric leverage-effect check
Compute on real data using a 20-day realized-vol proxy for : real markets typically show roughly to . Suppose a synthetic dataset gives — the wrong sign entirely. This single failed check disqualifies the generator for any application involving crash dynamics or vol-of-vol strategies, even if every other stylized fact matched closely, because it means the model has learned "volatility rises after drops" backwards or not at all.
Widen the tails mentally beyond what this normal curve allows: real daily returns need noticeably fatter tails than any normal distribution can produce, which is exactly the first stylized fact any generator is checked against.
Because there is no single number for "looks like a real market," synthetic financial time series are graded against a fixed checklist of stylized facts — fat tails, volatility clustering, the leverage effect, near-zero raw autocorrelation — computed on many generated paths and compared against the same statistics on real data.
What this means in practice
Any generative model destined for backtesting, scenario generation, or risk stress-testing should be reported against this checklist before it's trusted for anything downstream — a model that nails visual realism but fails volatility clustering will systematically understate the clustering of drawdowns in any strategy tested against its synthetic paths.
Matching the unconditional stylized facts (computed by pooling everything) does not guarantee the model has learned the conditional dynamics correctly — a shuffled or block-permuted version of real returns can reproduce marginal kurtosis exactly while destroying volatility clustering entirely, since shuffling scrambles the time order the clustering depends on. Always check statistics that specifically depend on temporal order (autocorrelations, lagged cross-correlations), not just marginal distribution shape.
Related concepts
Practice in interviews
Further reading
- Cont, Empirical Properties of Asset Returns: Stylized Facts and Statistical Issues (2001)