Posted by
Ibbotson, Simon on
URL: http://quantlib.414.s1.nabble.com/yield-curves-fail-on-holiday-tp14181p14190.html
Hi Gerardo,
Are you saying that in Italy, you can make settlements on Good Friday? In which case, you probably need to be using a different calendar to TARGET.
Or is it more subtle, with no cash payments allowed but there is a market for post-Spot transactions?
Simon
-----Original Message-----
From: Ballabio Gerardo [mailto:
[hidden email]]
Sent: Wednesday, April 03, 2013 9:41 AM
To: quantlib-users
Cc: Prandoni Paolo
Subject: [Quantlib-users] yield curves fail on holiday
Hi all,
last Friday (29 Mar 2013) was Good Friday, that's a holiday for the TARGET calendar, but a working day in Italy. So I discovered that some of my yield curves built with QuantLibXL failed to bootstrap. Specifically that seems to be a problem of curves that use deposits.
Actually, qlPiecewiseYieldCurve did generate an object, but as soon as I tried to read anything from it (for example with qlPiecewiseYieldCurveDates) I obtained this error message:
qlPiecewiseYieldCurveDates - more than one instrument with maturity April 3rd, 2013
That was easy to understand: if the current evaluation date is a holiday for the calendar specified in the qlDepositRateHelper2 calls, both the O/N and T/N deposits start on the same day, that's the next business day (qlCalendarAdvance gives the same result for Period="0D" and "1D").
So I discarded the O/N rate helper and moved on. And here came the "interesting" thing: reading from the curve failed again with this message:
qlPiecewiseYieldCurveDates - 1st iteration: failed at 1st alive instrument, maturity April 3rd, 2013, reference date April 2nd, 2013: Missing no-fixTN Actual/360 fixing for March 28th, 2013
I guess "no-fixTN" is a fictitious index autogenerated in the bootstrap process; since the evaluation date is a holiday, the algorithm looks for the fixing on the previous business day, but can't find it. I tried discarding the T/N helper too, but that just shifted the problem:
qlPiecewiseYieldCurveDates - 1st iteration: failed at 1st alive instrument, maturity April 4th, 2013, reference date April 2nd, 2013: Missing no-fixSN Actual/360 fixing for March 28th, 2013
Only when I discarded *all* deposits, the curve did finally bootstrap. But of course I can't use a curve that's radically different from the curve I use on all other days (the first non-deposit pillar has 6 months maturity!).
How am I supposed to solve that? I might try to add fixings for the "no-fix" indexes, but that doesn't seem a good solution, and what would be the correct values for those fixings?
To reproduce the issue, I'm attaching a slightly modified version of the YieldCurveBootstrapping.xls example from the QuantLibXL\Workbooks\StandaloneExamples folder. The modification was simply to add a new sheet where the evaluation date is set to 29 Mar 2013, and a call to ohRangeRetrieveError in the Bootstrapping sheet. Here the first error (two instruments with the same maturity) doesn't occur because the O/N and T/N pillars are never selected, so it goes directly to the "no-fix" thing. You'll need to refresh the objects in order to see the error message.
Thank you in advance.
Gerardo
<!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.
Corso Italia, 49 - 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>
***********************************************************************************
This e-mail is intended for the addressee(s) named above and any other use is prohibited. It may contain confidential information. If you received this e-mail in error please contact the sender by return e-mail.
The Bank of England does not accept legal responsibility for the contents of this message if it has reached you via the Internet, as Internet communications are not secure. Any opinions expressed are those of the
author and are not necessarily endorsed by the Bank of England.
Recipients are advised to apply their own virus checks to this message .
***********************************************************************************
_____________________________________________________________________
This e-mail has been scanned for known viruses by the Messagelabs SkyScan Service.
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire
the most talented Cisco Certified professionals. Visit the
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users