Limitations in QuantLibXL ?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Limitations in QuantLibXL ?

Yong C W

Hi
        I installed QuantlibXL-0.4.0 and opened the worksheet
YC_SwapDemo.xls. I noticed that the vector array argument in
qlPiecewiseYieldCurve function (in cell K2 of the "BOOTSTRAP" sheet)
includes only the deposit rates and future prices (G12:G23). When I tried to
extend the range to include the swap rates (G24:G40), Excel disappeared
right after I pressed Enter, i.e. the application crashed.
        So is the bootstrapping procedure limited to only deposit and
futures?
        Also I have read in the documentation the enumerations used. The
indices are Euribor or EuroLibor only. So are these the only indices
allowed?
        Many thanks in advance.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Limitations in QuantLibXL ?

eric ehlers
Hello,

>         I installed QuantlibXL-0.4.0 and opened the worksheet
> YC_SwapDemo.xls. I noticed that the vector array argument in
> qlPiecewiseYieldCurve function (in cell K2 of the "BOOTSTRAP" sheet)
> includes only the deposit rates and future prices (G12:G23). When I tried to
> extend the range to include the swap rates (G24:G40), Excel disappeared
> right after I pressed Enter, i.e. the application crashed.

This results from a flaw in the setup of the spreadsheet.  The same
problem is found in the spreadsheet released with version 0.8.0.

The problem is a "chicken and egg" situation when bootstrapping the
yield curve: A term structure refers to a swap rate helper which
refers to an index which refers to a term structure.

The solution is to design spreadsheets in this way:
- Create an empty yield term handle (qlRelinkableHandleYieldTermStructure)
- Pass that to a dummy index (qlIborIndex)
- Instantiate the swaps rate helper objects (qlSwapRateHelper),
linking them to the dummy index
- Create the yield curve (qlPiecewiseYieldCurve)
- Create a yield term handle linked to the yield curve
(qlRelinkableHandleYieldTermStructure)
- Relink the rate helpers to the new yield term structure handle
(qlSetEuriborTermStructure)

YC_SwapDemo.xls doesn't follow that approach.  When you include the
swaps rate helpers in the yield curve, it sends QuantLib into an
infinite loop until Excel crashes.  Unfortunately there is no
validation that we could put into the code to prevent this error from
occurring.

YC_SwapDemo.xls will be fixed in the next release.  In the meantime
you can refer to MarketData.xls for an example of a yield curve which
is created correctly including swaps.

>         Also I have read in the documentation the enumerations used. The
> indices are Euribor or EuroLibor only. So are these the only indices
> allowed?

They're the only indexes for which enumerations are provided.  Other
indexes can be created with a call to qlIborIndex().  Note that
qlSetEuriborTermStructure() works only for the EUR indexes.

Regards,
Eric

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users