kernels.simulate_ultimates()

Simulate FULL run-off ultimates from a fitted Mack model.

Usage

Source

kernels.simulate_ultimates(
    fit, *, n_draws=10000, seed=None, process="gamma", parameter_risk=True
)

Mack’s model is distribution-free, so a predictive distribution needs one assumption beyond it: the shape of the step-to-step shock. process picks it from PROCESS_LAWS; every choice matches Mack’s two conditional moments and they differ only in tail shape and support. This is the bootstrap wrapper CLAUDE.md decision 4 requires of a deterministic baseline before it may enter the gallery, and it is the run-off counterpart of the one-year re-reserving in kernels/cdr.py.

Parameter risk is drawn ONCE PER DRAW and shared across accident years - that shared factor draw is what makes the accident years correlated, and dropping it (parameter_risk=False) leaves pure, independent process risk. The total column is the row-sum of the same draws, so the diversification is in the samples rather than assumed.

seed is anything np.random.default_rng accepts. The mack gallery entry hands a per-cohort SeedSequence through here; a plain integer keeps the byte-exact meaning it has always had.