Interactive Merton (1974) structural model: equity as a call option, debt as a risk-free bond short a put, risk-neutral default probability, and distance to default
Merton (1974) links equity, debt, and default probability through option pricing theory (Christoffersen 2012, chap. 12; Hull 2023, chap. 17). The firm holds assets \(A_t\) financed by a single zero-coupon bond with face value \(D\) maturing at \(t + T\) and residual equity.
At maturity the firm operates if \(A_{t+T} > D\) and otherwise defaults. The equity payoff is therefore the payoff of a call option on the firm’s assets:
\[
E_{t+T} = \max(A_{t+T} - D,\, 0)
\]
Under geometric Brownian motion for assets with constant volatility \(\sigma_V\) and risk-free rate \(r\), the Black–Scholes–Merton formula gives the current equity value:
The risk-neutral default probability is the probability that the put is exercised, and the distance to default is how many standard deviations the log asset value sits above the default threshold:
normalCDF = x => {const a1 =0.254829592, a2 =-0.284496736, a3 =1.421413741const a4 =-1.453152027, a5 =1.061405429, p =0.3275911const sign = x <0?-1:1const z =Math.abs(x) /Math.sqrt(2)const t =1.0/ (1.0+ p * z)const y =1- (((((a5 * t + a4) * t) + a3) * t + a2) * t + a1) * t *Math.exp(-z * z)return0.5* (1+ sign * y)}
normalPDF = x =>Math.exp(-x * x /2) /Math.sqrt(2*Math.PI)
fmt = (x, d) => x ===undefined||isNaN(x) ?"N/A": x.toFixed(d)
pctFmt = (x, d =2) => (x *100).toFixed(d) +"%"
Parameters
Tip
How to experiment
Start with the defaults and note the risk-neutral PD and distance to default. Increase \(\sigma_V\) while holding \(V_0\) fixed: equity value rises (long volatility), debt value falls (short volatility), and PD climbs. Push \(D\) above \(V_0\): equity becomes deep out of the money and the credit spread explodes. Shorten \(T\): PD drops sharply because the lognormal has less time to drift below \(D\).
html`<p style="color:#666;font-size:0.85rem;">Maturity payoffs. <span style="color:#2f71d5;font-weight:700;">Equity</span> is a call option on firm assets with strike D = ${fmt(meD,0)}. <span style="color:#d62728;font-weight:700;">Debt</span> is min(A, D), equivalent to a risk-free bond short a put on firm assets. The grey dashed line is the asset value itself; equity plus debt always equals A.</p>`
{const r = meCalcreturnhtml`<p style="color:#666;font-size:0.85rem;">Risk-neutral lognormal distribution of the asset value at T = ${fmt(meT,2)} years. The <span style="color:#d62728;font-weight:700;">red shaded mass</span> is the risk-neutral default probability Φ(−d₂) = ${pctFmt(r.PD,2)}. The distance to default is dd = ${fmt(r.dd,3)} standard deviations.</p>`}
Comparative statics
viewof meSweep = Inputs.radio(["Asset volatility σ_V","Face value D","Horizon T","Asset value V₀"], {label:"Sweep variable",value:"Asset volatility σ_V"})
html`<p style="color:#666;font-size:0.85rem;">Risk-neutral PD and credit spread as the selected parameter varies, holding the others at their current values. Volatility and leverage (D/V₀) drive PD monotonically upward; increasing V₀ or r reduces it.</p>`
References
Christoffersen, Peter F. 2012. Elements of Financial Risk Management. 2nd ed. Academic Press.
Hull, John. 2023. Risk Management and Financial Institutions. 6th ed. John Wiley & Sons.