Posted by
Giancarlo Pfeifer on
Jun 27, 2003; 9:12am
URL: http://quantlib.414.s1.nabble.com/Re-bermudan-swaption-simplex-tp2586.html
> At 11:15 PM 2/4/03 +0100, roland.lichters@we... wrote:
> >I am trying to run the bermudan swaption example, but the Hull White
> >numerical calibration hangs.
>
> Roland,
> are you sure it actually hangs? On my box, the analytic
> calibration is almost instantaneous, while the numerical calibration takes
> over 10 minutes to complete---which might as well give the impression of > hanging (and suggests choosing the analytic calibration for actual work :)
> Could you try and let it run during a lunch break or something?
>
> Oh, and thanks for the kind words...
>
> Later,
> Luigi
Thanks for creating QuantLib. I started use it a couple of weeks ago, and I am impressed by the coding quality (expecially the consistency in which design patterns are used).
I am now experimenting with Bermudan Swaptions and I have four questions...
1. I am trying to calibrate Hull-White for Bermudan swaptions, and the time needed for calibration varies greatly depending on the volatility surface I am inserting. For some surfaces, the analytic formula only takes a few seconds, while with other surfaces the calibration does never seem to terminate.
I am wondering if this could be due to the value of the parameter "lambda" passed to the Simplex object.
In the demo, lambda is set to 0.25, and this might be an optimal value for that particular surface, but maybe it is not optimal for other volatility surfaces. Could this be the cause of the long time needed for some calibrations? If so, is there a way to determine a good "lambda"?
Or should I expect the time used by the calibration to be more or less the same, regardless of the volatility surface used? (in which case I am clearly doing something wrong in my code?)
2. I am also wondering if the order in which the volatilities are inserted matters. The demo has the following line:
swaption.push_back(
Handle<CalibrationHelpers>(
new SwaptionHelper(swaptionMaturities[j],
Period(swaptionLengths[i]), Years),
RelinkableHandle<MarketElement>(Vol),
indexSixMonths,
rhTermStructure)
that is called for each instrument to calibrate. In a old email, Francesco Perissin (2002-09-06) suggested:
"pay attention to the vector of input swaption volatilities, sort them correctly"
Is this correct? Why is sorting necessary (since maturity and tenor is passed with vol)? And which kind of sorting? Shall the instruments be inserted Increasing in swap tenor?
3. How does the SwaptionHelper class works? Looking at the implementation, it seems to me, that it generates the swap that corresponds to the ATM of the swaption, but I notice that the frequencies for the floating and fixed legs are both set to the frequency of the index, and the day counting convention is the one for the index too.
Does it mean that, for example for an EURO swaption, the swaption volatility surface I am using should be computed for swaptions semi-annual on both the fixed and the floating leg? (if I am not wrong, people tend to quote vols for annual bond vs 6m....). This looks a bit strange to me... Am I wrong?
4. Even when I manage to calibrate the surface with Hull&White, the volatilities can differ for quite big amounts. I guess that what I am looking for is an implementation of Hull and White with alpha that depends on time... Is anyone working on the implementation of the Hull&White with non constant alpha? If not, have you any suggestions in case I wanted to try to create a new class in Quantlib to implement it? (I don't know if I will have enough time to do it immediately, but I am thinking about it...).
Thanks a lot for your patience reading this and for all the effort you are putting on Quantlib.
gc
*******************************************************************************
For the latest news about ICAP go to www.icap.com.
The information in this Internet e-mail is confidential and may be legally privileged. It is intended solely for the addressee. Access to this Internet e-mail by anyone else is unauthorised and any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.
When addressed to our clients any opinions or advice contained in this Internet e-mail are subject to the terms and conditions expressed in any applicable documentation or market practices governing the relationship between ICAP plc and its clients.
We have taken precautions to minimise the risk of transmitting software viruses, but we advise you to carry out your own virus checks on any attachments to this message. We cannot accept liability for any loss or damage caused by software viruses.
Any views expressed in this message are those of the individual sender except where they are stated to be the views of ICAP plc.
*******************************************************************************