Hi,
I have a problem with bootstrapping a yield curve. The iterative bootstrap fails on the first iteration. Debugging I found the problem is that there are two different bonds with same time to maturity. They are both German bonds with respective maturity dates 16-Dec-2016 and 4-Jan-2017. The yield curve reference date is 30-Mar-2015 and the used day count convention is ActualActural::ISMA. Obviously those bonds have different maturity dates, but using that day count convention time to maturity is 1.75 years for both bonds. And that leads to the failure of the algorithm. The iterative bootstrap checks whether there are two bonds with same maturity date. This should imply and same time to maturity check, but obviously time to maturity depends on maturity date and on the day count convention. What I want to say simply is that I think the iterative bootstrap must compare time to maturity and not maturity dates (without making the implicit assumption that they are equivalent). Any thoughts on that? Regards, Dobrin Oh, I use Quantlib 1.41. Sorry if that has been changed already! ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Hello, the day count convention for the curve does not necessarily be the same as the one used for the bond coupons. I'd suggest you change the day count for the curve to one that behaves better (act/360 or act/365). As long as you work with dates and not with times directly, it won't affect your results. Luigi On Fri, Mar 27, 2015 at 1:36 PM, Dobrin Petkov <[hidden email]> wrote:
------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Hi Dobrin, It could sound silly but if you start from two different dates (which are not holidays) and you count the time to maturity from the same date (30/03/2015)
with the same day count convention, you should always find different times to maturity and no matter which day count you use! I see that it could happen if you use two day count convention (maybe…), but with the same day count I really do not see … If you have, for instance, 1 bond maturing on Sunday and the other on the adjacent Monday and you have some following convention, I see. Otherwise
different dates through the same day count should give different year fraction … Am I wrong? Cheers. Stefano Ps. When I extensively used the iterative bootstrap, I saw that it was kind of easy to actually upload not the dates that I really wanted because of
a tiny error with the use of the QuantLib::Calendar advance method… Stefano PORTOLAN -
Complex Valuation Services EUROPEAN FUND ADMINISTRATION S.A. 2, rue d’Alsace | L-1122 Luxembourg | Luxembourg Tel.: +352 48 48 80 711 From: Luigi Ballabio [mailto:[hidden email]]
Hello, the day count convention for the curve does not necessarily be the same as the one used for the bond coupons. I'd suggest you change the day count for the curve to one that behaves better (act/360 or act/365). As long as you work with
dates and not with times directly, it won't affect your results. Luigi On Fri, Mar 27, 2015 at 1:36 PM, Dobrin Petkov <[hidden email]> wrote: Hi, I have a problem with bootstrapping a yield curve. The iterative bootstrap fails on the first iteration. Debugging I found the problem is that there are two different bonds with same time to maturity. They are both German bonds with
respective maturity dates 16-Dec-2016 and 4-Jan-2017. The yield curve reference date is 30-Mar-2015 and the used day count convention is ActualActural::ISMA. Obviously those bonds have different maturity dates, but using that day count convention time to maturity
is 1.75 years for both bonds. And that leads to the failure of the algorithm. The iterative bootstrap checks whether there are two bonds with same maturity date. This should imply and same time to maturity check, but obviously time to maturity depends on maturity date and on the day count convention. What I want
to say simply is that I think the iterative bootstrap must compare time to maturity and not maturity dates (without making the implicit assumption that they are equivalent). Any thoughts on that? Regards, Dobrin Oh, I use Quantlib 1.41. Sorry if that has been changed already!
-- Agile Investment Servicing: Find out more in our latest annual report. The information in this e-mail message and/ or its attachments is confidential and may be legally privileged, thus any disclosure, copying, distribution or any action taken or omitted to be taken in reliance thereon may be strictly prohibited and unlawful. If you are not the intended recipient, please notify us immediately and destroy this e-mail and its attachments. Considering the various risks involved when sending emails through the Internet, EFA will not be liable in any case for damages and claims due to the risks of this communication channel (e.g. non or late delivery, message corruption, inadvertent disclosure). Any views or opinions presented in this email and/or its attachments are solely those of the author and do not necessarily represent those of the company, consequently, EFA may not be held liable for its content unless confirmed subsequently in writing. European Fund Administration SA | 2 rue d'Alsace, P.O. Box 1725, L-1017 Luxembourg | Tel: +352 48 48 80 80 | www.efa.eu Please consider the environment before printing this e-mail ------------------------------------------------------------------------------ Dive into the World of Parallel Programming The Go Parallel Website, sponsored by Intel and developed in partnership with Slashdot Media, is your hub for all things parallel software development, from weekly thought leadership blogs to news, videos, case studies, tutorials and more. Take a look and join the conversation now. http://goparallel.sourceforge.net/ _______________________________________________ QuantLib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |