lballabio / QuantLib

The QuantLib C++ library
http://quantlib.org
Other
5.37k stars 1.8k forks source link

SOFR observation lag #1089

Open pcaspers opened 3 years ago

pcaspers commented 3 years ago

SOFR is observed with a 1d lag, i.e. the rate for the fixing date 2021-04-22 (Thursday) is published on 2021-04-26 (Monday). The same holds for SONIA, TONA and ESTER.

I wonder if - in principle - we need to account for the lag in the sense that the fixing on "evaluation date - 1" might exist or might have to be projected on a curve, similar to what is done for 0d - lagged indices (e.g. USD-LIbor-3M) w.r.t. to the evaluation date itself. And if so, should the yield curve start at -1D instead of today?

One might ignore the issue as long as it is ensured that one never prices at a time where the SOFR fixing for the previous day is not yet published.

What do people think?

lballabio commented 3 years ago

You mean that the rate for Thursday is published on Friday? I'd call it a 2-days lag otherwise...

lballabio commented 3 years ago

I guess that the coupons depending on these rates would also have an observation lag, to prevent today's fixing from not being known? That's how the same problem is solved in inflation land.

pcaspers commented 3 years ago

Yes I dramatized the situation a bit to get some attention I guess. Of course, the Thursday fixing is published on Friday...

There are indeed different trade features to ensure that the payment of a SOFR derivative does not have to happen on the same date on which the last fixing to calculate the payment amount is available. You can apply an observation lag as you say, there is also the variant to shift back the whole on accrual periods by one or a few days, or you can have a rate cutoff where the last fixing is repeated for the few last days of the accrual period.

This solves the operations issue. But we still have the possible one day gap in the modelling right? As you say, inflation is similar with, and there too the term structures account for observation lags (in fact it should be availability lags I think, but let's not diverge, for SOFR it's one day availability lag anyway).

lballabio commented 3 years ago

True, we might have to model that.

github-actions[bot] commented 3 years ago

This issue was automatically marked as stale because it has been open 60 days with no activity. Remove stale label or comment, or this will be closed in two weeks.