private HWFloor ( double a, double sigma, double K, double deltaK, double T ) : double | ||
a | double | /// Hull-White alpha parameter. /// |
sigma | double | /// Hull-White sigma parameter. /// |
K | double | /// Strike rate. /// |
deltaK | double | /// Time period between floorlets expressed in year fraction. /// |
T | double | /// Floor maturity. /// |
return | double |
private double HWFloor(double a, double sigma, double K, double deltaK, double T)
{
double KK = 1.0 / (1.0 + K * deltaK);
double NP = Math.Round(T / deltaK);
int np = (int)NP;
double FL = 0;
double[] s = new double[np];
s[0] = deltaK;
double[] floorlets = new double[np - 1];
for (int i = 1; i < s.Length; i++)
{
s[i] = s[i - 1] + deltaK;
floorlets[i - 1] = HWFloorlet(a, sigma, s[i - 1], s[i], KK);
FL = FL + floorlets[i - 1];
}
return FL;
}