Re: bermudan swaption, simplex

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

Re: bermudan swaption, simplex

Giancarlo Pfeifer
> 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.
*******************************************************************************



Reply | Threaded
Open this post in threaded view
|

RE: Re: bermudan swaption, simplex

Zakoian2000
Is the simplex optimization still valid for more than 2 dimensions? It does
not work with CIR+ or G2++ and I don't know yet where the problem is.... Has
anybody made it working with the CIR + Jamshidian Swaption?

Regards,

Zakoian

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]]On Behalf Of Giancarlo
Pfeifer
Sent: Friday, June 27, 2003 4:09 PM
To: [hidden email]
Subject: [Quantlib-users] Re: bermudan swaption, simplex


> 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.
****************************************************************************
***



-------------------------------------------------------
This SF.Net email is sponsored by: INetU
Attention Web Developers & Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

Re: Re: bermudan swaption, simplex

Toyin Akin-4
Hi,

I have the same problem as you.

I cannot get the CIR+, G2++ to calibrate. No matter how long I wait and
optimisation method I choose.
I even reduced the number of volatility calibration points down to 9.

HW is fine with all the optimisation methods, however simplex is the most
accurate.

Best Regards,
Toyin Akin.

----- Original Message -----
From: "Zakoian2000" <[hidden email]>
To: "Giancarlo Pfeifer" <[hidden email]>;
<[hidden email]>
Sent: Thursday, July 10, 2003 12:13 AM
Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex


> Is the simplex optimization still valid for more than 2 dimensions? It
does
> not work with CIR+ or G2++ and I don't know yet where the problem is....
Has

> anybody made it working with the CIR + Jamshidian Swaption?
>
> Regards,
>
> Zakoian
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of Giancarlo
> Pfeifer
> Sent: Friday, June 27, 2003 4:09 PM
> To: [hidden email]
> Subject: [Quantlib-users] Re: bermudan swaption, simplex
>
>
> > 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.
>
****************************************************************************

> ***
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: INetU
> Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

RE: Re: bermudan swaption, simplex

Zakoian2000
Toyin, was it the case that it didn't work with other optimizers as well?
Have you used the analytical (jamshidian) or the tree calibration for CIR+?
We can use the specificSwaptionPricer( if i remember the name correctly) for
the G2++ analytical swaption calibration but it doen't calibrate with the
simplex method.....

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]]On Behalf Of Toyin Akin
Sent: Thursday, July 10, 2003 8:01 AM
To: Zakoian2000; Giancarlo Pfeifer; [hidden email]
Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex



Hi,

I have the same problem as you.

I cannot get the CIR+, G2++ to calibrate. No matter how long I wait and
optimisation method I choose.
I even reduced the number of volatility calibration points down to 9.

HW is fine with all the optimisation methods, however simplex is the most
accurate.

Best Regards,
Toyin Akin.

----- Original Message -----
From: "Zakoian2000" <[hidden email]>
To: "Giancarlo Pfeifer" <[hidden email]>;
<[hidden email]>
Sent: Thursday, July 10, 2003 12:13 AM
Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex


> Is the simplex optimization still valid for more than 2 dimensions? It
does
> not work with CIR+ or G2++ and I don't know yet where the problem is....
Has

> anybody made it working with the CIR + Jamshidian Swaption?
>
> Regards,
>
> Zakoian
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of Giancarlo
> Pfeifer
> Sent: Friday, June 27, 2003 4:09 PM
> To: [hidden email]
> Subject: [Quantlib-users] Re: bermudan swaption, simplex
>
>
> > 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.
>
****************************************************************************

> ***
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by: INetU
> Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

Re: Re: bermudan swaption, simplex

Toyin Akin-4
Hi,

It looks like your tests have been more inensive than mine, however I could
not get the CIR+ or G2++ models
to work at all. Simplex seems to be the most accurate so I probably would
not use the others.

Perhaps a summary/note from the QuantLib guys to indicate whether these
models actually do work?
And if so, under which scenarios.

Best Regards,
Toyin Akin.

----- Original Message -----
From: "Zakoian2000" <[hidden email]>
To: "Toyin Akin" <[hidden email]>; "Zakoian2000"
<[hidden email]>; "Giancarlo Pfeifer"
<[hidden email]>; <[hidden email]>
Sent: Thursday, July 10, 2003 9:01 AM
Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex


> Toyin, was it the case that it didn't work with other optimizers as well?
> Have you used the analytical (jamshidian) or the tree calibration for
CIR+?
> We can use the specificSwaptionPricer( if i remember the name correctly)
for

> the G2++ analytical swaption calibration but it doen't calibrate with the
> simplex method.....
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of Toyin Akin
> Sent: Thursday, July 10, 2003 8:01 AM
> To: Zakoian2000; Giancarlo Pfeifer; [hidden email]
> Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex
>
>
>
> Hi,
>
> I have the same problem as you.
>
> I cannot get the CIR+, G2++ to calibrate. No matter how long I wait and
> optimisation method I choose.
> I even reduced the number of volatility calibration points down to 9.
>
> HW is fine with all the optimisation methods, however simplex is the most
> accurate.
>
> Best Regards,
> Toyin Akin.
>
> ----- Original Message -----
> From: "Zakoian2000" <[hidden email]>
> To: "Giancarlo Pfeifer" <[hidden email]>;
> <[hidden email]>
> Sent: Thursday, July 10, 2003 12:13 AM
> Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex
>
>
> > Is the simplex optimization still valid for more than 2 dimensions? It
> does
> > not work with CIR+ or G2++ and I don't know yet where the problem is....
> Has
> > anybody made it working with the CIR + Jamshidian Swaption?
> >
> > Regards,
> >
> > Zakoian
> >
> > -----Original Message-----
> > From: [hidden email]
> > [mailto:[hidden email]]On Behalf Of
Giancarlo

> > Pfeifer
> > Sent: Friday, June 27, 2003 4:09 PM
> > To: [hidden email]
> > Subject: [Quantlib-users] Re: bermudan swaption, simplex
> >
> >
> > > 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 "lambd
a"
> > 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.
> >
>
****************************************************************************

> > ***
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: INetU
> > Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> > _______________________________________________
> > Quantlib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email sponsored by: Parasoft
> > Error proof Web apps, automate testing & more.
> > Download & eval WebKing and get a free book.
> > www.parasoft.com/bulletproofapps
> > _______________________________________________
> > Quantlib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

Re: Re: bermudan swaption, simplex

Luigi Ballabio-2
At 10:20 AM 7/10/03 +0100, Toyin Akin wrote:
>It looks like your tests have been more inensive than mine, however I could
>not get the CIR+ or G2++ models
>to work at all. Simplex seems to be the most accurate so I probably would
>not use the others.
>
>Perhaps a summary/note from the QuantLib guys to indicate whether these
>models actually do work?
>And if so, under which scenarios.


Sad, may you step in? What was the status of two-factor models?

Thanks,
         Luigi



Reply | Threaded
Open this post in threaded view
|

RE: Re: bermudan swaption, simplex

Zakoian2000
In reply to this post by Toyin Akin-4
Hi,

I was wondering if the boundary constraint on the rho in G2++ could be the
problem with the simplex method.
This condition might be violated while searching parameter sets (if I use
specificSwaptionPricer + G2++)....
If so, is this due to the fact that we have single scale parameter (lambda)
rather than the set of scale parameters for each parameters?

Well, it might be worth to give a shot on the other optimizers.... but do I
need to give the explicit form of gradients to use ConjugateGradient
optimizer or is there numerical gradients available? I haven't explored
other optimizers yet so....

Zakoian

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]]On Behalf Of Toyin Akin
Sent: Thursday, July 10, 2003 10:21 AM
To: Zakoian2000; Giancarlo Pfeifer; [hidden email]
Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex


Hi,

It looks like your tests have been more inensive than mine, however I could
not get the CIR+ or G2++ models
to work at all. Simplex seems to be the most accurate so I probably would
not use the others.

Perhaps a summary/note from the QuantLib guys to indicate whether these
models actually do work?
And if so, under which scenarios.

Best Regards,
Toyin Akin.

----- Original Message -----
From: "Zakoian2000" <[hidden email]>
To: "Toyin Akin" <[hidden email]>; "Zakoian2000"
<[hidden email]>; "Giancarlo Pfeifer"
<[hidden email]>; <[hidden email]>
Sent: Thursday, July 10, 2003 9:01 AM
Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex


> Toyin, was it the case that it didn't work with other optimizers as well?
> Have you used the analytical (jamshidian) or the tree calibration for
CIR+?
> We can use the specificSwaptionPricer( if i remember the name correctly)
for

> the G2++ analytical swaption calibration but it doen't calibrate with the
> simplex method.....
>
> -----Original Message-----
> From: [hidden email]
> [mailto:[hidden email]]On Behalf Of Toyin Akin
> Sent: Thursday, July 10, 2003 8:01 AM
> To: Zakoian2000; Giancarlo Pfeifer; [hidden email]
> Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex
>
>
>
> Hi,
>
> I have the same problem as you.
>
> I cannot get the CIR+, G2++ to calibrate. No matter how long I wait and
> optimisation method I choose.
> I even reduced the number of volatility calibration points down to 9.
>
> HW is fine with all the optimisation methods, however simplex is the most
> accurate.
>
> Best Regards,
> Toyin Akin.
>
> ----- Original Message -----
> From: "Zakoian2000" <[hidden email]>
> To: "Giancarlo Pfeifer" <[hidden email]>;
> <[hidden email]>
> Sent: Thursday, July 10, 2003 12:13 AM
> Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex
>
>
> > Is the simplex optimization still valid for more than 2 dimensions? It
> does
> > not work with CIR+ or G2++ and I don't know yet where the problem is....
> Has
> > anybody made it working with the CIR + Jamshidian Swaption?
> >
> > Regards,
> >
> > Zakoian
> >
> > -----Original Message-----
> > From: [hidden email]
> > [mailto:[hidden email]]On Behalf Of
Giancarlo

> > Pfeifer
> > Sent: Friday, June 27, 2003 4:09 PM
> > To: [hidden email]
> > Subject: [Quantlib-users] Re: bermudan swaption, simplex
> >
> >
> > > 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 "lambd
a"
> > 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.
> >
>
****************************************************************************

> > ***
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email is sponsored by: INetU
> > Attention Web Developers & Consultants: Become An INetU Hosting Partner.
> > Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
> > INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
> > _______________________________________________
> > Quantlib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
> >
> >
> >
> > -------------------------------------------------------
> > This SF.Net email sponsored by: Parasoft
> > Error proof Web apps, automate testing & more.
> > Download & eval WebKing and get a free book.
> > www.parasoft.com/bulletproofapps
> > _______________________________________________
> > Quantlib-users mailing list
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

Re: Re: bermudan swaption, simplex

Sadruddin Rejeb-4
In reply to this post by Luigi Ballabio-2
Hello everyone,

On Thursday 10 July 2003 11:51, Luigi Ballabio wrote:
> Sad, may you step in? What was the status of two-factor models?
Well, if you want these models to work, you will have to dig into the dirt!
Basically, G2++ was just here to see if multi-factor short-rate models can
integrate into the current framework. It was hardly numerically tested at
all.

Regards,
Sad


Reply | Threaded
Open this post in threaded view
|

Re: Re: bermudan swaption, simplex

Toyin Akin-4
Hi Sad,

Does this apply to the CIR+ model also?
If not, what scenarios does it work under?

Best Regards,
Toyin Akin.

----- Original Message -----
From: "Sad" <[hidden email]>
To: <[hidden email]>
Sent: Tuesday, July 15, 2003 2:01 PM
Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex


> Hello everyone,
>
> On Thursday 10 July 2003 11:51, Luigi Ballabio wrote:
> > Sad, may you step in? What was the status of two-factor models?
> Well, if you want these models to work, you will have to dig into the
dirt!

> Basically, G2++ was just here to see if multi-factor short-rate models can
> integrate into the current framework. It was hardly numerically tested at
> all.
>
> Regards,
> Sad
>
>
> -------------------------------------------------------
> This SF.Net email sponsored by: Parasoft
> Error proof Web apps, automate testing & more.
> Download & eval WebKing and get a free book.
> www.parasoft.com/bulletproofapps1
> _______________________________________________
> Quantlib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



Reply | Threaded
Open this post in threaded view
|

RE: Re: bermudan swaption, simplex

Nehal Patel
In reply to this post by Giancarlo Pfeifer
FYI,
The constructor of g2 has a bug in it... the m_ member variable never gets
initialized and so when the constructor runs you get a "null pointer"
exception (excuse my java-speak).  

I noticed this when I tried to modify the Bermudan swaption example to
include g2.  I added a section something like:

Handle<Model> modelG2(new G2(rhTermStructure));
time(&tstart);
bermudanSwaption.setPricingEngine(
 Handle<PricingEngine>(new TreeSwaption(modelG2, 40)));
std::cout << "G2:       " << bermudanSwaption.NPV() << std::endl;
std::cout << "Elapsed time : " << time(&tend)-tstart << std::endl <<
std::endl ;

Obviously this is an uncalibrated g2 w/ default parameters so the price is
meaningless in comparison with the other models, but I was curious how slow
a 2factor tree might be in comparison to the 1 factor models.

If one actually wanted to calibrate g2, what's the best way to do this?  

time(&tstart);
std::cout << "G2: " << std::endl;
swaptions.setPricingEngine(
    Handle<PricingEngine>(new TreeSwaption(modelG2, grid)));
calibrateModel(modelG2, swaptions, 0.25);
std::cout << "calibrated to "
          << ArrayFormatter::toString(modelG2->params(),6)
          << std::endl;
std::cout << "Elapsed time : " << time(&tend)-tstart << std::endl <<
std::endl ;

...might take forever to run.  

swaptions.setPricingEngine(
    Handle<PricingEngine>(new JamshidianSwaption(modelG2));

compiles but results in a run time "null pointer" error.  (I haven't
throroughly investigated, but it seems that modelG2 is of type
Handle<Model>, which is somehow allowed to be implicitly be cast to Handle<
ShortRateModels::OneFactorAffineModel>, but this cast must be done using
dynamic_cast because the resulting "pointer" is null.  Hope that's not too
confusing.  I'm not sure exactly what change to Handle or JamshidianSwaption
could be made to detect this error at compile time.)

Anyway it seems to do a quick calibration of g2, you would either need a
special JamshidianG2Swaption class which could utilize G2 "analytic" zero
coupon bond formula, or better yet somehow modify/expand/generalize G2 and
JamshidianSwaption so that my naïve attempt above would work.  

I'll think a little about this but I thought I'd share my limited experience
so far.  

Cheers, nehal


-----Original Message-----
From: Sad [mailto:[hidden email]]
Sent: Tuesday, July 15, 2003 8:01 AM
To: [hidden email]
Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex

Hello everyone,

On Thursday 10 July 2003 11:51, Luigi Ballabio wrote:
> Sad, may you step in? What was the status of two-factor models?
Well, if you want these models to work, you will have to dig into the dirt!
Basically, G2++ was just here to see if multi-factor short-rate models can
integrate into the current framework. It was hardly numerically tested at
all.

Regards,
Sad


-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


Reply | Threaded
Open this post in threaded view
|

RE: Re: bermudan swaption, simplex

Zakoian2000
Nehal,

Thank you very very much for your deep response. I will think about what you
have said and re-look at the code.

Regards,

Zakoian

-----Original Message-----
From: [hidden email]
[mailto:[hidden email]]On Behalf Of Nehal Patel
Sent: Tuesday, July 15, 2003 5:49 PM
To: '[hidden email]'; '[hidden email]'
Subject: RE: [Quantlib-users] Re: bermudan swaption, simplex


FYI,
The constructor of g2 has a bug in it... the m_ member variable never gets
initialized and so when the constructor runs you get a "null pointer"
exception (excuse my java-speak).

I noticed this when I tried to modify the Bermudan swaption example to
include g2.  I added a section something like:

Handle<Model> modelG2(new G2(rhTermStructure));
time(&tstart);
bermudanSwaption.setPricingEngine(
 Handle<PricingEngine>(new TreeSwaption(modelG2, 40)));
std::cout << "G2:       " << bermudanSwaption.NPV() << std::endl;
std::cout << "Elapsed time : " << time(&tend)-tstart << std::endl <<
std::endl ;

Obviously this is an uncalibrated g2 w/ default parameters so the price is
meaningless in comparison with the other models, but I was curious how slow
a 2factor tree might be in comparison to the 1 factor models.

If one actually wanted to calibrate g2, what's the best way to do this?

time(&tstart);
std::cout << "G2: " << std::endl;
swaptions.setPricingEngine(
    Handle<PricingEngine>(new TreeSwaption(modelG2, grid)));
calibrateModel(modelG2, swaptions, 0.25);
std::cout << "calibrated to "
          << ArrayFormatter::toString(modelG2->params(),6)
          << std::endl;
std::cout << "Elapsed time : " << time(&tend)-tstart << std::endl <<
std::endl ;

...might take forever to run.

swaptions.setPricingEngine(
    Handle<PricingEngine>(new JamshidianSwaption(modelG2));

compiles but results in a run time "null pointer" error.  (I haven't
throroughly investigated, but it seems that modelG2 is of type
Handle<Model>, which is somehow allowed to be implicitly be cast to Handle<
ShortRateModels::OneFactorAffineModel>, but this cast must be done using
dynamic_cast because the resulting "pointer" is null.  Hope that's not too
confusing.  I'm not sure exactly what change to Handle or JamshidianSwaption
could be made to detect this error at compile time.)

Anyway it seems to do a quick calibration of g2, you would either need a
special JamshidianG2Swaption class which could utilize G2 "analytic" zero
coupon bond formula, or better yet somehow modify/expand/generalize G2 and
JamshidianSwaption so that my naïve attempt above would work.

I'll think a little about this but I thought I'd share my limited experience
so far.

Cheers, nehal


-----Original Message-----
From: Sad [mailto:[hidden email]]
Sent: Tuesday, July 15, 2003 8:01 AM
To: [hidden email]
Subject: Re: [Quantlib-users] Re: bermudan swaption, simplex

Hello everyone,

On Thursday 10 July 2003 11:51, Luigi Ballabio wrote:
> Sad, may you step in? What was the status of two-factor models?
Well, if you want these models to work, you will have to dig into the dirt!
Basically, G2++ was just here to see if multi-factor short-rate models can
integrate into the current framework. It was hardly numerically tested at
all.

Regards,
Sad


-------------------------------------------------------
This SF.Net email sponsored by: Parasoft
Error proof Web apps, automate testing & more.
Download & eval WebKing and get a free book.
www.parasoft.com/bulletproofapps1
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Quantlib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users