LIBOR forwards pricing : should I use PiecewiseFlatForward ?

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

LIBOR forwards pricing : should I use PiecewiseFlatForward ?

d.djimi
Hi all,

I am trying to price LIBOR forwards (e.g 3 months forward 3 months, 6
months forward 23 days, etc) using the PiecewiseFlatForward function,
but I obtain strange results :

--> When I ask for spot rates, I obtain different rates than those
that I have specified myself.
-->I obtain erroneous forward values.

This does not happen when I price the forward swap curve (e.g 2 years
forward 5 months, 5 years forward 2 weeks, etc).

Should I use the PiecewiseFlatForward function ? And should I use it
the same way that I do for pricing the forward swap curve ?


Any idea ?

Thanks,

Dieudonné







Reply | Threaded
Open this post in threaded view
|

Re: LIBOR forwards pricing : should I use PiecewiseFlatForward ?

Luigi Ballabio-2
On 2004.07.23 15:31, [hidden email] wrote:
> I am trying to price LIBOR forwards (e.g 3 months forward 3 months, 6
> months forward 23 days, etc) using the PiecewiseFlatForward function,
> but when I ask for spot rates, I obtain different rates than those
> that I have specified myself.

Dieudonné,
        if you use the TermStructure::forward() method, the returned  
values are continuously compounded forward rates, which is not what you  
want. In order to obtain LIBOR fixings, you must instantiate a Libor  
index and use the fixing() method. For instance:

RelinkableHandle<TermStructure> discountCurve(
    Handle<TermStructure>(
        new PiecewiseFlatForward(...)));

Euribor index(6,Months,discountCurve);
std::cout << index.fixing(Date(23,July,2006)) << std::endl;

For details, look at test-suite/piecewiseflatforward.cpp--which  
actually verifies that the discount curve reproduces the given rates  
exactly...

Later,
        Luigi