Menu

#44 Xibor.fixing() does not work properly on some days

closed-invalid
None
5
2007-11-23
2006-12-18
Jay Walters
No

I am trying to bootstrap a PiecewiseYieldCurve with a SwapRateHelper holding a 5y swap rate. This is a USD curve.

The Upfrontindexedcoupon class contains a coupon period from 6/20/2011 to 12/19/2011. The unadjusted start date is 6/19/2011, which is a Sunday so it has been adjusted to be 6/20/2011. Note this does not require any change in the end/maturity date.

When the rate() method is called upon this object it calls indexFixing and it passes in the fixing date as the argument, with settlement days as 2, then the fixing date becomes 6/16/2011. Now if we call into USDLibor to get the fixing, we notice this date is in the future so we must forecast the fixing. The logic here computes the value date as fixing date + 2 adjusted to be a business day which is 6/20/2011 and the maturity date computed by adding a 6M tenor becomes 12/20/2011. But the rate I really need is 6/20/2011 to 12/19/2011.

It seems to be (several classes of logic) to be depending on the relationship that adjusted start date + tenor = end date.

Discussion

  • Luigi Ballabio

    Luigi Ballabio - 2007-11-23

    Logged In: YES
    user_id=75450
    Originator: NO

    That is because you're using indexed coupons. In this case, the fixing used is the forecast Libor rate at the value date, which is (by definition of Libor) that from the value date to value date + tenor.
    If you want to forecast from the coupon start date to the coupon end date, use ParCoupon instead.

     
  • Luigi Ballabio

    Luigi Ballabio - 2007-11-23
    • assigned_to: nobody --> lballabio
    • status: open --> closed-invalid
     

Log in to post a comment.