Re: [QuantLib-Users] IborIndex Fixings vs Bloomberg Fixings

Posted by Luigi Ballabio on
URL: http://quantlib.414.s1.nabble.com/QuantLib-Users-IborIndex-Fixings-vs-Bloomberg-Fixings-tp5632p5642.html

Dale,
    I've had a quick look.
First thing: except for the first one, the fixings you're adding to
the index won't be used since they're for future dates.  The coupon
will look at its fixing date, see that it's in the future, skip the
lookup among the stored fixings and forecast the fixing off the curve.
Second: the way you were printing the fixings was a bit off: you were
adjusting the payment date and asking the index for a fixing at that
date, but this would give you the fixing at the end of the coupon and
moreover would disregard the fixing days. I've modified the printout
loop a bit to get the rates actually used by the coupon, and I'm
attaching the updated file.  With the modification, you can see that
the first coupon is matched exactly (it fixes on today's date, so it
is looked up and found).  Also, I've modified the fixed frequency so
that it matches that of the swaps used to bootstrap the curve (it
doesn't affect the floating-rate fixings anyway) and checked that it
reprices the quoted 5-years rate correctly.

Now, if you want to use the market data (deposit, futures etc.) and
forecast the Libor fixings based on those, you'll probably have to do
some calculations to try and see what's happening.  For instance, you
might estimate what the second fixing should be: from the 3m deposit
you can calculate the discount at three months from today's date, and
from the futures you can work your way outwards and get the discounts
at their maturity date (their price depends on the discounts at the
start and end date of the underlying fixing, you know the discount at
the start date because you can interpolate it from the discounts you
found so far, you get the discount at the end date).  Once you have
the discount at the 6-months point, you can calculate the Libor fixing
for the second coupon.  To check that the curve is doing the same, you
might want to use PiecewiseYieldCurve<Discount, ...> and call its
nodes() method which returns a vector of pairs (date, discount).

If you just want to use the Bloomberg fixings instead, you can try
feeding the first to a DepositRateHelper and the others to
FraRateHelpers instead.  This will bootstrap the curve so that it
reprices the forward rate passed to each helper, so you should
retrieve the same rates in your swap.  The calculation won't really be
based on market rates, though.

Hope this helps,
    Luigi

------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users

fixings.cpp (29K) Download Attachment