from scipy.stats import norm, multivariate_normal def default_correlation(asset_corr, pd): # Inverse der kumulativen Normalverteilung für PD z = norm.ppf(pd) # Berechnung der gemeinsamen Ausfallwahrscheinlichkeit mean = [0, 0] cov_matrix = [[1, asset_corr], [asset_corr, 1]] p_joint = multivariate_normal.cdf([z, z], mean=mean, cov=cov_matrix) p_joint=float(p_joint) # Berechnung der Default-Korrelation default_corr = round((p_joint - pd * pd) / (pd * (1 - pd)),4) return default_corr print(default_correlation(0.3, 0.01))