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 |
Hengli, The python bond examples included on Github might be of help. John On 23 April 2014 23:30, Hengli Zhang <[hidden email]> wrote:
------------------------------------------------------------------------------ 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 |
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:
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 |
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:
------------------------------------------------------------------------------ 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 |
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:
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 |
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 |
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 |
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:
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 |
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:
<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 |
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. |
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 |
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 |
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 |
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 |
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:
Xi(Figo) Liu |
Free forum by Nabble | Edit this page |