Solving for Probability of Default with a Numerical Root Finder
Summary
The document considers an equation linking probability of default (PD), loss given default (LGD), default rate (DR), and a correlation parameter. It asks how to isolate PD, then presents an answer that rearranges the relationship into a scalar equation whose unknown is PD. Because the inverse normal cumulative distribution appears at both PD and PD multiplied by LGD, the answer recommends solving numerically rather than expecting a straightforward algebraic expression.
Newton’s method is offered as one iterative approach, with a derivative-based update, and bracketed methods such as Brent’s method are also mentioned as alternatives. The document provides no numerical inputs, convergence demonstration, or validated solution, so it does not establish how quickly a particular setup will converge. In practice, the admissible PD range and a valid bracket or starting value matter; the illustrative solver settings in the source should not be assumed suitable without checking the function’s domain and financial parameter constraints.
Key ideas
- The PD relationship can be rearranged into a scalar root-finding problem.
- Newton’s method can iteratively update a candidate PD using the function and its derivative.
- A bracketed method such as Brent’s method is another numerical option.
- The source provides no example inputs or convergence evidence, so solver settings require validation.
Tags
Full text
# Linking PD and LGD
# Linking PD and LGD
I am trying to solve the equation for PD but struggling to bring it to the LHS. Any ideas as to how I can do that?
$$ LGD = \frac{\Phi \left [ \Phi^{-1}(DR) - \frac{\Phi^{-1}(PD)-\Phi^{-1}(PD\cdot LGD)}{\sqrt{1-\rho}} \right ]}{DR}$$
where $ \Phi(.) = \text{cumulative normal pdf}$ $ LGD = \text{Loss given default} $ $ PD = \text{Probability of default} $ $ \rho = \text{correlation}?$ $ DR = \text{asymptotic default rate}? $
## Answer by Attack68 (score 1)
https://quant.stackexchange.com/a/51267
Failing an analytic answer I would use Newton's method as a quick and dirty numerical iterator:
You can rearrange to:
$$ (1-\rho) \left (\Phi^{-1}(LGD.DR) - \Phi^{-1}(DR) \right ) + \Phi^{-1}(PD) - \Phi^{-1}(PD.LGD) = 0$$
which given you have fixed DR, LGD and $\rho$ is essentially:
$$K + \Phi^{-1}(PD) - \Phi^{-1}(PD.LGD) = f(PD) = 0$$
Newton's iterative formula yeilds the iterative scheme:
$$ PD_{n+1} = PD_n + \frac{f(PD_n)}{f'(PD_n)} $$
or $$PD_{n+1} = PD_n + \frac{K + \Phi^{-1}(PD_n) - \Phi^{-1}(PD_n.LGD)}{\frac{\partial}{\partial PD} \left( \Phi^{-1}(PD_n) - \Phi^{-1}(PD_n.LGD) \right )} $$
And actually there are numerous algorithms you might use - its not a computationally intensive task: in python you can try:
https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.root_scalar.html#scipy.optimize.root_scalar
```
from scipy import optimize
def f(x, *args):
val = # define your function in terms of x = PD, and other static args
return val
sol = optimize.root_scalar(f, args={}, bracket=[0, 3], method='brentq')
sol = optimize.root_scalar(f, args={}, x0=0.2, fprime=fprime, method='newton')
```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.