Login  Register

Re: decreasing discount factors

Posted by Marco Marchioro-2 on Nov 07, 2002; 7:03am
URL: http://quantlib.414.s1.nabble.com/decreasing-discount-factors-tp10170p10177.html

Hi,
I realized now that I should have consulted the mailing list first(sorry
about that).
The only assumptions that we need in building the discount curve is to have
positive discounts, not that these should be decreasing. I should be able to
set my curve to my taste as long as that does not break the interpolation.
If you need a check on your input rates I think this should be done elsewhere.
Why should we prevent the use of negative rates(and they do exists in real
life)
in one of the few places where we do not actually need to enforce them.

Marco.

At 03:19 PM 11/7/02 +0100, Ferdinando Ametrano wrote:

>Hi Marco
>
>in your commit described below you are removing a worthwhile check that
>helped me detect many problems in my applications.
>
>Maybe I'm missing something but I can't see why we shouldn't require
>decreasing discount factors. Decreasing discounts imply non-negative
>interest rates, which should be a safe assumption. Are you really dealing
>with negative interest rates?
>If this is the case I'm afraid discountcurve is not the only place where
>we are assuming non-negative interest rates ....
>
>ciao -- Nando
>
>>From:   Marco Marchioro <[hidden email]>
>>Subject: [Quantlib-cvs] CVS: QuantLib/ql/TermStructures
>>discountcurve.cpp,1.13,1.14
>>
>>Update of /cvsroot/quantlib/QuantLib/ql/TermStructures
>>In directory usw-pr-cvs1:/tmp/cvs-serv31653
>>
>>Modified Files:
>>         discountcurve.cpp
>>Log Message:
>>relaxed requirement on decreasing discounts
>>
>>Index: discountcurve.cpp
>>===================================================================
>>RCS file: /cvsroot/quantlib/QuantLib/ql/TermStructures/discountcurve.cpp,v
>>retrieving revision 1.13
>>retrieving revision 1.14
>>diff -C2 -r1.13 -r1.14
>>*** discountcurve.cpp   29 Oct 2002 14:14:18 -0000      1.13
>>--- discountcurve.cpp   7 Nov 2002 13:34:20 -0000       1.14
>>***************
>>*** 53,57 ****
>>                   QL_REQUIRE(dates_[i]>dates_[i-1],
>>                      "DiscountCurve::DiscountCurve : invalid date");
>>!                 QL_REQUIRE(discounts_[i]<=discounts_[i-1],
>>                      "DiscountCurve::DiscountCurve : invalid discount");
>>                   times_[i] = dayCounter_.yearFraction(dates_[0],
>>--- 53,57 ----
>>                   QL_REQUIRE(dates_[i]>dates_[i-1],
>>                      "DiscountCurve::DiscountCurve : invalid date");
>>!                 QL_REQUIRE(discounts_[i] > 0.0,
>>                      "DiscountCurve::DiscountCurve : invalid discount");
>>                   times_[i] = dayCounter_.yearFraction(dates_[0],
>>
>>
>>
>>-------------------------------------------------------
>>This sf.net email is sponsored by: See the NEW Palm
>>Tungsten T handheld. Power & Color in a compact size!
>>http://ads.sourceforge.net/cgi-bin/redirect.pl?palm0001en
>>_______________________________________________
>>Quantlib-cvs mailing list
>>[hidden email]
>>https://lists.sourceforge.net/lists/listinfo/quantlib-cvs