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}?$$

• Hi and welcome to the forum! Is there a connection between your question and the risk weight formula in the capital adequacy regulation (CRR)? It reminds of this formula (which is based in the one-factor asymptotic risk model). – Ric Feb 20 '20 at 10:17
• Looks also similar to Eqn 2.3 in Frye and Jacobs, Credit loss and systematic loss given default, Journal of Credit Risk, 2012 – noob2 Feb 20 '20 at 16:34

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')