Go to Deriscope's documentation start page


QuantLib may generate the error "year 2200 out of bounds. It must be in [1901,2199]" when a swaption is priced with a MarkovFunctiional model, of which the swap rate has the daycount convention of ACT/360.
In particular this occurs when the last tenor value exceeds the coupon period of the swap rate.
On the technical side, the QuantLib function MarkovFunctional::initialize() generates a huge array of dates in calibrationPoints_, which also contains dates very far in the future that ultimately result in the reported error message.

Click on
download to download an xml file that contains an Excel formula that demonstrates this issue.

You may then reproduce the issue in spreadsheet by clicking on Go -> Load Excel Formula from XML or one of its variations and choose the xml file downloaded in the step above.