merton.calibration.vassalou_xing¶
Vassalou-Xing (2004) iterative MLE calibration.
When supplied a single snapshot of equity value + equity volatility, this
calibrator coincides with jmr_iterative().
When supplied an equity time series, it runs the canonical Vassalou-Xing loop:
Initialise
σ_A^(0) = σ_E · E / (E + D)(naive proxy).Given
σ_A^(k), invert the BSM call equation at eachtto obtainA_tfrom the observedE_t.Compute log-returns
r_{A,t} = ln(A_t / A_{t-1})and updateσ_A^(k+1) = std(r_A) · √252.Repeat until
|σ_A^(k+1) - σ_A^(k)| < tolork == max_iter.
References
Vassalou & Xing (2004). Default Risk in Equity Returns. Journal of Finance 59 (2), 831-868.
Classes¶
OO wrapper around |
Functions¶
|
Vassalou-Xing iterative MLE calibration. |
Module Contents¶
- merton.calibration.vassalou_xing.vassalou_xing(*, equity: float | merton._typing.FloatArray, debt: float, rf: float, T: float, equity_vol: float | None = None, dividend_yield: float = 0.0, tol: float = 1e-06, max_iter: int = 200, annualization: float = ANNUALIZATION) merton.calibration.base.CalibrationResult[source]¶
Vassalou-Xing iterative MLE calibration.
Either pass:
equityas a scalar withequity_vol— this collapses to the JMR two-equation solve.equityas a 1-D array (equity series) — full iterative VX. In this caseequity_volis optional; if omitted we estimate it from the sample stdev of equity log-returns.
- Returns:
For the array case,
asset_valueis a full array of inferredA_tandasset_volis the converged scalarσ_A.- Return type:
- class merton.calibration.vassalou_xing.VassalouXingCalibrator(*, tol: float = 1e-06, max_iter: int = 200)[source]¶
Bases:
merton.calibration.base.CalibratorOO wrapper around
vassalou_xing().- fit(firm: merton.core.firm.Firm) merton.calibration.base.CalibrationResult[source]¶
Infer asset value & volatility for
firm.