Skip to content
All library documents

Solving Merton Default Probability Equations for Asset Value and Volatility

Article Quant Q&A · Author: Jenya

Summary

The document describes the numerical calibration problem in the Merton structural credit model: infer firm asset value and asset volatility from observed equity value and equity volatility, given other inputs. It presents the two linked equations and reports that MATLAB’s nonlinear solver can fail to converge or stall for some inputs, even when supplied with an analytical Jacobian.

The response suggests trying a different nonlinear equation solver, citing an R package, and mentions iterative estimation or maximum likelihood when a time series is available. These are brief pointers rather than a worked solution: it gives no initialization procedure, diagnostic for ill-conditioning, convergence comparison, or treatment of the more complex Black–Cox extension. The discussion is useful as a framing of solver choice and alternative estimation approaches, but leaves the implementation and reliability questions open.

Key ideas

  • The Merton calibration infers asset value and asset volatility from observed equity measures.
  • A nonlinear solver may stall or fail for some inputs, even with an analytical Jacobian.
  • Trying another nonlinear equation solver is one suggested avenue.
  • Iterative estimation or maximum likelihood may be considered when a data series is available.
  • The response does not give a tested initialization scheme or a complete Black–Cox solution.

Tags

Full text
# Default Probability calculation. How to solve system of 2 non linear equations?


# Default Probability calculation. How to solve system of 2 non linear equations?












I am trying to repeat calculations from Hull(options futures and other derivatives) chapter "Using Equity Prices to Estimate Default Probabilities". I want to solve system of 2 equations:

\begin{cases} E_0 = V_0 N(d_1) - L e^{-rt}N(d_2) \\ \sigma_E E_0 = N(d_1) \sigma_V V_0 \end{cases} to find $V_0, \sigma_V$, where you recognise Merton model. We assume that other variables are given, hence should be easy to solve numerically system of 2 equations with 2 unknowns. Using matlab fsolve function, even with feeding analytical Jacobian for different data inputs sometimes returns me:

No solutions found. or Equation solved, fsolve stalled.

This is even worse if I use Black Cox model, as the 1st equation(barrier option) and 2nd equation(because of $\frac{\partial E }{\partial V}$ term) is getting huge.

Could somebody give some hint how to solve this system?

Could somebody give tips or ideas how to choose good initial conditions for fsolve? ( Finally, I eager to be able to solve Black Cox model)

Update: I have been thinking to search for reference how to work with ill-posed problems, or trying to identify if condition number is good, but I can not do the last as the system is non linear( I can not represent it as a matrix).

## Answer by Benjamin Christoffersen (score -1)

https://quant.stackexchange.com/a/39498

> Could somebody give some hint how to solve this system?

I am not a Matlab user but I know that people tend to use the `nleqslv` package in `R`. See e.g., this post. This implementation or the defaults in the method may help you.

You can also consider the iterative method or maximum likelihood if you have a series of data. I have implemented it in this R package .

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.