Rate Inputs to a piecewise Yield Curve

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

Rate Inputs to a piecewise Yield Curve

GL_QL
Hi all,

it often happens that a specified rate (of a deposit, future or swap) will create an error when bootstrapping the yield curve (with an error log file = qlPiecewiseYieldCurveData - 1st iteration: could not bootstrap the 4th instrument, maturity August 7th, 2009: root not bracketed: f[2.22045e-016,0.998945] -> [-2.315622e+017,-2.857143e-003])

Can someone explain to me where it comes from ? I don't remember having any mathematical condition bootstrapping a yield curve manually.

Thanks
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

Ferdinando Ametrano-4
On Wed, Jul 29, 2009 at 3:31 PM, GL_QL<[hidden email]> wrote:
> it often happens that a specified rate (of a deposit, future or swap) will
> create an error when bootstrapping the yield curve [...]
> Can someone explain to me where it comes from ? I don't remember having any
> mathematical condition bootstrapping a yield curve manually.

if you impose non-negative rates (the QL default) the discount curve
must be non-increasing. Improper market data can lead to increasing
curves.

E.g. 3M deposit rate of 7% (discount factor 0.983) followed by 6M
deposit rate of 3% (discount factor 0.985). Equivalent constraints
exist for zero rates, swap rates, FRA, etc

ciao -- Nando

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

Piter Dias-4
In reply to this post by GL_QL
Fernando,

I think I missed something (mainly because of Brazilian weird curves in the last 15 years).
E.g. 3M deposit rate of 7% (discount factor 0.983) followed by 6M
deposit rate of 3% (discount factor 0.985). Equivalent constraints
exist for zero rates, swap rates, FRA, etc
I didn't make the math, but you mean that, given two nodes, forward rates must not be negative (what makes a lot of sense) or forward rates must be greater or equal to the shortest node?


What is the impact of changing the default in QuantLib (I mean, my change, not the QuantLib project default)? I know it is not quantLib focus but allowing negative rates would allow us (here in Brazil) to use the curves for accounting as well.

Thanks a lot,


----- Original Message ----
From: Ferdinando Ametrano <[hidden email]>
To: GL_QL <[hidden email]>
Cc: [hidden email]
Date: Thu, 30 Jul 2009 11:32:53 +0200
Subject: Re: [Quantlib-users] Rate Inputs to a piecewise Yield Curve

On Wed, Jul 29, 2009 at 3:31 PM, GL_QL<<a href="javascript: window.parent.Mandic.control.composeMessage('gl2244@columbia.edu');">gl2244@...> wrote:
> it often happens that a specified rate (of a deposit, future or swap) will
> create an error when bootstrapping the yield curve [...]
> Can someone explain to me where it comes from ? I don't remember having any
> mathematical condition bootstrapping a yield curve manually.

if you impose non-negative rates (the QL default) the discount curve
must be non-increasing. Improper market data can lead to increasing
curves.

E.g. 3M deposit rate of 7% (discount factor 0.983) followed by 6M
deposit rate of 3% (discount factor 0.985). Equivalent constraints
exist for zero rates, swap rates, FRA, etc

ciao -- Nando

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
<a href="javascript: window.parent.Mandic.control.composeMessage('QuantLib-users@lists.sourceforge.net');">QuantLib-users@...
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

Luigi Ballabio
On Thu, 2009-07-30 at 07:07 -0300, Piter Dias wrote:

> > E.g. 3M deposit rate of 7% (discount factor 0.983) followed by 6M
> > deposit rate of 3% (discount factor 0.985). Equivalent constraints
> > exist for zero rates, swap rates, FRA, etc
> >
> I didn't make the math, but you mean that, given two nodes, forward
> rates must not be negative (what makes a lot of sense) or forward
> rates must be greater or equal to the shortest node?

Non negative.

> What is the impact of changing the default in QuantLib (I mean, my
> change, not the QuantLib project default)?

Shouldn't be harmful, but in your shoes I'd run the test suite after the
change and see what happens.

Luigi


--

I hate quotations.
-- Ralph Waldo Emerson



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

Guowen Han
In reply to this post by GL_QL

I guess this is because QuantLib does not allow negative forward rate.
The rates are not consistent for deposit rates, futures rates, and swap rates  in the 1 year to 3 (maybe 5) year range, which could cause the implied forward rate negative.

I wish this help a little bit.

Thanks,




GL_QL <[hidden email]>

07/29/2009 09:31 AM

To
[hidden email]
cc
Subject
[Quantlib-users]  Rate Inputs to a piecewise Yield Curve






Hi all,

it often happens that a specified rate (of a deposit, future or swap) will
create an error when bootstrapping the yield curve (with an error log file =
qlPiecewiseYieldCurveData - 1st iteration: could not bootstrap the 4th
instrument, maturity August 7th, 2009: root not bracketed:
f[2.22045e-016,0.998945] -> [-2.315622e+017,-2.857143e-003])

Can someone explain to me where it comes from ? I don't remember having any
mathematical condition bootstrapping a yield curve manually.

Thanks

--
View this message in context: http://www.nabble.com/Rate-Inputs-to-a-piecewise-Yield-Curve-tp24719370p24719370.html
Sent from the quantlib-users mailing list archive at Nabble.com.


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


_____________________________________________________________
DTCC DISCLAIMER: This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please notify us immediately and delete the email and any attachments from your system. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

brb204
In reply to this post by Luigi Ballabio
Where can i get a short financial doc on Quantlib yiled curve?

thanks in advance
-bachalakuri

On Thu, Jul 30, 2009 at 4:10 PM, Luigi Ballabio <[hidden email]> wrote:
On Thu, 2009-07-30 at 07:07 -0300, Piter Dias wrote:

> > E.g. 3M deposit rate of 7% (discount factor 0.983) followed by 6M
> > deposit rate of 3% (discount factor 0.985). Equivalent constraints
> > exist for zero rates, swap rates, FRA, etc
> >
> I didn't make the math, but you mean that, given two nodes, forward
> rates must not be negative (what makes a lot of sense) or forward
> rates must be greater or equal to the shortest node?

Non negative.

> What is the impact of changing the default in QuantLib (I mean, my
> change, not the QuantLib project default)?

Shouldn't be harmful, but in your shoes I'd run the test suite after the
change and see what happens.

Luigi


--

I hate quotations.
-- Ralph Waldo Emerson



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Rate Inputs to a piecewise Yield Curve

Piter Dias-3
In reply to this post by GL_QL
Rambo,

Where can i get a short financial doc on Quantlib yiled curve?

Try Luigi's ongoing book Implementing QuantLibhttp://luigi.ballabio.googlepages.com/qlbook.
Other really cool way is browsing the test suite. There are many more good examples there than in examples folders.

My few QuantLib contributions, for example, where developed when I tried to extend some test to match some examples from Brazilian market. Enhance test suite is a very good way to learn.

Regards,



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users