--- a/financepy/models/merton_firm_mkt.py +++ b/financepy/models/merton_firm_mkt.py @@ -158,12 +158,17 @@ else: argtuple += (self._r[0],) + # Normalize monetary amounts by the debt face before calibration. + monetary_scale = argtuple[2] + argtuple = (argtuple[0] / monetary_scale, argtuple[1], + 1.0, argtuple[3], argtuple[4]) + # I initialise asset value and vol to equity value and vol x0 = np.array([argtuple[0], argtuple[1]]) result = optimize.minimize(_fobj, x0, args=argtuple, tol=1e-9) - self._a.append(result.x[0]) + self._a.append(result.x[0] * monetary_scale) self._va.append(result.x[1]) self._a = np.array(self._a)