merton.portfolio.copulas.gaussian

Gaussian copula sampler.

Classes

GaussianCopula

Multivariate Gaussian copula.

Module Contents

class merton.portfolio.copulas.gaussian.GaussianCopula(correlation: float | merton._typing.FloatArray, n_firms: int | None = None)[source]

Multivariate Gaussian copula.

Samples u_i [0, 1] from a multivariate Gaussian with the supplied correlation matrix, then maps to uniform marginals via the normal CDF. These uniforms are then used to drive obligor default indicators.

Parameters:
  • correlation – Either a scalar (constant pairwise correlation) or a (n_firms, n_firms) matrix.

  • n_firms – When correlation is a scalar, this sets the dimension.

n[source]
sample(n: int, *, rng: numpy.random.Generator | None = None) merton._typing.FloatArray[source]

Draw n independent samples; returns shape (n, n_firms).

sample_normal(n: int, *, rng: numpy.random.Generator | None = None) merton._typing.FloatArray[source]

Draw the latent normals directly (skip the CDF transform).