merton.core.default_point

Default-point formulas.

The default point is the liability threshold L at which the firm is deemed to default. Several conventions exist:

  • KMV (ST + 0.5·LT): Crosbie & Bohn (2003) empirically-tuned formula.

  • TOTAL (ST + LT): the raw total debt — Merton’s original 1974 model.

  • SHORT_ONLY (ST): a stress-test convention.

  • CUSTOM: a user-supplied callable.

Examples

>>> compute_default_point(20_000_000, 30_000_000, kind="kmv")
35000000.0
>>> compute_default_point(20_000_000, 30_000_000, kind="total")
50000000.0

Attributes

Classes

DefaultPoint

How to compute the default threshold from a firm's balance-sheet items.

Functions

compute_default_point(→ merton._typing.FloatArray)

Return the default threshold given short- and long-term debt.

Module Contents

class merton.core.default_point.DefaultPoint[source]

Bases: str, enum.Enum

How to compute the default threshold from a firm’s balance-sheet items.

KMV = 'kmv'[source]
TOTAL = 'total'[source]
SHORT_ONLY = 'short_only'[source]
CUSTOM = 'custom'[source]
type merton.core.default_point.DefaultPointLike = str | DefaultPoint[source]
merton.core.default_point.compute_default_point(debt_short: merton._typing.ArrayLike, debt_long: merton._typing.ArrayLike, *, kind: DefaultPointLike = DefaultPoint.KMV, custom: DefaultPointCallable | None = None) merton._typing.FloatArray[source]

Return the default threshold given short- and long-term debt.

Parameters:
  • debt_short – Balance-sheet values (scalar or array). Must be ≥ 0.

  • debt_long – Balance-sheet values (scalar or array). Must be ≥ 0.

  • kind – One of "kmv", "total", "short_only", "custom".

  • custom – Required when kind == "custom". Signature (debt_short, debt_long) -> FloatArray.