private static AlphaInt ( double t, double T, double alpha, double sigma, System.Function zeroRateCurve ) : double | ||
t | double | Lower value defining integration interval. |
T | double | Upper value defining integration interval. |
alpha | double | Hull-White alpha parameter. |
sigma | double | Hull-White sigma parameter. |
zeroRateCurve | System.Function | Zero rate curve. |
return | double |
private static double AlphaInt(double t, double T, double alpha, double sigma, Function zeroRateCurve)
{
double firstTerm = zeroRateCurve.Evaluate(T) * T - zeroRateCurve.Evaluate(t) * t;
return firstTerm + sigma * sigma * (alpha * (T - t) - 2.0 * (Math.Exp(-alpha * t) - Math.Exp(-alpha * T))
+ 0.5 * (Math.Exp(-2.0 * alpha * t) - Math.Exp(-2.0 * alpha * T))) / (2.0 * Math.Pow(alpha, 3.0));
}