I tried to use IborIndex to price the floating note. The result is about 0.0036% off from the correct answer. There are many factors that contribute to this discrepancy. But I think the main reason is that the forecastfixing is about 0.013% off from the index rate. Below are the code printing out forecastfixing and some of the index rate:
for(int i=0;i<AccuralStart.size();i++){
if(FRN13Wks->isValidFixingDate(AccuralStart[i]) && AccuralStart[i] < settlementDate){
FRN13Wks->addFixing(AccuralStart[i], IndexRate[i]);
junk << AccuralStart[i] << " +++ " << FRN13Wks->fixing(AccuralStart[i]) << " +++ " << IndexRate[i] << endl;
}
if(FRN13Wks->isValidFixingDate(AccuralStart[i]) && AccuralStart[i] >= settlementDate){
junk << AccuralStart[i] << " ``` " << FRN13Wks->forecastFixing(AccuralStart[i]) << " ``` " << IndexRate[i] << endl;
}
}
September 11th, 2012 +++ 0.001 +++ 0.001
September 12th, 2012 +++ 0.001 +++ 0.001
September 13th, 2012 +++ 0.001 +++ 0.001
September 14th, 2012 +++ 0.001 +++ 0.001
September 17th, 2012 +++ 0.001 +++ 0.001
September 18th, 2012 +++ 0.001 +++ 0.001
September 19th, 2012 ``` 0.00105014 ``` 0.001
September 20th, 2012 ``` 0.00105014 ``` 0.00105
September 21st, 2012 ``` 0.00105014 ``` 0.00105
September 24th, 2012 ``` 0.00105014 ``` 0.00105
September 25th, 2012 ``` 0.00105014 ``` 0.00105
September 26th, 2012 ``` 0.00105014 ``` 0.00105
September 27th, 2012 ``` 0.00105014 ``` 0.00105
September 28th, 2012 ``` 0.00105014 ``` 0.00105
Basically, the forcastfixing is CONSTANTLY 0.00000014 about the index rate after the settlement date, Sept 19th, 2012, all the way to the maturity date. Can you or anyone to help me to understand where 0.00000014 comes from?