Merton Distance-to-Default
Install and import#
npm install fintech-algorithmsimport { mertonDistanceToDefault } from "fintech-algorithms/credit-risk-and-default/probability-of-default/merton-distance-to-default";Signature#
mertonDistanceToDefault(equity_value, equity_volatility, debt_face_value, risk_free_rate, asset_drift, horizon_years, tolerance, max_iterations)Worked example#
verified This is the worked example published in the article, replayed by the test suite on every run. The output cannot drift.
Input#
1200.35800.030.0611e-10200Call#
mertonDistanceToDefault(equity_value, equity_volatility, debt_face_value, risk_free_rate, asset_drift, horizon_years, tolerance, max_iterations)Returns#
object with 9 fields: asset_value, asset_volatility, distance_to_default, physical_default_probability, risk_neutral_default_probability, iterations, residual, state, …
{
"asset_value": 197.635612721046,
"asset_volatility": 0.212513018382,
"distance_to_default": 4.431810702245,
"physical_default_probability": 0.000004672252,
"risk_neutral_default_probability": 0.000008907831,
"iterations": 2,
"residual": 5.5e-11,
"state": "converged",
"reason": "merton-equity-system-solved"
}Other exports#
This module also exports
logisticPdModel, probitPdModel, throughTheCyclePd, pointInTimePd, campbellHilscherSzilagyiDistressProbability, bharathShumwayNaiveDistanceToDefault, calculate. Every module additionally exports run as an alias of its
primary function, and a meta object carrying its catalog id, domain, family,
shape and article URL.
Diagrams#
How it works#
This page states the contract — how to call it correctly. The article explains the concept: why it works, and where it breaks.
References#
- On the Pricing of Corporate Debt: The Risk Structure of Interest Rates — Robert C. Merton
- Forecasting Default with the Merton Distance to Default Model — Sreedhar T. Bharath and Tyler Shumway
- Supervisory Guidance on Model Risk Management — OCC, Board of Governors of the Federal Reserve System, and FDIC
- Evidence boundary