QL XL - swaption vol cube

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

QL XL - swaption vol cube

Circo Giuseppe (DAM)
Hi all,

I'm trying to construct a swaption vol cube based on standalone and
serialization examples that are given with qlxl package.  

The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
cube cube is less obvious. There are basically 2 functions:

qlSwaptionVolCube1
qlSwaptionVolCube2

For VolCube1, a sample is included in serialization market data. From my
understanding, the VolCube1 function uses the Sabr interpolation and
defines parameters to fit the inputs. I have two questions:
1/  Where does the initial value of (column b to e in
swaptionvolatilities.xls) come from?
Alpha Beta Nu Rho
 2/ why should we input the SwapIndexBase and the ShortSwapIndexBase

For VolCube2, is this a linear piece-wise interpolation?

thank you for your help,

ciao,


-------------------------------------------------------------------------
Dexia disclaimer:

http://www.dexia.com/maildisclaimer.htm
-------------------------------------------------------------------------


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: QL XL - swaption vol cube

MikeD
Use qlSwaptionVolCube2, as VolCube1 isn't implemented properly and will cause your system to crash (at least that's what it did for me)

For your SABR parameters, a good place to start is to extract them from the implied skew in the marketplace.  Try computing implied vols from swaption quotes (both ATM and OTM), and use them in the qlSabrInterpolation function.  Then use the following to extract the best fit parameters from that newly created SABR object:

qlSabrInterpolationAlpha
qlSabrInterpolationBeta
qlSabrInterpolationNu
qlSabrInterpolationRho

This should at least get you far enough to continue.

Don't forget to use qlSwaptionVolCube2 instead of qlSwaptionVolCube1...

- Mike

On Wed, Jul 14, 2010 at 7:36 AM, Circo Giuseppe (DAM) <[hidden email]> wrote:
Hi all,

I'm trying to construct a swaption vol cube based on standalone and
serialization examples that are given with qlxl package.

The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
cube cube is less obvious. There are basically 2 functions:

qlSwaptionVolCube1
qlSwaptionVolCube2

For VolCube1, a sample is included in serialization market data. From my
understanding, the VolCube1 function uses the Sabr interpolation and
defines parameters to fit the inputs. I have two questions:
1/  Where does the initial value of (column b to e in
swaptionvolatilities.xls) come from?
Alpha   Beta    Nu      Rho
 2/ why should we input the SwapIndexBase and the ShortSwapIndexBase

For VolCube2, is this a linear piece-wise interpolation?

thank you for your help,

ciao,


-------------------------------------------------------------------------
Dexia disclaimer:

http://www.dexia.com/maildisclaimer.htm
-------------------------------------------------------------------------


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Antwort: Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

Peter Caspers
qlSwaptionVolCube1 works fine also (at least for me ;-) ). You have to
provide start values for the sabr parameters and specify which should be
held fixed during calibration (e.g. beta).
qlSwaptionVolCube2 uses linear interpolation.

you can use e.g. a short index with a tenor of 1y and 3m ibor index and the
other index with a tenor of 30y (does not matter, isnt used) and 6m ibor
index. That means that ATM is computed using the short index (swap vs. 3m)
if tenor <= 1y and using the other index (swap vs. 6m) if tenor >= 2y. EUR
Swaptions are usually quoted like this.

There was a bug concerning this ATM calculation when you use different
discounting and estimation curves (the exogeneous discouting curve not
being taken into account). I do not know if this is corrected in newer
versions. Otherwise I can send you a patch, if you are interested.

Also note that extracted (inter- and extrapolated) volatilities from the
cubes are following the same short / long swap index convention as defined
above. Again, I can send you an extension of the cube class which converts
vols to other swap indices using normal vols.

Peter



                                                                           
             Mike DelMedico                                                
             <mike.delmedico@g                                            
             mail.com>                                                  An
                                        "Circo Giuseppe (DAM)"            
             15.07.2010 03:34           <[hidden email]>        
                                                                     Kopie
                                        [hidden email]
                                        et                                
                                                                     Thema
                                        Re: [Quantlib-users] QL XL -      
                                        swaption vol cube <erfolgreich auf
                                        Virenfreiheit geprueft>            
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Use qlSwaptionVolCube2, as VolCube1 isn't implemented properly and will
cause your system to crash (at least that's what it did for me)

For your SABR parameters, a good place to start is to extract them from the
implied skew in the marketplace.  Try computing implied vols from swaption
quotes (both ATM and OTM), and use them in the qlSabrInterpolation
function.  Then use the following to extract the best fit parameters from
that newly created SABR object:

qlSabrInterpolationAlpha
qlSabrInterpolationBeta
qlSabrInterpolationNu
qlSabrInterpolationRho

This should at least get you far enough to continue.

Don't forget to use qlSwaptionVolCube2 instead of qlSwaptionVolCube1...

- Mike

On Wed, Jul 14, 2010 at 7:36 AM, Circo Giuseppe (DAM) <
[hidden email]> wrote:
      Hi all,

      I'm trying to construct a swaption vol cube based on standalone and
      serialization examples that are given with qlxl package.

      The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
      cube cube is less obvious. There are basically 2 functions:

      qlSwaptionVolCube1
      qlSwaptionVolCube2

      For VolCube1, a sample is included in serialization market data. From
      my
      understanding, the VolCube1 function uses the Sabr interpolation and
      defines parameters to fit the inputs. I have two questions:
      1/  Where does the initial value of (column b to e in
      swaptionvolatilities.xls) come from?
      Alpha   Beta    Nu      Rho 2/ why should we input the SwapIndexBase
      and the ShortSwapIndexBase

      For VolCube2, is this a linear piece-wise interpolation?

      thank you for your help,

      ciao,


      -------------------------------------------------------------------------

      Dexia disclaimer:

      http://www.dexia.com/maildisclaimer.htm
      -------------------------------------------------------------------------



      ------------------------------------------------------------------------------

      This SF.net email is sponsored by Sprint
      What will you do first with EVO, the first 4G phone?
      Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users
------------------------------------------------------------------------------

This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------------------------------------------------------------------------------
WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg,
Uwe Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt
oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail
verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen
Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten
Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der
sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this
reason our e-mail messages are generally not legally binding. This
electronic message (including any attachments) contains confidential
information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee
only. Please be aware that any copy, distribution or use of the contents of
this message by any other person than the intended addressee is prohibited.

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Antwort: Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

Circo Giuseppe (DAM)
Hi Casper,

thank you for your reply,

Could you send me your patch converting vols into other swap indices?

regards,


-----Original Message-----
From: Peter Caspers [mailto:[hidden email]]
Sent: 15 July 2010 08:16
To: Circo Giuseppe (DAM); [hidden email]
Cc: [hidden email]
Subject: Antwort: Re: [Quantlib-users] QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

qlSwaptionVolCube1 works fine also (at least for me ;-) ). You have to provide start values for the sabr parameters and specify which should be held fixed during calibration (e.g. beta).
qlSwaptionVolCube2 uses linear interpolation.

you can use e.g. a short index with a tenor of 1y and 3m ibor index and the other index with a tenor of 30y (does not matter, isnt used) and 6m ibor index. That means that ATM is computed using the short index (swap vs. 3m) if tenor <= 1y and using the other index (swap vs. 6m) if tenor >= 2y. EUR Swaptions are usually quoted like this.

There was a bug concerning this ATM calculation when you use different discounting and estimation curves (the exogeneous discouting curve not being taken into account). I do not know if this is corrected in newer versions. Otherwise I can send you a patch, if you are interested.

Also note that extracted (inter- and extrapolated) volatilities from the cubes are following the same short / long swap index convention as defined above. Again, I can send you an extension of the cube class which converts vols to other swap indices using normal vols.

Peter



                                                                           
             Mike DelMedico                                                
             <mike.delmedico@g                                            
             mail.com>                                                  An
                                        "Circo Giuseppe (DAM)"            
             15.07.2010 03:34           <[hidden email]>        
                                                                     Kopie
                                        [hidden email]
                                        et                                
                                                                     Thema
                                        Re: [Quantlib-users] QL XL -      
                                        swaption vol cube <erfolgreich auf
                                        Virenfreiheit geprueft>            
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Use qlSwaptionVolCube2, as VolCube1 isn't implemented properly and will cause your system to crash (at least that's what it did for me)

For your SABR parameters, a good place to start is to extract them from the implied skew in the marketplace.  Try computing implied vols from swaption quotes (both ATM and OTM), and use them in the qlSabrInterpolation function.  Then use the following to extract the best fit parameters from that newly created SABR object:

qlSabrInterpolationAlpha
qlSabrInterpolationBeta
qlSabrInterpolationNu
qlSabrInterpolationRho

This should at least get you far enough to continue.

Don't forget to use qlSwaptionVolCube2 instead of qlSwaptionVolCube1...

- Mike

On Wed, Jul 14, 2010 at 7:36 AM, Circo Giuseppe (DAM) < [hidden email]> wrote:
      Hi all,

      I'm trying to construct a swaption vol cube based on standalone and
      serialization examples that are given with qlxl package.

      The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
      cube cube is less obvious. There are basically 2 functions:

      qlSwaptionVolCube1
      qlSwaptionVolCube2

      For VolCube1, a sample is included in serialization market data. From
      my
      understanding, the VolCube1 function uses the Sabr interpolation and
      defines parameters to fit the inputs. I have two questions:
      1/  Where does the initial value of (column b to e in
      swaptionvolatilities.xls) come from?
      Alpha   Beta    Nu      Rho 2/ why should we input the SwapIndexBase
      and the ShortSwapIndexBase

      For VolCube2, is this a linear piece-wise interpolation?

      thank you for your help,

      ciao,


      -------------------------------------------------------------------------

      Dexia disclaimer:

      http://www.dexia.com/maildisclaimer.htm
      -------------------------------------------------------------------------



      ------------------------------------------------------------------------------

      This SF.net email is sponsored by Sprint
      What will you do first with EVO, the first 4G phone?
      Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users
------------------------------------------------------------------------------

This SF.net email is sponsored by Sprint What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------------------------------------------------------------------------------
WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg, Uwe Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this reason our e-mail messages are generally not legally binding. This electronic message (including any attachments) contains confidential information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee only. Please be aware that any copy, distribution or use of the contents of this message by any other person than the intended addressee is prohibited.

-------------------------------------------------------------------------
Dexia disclaimer:

http://www.dexia.com/maildisclaimer.htm
-------------------------------------------------------------------------


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Antwort: RE: Antwort: Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

Peter Caspers

Hi Giuseppe,
here are my modified files (based on ql 1.0.0), modifications are marked
with //PC.
best regards, Peter

(See attached file: swaptionvolcube.hpp.zip)(See attached file:
swapindex.cpp.zip)(See attached file: swapindex.hpp.zip)(See attached file:
swaptionvolcube.cpp.zip)



                                                                       
             "Circo Giuseppe                                          
             (DAM)"                                                    
             <giuseppe.circo@d                                          An
             exia.com>                  "Peter Caspers"                
                                        <[hidden email]>,    
             15.07.2010 09:31           <[hidden email]>    
                                                                     Kopie
                                        <[hidden email].
                                        net>                          
                                                                     Thema
                                        RE: Antwort: Re: [Quantlib-users]
                                        QL XL - swaption vol cube      
                                        <erfolgreich auf Virenfreiheit
                                        geprueft>                      
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       




Hi Casper,

thank you for your reply,

Could you send me your patch converting vols into other swap indices?

regards,


-----Original Message-----
From: Peter Caspers [mailto:[hidden email]]
Sent: 15 July 2010 08:16
To: Circo Giuseppe (DAM); [hidden email]
Cc: [hidden email]
Subject: Antwort: Re: [Quantlib-users] QL XL - swaption vol cube
<erfolgreich auf Virenfreiheit geprueft>

qlSwaptionVolCube1 works fine also (at least for me ;-) ). You have to
provide start values for the sabr parameters and specify which should be
held fixed during calibration (e.g. beta).
qlSwaptionVolCube2 uses linear interpolation.

you can use e.g. a short index with a tenor of 1y and 3m ibor index and the
other index with a tenor of 30y (does not matter, isnt used) and 6m ibor
index. That means that ATM is computed using the short index (swap vs. 3m)
if tenor <= 1y and using the other index (swap vs. 6m) if tenor >= 2y. EUR
Swaptions are usually quoted like this.

There was a bug concerning this ATM calculation when you use different
discounting and estimation curves (the exogeneous discouting curve not
being taken into account). I do not know if this is corrected in newer
versions. Otherwise I can send you a patch, if you are interested.

Also note that extracted (inter- and extrapolated) volatilities from the
cubes are following the same short / long swap index convention as defined
above. Again, I can send you an extension of the cube class which converts
vols to other swap indices using normal vols.

Peter




             Mike DelMedico
             <mike.delmedico@g
             mail.com>                                                  An
                                        "Circo Giuseppe (DAM)"
             15.07.2010 03:34           <[hidden email]>
                                                                     Kopie
                                        [hidden email]
                                        et
                                                                     Thema
                                        Re: [Quantlib-users] QL XL -
                                        swaption vol cube <erfolgreich auf
                                        Virenfreiheit geprueft>










Use qlSwaptionVolCube2, as VolCube1 isn't implemented properly and will
cause your system to crash (at least that's what it did for me)

For your SABR parameters, a good place to start is to extract them from the
implied skew in the marketplace.  Try computing implied vols from swaption
quotes (both ATM and OTM), and use them in the qlSabrInterpolation
function.  Then use the following to extract the best fit parameters from
that newly created SABR object:

qlSabrInterpolationAlpha
qlSabrInterpolationBeta
qlSabrInterpolationNu
qlSabrInterpolationRho

This should at least get you far enough to continue.

Don't forget to use qlSwaptionVolCube2 instead of qlSwaptionVolCube1...

- Mike

On Wed, Jul 14, 2010 at 7:36 AM, Circo Giuseppe (DAM) <
[hidden email]> wrote:
      Hi all,

      I'm trying to construct a swaption vol cube based on standalone and
      serialization examples that are given with qlxl package.

      The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
      cube cube is less obvious. There are basically 2 functions:

      qlSwaptionVolCube1
      qlSwaptionVolCube2

      For VolCube1, a sample is included in serialization market data. From
      my
      understanding, the VolCube1 function uses the Sabr interpolation and
      defines parameters to fit the inputs. I have two questions:
      1/  Where does the initial value of (column b to e in
      swaptionvolatilities.xls) come from?
      Alpha   Beta    Nu      Rho 2/ why should we input the SwapIndexBase
      and the ShortSwapIndexBase

      For VolCube2, is this a linear piece-wise interpolation?

      thank you for your help,

      ciao,



-------------------------------------------------------------------------

      Dexia disclaimer:

      http://www.dexia.com/maildisclaimer.htm

-------------------------------------------------------------------------




------------------------------------------------------------------------------


      This SF.net email is sponsored by Sprint
      What will you do first with EVO, the first 4G phone?
      Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users
------------------------------------------------------------------------------


This SF.net email is sponsored by Sprint What will you do first with EVO,
the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------------------------------------------------------------------------------

WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg, Uwe
Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt
oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail
verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen
Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten
Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der
sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this
reason our e-mail messages are generally not legally binding. This
electronic message (including any attachments) contains confidential
information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee
only. Please be aware that any copy, distribution or use of the contents of
this message by any other person than the intended addressee is prohibited.

-------------------------------------------------------------------------
Dexia disclaimer:

http://www.dexia.com/maildisclaimer.htm
-------------------------------------------------------------------------


------------------------------------------------------------------------------------------------------------------------------------------------------
WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg,
Uwe Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt
oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail
verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen
Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten
Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der
sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this
reason our e-mail messages are generally not legally binding. This
electronic message (including any attachments) contains confidential
information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee
only. Please be aware that any copy, distribution or use of the contents of
this message by any other person than the intended addressee is prohibited.
------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

swaptionvolcube.hpp.zip (2K) Download Attachment
swapindex.cpp.zip (2K) Download Attachment
swapindex.hpp.zip (2K) Download Attachment
swaptionvolcube.cpp.zip (3K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Antwort: RE: Antwort: Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

Luigi Ballabio
On Thu, 2010-07-15 at 13:05 +0200, Peter Caspers wrote:
> Hi Giuseppe,
> here are my modified files (based on ql 1.0.0), modifications are marked
> with //PC.

Peter,
        please remind me what do your patches do?  I'll include them in the
next release if the bug is still not fixed, but I'm not familiar with
that part of the code.

Thanks,
        Luigi


--

This gubblick contains many nonsklarkish English flutzpahs, but the
overall pluggandisp can be glorked from context.
-- David Moser



------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Antwort: Re: Antwort: RE: Antwort: Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

Peter Caspers
yes, of course. Nando said something about experimental classes that could
contain something, but I did not have time to have a closer look yet.

Anyway, these are my modifications:

swapindex: I added a method discountingTermstructure which returns the
disounting termstructure in case an exogeneous discount curve is present
and an empty Handle, if not. This is needed by the patch in swaptionVolCube

swaptionVolCube: I modified the atmStrike method such that if the short /
long swap index base has an exogeneous discounting termstructure then the
estimation of the forward takes this into account.

btw, could you also fix this: the swapindex class in QuantLibObjects always
uses the QuantLib - constructor with discount curve, even in the case when
none is given (and then the object does not work). In the case when no
discount curve is given however it would be better to use the
QuantLib-constructor without discount curve (in order to set
exogeneousDiscount_ to false, then everything works fine again).

So much for the bugs.

Furthermore I added a new method nonQuotedIndexVolatility (to be considered
"experimental" of course) to swaptionVolCube which allows to convert a
volatility from the cube to a different swap index. There are five
methodologies available to do this defined as an enumerated type and which
are more or less self explaining from the code. I already did the export of
this new method and the enumeration to excel. If you want, I can send you
the code snippets.

Best regards
Peter





                                                                           
             Luigi Ballabio                                                
             <luigi.ballabio@g                                            
             mail.com>                                                  An
                                        Peter Caspers                      
             16.07.2010 17:15           <[hidden email]>        
                                                                     Kopie
                                        [hidden email],          
              Bitte antworten           [hidden email]
                    an                  et                                
             luigi.ballabio@gm                                       Thema
                  ail.com               Re: [Quantlib-users] Antwort: RE:  
                                        Antwort: Re: QL XL - swaption vol  
                                        cube <erfolgreich auf              
                                        Virenfreiheit geprueft>            
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




On Thu, 2010-07-15 at 13:05 +0200, Peter Caspers wrote:
> Hi Giuseppe,
> here are my modified files (based on ql 1.0.0), modifications are marked
> with //PC.

Peter,
             please remind me what do your patches do?  I'll include them
in the
next release if the bug is still not fixed, but I'm not familiar with
that part of the code.

Thanks,
             Luigi


--

This gubblick contains many nonsklarkish English flutzpahs, but the
overall pluggandisp can be glorked from context.
-- David Moser



------------------------------------------------------------------------------------------------------------------------------------------------------
WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg,
Uwe Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt
oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail
verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen
Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten
Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der
sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this
reason our e-mail messages are generally not legally binding. This
electronic message (including any attachments) contains confidential
information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee
only. Please be aware that any copy, distribution or use of the contents of
this message by any other person than the intended addressee is prohibited.

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: QL XL - swaption vol cube <erfolgreich auf Virenfreiheit geprueft>

MikeD
In reply to this post by Peter Caspers
Are the start values for the sabr parameters just a matrix?  I'm confused how you would set it up.  Do you need a matrix of alpha,beta,rho,nu for each input point on the cube (so if I had 4 tenors and 4 option expiries, i would have 16 points that need 4 sabr parameters each = 64 guesses for the cube input?)  Or is it simply a single vector of 4 sabr parameters?  The help file says "vector<vector<string>>, which would imply a matrix, but it's implementation is not straightforward.

On a side note, how is volcube1 interpolating the ATM vol surface?  Is it simply linear between input points?  volcube2 is doing linear interpolation between points, but this is fairly rudimentary, since most markets are fitting the vol surface using some type of smoothed surface (maybe bicubic implementation would be better for volcube2, or at least an argument that lets the user specify which method to use).

- Mike

On Thu, Jul 15, 2010 at 1:16 AM, Peter Caspers <[hidden email]> wrote:
qlSwaptionVolCube1 works fine also (at least for me ;-) ). You have to
provide start values for the sabr parameters and specify which should be
held fixed during calibration (e.g. beta).
qlSwaptionVolCube2 uses linear interpolation.

you can use e.g. a short index with a tenor of 1y and 3m ibor index and the
other index with a tenor of 30y (does not matter, isnt used) and 6m ibor
index. That means that ATM is computed using the short index (swap vs. 3m)
if tenor <= 1y and using the other index (swap vs. 6m) if tenor >= 2y. EUR
Swaptions are usually quoted like this.

There was a bug concerning this ATM calculation when you use different
discounting and estimation curves (the exogeneous discouting curve not
being taken into account). I do not know if this is corrected in newer
versions. Otherwise I can send you a patch, if you are interested.

Also note that extracted (inter- and extrapolated) volatilities from the
cubes are following the same short / long swap index convention as defined
above. Again, I can send you an extension of the cube class which converts
vols to other swap indices using normal vols.

Peter




            Mike DelMedico
            <mike.delmedico@g
            mail.com>                                                  An
                                       "Circo Giuseppe (DAM)"
            15.07.2010 03:34           <[hidden email]>
                                                                    Kopie
                                       [hidden email]
                                       et
                                                                    Thema
                                       Re: [Quantlib-users] QL XL -
                                       swaption vol cube <erfolgreich auf
                                       Virenfreiheit geprueft>










Use qlSwaptionVolCube2, as VolCube1 isn't implemented properly and will
cause your system to crash (at least that's what it did for me)

For your SABR parameters, a good place to start is to extract them from the
implied skew in the marketplace.  Try computing implied vols from swaption
quotes (both ATM and OTM), and use them in the qlSabrInterpolation
function.  Then use the following to extract the best fit parameters from
that newly created SABR object:

qlSabrInterpolationAlpha
qlSabrInterpolationBeta
qlSabrInterpolationNu
qlSabrInterpolationRho

This should at least get you far enough to continue.

Don't forget to use qlSwaptionVolCube2 instead of qlSwaptionVolCube1...

- Mike

On Wed, Jul 14, 2010 at 7:36 AM, Circo Giuseppe (DAM) <
[hidden email]> wrote:
     Hi all,

     I'm trying to construct a swaption vol cube based on standalone and
     serialization examples that are given with qlxl package.

     The ATM vol matrix is easy to build with qlSwaptionVTSMatrix, but the
     cube cube is less obvious. There are basically 2 functions:

     qlSwaptionVolCube1
     qlSwaptionVolCube2

     For VolCube1, a sample is included in serialization market data. From
     my
     understanding, the VolCube1 function uses the Sabr interpolation and
     defines parameters to fit the inputs. I have two questions:
     1/  Where does the initial value of (column b to e in
     swaptionvolatilities.xls) come from?
     Alpha   Beta    Nu      Rho  2/ why should we input the SwapIndexBase
     and the ShortSwapIndexBase

     For VolCube2, is this a linear piece-wise interpolation?

     thank you for your help,

     ciao,


     -------------------------------------------------------------------------

     Dexia disclaimer:

     http://www.dexia.com/maildisclaimer.htm
     -------------------------------------------------------------------------



     ------------------------------------------------------------------------------

     This SF.net email is sponsored by Sprint
     What will you do first with EVO, the first 4G phone?
     Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
     _______________________________________________
     QuantLib-users mailing list
     [hidden email]
     https://lists.sourceforge.net/lists/listinfo/quantlib-users
------------------------------------------------------------------------------

This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------------------------------------------------------------------------------
WGZ BANK AG Westdeutsche Genossenschafts-Zentralbank
Sitz: Düsseldorf, Registergericht: Amtsgericht Düsseldorf, HRB 52363
Vorstand: Werner Böhnke (Vors.), Karl-Heinz Moll, Hans-Bernd Wolberg,
Uwe Berghaus (stellv.), Dr. Christian Brauckmann (stellv.), Michael Speth
(stellv.)
Vorsitzender des Aufsichtsrats: Dieter Philipp

Ueber das Internet versandte E-Mails koennen unter fremdem Namen erstellt
oder inhaltlich veraendert werden. Aus diesem Grund sind unsere als E-Mail
verschickten Nachrichten grundsaetzlich keine rechtsverbindlichen
Erklaerungen. Der Inhalt dieser E-Mail samt Anlagen ist vertraulich und u.
U. rechtlich geschuetzt. Der Inhalt ist ausschließlich an einen bestimmten
Empfaenger gerichtet. Eine Weitergabe, die Herstellung von Kopien oder der
sonstige Gebrauch durch Nichtadressaten ist nicht erlaubt.

Messages sent by e-mail can be manipulated by third parties. For this
reason our e-mail messages are generally not legally binding. This
electronic message (including any attachments) contains confidential
information and may be privileged or otherwise protected from disclosure.
The information is intended to be for the use of the intended addressee
only. Please be aware that any copy, distribution or use of the contents of
this message by any other person than the intended addressee is prohibited.


------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://ad.doubleclick.net/clk;226879339;13503038;l?
http://clk.atdmt.com/CRS/go/247765532/direct/01/
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users