Bowling Alone: Do Copula Models Washout?

Companies are pins. Sectors crash together. The covariance can't tell.

A bowling alley is a generative model for a market. Each pin is a company; companies in a sector stand close together, so a shock (a random chord across the table) caroms through and topples them togetherdefault contagion. Throw a few, or hit Fast +1000, and watch two things emerge: the correlation matrix settles down, and the joint-default tail pulls away from the Gaussian copula that very correlation implies — the tail risk a covariance cannot see.

Each shock is a random chord. Throw a few, or run Fast +1000.

After shocks accumulate: pin size = marginal probability of being hit; pin ring = the overlay tilt (green keep / red trim the herd-defaulters). Right: the fitted correlation and the joint-hit tail it implies under a Gaussian copula.

Pairwise default correlation N = 0

Joint default: market vs Gaussian copula

throw some shocks…

Why this is the point

This demo is a working version of Peter Cotton, “Bowling Alone. Do Copula Models Washout?” (Fields Institute Seminar Series on Quantitative Finance, March 26, 2008 — Bear Stearns week). The author had founded Julius Finance in January 2007 to address shortcomings in CDO risk modeling; the bowling metaphor for copula breakdown was delivered as the Gaussian copula was washing out in real time.

The matrix on the right is the tetrachoric correlation — the unique latent Gaussian correlation that reproduces every pairwise default probability exactly. So the Gaussian copula built from it is the best possible second-moment model: it matches all the pairs by construction (the ≥2 ratio sits at ~1×). Yet it still cannot make a whole sector default at once, so the higher-order joint-default tail (≥3, ≥4, …) pulls steadily away from the market's. That gap is real tail risk living above all pairwise information — invisible to any correlation-based method. A tail-aware overlay races the assets under the actual cascading simulation instead, so co-defaulters de-duplicate automatically.

Because this world is fully known, it doubles as a laboratory for credit portfolios: score any default-aware allocator against the true cascading tail rather than the copula's — the regime where a covariance-based optimiser is blindest. The reusable generator, this copula-deviation test, and the out-of-sample portfolio harness are in bowling_sim.py and bowling_lab.py.