dual bootstrap question

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

dual bootstrap question

Magnus Nystrom-3
Hi,

I'm wondering if the dual bootstrap functionality in Quantlib provides for a
way to guarantee that different tenor curves will not cross each other eg.
that a 6m fwd curve does not go below a 3m fwd curve. I suppose the only way
to do this is to simultaneously bootstrap all tenors. Thanks.

/Magnus



------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Ferdinando M. Ametrano-3
On Tue, Mar 19, 2013 at 9:57 AM, MN <[hidden email]> wrote:
I'm wondering if the dual bootstrap functionality in Quantlib provides for a
way to guarantee that different tenor curves will not cross each other eg.
that a 6m fwd curve does not go below a 3m fwd curve. I suppose the only way
to do this is to simultaneously bootstrap all tenors. Thanks.

no need in my experience to enforce such a condition: input market rates for 6M are higher the 3M ones, resulting in a non crossing curves

Nando

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Magnus Nystrom-3

Ok, however, in my experience it may happen for some interpolation models where oscillation can cause problems in the long end.

 

/Magnus

 

From: Ferdinando Ametrano [mailto:[hidden email]]
Sent: Thursday, March 21, 2013 3:40 PM
To: MN
Cc: QuantLib Mailing Lists
Subject: Re: [Quantlib-users] dual bootstrap question

 

On Tue, Mar 19, 2013 at 9:57 AM, MN <[hidden email]> wrote:

I'm wondering if the dual bootstrap functionality in Quantlib provides for a
way to guarantee that different tenor curves will not cross each other eg.
that a 6m fwd curve does not go below a 3m fwd curve. I suppose the only way
to do this is to simultaneously bootstrap all tenors. Thanks.

 

no need in my experience to enforce such a condition: input market rates for 6M are higher the 3M ones, resulting in a non crossing curves

 

Nando


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Ferdinando M. Ametrano-3
On Thu, Mar 21, 2013 at 4:17 PM, MN <[hidden email]> wrote:

Ok, however, in my experience it may happen for some interpolation models where oscillation can cause problems in the long end.


which is a loud and clear warning IMO about the need to switch to a reliable interpolation method, i.e. monotonic interpolation

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Magnus Nystrom-3

I agree with you. Nevertheless, it would be useful to have some assurance for non crossing tenors independent of the selected interpolation model.

 

 

From: Ferdinando Ametrano [mailto:[hidden email]]
Sent: Thursday, March 21, 2013 4:40 PM
To: MN
Cc: QuantLib Mailing Lists
Subject: Re: [Quantlib-users] dual bootstrap question

 

On Thu, Mar 21, 2013 at 4:17 PM, MN <[hidden email]> wrote:

Ok, however, in my experience it may happen for some interpolation models where oscillation can cause problems in the long end.

 

which is a loud and clear warning IMO about the need to switch to a reliable interpolation method, i.e. monotonic interpolation


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Ferdinando M. Ametrano-3
the best way of ensuring no crossing curves would be to bootstrap a base (OIS) curve, and have all the others expressed as (tenor-increasing positive) basis.

I have strong ideas on how this should implemented, but no time to work on it :-(
Should I kick-start a project? ;-)


On Thu, Mar 21, 2013 at 5:43 PM, MN <[hidden email]> wrote:

I agree with you. Nevertheless, it would be useful to have some assurance for non crossing tenors independent of the selected interpolation model.

 

 

From: Ferdinando Ametrano [mailto:[hidden email]]
Sent: Thursday, March 21, 2013 4:40 PM
To: MN
Cc: QuantLib Mailing Lists
Subject: Re: [Quantlib-users] dual bootstrap question

 

On Thu, Mar 21, 2013 at 4:17 PM, MN <[hidden email]> wrote:

Ok, however, in my experience it may happen for some interpolation models where oscillation can cause problems in the long end.

 

which is a loud and clear warning IMO about the need to switch to a reliable interpolation method, i.e. monotonic interpolation



------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Luigi Ballabio
Outline those ideas of yours.  They might get handy for those "I want
to contribute, what should I do?" posts I make such a bad job at
answering.

Luigi


On Thu, Mar 21, 2013 at 6:45 PM, Ferdinando Ametrano <[hidden email]> wrote:

> the best way of ensuring no crossing curves would be to bootstrap a base
> (OIS) curve, and have all the others expressed as (tenor-increasing
> positive) basis.
>
> I have strong ideas on how this should implemented, but no time to work on
> it :-(
> Should I kick-start a project? ;-)
>
>
> On Thu, Mar 21, 2013 at 5:43 PM, MN <[hidden email]> wrote:
>>
>> I agree with you. Nevertheless, it would be useful to have some assurance
>> for non crossing tenors independent of the selected interpolation model.
>>
>>
>>
>>
>>
>> From: Ferdinando Ametrano [mailto:[hidden email]]
>> Sent: Thursday, March 21, 2013 4:40 PM
>> To: MN
>> Cc: QuantLib Mailing Lists
>> Subject: Re: [Quantlib-users] dual bootstrap question
>>
>>
>>
>> On Thu, Mar 21, 2013 at 4:17 PM, MN <[hidden email]> wrote:
>>
>> Ok, however, in my experience it may happen for some interpolation models
>> where oscillation can cause problems in the long end.
>>
>>
>>
>> which is a loud and clear warning IMO about the need to switch to a
>> reliable interpolation method, i.e. monotonic interpolation
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> QuantLib-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/quantlib-users
>

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Peter Caspers-4
In reply to this post by Ferdinando M. Ametrano-3
maybe related: I like the option in Murex to calibrate spread curves over other curves, the spread being expressed in zero rate, instantaneous forward rate (additive) or discount factor (multiplicative) space, and the tenor structure (and interpolation) being independent of the underlying curve. I guess with that one could also easily obtain the non crossing thing below as a byproduct through suitable constraints on the spread during curve calibration.

However concerning the crossings I bet there are abnormal but valid market conditions under which opposite basis spreads are observed. I never saw it myself, but browsing through wilmott gives some hints there were such situations in some currencies in the past.

Another interesting new development in Murex are so called forward curves which directly interpolate in discrete forwards - since you need one curve per tenor anyway, why not model the market forwards in question directly, giving good control over the quantities you are ultimately interested in. I think I will try an ql implementation of that last point in the near future.

Peter

Am 21.03.2013 18:45, schrieb Ferdinando Ametrano:
the best way of ensuring no crossing curves would be to bootstrap a base (OIS) curve, and have all the others expressed as (tenor-increasing positive) basis.

I have strong ideas on how this should implemented, but no time to work on it :-(
Should I kick-start a project? ;-)


On Thu, Mar 21, 2013 at 5:43 PM, MN <[hidden email]> wrote:

I agree with you. Nevertheless, it would be useful to have some assurance for non crossing tenors independent of the selected interpolation model.

 

 

From: Ferdinando Ametrano [mailto:[hidden email]]
Sent: Thursday, March 21, 2013 4:40 PM
To: MN
Cc: QuantLib Mailing Lists
Subject: Re: [Quantlib-users] dual bootstrap question

 

On Thu, Mar 21, 2013 at 4:17 PM, MN <[hidden email]> wrote:

Ok, however, in my experience it may happen for some interpolation models where oscillation can cause problems in the long end.

 

which is a loud and clear warning IMO about the need to switch to a reliable interpolation method, i.e. monotonic interpolation




------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar


_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Ferdinando M. Ametrano-3
On Fri, Mar 22, 2013 at 8:38 PM, Peter Caspers <[hidden email]> wrote:
Another interesting new development in Murex are so called forward curves which directly interpolate in discrete forwards - since you need one curve per tenor anyway, why not model the market forwards in question directly, giving good control over the quantities you are ultimately interested in. I think I will try an ql implementation of that last point in the near future.

I might have had some role into suggesting that development, as I've advocated that solution multiple times when meeting Murex guys. It looked to me as the best way to avoid the problem of defining the short part of the (discount) curve, e.g. the first 6 months for the Euribor 6M curve.

Anyway I've actually realized that the discrete forward approach is flawed when dealing with micro-issues such as turn-of-year, and most of all the implied basis can have implausible shapes.

Direct modelling of basis is much more natural. The key implementation issue in this case is how to effectively deal with non-basis instruments (e.g. 3M futures) when they are to be preferred because of greater liquidity

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Peter Caspers-4
Am 23.03.2013 11:39, schrieb Ferdinando Ametrano:
On Fri, Mar 22, 2013 at 8:38 PM, Peter Caspers <[hidden email]> wrote:
Another interesting new development in Murex are so called forward curves which directly interpolate in discrete forwards - since you need one curve per tenor anyway, why not model the market forwards in question directly, giving good control over the quantities you are ultimately interested in. I think I will try an ql implementation of that last point in the near future.

I might have had some role into suggesting that development, as I've advocated that solution multiple times when meeting Murex guys. It looked to me as the best way to avoid the problem of defining the short part of the (discount) curve, e.g. the first 6 months for the Euribor 6M curve.


That might well be, they on the other hand mentioned "Italian clients" several times when we were discussing curve constructions. I already suspected some names behind back then ...

Anyway I've actually realized that the discrete forward approach is flawed when dealing with micro-issues such as turn-of-year, and most of all the implied basis can have implausible shapes.

Direct modelling of basis is much more natural. The key implementation issue in this case is how to effectively deal with non-basis instruments (e.g. 3M futures) when they are to be preferred because of greater liquidity

Thanks for that.


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: dual bootstrap question

Magnus Nystrom-3
In reply to this post by Peter Caspers-4

Interesting info about Murex … the system I’m using have actually had the discrete forward approach since the beginning of the “ois discounting era”.  I agree this is a much more intuitive way to think about forward tenor rates. The forward rate is basically just interpreted as an index. However, if modeling the rate (as opposed to the spread) oscillation is something to pay attention to, at least, for some interpolation models (and hence possibly crossing tenors).

 

> how to effectively deal with non-basis instruments (e.g. 3M futures)

Is the problem you see related with the mark-to-market and the convexity adjustment when it comes to the 3M futures ? Apart from this I’m thinking that since the future is fixed against a 3m libor on the final settlement day they could be used on a 3M tenor curve, at least that is what I do.

 

/Magnus

 

 

From: Ferdinando Ametrano [[hidden email]]
Sent: Saturday, March 23, 2013 11:40 AM
To: [hidden email]
Subject: Re: [Quantlib-users] dual bootstrap question

 

On Fri, Mar 22, 2013 at 8:38 PM, Peter Caspers <[hidden email]> wrote:

Another interesting new development in Murex are so called forward curves which directly interpolate in discrete forwards - since you need one curve per tenor anyway, why not model the market forwards in question directly, giving good control over the quantities you are ultimately interested in. I think I will try an ql implementation of that last point in the near future.

 

I might have had some role into suggesting that development, as I've advocated that solution multiple times when meeting Murex guys. It looked to me as the best way to avoid the problem of defining the short part of the (discount) curve, e.g. the first 6 months for the Euribor 6M curve.

 

Anyway I've actually realized that the discrete forward approach is flawed when dealing with micro-issues such as turn-of-year, and most of all the implied basis can have implausible shapes..

 

Direct modelling of basis is much more natural. The key implementation issue in this case is how to effectively deal with non-basis instruments (e.g. 3M futures) when they are to be preferred because of greater liquidity


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users