Is there any example using Quantlib for mutli-curve bootstrapping?

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

Is there any example using Quantlib for mutli-curve bootstrapping?

Hengli Zhang
Hi All,

Just wondering anyone know any sample codes to run a multiple interest rate curve bootstrapping?

Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

Bootstrapping the Illiquidity: Multiple Yield Curves Construction for Market Coherent Forward Rates Estimation

that they have implemented the algorithms within QuantLib framework.

So just wondering if anyone know any example of how to run this in QuantLib.

Thanks.
--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

John Orford
Hengli,

The python bond examples included on Github might be of help.

John 


On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
Hi All,

Just wondering anyone know any sample codes to run a multiple interest rate curve bootstrapping?

Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

Bootstrapping the Illiquidity: Multiple Yield Curves Construction for Market Coherent Forward Rates Estimation

that they have implemented the algorithms within QuantLib framework.

So just wondering if anyone know any example of how to run this in QuantLib.

Thanks.
--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Hengli Zhang
Thanks John. This is very helpful. Although it's still single-curve bootstrapping, I may be able to figure out how to do it for multi-curve.


On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]> wrote:
Hengli,

The python bond examples included on Github might be of help.

John 


On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
Hi All,

Just wondering anyone know any sample codes to run a multiple interest rate curve bootstrapping?

Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

Bootstrapping the Illiquidity: Multiple Yield Curves Construction for Market Coherent Forward Rates Estimation

that they have implemented the algorithms within QuantLib framework.

So just wondering if anyone know any example of how to run this in QuantLib.

Thanks.
--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users





--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

John Orford
Oh maybe take a look at the swap example then?  I see the discount term structure is created from FRA, future, deposit and swap info.  Then again I may have misunderstood what you're looking for - only skimmed that paper quite a while ago.


On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
Thanks John. This is very helpful. Although it's still single-curve bootstrapping, I may be able to figure out how to do it for multi-curve.


On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]> wrote:
Hengli,

The python bond examples included on Github might be of help.

John 


On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
Hi All,

Just wondering anyone know any sample codes to run a multiple interest rate curve bootstrapping?

Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

Bootstrapping the Illiquidity: Multiple Yield Curves Construction for Market Coherent Forward Rates Estimation

that they have implemented the algorithms within QuantLib framework.

So just wondering if anyone know any example of how to run this in QuantLib.

Thanks.
--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users





--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago


------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Hengli Zhang
Thanks John. I guess in multi-curve, the discounting curve is different than the underlying curve. (while in single-curve, they are the same). and, it still uses all the instruments, e.g. depo, FRA, future, swap. I'll see what i can do from the single curve example.


On Wed, Apr 23, 2014 at 9:53 PM, John Orford <[hidden email]> wrote:
Oh maybe take a look at the swap example then?  I see the discount term structure is created from FRA, future, deposit and swap info.  Then again I may have misunderstood what you're looking for - only skimmed that paper quite a while ago.


On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
Thanks John. This is very helpful. Although it's still single-curve bootstrapping, I may be able to figure out how to do it for multi-curve.


On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]> wrote:
Hengli,

The python bond examples included on Github might be of help.

John 


On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
Hi All,

Just wondering anyone know any sample codes to run a multiple interest rate curve bootstrapping?

Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

Bootstrapping the Illiquidity: Multiple Yield Curves Construction for Market Coherent Forward Rates Estimation

that they have implemented the algorithms within QuantLib framework.

So just wondering if anyone know any example of how to run this in QuantLib.

Thanks.
--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users





--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago




--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Andres Hernandez

Hi Hengli,

using a different discount and underlying curve is extremely easy in
QuantLib. The RateHelpers, e.g. SwapRateHelper, accept as parameter a
discount curve. The parameter defaults to an empty handle. Internally, if
the discount curve is not provided it is linked to the underlying curve,
but if it is provided, then the provided curve is used to produce discounts
independently from the underlying curve.

This will work fine with the EUR curves, as there are more than enough
liquid OIS instruments to bootstrap the Euro OIS curve first, and then use
it as discount curve when bootstrapping the different tenor Euribor curves.
The same is not so easy for USD, where one is likely forced to use
FedFund-USD 3M Libor basis swaps. In that case I saw two options: implement
a piecewise-term-structure bootstrapper akin to IterativeBootstrap, but
which bootstraps the two curves, USD-OIS and USD-3MLibor, concurrently; or
demand that your environment (I mean wherever you are embedding QuantLib)
provide also USD 3M Libor vanilla swap quotes. I decided myself for the
latter, as it was faster, plus USD 3M Libor vanilla swap quotes are readily
available and liquid for whatever maturity I needed. The vanilla swap I use
to replace the libor leg from the basis swap, with the fixed leg from the
vanilla swap*. I end up with an instrument which only depends on the
overnight index. I then bootstrap USD-OIS first, and then use it to
bootstrap the libor tenor curves.

*- While I ignore the difference in the averaging of the fed fund rate in
the FF-swaps and the FF basis swap, this is not a particular issue with the
second implementation, and would still exist even if implementing the
concurrent bootstrapping solution.

Mit freundlichen Grüßen / Kind regards

Dr. Andres Hernandez

Senior Financial Engineer
Business Analytics
Risk Analytics
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
 Phone:            +49-69-6645-1351               IBM Deutschland                            (Embedded
                                                                                           image moved
                                                                                              to file:
                                                                                         pic56899.gif)
                                                                       
 Mobile:           +49-163-609-3280               Wilhelm-Fay-Str. 30-34
                                                                       
 E-Mail:           [hidden email]    65936 Frankfurt am Main
                                                                       
                                                  Germany              
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
 IBM Deutschland                                                      
 GmbH /                                                                
 Vorsitzender des                                                      
 Aufsichtsrats:                                                        
 Martin Jetter                                                        
 Geschäftsführung:                                                
 Martina Koederitz                                                    
 (Vorsitzende),                                                        
 Reinhard Reschke,                                                    
 Dieter Scholz,                                                        
 Gregor Pillen,                                                        
 Christian Noll,                                                      
 Ivo Koerner                                                          
 Sitz der                                                              
 Gesellschaft:                                                        
 Ehningen /                                                            
 Registergericht:                                                      
 Amtsgericht                                                          
 Stuttgart, HRB                                                        
 14562 /                                                              
 WEEE-Reg.-Nr. DE                                                      
 99369940                                                              
                                                                       





From: Hengli Zhang <[hidden email]>
To: John Orford <[hidden email]>,
Cc: QuantLib users <[hidden email]>
Date: 04/24/2014 05:15 PM
Subject: Re: [Quantlib-users] Is there any example using Quantlib for
            mutli-curve bootstrapping?



Thanks John. I guess in multi-curve, the discounting curve is different
than the underlying curve. (while in single-curve, they are the same). and,
it still uses all the instruments, e.g. depo, FRA, future, swap. I'll see
what i can do from the single curve example.


On Wed, Apr 23, 2014 at 9:53 PM, John Orford <[hidden email]> wrote:
  Oh maybe take a look at the swap example then?  I see the discount term
  structure is created from FRA, future, deposit and swap info.  Then again
  I may have misunderstood what you're looking for - only skimmed that
  paper quite a while ago.


  On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
   Thanks John. This is very helpful. Although it's still single-curve
   bootstrapping, I may be able to figure out how to do it for multi-curve.


   On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]>
   wrote:
     Hengli,

     The python bond examples included on Github might be of help.

     John


     On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
      Hi All,

      Just wondering anyone know any sample codes to run a multiple
      interest rate curve bootstrapping?

      Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

      Bootstrapping the Illiquidity: Multiple Yield Curves Construction for
      Market Coherent Forward Rates Estimation

      that they have implemented the algorithms within QuantLib framework.

      So just wondering if anyone know any example of how to run this in
      QuantLib.

      Thanks.
      --
      Sincerely yours

      Hengli Zhang
      MSFM, University Of Chicago
      [hidden email]

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

      Start Your Social Network Today - Download eXo Platform
      Build your Enterprise Intranet with eXo Platform Software
      Java Based Open Source Intranet - Social, Extensible, Cloud Ready
      Get Started Now And Turn Your Intranet Into A Collaboration Platform
      http://p.sf.net/sfu/ExoPlatform
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users





   --
   Sincerely yours

   Hengli Zhang
   MSFM, University Of Chicago
   [hidden email]




--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago
[hidden email]
------------------------------------------------------------------------------

Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

pic56899.gif (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

letian
Hello,

I agree with Andres that one can either construct a DualCurveIterativeBoostrap class or derive a FF basis swap rate helper similar to the ois rate helper. To cater the averaging difference, it's possible to insert an averaging type flag in the ois coupon pricer.

Letian

Sent from my iPhone

> On Apr 24, 2014, at 11:52 AM, Andres Hernandez <[hidden email]> wrote:
>
>
> Hi Hengli,
>
> using a different discount and underlying curve is extremely easy in
> QuantLib. The RateHelpers, e.g. SwapRateHelper, accept as parameter a
> discount curve. The parameter defaults to an empty handle. Internally, if
> the discount curve is not provided it is linked to the underlying curve,
> but if it is provided, then the provided curve is used to produce discounts
> independently from the underlying curve.
>
> This will work fine with the EUR curves, as there are more than enough
> liquid OIS instruments to bootstrap the Euro OIS curve first, and then use
> it as discount curve when bootstrapping the different tenor Euribor curves.
> The same is not so easy for USD, where one is likely forced to use
> FedFund-USD 3M Libor basis swaps. In that case I saw two options: implement
> a piecewise-term-structure bootstrapper akin to IterativeBootstrap, but
> which bootstraps the two curves, USD-OIS and USD-3MLibor, concurrently; or
> demand that your environment (I mean wherever you are embedding QuantLib)
> provide also USD 3M Libor vanilla swap quotes. I decided myself for the
> latter, as it was faster, plus USD 3M Libor vanilla swap quotes are readily
> available and liquid for whatever maturity I needed. The vanilla swap I use
> to replace the libor leg from the basis swap, with the fixed leg from the
> vanilla swap*. I end up with an instrument which only depends on the
> overnight index. I then bootstrap USD-OIS first, and then use it to
> bootstrap the libor tenor curves.
>
> *- While I ignore the difference in the averaging of the fed fund rate in
> the FF-swaps and the FF basis swap, this is not a particular issue with the
> second implementation, and would still exist even if implementing the
> concurrent bootstrapping solution.
>
> Mit freundlichen Grüßen / Kind regards
>
> Dr. Andres Hernandez
>
> Senior Financial Engineer
> Business Analytics
> Risk Analytics
>
>
>
>
>
> Phone:            +49-69-6645-1351               IBM Deutschland                            (Embedded
>                                                                                           image moved
>                                                                                              to file:
>                                                                                         pic56899.gif)
>
> Mobile:           +49-163-609-3280               Wilhelm-Fay-Str. 30-34                              
>
> E-Mail:           [hidden email]    65936 Frankfurt am Main                              
>
>                                                  Germany                                              
>
>
>
>
>
> IBM Deutschland                                                                                      
> GmbH /                                                                                                
> Vorsitzender des                                                                                      
> Aufsichtsrats:                                                                                        
> Martin Jetter                                                                                        
> Geschäftsführung:                                                                                    
> Martina Koederitz                                                                                    
> (Vorsitzende),                                                                                        
> Reinhard Reschke,                                                                                    
> Dieter Scholz,                                                                                        
> Gregor Pillen,                                                                                        
> Christian Noll,                                                                                      
> Ivo Koerner                                                                                          
> Sitz der                                                                                              
> Gesellschaft:                                                                                        
> Ehningen /                                                                                            
> Registergericht:                                                                                      
> Amtsgericht                                                                                          
> Stuttgart, HRB                                                                                        
> 14562 /                                                                                              
> WEEE-Reg.-Nr. DE                                                                                      
> 99369940                                                                                              
>
>
>
>
>
>
> From:    Hengli Zhang <[hidden email]>
> To:    John Orford <[hidden email]>,
> Cc:    QuantLib users <[hidden email]>
> Date:    04/24/2014 05:15 PM
> Subject:    Re: [Quantlib-users] Is there any example using Quantlib for
>            mutli-curve bootstrapping?
>
>
>
> Thanks John. I guess in multi-curve, the discounting curve is different
> than the underlying curve. (while in single-curve, they are the same). and,
> it still uses all the instruments, e.g. depo, FRA, future, swap. I'll see
> what i can do from the single curve example.
>
>
> On Wed, Apr 23, 2014 at 9:53 PM, John Orford <[hidden email]> wrote:
>  Oh maybe take a look at the swap example then?  I see the discount term
>  structure is created from FRA, future, deposit and swap info.  Then again
>  I may have misunderstood what you're looking for - only skimmed that
>  paper quite a while ago.
>
>
>  On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
>   Thanks John. This is very helpful. Although it's still single-curve
>   bootstrapping, I may be able to figure out how to do it for multi-curve.
>
>
>   On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]>
>   wrote:
>     Hengli,
>
>     The python bond examples included on Github might be of help.
>
>     John
>
>
>     On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
>      Hi All,
>
>      Just wondering anyone know any sample codes to run a multiple
>      interest rate curve bootstrapping?
>
>      Ferdinando Ametrano and Marco Bianchetti mentioned in their paper
>
>      Bootstrapping the Illiquidity: Multiple Yield Curves Construction for
>      Market Coherent Forward Rates Estimation
>
>      that they have implemented the algorithms within QuantLib framework.
>
>      So just wondering if anyone know any example of how to run this in
>      QuantLib.
>
>      Thanks.
>      --
>      Sincerely yours
>
>      Hengli Zhang
>      MSFM, University Of Chicago
>      [hidden email]
>
>      ------------------------------------------------------------------------------
>
>      Start Your Social Network Today - Download eXo Platform
>      Build your Enterprise Intranet with eXo Platform Software
>      Java Based Open Source Intranet - Social, Extensible, Cloud Ready
>      Get Started Now And Turn Your Intranet Into A Collaboration Platform
>      http://p.sf.net/sfu/ExoPlatform
>      _______________________________________________
>      QuantLib-users mailing list
>      [hidden email]
>      https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
>
>
>   --
>   Sincerely yours
>
>   Hengli Zhang
>   MSFM, University Of Chicago
>   [hidden email]
>
>
>
>
> --
> Sincerely yours
>
> Hengli Zhang
> MSFM, University Of Chicago
> [hidden email]
> ------------------------------------------------------------------------------
>
> Start Your Social Network Today - Download eXo Platform
> Build your Enterprise Intranet with eXo Platform Software
> Java Based Open Source Intranet - Social, Extensible, Cloud Ready
> Get Started Now And Turn Your Intranet Into A Collaboration Platform
> http://p.sf.net/sfu/ExoPlatform
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
> <pic56899.gif>
> ------------------------------------------------------------------------------
> Start Your Social Network Today - Download eXo Platform
> Build your Enterprise Intranet with eXo Platform Software
> Java Based Open Source Intranet - Social, Extensible, Cloud Ready
> Get Started Now And Turn Your Intranet Into A Collaboration Platform
> http://p.sf.net/sfu/ExoPlatform
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Hengli Zhang
In reply to this post by Andres Hernandez
Thanks Andres and Letian. 

I understand EUR curve should be easier to build because available instruments. I'll try to build this first.


On Thu, Apr 24, 2014 at 10:52 AM, Andres Hernandez <[hidden email]> wrote:

Hi Hengli,

using a different discount and underlying curve is extremely easy in
QuantLib. The RateHelpers, e.g. SwapRateHelper, accept as parameter a
discount curve. The parameter defaults to an empty handle. Internally, if
the discount curve is not provided it is linked to the underlying curve,
but if it is provided, then the provided curve is used to produce discounts
independently from the underlying curve.

This will work fine with the EUR curves, as there are more than enough
liquid OIS instruments to bootstrap the Euro OIS curve first, and then use
it as discount curve when bootstrapping the different tenor Euribor curves.
The same is not so easy for USD, where one is likely forced to use
FedFund-USD 3M Libor basis swaps. In that case I saw two options: implement
a piecewise-term-structure bootstrapper akin to IterativeBootstrap, but
which bootstraps the two curves, USD-OIS and USD-3MLibor, concurrently; or
demand that your environment (I mean wherever you are embedding QuantLib)
provide also USD 3M Libor vanilla swap quotes. I decided myself for the
latter, as it was faster, plus USD 3M Libor vanilla swap quotes are readily
available and liquid for whatever maturity I needed. The vanilla swap I use
to replace the libor leg from the basis swap, with the fixed leg from the
vanilla swap*. I end up with an instrument which only depends on the
overnight index. I then bootstrap USD-OIS first, and then use it to
bootstrap the libor tenor curves.

*- While I ignore the difference in the averaging of the fed fund rate in
the FF-swaps and the FF basis swap, this is not a particular issue with the
second implementation, and would still exist even if implementing the
concurrent bootstrapping solution.

Mit freundlichen Grüßen / Kind regards

Dr. Andres Hernandez

Senior Financial Engineer
Business Analytics
Risk Analytics





 Phone:            <a href="tel:%2B49-69-6645-1351" value="+496966451351">+49-69-6645-1351               IBM Deutschland                            (Embedded
                                                                                           image moved
                                                                                              to file:
                                                                                         pic25636.gif)

 Mobile:           <a href="tel:%2B49-163-609-3280" value="+491636093280">+49-163-609-3280               Wilhelm-Fay-Str. 30-34

 E-Mail:           [hidden email]    65936 Frankfurt am Main

                                                  Germany





 IBM Deutschland
 GmbH /
 Vorsitzender des
 Aufsichtsrats:
 Martin Jetter
 Geschäftsführung:
 Martina Koederitz
 (Vorsitzende),
 Reinhard Reschke,
 Dieter Scholz,
 Gregor Pillen,
 Christian Noll,
 Ivo Koerner
 Sitz der
 Gesellschaft:
 Ehningen /
 Registergericht:
 Amtsgericht
 Stuttgart, HRB
 14562 /
 WEEE-Reg.-Nr. DE
 99369940






From:   Hengli Zhang <[hidden email]>
To:     John Orford <[hidden email]>,
Cc:     QuantLib users <[hidden email]>
Date:   04/24/2014 05:15 PM
Subject:        Re: [Quantlib-users] Is there any example using Quantlib for
            mutli-curve bootstrapping?



Thanks John. I guess in multi-curve, the discounting curve is different
than the underlying curve. (while in single-curve, they are the same). and,
it still uses all the instruments, e.g. depo, FRA, future, swap. I'll see
what i can do from the single curve example.


On Wed, Apr 23, 2014 at 9:53 PM, John Orford <[hidden email]> wrote:
  Oh maybe take a look at the swap example then?  I see the discount term
  structure is created from FRA, future, deposit and swap info.  Then again
  I may have misunderstood what you're looking for - only skimmed that
  paper quite a while ago.


  On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
   Thanks John. This is very helpful. Although it's still single-curve
   bootstrapping, I may be able to figure out how to do it for multi-curve.


   On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]>
   wrote:
     Hengli,

     The python bond examples included on Github might be of help.

     John


     On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
      Hi All,

      Just wondering anyone know any sample codes to run a multiple
      interest rate curve bootstrapping?

      Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

      Bootstrapping the Illiquidity: Multiple Yield Curves Construction for
      Market Coherent Forward Rates Estimation

      that they have implemented the algorithms within QuantLib framework.

      So just wondering if anyone know any example of how to run this in
      QuantLib.

      Thanks.
      --
      Sincerely yours

      Hengli Zhang
      MSFM, University Of Chicago
      [hidden email]

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

      Start Your Social Network Today - Download eXo Platform
      Build your Enterprise Intranet with eXo Platform Software
      Java Based Open Source Intranet - Social, Extensible, Cloud Ready
      Get Started Now And Turn Your Intranet Into A Collaboration Platform
      http://p.sf.net/sfu/ExoPlatform
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users





   --
   Sincerely yours

   Hengli Zhang
   MSFM, University Of Chicago
   [hidden email]




--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago
[hidden email]
------------------------------------------------------------------------------

Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Luigi Ballabio
Hello everybody,
    you're on the right track already, so I just wanted to say that if anyone manages to write an example, I'll be glad to add it to the distribution.

Later,
    Luigi



On Thu, Apr 24, 2014 at 9:36 PM, Hengli Zhang <[hidden email]> wrote:
Thanks Andres and Letian. 

I understand EUR curve should be easier to build because available instruments. I'll try to build this first.


On Thu, Apr 24, 2014 at 10:52 AM, Andres Hernandez <[hidden email]> wrote:

Hi Hengli,

using a different discount and underlying curve is extremely easy in
QuantLib. The RateHelpers, e.g. SwapRateHelper, accept as parameter a
discount curve. The parameter defaults to an empty handle. Internally, if
the discount curve is not provided it is linked to the underlying curve,
but if it is provided, then the provided curve is used to produce discounts
independently from the underlying curve.

This will work fine with the EUR curves, as there are more than enough
liquid OIS instruments to bootstrap the Euro OIS curve first, and then use
it as discount curve when bootstrapping the different tenor Euribor curves.
The same is not so easy for USD, where one is likely forced to use
FedFund-USD 3M Libor basis swaps. In that case I saw two options: implement
a piecewise-term-structure bootstrapper akin to IterativeBootstrap, but
which bootstraps the two curves, USD-OIS and USD-3MLibor, concurrently; or
demand that your environment (I mean wherever you are embedding QuantLib)
provide also USD 3M Libor vanilla swap quotes. I decided myself for the
latter, as it was faster, plus USD 3M Libor vanilla swap quotes are readily
available and liquid for whatever maturity I needed. The vanilla swap I use
to replace the libor leg from the basis swap, with the fixed leg from the
vanilla swap*. I end up with an instrument which only depends on the
overnight index. I then bootstrap USD-OIS first, and then use it to
bootstrap the libor tenor curves.

*- While I ignore the difference in the averaging of the fed fund rate in
the FF-swaps and the FF basis swap, this is not a particular issue with the
second implementation, and would still exist even if implementing the
concurrent bootstrapping solution.

Mit freundlichen Grüßen / Kind regards

Dr. Andres Hernandez

Senior Financial Engineer
Business Analytics
Risk Analytics





 Phone:            <a href="tel:%2B49-69-6645-1351" value="+496966451351" target="_blank">+49-69-6645-1351               IBM Deutschland                            (Embedded
                                                                                           image moved
                                                                                              to file:
                                                                                         pic25636.gif)


 Mobile:           <a href="tel:%2B49-163-609-3280" value="+491636093280" target="_blank">+49-163-609-3280               Wilhelm-Fay-Str. 30-34

 E-Mail:           [hidden email]    65936 Frankfurt am Main

                                                  Germany





 IBM Deutschland
 GmbH /
 Vorsitzender des
 Aufsichtsrats:
 Martin Jetter
 Geschäftsführung:
 Martina Koederitz
 (Vorsitzende),
 Reinhard Reschke,
 Dieter Scholz,
 Gregor Pillen,
 Christian Noll,
 Ivo Koerner
 Sitz der
 Gesellschaft:
 Ehningen /
 Registergericht:
 Amtsgericht
 Stuttgart, HRB
 14562 /
 WEEE-Reg.-Nr. DE
 99369940






From:   Hengli Zhang <[hidden email]>
To:     John Orford <[hidden email]>,
Cc:     QuantLib users <[hidden email]>
Date:   04/24/2014 05:15 PM
Subject:        Re: [Quantlib-users] Is there any example using Quantlib for
            mutli-curve bootstrapping?



Thanks John. I guess in multi-curve, the discounting curve is different
than the underlying curve. (while in single-curve, they are the same). and,
it still uses all the instruments, e.g. depo, FRA, future, swap. I'll see
what i can do from the single curve example.


On Wed, Apr 23, 2014 at 9:53 PM, John Orford <[hidden email]> wrote:
  Oh maybe take a look at the swap example then?  I see the discount term
  structure is created from FRA, future, deposit and swap info.  Then again
  I may have misunderstood what you're looking for - only skimmed that
  paper quite a while ago.


  On 24 April 2014 10:43, Hengli Zhang <[hidden email]> wrote:
   Thanks John. This is very helpful. Although it's still single-curve
   bootstrapping, I may be able to figure out how to do it for multi-curve.


   On Wed, Apr 23, 2014 at 8:31 PM, John Orford <[hidden email]>
   wrote:
     Hengli,

     The python bond examples included on Github might be of help.

     John


     On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
      Hi All,

      Just wondering anyone know any sample codes to run a multiple
      interest rate curve bootstrapping?

      Ferdinando Ametrano and Marco Bianchetti mentioned in their paper

      Bootstrapping the Illiquidity: Multiple Yield Curves Construction for
      Market Coherent Forward Rates Estimation

      that they have implemented the algorithms within QuantLib framework.

      So just wondering if anyone know any example of how to run this in
      QuantLib.

      Thanks.
      --
      Sincerely yours

      Hengli Zhang
      MSFM, University Of Chicago
      [hidden email]

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

      Start Your Social Network Today - Download eXo Platform
      Build your Enterprise Intranet with eXo Platform Software
      Java Based Open Source Intranet - Social, Extensible, Cloud Ready
      Get Started Now And Turn Your Intranet Into A Collaboration Platform
      http://p.sf.net/sfu/ExoPlatform
      _______________________________________________
      QuantLib-users mailing list
      [hidden email]
      https://lists.sourceforge.net/lists/listinfo/quantlib-users





   --
   Sincerely yours

   Hengli Zhang
   MSFM, University Of Chicago
   [hidden email]




--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago
[hidden email]
------------------------------------------------------------------------------

Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



--
Sincerely yours

Hengli Zhang
MSFM, University Of Chicago

------------------------------------------------------------------------------
Start Your Social Network Today - Download eXo Platform
Build your Enterprise Intranet with eXo Platform Software
Java Based Open Source Intranet - Social, Extensible, Cloud Ready
Get Started Now And Turn Your Intranet Into A Collaboration Platform
http://p.sf.net/sfu/ExoPlatform
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users




--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

figoliuxi
In reply to this post by Andres Hernandez
Dr. Andres Hernandez,

Thanks for the reply.
I am quite new to QuantLib and the multi-curve topic. When I am looking at your comments, you mentioned that "if the discount curve is not provided it is linked to the underlying curve, but if it is provided, then the provided curve is used to produce discounts independently from the underlying curve". Do you mean that if we specify the discount curve, the cash flow will not change but discount by the specified discount curve? Or the cash flow will change according to the discount curve, which means the forward curve will be recalibrated to the discount curve. I guess the latter one is how I understand about multi-curve. But I am not so sure how the ratehelper function is doing.
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Luigi Ballabio
If you don't provide a discount curve, the curve being bootstrapped
will be used for both forecast (that is, determining the cash flow)
and discount.
If you provide a discount curve, the curve being bootstrapped will be
used for forecast and the one you provided will be used for discount.

Luigi


On Mon, Apr 28, 2014 at 4:57 PM, figoliuxi <[hidden email]> wrote:

> Dr. Andres Hernandez,
>
> Thanks for the reply.
> I am quite new to QuantLib and the multi-curve topic. When I am looking at
> your comments, you mentioned that "if the discount curve is not provided it
> is linked to the underlying curve, but if it is provided, then the provided
> curve is used to produce discounts independently from the underlying curve".
> Do you mean that if we specify the discount curve, the cash flow will not
> change but discount by the specified discount curve? Or the cash flow will
> change according to the discount curve, which means the forward curve will
> be recalibrated to the discount curve. I guess the latter one is how I
> understand about multi-curve. But I am not so sure how the ratehelper
> function is doing.
>
>
>
> --
> View this message in context: http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantlib-for-mutli-curve-bootstrapping-tp15189p15213.html
> Sent from the quantlib-users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

R: Is there any example using Quantlib for mutli-curve bootstrapping?

Ballabio Gerardo-4
Yes, but if you provide the discount curve, the curve being bootstrapped will be slightly different than it would if you didn't. That will also affect the cash flow amount.

Gerardo


Gerardo Ballabio
Risk Management

Banca Profilo S.p.A.
Via Cerva 28 - 20122 Milano
Tel. +39 02 58408.463
www.bancaprofilo.it




-----Messaggio originale-----
Da: Luigi Ballabio [mailto:[hidden email]]
Inviato: lunedì 28 aprile 2014 17.10
A: figoliuxi
Cc: QuantLib users
Oggetto: Re: [Quantlib-users] Is there any example using Quantlib for mutli-curve bootstrapping?

If you don't provide a discount curve, the curve being bootstrapped will be used for both forecast (that is, determining the cash flow) and discount.
If you provide a discount curve, the curve being bootstrapped will be used for forecast and the one you provided will be used for discount.

Luigi


On Mon, Apr 28, 2014 at 4:57 PM, figoliuxi <[hidden email]> wrote:

> Dr. Andres Hernandez,
>
> Thanks for the reply.
> I am quite new to QuantLib and the multi-curve topic. When I am
> looking at your comments, you mentioned that "if the discount curve is
> not provided it is linked to the underlying curve, but if it is
> provided, then the provided curve is used to produce discounts independently from the underlying curve".
> Do you mean that if we specify the discount curve, the cash flow will
> not change but discount by the specified discount curve? Or the cash
> flow will change according to the discount curve, which means the
> forward curve will be recalibrated to the discount curve. I guess the
> latter one is how I understand about multi-curve. But I am not so sure
> how the ratehelper function is doing.
>
>
>
> --
> View this message in context:
> http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantli
> b-for-mutli-curve-bootstrapping-tp15189p15213.html
> Sent from the quantlib-users mailing list archive at Nabble.com.
>
> ----------------------------------------------------------------------
> -------- "Accelerate Dev Cycles with Automated Cross-Browser Testing -
> For FREE Instantly run your Selenium tests across 300+ browser/OS
> combos.  Get unparalleled scalability from the best Selenium testing
> platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos.  Get unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head></head>
<body>
<div style="font-family:Calibri;font-size:10px">
Banca Profilo S.p.A.
Via Cerva, 28 - 20122 Milano - Tel. 02 58408.1, Fax 02 5831 6057
Capitale Sociale Euro 136.794.106,00 i.v.
Iscrizione al Registro Imprese di Milano, C.F. e P.IVA 09108700155 - [hidden email]
Iscritta all’Albo delle Banche e dei Gruppi bancari
Aderente al Fondo Interbancario di Tutela dei depositi
Aderente al Conciliatore Bancario Finanziario e all’Arbitro Bancario Finanziario
Appartenente al Gruppo bancario Banca Profilo e soggetta all’attività di direzione e coordinamento di Arepo BP S.p.A.


DISCLAIMER:
The information transmitted may contain confidential and/or privileged material.
Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon,
this information by persons or entities other than the intended recipient is prohibited.
If you received this in error, please contact the sender and delete the material from any computer.
</div>
</body>
</html>


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Andres Hernandez
In reply to this post by Luigi Ballabio

figoliuxi,

Luigi already clarified how QuantLib works, but just to attempt to make
things clearer (or more confusing depending on my ability to explain), that
is also what I would expect it to do. Calibrating the forward curve
according to the discount curve is actually what you would be doing by
treating the cash-flow independently from its discount. That is, that the
cash flows value is not changed directly by the discount curve, "but is
discounted with the discount curve". However, this actually means that when
you bootstrap the forward curve using the already given discount curve, the
resulting forward curve is affected by the discount curve. The size of each
cash-flows will have to be adjusted by the bootstrapping procedure in order
to make the implied quote match the market quote. Since the consideration
of the cash-flow in the net present value is by discount, the adjustment
takes the discount curve into account. This is not meant to suggest that
everytime you calculate a cash-flow, the cash-flow's absolute value is
adjusted according to the discount curve. Indeed, if I then take a
bootstrapped forward and discount curve, and I use them to price a new
swap, the calculation of the cash-flow value and its discount factor will
be completely independent. Which, I repeat, is exactly what I would expect.

I hope this helps to make things clearer for you. In my head, the way
QuantLib treats this topic is very intuitive and clear, but when I try to
put it in writing, I seem to be making a disservice to the developers.

Mit freundlichen Grüßen / Kind regards

Dr. Andres Hernandez

Senior Financial Engineer
Business Analytics
Risk Analytics
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
 Phone:            +49-69-6645-1351               IBM Deutschland                            (Embedded
                                                                                           image moved
                                                                                              to file:
                                                                                         pic21467.gif)
                                                                       
 Mobile:           +49-163-609-3280               Wilhelm-Fay-Str. 30-34
                                                                       
 E-Mail:           [hidden email]    65936 Frankfurt am Main
                                                                       
                                                  Germany              
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
 IBM Deutschland                                                      
 GmbH /                                                                
 Vorsitzender des                                                      
 Aufsichtsrats:                                                        
 Martin Jetter                                                        
 Geschäftsführung:                                                
 Martina Koederitz                                                    
 (Vorsitzende),                                                        
 Reinhard Reschke,                                                    
 Dieter Scholz,                                                        
 Gregor Pillen,                                                        
 Christian Noll,                                                      
 Ivo Koerner                                                          
 Sitz der                                                              
 Gesellschaft:                                                        
 Ehningen /                                                            
 Registergericht:                                                      
 Amtsgericht                                                          
 Stuttgart, HRB                                                        
 14562 /                                                              
 WEEE-Reg.-Nr. DE                                                      
 99369940                                                              
                                                                       





From: Luigi Ballabio <[hidden email]>
To: figoliuxi <[hidden email]>,
Cc: QuantLib users <[hidden email]>
Date: 04/28/2014 05:10 PM
Subject: Re: [Quantlib-users] Is there any example using Quantlib for
            mutli-curve bootstrapping?



If you don't provide a discount curve, the curve being bootstrapped
will be used for both forecast (that is, determining the cash flow)
and discount.
If you provide a discount curve, the curve being bootstrapped will be
used for forecast and the one you provided will be used for discount.

Luigi


On Mon, Apr 28, 2014 at 4:57 PM, figoliuxi <[hidden email]> wrote:
> Dr. Andres Hernandez,
>
> Thanks for the reply.
> I am quite new to QuantLib and the multi-curve topic. When I am looking
at
> your comments, you mentioned that "if the discount curve is not provided
it
> is linked to the underlying curve, but if it is provided, then the
provided
> curve is used to produce discounts independently from the underlying
curve".
> Do you mean that if we specify the discount curve, the cash flow will not
> change but discount by the specified discount curve? Or the cash flow
will
> change according to the discount curve, which means the forward curve
will
> be recalibrated to the discount curve. I guess the latter one is how I
> understand about multi-curve. But I am not so sure how the ratehelper
> function is doing.
>
>
>
> --
> View this message in context:
http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantlib-for-mutli-curve-bootstrapping-tp15189p15213.html

> Sent from the quantlib-users mailing list archive at Nabble.com.
>
>
------------------------------------------------------------------------------

> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform
available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

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

"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

pic21467.gif (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

Luigi Ballabio
No disservice at all. You made it more clear than I did.

Luigi

On Mon, Apr 28, 2014 at 5:34 PM, Andres Hernandez
<[hidden email]> wrote:

>
> figoliuxi,
>
> Luigi already clarified how QuantLib works, but just to attempt to make
> things clearer (or more confusing depending on my ability to explain), that
> is also what I would expect it to do. Calibrating the forward curve
> according to the discount curve is actually what you would be doing by
> treating the cash-flow independently from its discount. That is, that the
> cash flows value is not changed directly by the discount curve, "but is
> discounted with the discount curve". However, this actually means that when
> you bootstrap the forward curve using the already given discount curve, the
> resulting forward curve is affected by the discount curve. The size of each
> cash-flows will have to be adjusted by the bootstrapping procedure in order
> to make the implied quote match the market quote. Since the consideration
> of the cash-flow in the net present value is by discount, the adjustment
> takes the discount curve into account. This is not meant to suggest that
> everytime you calculate a cash-flow, the cash-flow's absolute value is
> adjusted according to the discount curve. Indeed, if I then take a
> bootstrapped forward and discount curve, and I use them to price a new
> swap, the calculation of the cash-flow value and its discount factor will
> be completely independent. Which, I repeat, is exactly what I would expect.
>
> I hope this helps to make things clearer for you. In my head, the way
> QuantLib treats this topic is very intuitive and clear, but when I try to
> put it in writing, I seem to be making a disservice to the developers.
>
> Mit freundlichen Grüßen / Kind regards
>
> Dr. Andres Hernandez
>
> Senior Financial Engineer
> Business Analytics
> Risk Analytics
>
>
>
>
>
>  Phone:            +49-69-6645-1351               IBM Deutschland                            (Embedded
>                                                                                            image moved
>                                                                                               to file:
>                                                                                          pic21467.gif)
>
>  Mobile:           +49-163-609-3280               Wilhelm-Fay-Str. 30-34
>
>  E-Mail:           [hidden email]    65936 Frankfurt am Main
>
>                                                   Germany
>
>
>
>
>
>  IBM Deutschland
>  GmbH /
>  Vorsitzender des
>  Aufsichtsrats:
>  Martin Jetter
>  Geschäftsführung:
>  Martina Koederitz
>  (Vorsitzende),
>  Reinhard Reschke,
>  Dieter Scholz,
>  Gregor Pillen,
>  Christian Noll,
>  Ivo Koerner
>  Sitz der
>  Gesellschaft:
>  Ehningen /
>  Registergericht:
>  Amtsgericht
>  Stuttgart, HRB
>  14562 /
>  WEEE-Reg.-Nr. DE
>  99369940
>
>
>
>
>
>
> From:   Luigi Ballabio <[hidden email]>
> To:     figoliuxi <[hidden email]>,
> Cc:     QuantLib users <[hidden email]>
> Date:   04/28/2014 05:10 PM
> Subject:        Re: [Quantlib-users] Is there any example using Quantlib for
>             mutli-curve bootstrapping?
>
>
>
> If you don't provide a discount curve, the curve being bootstrapped
> will be used for both forecast (that is, determining the cash flow)
> and discount.
> If you provide a discount curve, the curve being bootstrapped will be
> used for forecast and the one you provided will be used for discount.
>
> Luigi
>
>
> On Mon, Apr 28, 2014 at 4:57 PM, figoliuxi <[hidden email]> wrote:
>> Dr. Andres Hernandez,
>>
>> Thanks for the reply.
>> I am quite new to QuantLib and the multi-curve topic. When I am looking
> at
>> your comments, you mentioned that "if the discount curve is not provided
> it
>> is linked to the underlying curve, but if it is provided, then the
> provided
>> curve is used to produce discounts independently from the underlying
> curve".
>> Do you mean that if we specify the discount curve, the cash flow will not
>> change but discount by the specified discount curve? Or the cash flow
> will
>> change according to the discount curve, which means the forward curve
> will
>> be recalibrated to the discount curve. I guess the latter one is how I
>> understand about multi-curve. But I am not so sure how the ratehelper
>> function is doing.
>>
>>
>>
>> --
>> View this message in context:
> http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantlib-for-mutli-curve-bootstrapping-tp15189p15213.html
>
>> Sent from the quantlib-users mailing list archive at Nabble.com.
>>
>>
> ------------------------------------------------------------------------------
>
>> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
>> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
>> unparalleled scalability from the best Selenium testing platform
> available.
>> Simple to use. Nothing to install. Get started now for free."
>> http://p.sf.net/sfu/SauceLabs
>> _______________________________________________
>> QuantLib-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
>
> --
> <https://implementingquantlib.blogspot.com>
> <https://twitter.com/lballabio>
>
> ------------------------------------------------------------------------------
>
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Is there any example using Quantlib for mutli-curve bootstrapping?

figoliuxi
Thanks a lot! Luigi, Andres and Ballabio. 

That's what exactly I understood about the multi-curve. It looks like QuantLib is doing something in the right way. Let me dig into the package and see if I can apply it for some practice and testing. 

Appreciate! Cheers!


On Mon, Apr 28, 2014 at 10:42 AM, Luigi Ballabio [via QuantLib] <[hidden email]> wrote:
No disservice at all. You made it more clear than I did.

Luigi

On Mon, Apr 28, 2014 at 5:34 PM, Andres Hernandez
<[hidden email]> wrote:

>
> figoliuxi,
>
> Luigi already clarified how QuantLib works, but just to attempt to make
> things clearer (or more confusing depending on my ability to explain), that
> is also what I would expect it to do. Calibrating the forward curve
> according to the discount curve is actually what you would be doing by
> treating the cash-flow independently from its discount. That is, that the
> cash flows value is not changed directly by the discount curve, "but is
> discounted with the discount curve". However, this actually means that when
> you bootstrap the forward curve using the already given discount curve, the
> resulting forward curve is affected by the discount curve. The size of each
> cash-flows will have to be adjusted by the bootstrapping procedure in order
> to make the implied quote match the market quote. Since the consideration
> of the cash-flow in the net present value is by discount, the adjustment
> takes the discount curve into account. This is not meant to suggest that
> everytime you calculate a cash-flow, the cash-flow's absolute value is
> adjusted according to the discount curve. Indeed, if I then take a
> bootstrapped forward and discount curve, and I use them to price a new
> swap, the calculation of the cash-flow value and its discount factor will
> be completely independent. Which, I repeat, is exactly what I would expect.
>
> I hope this helps to make things clearer for you. In my head, the way
> QuantLib treats this topic is very intuitive and clear, but when I try to
> put it in writing, I seem to be making a disservice to the developers.
>
> Mit freundlichen Grüßen / Kind regards
>
> Dr. Andres Hernandez
>
> Senior Financial Engineer
> Business Analytics
> Risk Analytics
>
>
>
>
>
>  Phone:            <a href="tel:%2B49-69-6645-1351" value="+496966451351" target="_blank">+49-69-6645-1351               IBM Deutschland                            (Embedded
>                                                                                            image moved
>                                                                                               to file:
>                                                                                          pic21467.gif)
>
>  Mobile:           <a href="tel:%2B49-163-609-3280" value="+491636093280" target="_blank">+49-163-609-3280               Wilhelm-Fay-Str. 30-34
>
>  E-Mail:           [hidden email]    65936 Frankfurt am Main
>

>                                                   Germany
>
>
>
>
>
>  IBM Deutschland
>  GmbH /
>  Vorsitzender des
>  Aufsichtsrats:
>  Martin Jetter
>  Geschäftsführung:
>  Martina Koederitz
>  (Vorsitzende),
>  Reinhard Reschke,
>  Dieter Scholz,
>  Gregor Pillen,
>  Christian Noll,
>  Ivo Koerner
>  Sitz der
>  Gesellschaft:
>  Ehningen /
>  Registergericht:
>  Amtsgericht
>  Stuttgart, HRB
>  14562 /
>  WEEE-Reg.-Nr. DE
>  99369940
>
>
>
>
>
>
> From:   Luigi Ballabio <[hidden email]>
> To:     figoliuxi <[hidden email]>,
> Cc:     QuantLib users <[hidden email]>
> Date:   04/28/2014 05:10 PM

> Subject:        Re: [Quantlib-users] Is there any example using Quantlib for
>             mutli-curve bootstrapping?
>
>
>
> If you don't provide a discount curve, the curve being bootstrapped
> will be used for both forecast (that is, determining the cash flow)
> and discount.
> If you provide a discount curve, the curve being bootstrapped will be
> used for forecast and the one you provided will be used for discount.
>
> Luigi
>
>
> On Mon, Apr 28, 2014 at 4:57 PM, figoliuxi <[hidden email]> wrote:

>> Dr. Andres Hernandez,
>>
>> Thanks for the reply.
>> I am quite new to QuantLib and the multi-curve topic. When I am looking
> at
>> your comments, you mentioned that "if the discount curve is not provided
> it
>> is linked to the underlying curve, but if it is provided, then the
> provided
>> curve is used to produce discounts independently from the underlying
> curve".
>> Do you mean that if we specify the discount curve, the cash flow will not
>> change but discount by the specified discount curve? Or the cash flow
> will
>> change according to the discount curve, which means the forward curve
> will
>> be recalibrated to the discount curve. I guess the latter one is how I
>> understand about multi-curve. But I am not so sure how the ratehelper
>> function is doing.
>>
>>
>>
>> --
>> View this message in context:
> http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantlib-for-mutli-curve-bootstrapping-tp15189p15213.html
>

>> Sent from the quantlib-users mailing list archive at Nabble.com.
>>
>>
> ------------------------------------------------------------------------------
>
>> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
>> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
>> unparalleled scalability from the best Selenium testing platform
> available.
>> Simple to use. Nothing to install. Get started now for free."
>> http://p.sf.net/sfu/SauceLabs
>> _______________________________________________
>> QuantLib-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/quantlib-users

>
>
>
> --
> <https://implementingquantlib.blogspot.com>
> <https://twitter.com/lballabio>
>
> ------------------------------------------------------------------------------
>
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]

> https://lists.sourceforge.net/lists/listinfo/quantlib-users

>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.  Get
> unparalleled scalability from the best Selenium testing platform available.
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>



--
<https://implementingquantlib.blogspot.com>
<https://twitter.com/lballabio>

------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



If you reply to this email, your message will be added to the discussion below:
http://quantlib.10058.n7.nabble.com/Is-there-any-example-using-Quantlib-for-mutli-curve-bootstrapping-tp15189p15217.html
To unsubscribe from Is there any example using Quantlib for mutli-curve bootstrapping?, click here.
NAML



--

Xi(Figo) Liu