## kernels.simulate_ultimates()


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


Usage

``` python
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.
