I have the settlement prices of 3-month SOFR IMM futures and I'm trying to compute the forward curve to replicate FactSet's results, but I have trouble understanding how they do the convexity adjustment. According to their white paper,

At FactSet, we are using a simplified model-free approach to infer the convexity adjustment from the Future market price where $ConvexAdj(t) = 100 − f(t,S,T) − P_{market}(t)$. Notice that the convexity adjustment here contains both the true convexity adjustment and future/cash basis spread, which is why this is a simplified approach.

expiration, settlement
01/24, 94.6875
02/24, 94.7800  
03/24, 94.9250  
04/24, 95.0600  
05/24, 95.2150  
06/24, 95.3550
09/24, 95.7500  
12/24, 96.1000  
03/25, 96.3900
06/25, 96.5900
09/25, 96.7000  
12/25, 96.7350

I have $P_{market}(t)$ but this still doesn't explain to me how I can get $ConvexAdj(t)$ term in a model-free manner. How are they getting the convexity adjustment?


1 Answer 1


The convexity adjustment that is referred to here is the difference between the rate implied on a period by the STIR futures market and the Interest rate swap market. This is observable (in a model free sense) becuase you can derive a curve based on futures and a curve based on swaps and compare the two rates (this is the formula presented).

It is mentioned that this contains the true convexity adjustment and the futures/swaps basis becuase in real markets there may be other reasons why these products deviate in price. This is typically caused by supply/demand imbalances driven by low liquidity or by different jurisdictions, e.g. swaps predominantly clearing in one clearing house and the futures settling on another exchange without margin netting.

It may be possible to observe a part of the futures/swaps basis relevant to cross clearing margin by analysing the swaps cross-clearing house basis prices, but some elements of it, such as that caused by low liquidity or general supply demand will not be observable and thus must be considered a latent variable.

The true convexity adjustment can only be obtained by modelling the appropriate volatility, which is difficult to do. A bit easier for SOFR which has only one curve, and more difficult for Euriobor which has an IBOR forecasting and RFR discounting curve.

Note that you are not able to trade true convexity since any convexity trade will always also include some element of the future/swap basis as part of the transaction, unless you can exactly replicate it with swaptions, in which case the price of the true convexity is equal to the value of that set of swaptions.

  • $\begingroup$ Fantastic answer, thank you, upvoted. I will accept this in the next 24h if no one else feels they can improve on it. $\endgroup$
    – Katie
    Jan 10 at 8:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.