What's new

Basel II - Vasicek Formula Derivation


New Member
Thread starter #1

The Vasicek model assumes that the asset value of a given obligor is given by the combined effect of a systematic and an idiosyncratic factor and that each obligor i defaults if a certain random variable Xi falls below a threshold where

Xi = S * sqrt(rho) + Z * sqrt(1-rho)

and S and Z are respectively the systematic and the idiosyncratic component and rho is the asset correlation between two different obligors.

My question is why is the "sqrt" required in this formulation rather than simply:

Xi = S * rho + Z * (1-rho)

David Harper CFA FRM

David Harper CFA FRM
Staff member
Hi @AW92 Great question! You could specify the model per Xi = S * rho + Z * (1-rho), but this (Vasicek) single-factor credit model has stringent (unrealistic) assumptions in order to achieve elegant results that include the convenient properties of the X(i) variable: it gets to enjoy unit (1.0) variance, how lucky! ;). So it's the same reason that, in order to generate a correlated standard normals for random standard normals X(1) and X(2), we use ρ*X(1) + sqrt(1-ρ^2)*X(2). The variance of this summation is given by variance[ρ*X(1)] + variance[sqrt(1-ρ^2)*X(2)] + 2*Cov[ρ*X(1), sqrt(1-ρ^2)*X(2)] = ρ^2*variance[X(1)] + (1 - ρ^2)*variance[X(2)] + 0 = p^2 + 1 - ρ^2 = 1.0. This is just using variance properties, include variance(aX) = a^2*variance(X). It's really because the constant gets squared in the variance.

Similarly, in the single-factor credit model, we basically have X(i) = a*X + Z*sqrt(1-a^2), or I guess in your case, if ρ = a^2, then X(i) = sqrt(ρ)*S + Z*sqrt(1-ρ); where (a) or a^2 or ρ is a constant and (S) and (Z) are random standard normals, such that, in your formulation where ρ=a^2, Variance[X(i)] = variance[sqrt(ρ)*S] + variance[Z*sqrt(1-ρ)] + 2*sqrt(ρ)*sqrt(1-ρ)*cov(S,Z) = ρ*variance(S) + (1-ρ)*variance[Z] + 0; but if variance(S) and variance(Z) = 1.0, then this reduces, by design, to ρ + (1-ρ) = 1.0. So notice, also, that the model requires covariance(S,Z) = 0 in order to achieve its elegant outcome. I hope that helps![/S]
Last edited: