Languages
One set of models, several runtimes, and a referee that keeps them identical.
The Python library is the reference: the certificates run here, features land here first, and the parity vectors for every port are generated here. A port ships when it reproduces the reference's prices on a fixed set of instruments to 1e-10, in the frozen limit and with switching on.
Python (reference)
pip install regimelib
regimelib depends on numpy, scipy, mpmath and sympy; QuantLib is optional and is what the frozen limits are checked against. Every class mirrors a QuantLib class and takes the same parameters with a chain in front. Documentation: the Python API; source: microprediction/regimelib.
Ports
Ports to R, Julia and Rust follow the pattern of skaters: the same instruments through the same scenarios, a parity suite generated from the reference, and no release without agreement. None has shipped yet; the parity vectors will be published from the reference repository when the first port is under way.
The parity contract
The reduced system a' = (Q + diag g) a and its expansion to any order with the initial layer; the terminal-forcing catalogue for each model; Lewis's and Gil–Pelaez's integrals with the frequency cutoff from the averaged model; and the warnings, since a port that prices silently where the expansion diverges is not a port of the library.