merton.calibration.jmr_iterative¶
Jones-Mason-Rosenfeld (1984) iterative calibration.
Solve the two simultaneous equations
E = A · Φ(d₁) - D · e^{-rT} · Φ(d₂) (BSM call value)
σ_E = (A / E) · Φ(d₁) · σ_A (Ito's lemma)
for the unknowns A (asset value) and σ_A (asset volatility).
Practically identical to the proprietary Crosbie-Bohn KMV iteration when
applied to a snapshot of one firm.
Classes¶
OO wrapper around |
Functions¶
|
Solve the JMR two-equation system. Scalar inputs only. |
Module Contents¶
- merton.calibration.jmr_iterative.jmr_iterative(*, equity: float, equity_vol: float, debt: float, rf: float, T: float, dividend_yield: float = 0.0, tol: float = 1e-08, max_iter: int = 200) merton.calibration.base.CalibrationResult[source]¶
Solve the JMR two-equation system. Scalar inputs only.
Examples
>>> res = jmr_iterative(equity=80, equity_vol=0.30, debt=60, rf=0.04, T=1.0) >>> abs(res.asset_value - 137) < 5 # rough sanity, exact value depends on σ_E True
- class merton.calibration.jmr_iterative.JMRCalibrator(*, tol: float = 1e-08, max_iter: int = 200)[source]¶
Bases:
merton.calibration.base.CalibratorOO wrapper around
jmr_iterative().- fit(firm: merton.core.firm.Firm) merton.calibration.base.CalibrationResult[source]¶
Infer asset value & volatility for
firm.