Bharath-Shumway Naive Distance-to-Default
Install and import#
npm install fintech-algorithmsimport { bharathShumwayNaiveDistanceToDefault } from "fintech-algorithms/credit-risk-and-default/probability-of-default/bharath-shumway-naive-distance-to-default";Signature#
bharathShumwayNaiveDistanceToDefault(equity_value, debt_face_value, equity_volatility, prior_year_equity_return, horizon_years)Computes the Bharath and Shumway naive distance to default, which approximates the Merton solve with closed-form substitutes for firm value and asset volatility instead of iterating.
Parameters#
| Name | Type | Notes |
|---|---|---|
equity_value | number | Market value of equity, in the same currency unit as the debt. exclusive_min: 0 |
debt_face_value | number | Face value of debt, used both as the default barrier and as the debt weight in the naive asset volatility. exclusive_min: 0 |
equity_volatility | number | Annualised equity volatility as a decimal. Debt volatility is taken as 0.05 plus a quarter of it. exclusive_min: 0 |
prior_year_equity_return | number | The past year's equity return, used directly as the asset drift in the naive approximation. |
horizon_years | number | Time to the barrier, in years. exclusive_min: 0 |
Returns#
{ naive_firm_value: number; naive_debt_volatility: number; naive_asset_volatility: number; naive_distance_to_default: number; naive_default_probability: number; state: string; reason: string }
naive_firm_value is equity plus debt, naive_debt_volatility is the 0.05-plus-quarter-of-equity-volatility proxy, and naive_asset_volatility is the value-weighted blend of the two. naive_distance_to_default follows the Merton expression with those substitutes, and naive_default_probability is the normal tail beyond it. state is calculated.
Errors#
- When any argument is not a finite number — throws Error
- When equity_value, debt_face_value, equity_volatility, or horizon_years is not positive — throws Error
Complexity: time O(1),
space O(1).
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#
120800.350.081Call#
bharathShumwayNaiveDistanceToDefault(equity_value, debt_face_value, equity_volatility, prior_year_equity_return, horizon_years)Returns#
object with 7 fields: naive_firm_value, naive_debt_volatility, naive_asset_volatility, naive_distance_to_default, naive_default_probability, state, reason
{
"naive_firm_value": 200,
"naive_debt_volatility": 0.1375,
"naive_asset_volatility": 0.265,
"naive_distance_to_default": 3.62708766745,
"naive_default_probability": 0.000143317997,
"state": "calculated",
"reason": "bharath-shumway-naive-approximation"
}Other exports#
This module also exports
logisticPdModel, probitPdModel, throughTheCyclePd, pointInTimePd, mertonDistanceToDefault, campbellHilscherSzilagyiDistressProbability, 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#
Calculation flow#
Bharath-Shumway Naive Distance-to-Default calculation flow
flowchart LR
S1["Validate equity debt volatility priorreturn window hor"]
S2["Set nave firm value to equity plus debt"]
S3["Calculate nave debt and asset volatility"]
S4["Insert prioryear equity return as the papers drift pro"]
S5["Calculate nave DD and PhiDD returning every component"]
S1 --> S2
S2 --> S3
S3 --> S4
S4 --> S5
S5 --> D{"positive E F sigmaE and T with a causal priorreturn window"}
D --> O["naive_distance_to_default + diagnostics"]
O --> A["Audit: naivefirmvalue equals equityvalue plus debtfacevalue"]
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#
- Forecasting Default with the Merton Distance to Default Model — Sreedhar T. Bharath and Tyler Shumway
- On the Pricing of Corporate Debt: The Risk Structure of Interest Rates — Robert C. Merton
- Supervisory Guidance on Model Risk Management — OCC, Board of Governors of the Federal Reserve System, and FDIC
- Evidence boundary