I am looking at the valuation of an Interest Rate Swap (IRS thereafter) which is pretty much vanilla with one small tweak. Floating leg pays 3 months LIBOR in monthly intervals. To be precise: floating leg resets every month, and the 3M LIBOR prevailing at the reset date is paid out at the end of the monthly interval. Payment is of course scaled to 1 month period (multiplied by year fraction equivalent to this monthly period). I feel that I should use convexity adjustment similarly as in the case of the in arrears IRS (but the adjustment will be different this time around). Can anyone guide me to the appropriate convexity adjustment for this case?

Maturity: 5 years. Floating leg: monthly payments based on the 3M LIBOR prevailing on the reset date (reset dates occur monthly 2 business days before the start of each monthly coupon period). Fixed leg: annual fixed payments.

The closest case that I've found was in great Brigo and Mercurio book "Interest Rate Models - Theory and Practice" 13.8.5 page 566 "Forward Rates Resettung Unnaturally and Average-Rate Swap". However Brigo and Mercurio discuss contract that pays after natural payment date (and in my case it is before natural paymen date).

  • $\begingroup$ You should add the link to the reference paper you cite. $\endgroup$
    – SRKX
    Dec 4, 2016 at 14:30

4 Answers 4


Consider a date sequence \begin{align*} 0 \leq t_0 \leq T_s < T_p < T_e, \end{align*} where $t_0$ is the valuation date, $T_s$ is the Libor start date, $T_p$ is the payment date, and $T_e$ is the Libor end date. Let $\Delta_s^e = T_e-T_s$. For $0\le t \le T_s$, define \begin{align*} L(t, T_s, T_e) = \frac{1}{\Delta_s^e}\bigg(\frac{P(t, T_s)}{P(t, T_e)}-1 \bigg), \end{align*} where $P(t, \mu)$ is the price at time $t$ of a zero-coupon bond with maturity $\mu$ and unit face value.

Let $Q^{T_e}$ denote the $T_e$-forward measure and $E^{T_e}$ denote the corresponding expectation operator. Moreover, let $Q^{T_p}$ denote the $T_p$-forward measure and $E^{T_p}$ denote the corresponding expectation operator. We seek to compute the value defined by \begin{align*} P(t_0, T_p)E^{T_p}\big(L(T_s, T_s, T_e) \mid \mathcal{F}_{t_0}\big). \end{align*} Note that, for $0 \le t \le T_p$, \begin{align*} \eta_t \equiv \frac{dQ^{T_p}}{dQ^{T_e}}\big|_{t} = \frac{P(t, T_p)P(0, T_e)}{P(0, T_p)P(t, T_e)}. \end{align*} Therefore, \begin{align*} &\ P(t_0, T_p)E^{T_p}\big(L(T_s, T_s, T_e) \mid \mathcal{F}_{t_0}\big) \\ =&\ P(t_0, T_p)E^{T_e}\Big(\frac{\eta_{T_p}}{\eta_{t_0}}L(T_s, T_s, T_e) \mid \mathcal{F}_{t_0}\Big)\\ =&\ P(t_0, T_p)E^{T_e}\Big(\frac{P(t_0, T_e)}{P(t_0, T_p)P(T_p, T_e)} L(T_s, T_s, T_e)\mid \mathcal{F}_{t_0}\Big)\\ =&\ P(t_0, T_e)E^{T_e}\Big(\frac{1}{P(T_p, T_e)} L(T_s, T_s, T_e)\mid \mathcal{F}_{t_0}\Big)\\ =&\ P(t_0, T_e)E^{T_e}\Big(\big(1+ \Delta_p^e L(T_p, T_p, T_e) \big) L(T_s, T_s, T_e)\mid \mathcal{F}_{t_0}\Big)\\ =&\ P(t_0, T_e)E^{T_e}\Big(\big(1+ \Delta_p^e L(T_s, T_p, T_e) \big) L(T_s, T_s, T_e)\mid \mathcal{F}_{t_0}\Big),\tag{1} \end{align*} where $\Delta_p^e = T_e-T_p$.

We assume that under the $T_e$-forward measure $Q^{T_e}$, \begin{align*} dL(t, T_s, T_e) &= \sigma_s L(t, T_s, T_e) d W_t^s,\\ dL(t, T_p, T_e) &= \sigma_p L(t, T_p, T_e)d\Big(\rho W_t^s + \sqrt{1-\rho^2}W_t^p\Big), \end{align*} where $\sigma_s$, $\sigma_p$, and $\rho$ are some constants, and $\{W_t^s, 0 \le t \le T_s\}$ and $\{W_t^p, 0 \le t \le T_s\}$ are two independent standard Brownian motions. Then, \begin{align*} &\ L(T_s, T_p, T_e) L(T_s, T_s, T_e) \\ =&\ L(t_0, T_p, T_e) L(t_0, T_s, T_e) e^{-\frac{\sigma_s^2}{2}(T_s-t_0) -\frac{\sigma_p^2}{2}(T_s-t_0) + \sigma_s\big(W_{T_s}^s -W_{t_0}^s\big) + \sigma_p\Big(\rho \big(W_{T_s}^s - W_{t_0}^s\big) + \sqrt{1-\rho^2}\big(W_{T_s}^p - W_{t_0}^p\big)\Big)}. \end{align*} Moreover, \begin{align*} E^{T_e}\big(L(T_s, T_p, T_e) L(T_s, T_s, T_e) \big) = L(t_0, T_p, T_e) L(t_0, T_s, T_e)e^{\rho \sigma_s\sigma_p (T_s-t_0)}. \end{align*} From $(1)$ above, \begin{align*} &\ P(t_0, T_p)E^{T_p}\big(L(T_s, T_s, T_e) \mid \mathcal{F}_{t_0}\big) \\ =&\ P(t_0, T_e)E^{T_e}\Big(\big(1+ \Delta_p^e L(T_s, T_p, T_e) \big) L(T_s, T_s, T_e)\mid \mathcal{F}_{t_0}\Big)\\ =&\ P(t_0, T_e)\left(L(t_0, T_s, T_e) + \Delta_p^e L(t_0, T_p, T_e) L(t_0, T_s, T_e)e^{\rho \sigma_s\sigma_p (T_s-t_0)}\right)\\ =&\ P(t_0, T_e)L(t_0, T_s, T_e)\left(1 + \Delta_p^e L(t_0, T_p, T_e) e^{\rho \sigma_s\sigma_p (T_s-t_0)}\right)\\ =&\ P(t_0, T_p)L(t_0, T_s, T_e)\frac{1 + \Delta_p^e L(t_0, T_p, T_e) e^{\rho \sigma_s\sigma_p (T_s-t_0)}}{1+\Delta_p^e L(t_0, T_p, T_e)}\\ =&\ P(t_0, T_p)\left[L(t_0, T_s, T_e) + \frac{\Delta_p^eL(t_0, T_s, T_e)L(t_0, T_p, T_e)\left(e^{\rho \sigma_s\sigma_p (T_s-t_0)}-1 \right)}{1+\Delta_p^e L(t_0, T_p, T_e)}\right]. \end{align*} Here, the term \begin{align*} \frac{\Delta_p^eL(t_0, T_s, T_e)L(t_0, T_p, T_e)\left(e^{\rho \sigma_s\sigma_p (T_s-t_0)}-1 \right)}{1+\Delta_p^e L(t_0, T_p, T_e)} \end{align*} is the convexity adjustment. In practice, you may assume that $\rho\approx 1$ and $\sigma_p\approx\sigma_s$.


This seems to be a (short term, only 3 months) CMS swap. I wrote a paper about the different approaches to price them, available here. You can pick the one best fitted for your needs.

  • $\begingroup$ I've expanded contract description in my post. It seems that what you discussed in your referenced paper differs slightly from my case. $\endgroup$
    – jakub
    Sep 5, 2016 at 8:23

What you need is the convexity adjustment for 3 month libor when the payment is made 1 month after the reset date (ie 2 months before the natural date). As an approximation, this will be approximately 2/3 of the convexity adjustment for an arrears swap (paid 3 months before the natural date) and it will be approximately 4/3 of the convexity adjustment for an averaging swap (paid an average of 1.5 months before the natural date).


Practical Approach to Convexity & Timing Adjustments

Omitting derivations because earlier answers have already covered them, let's address how we can explicitly calculate the adjustments. Hull (pp. 765, equation (33.2), OFaOD 9th ed, 2015) gives an explicit formula for the convexity and timing adjustment for a CMS swaplet (assuming a lognormal rate process). This is:

$$y_{adjusted} = y - \frac{1}{2}y^2 \sigma_y^2t \frac{G''(y)}{G'(y)}- \frac{y\tau F \rho \sigma_F \sigma_yt}{1+F \tau} \tag{1}$$


$y$ = instrument reference rate (e.g. swap rate for a CMS),

$G(y)$ = PV function for the reference instrument,

$t$ = time to reference rate observation,

$\tau$ = accrual period between observation and payment ($t_{i+1} - t_i$),

$F$ = forward rate for the accrual period,

$\sigma_y$ = volatility of $y$,

$\sigma_F$ = volatility of $F$,

$\rho$ = correlation between $F$ and $y$.

Note that this is all with reference to the $i$th CMS swaplet in the sequence $t_1,t_2,...,t_i,...,t_N$ where $t_N$ is the swap maturity. So all the above variables in the equation are with respect to the $i$th period. I have suppressed the $i$ subscript to simplify notation.

Since a CMS is a generalized form of pretty much any interest rate swap (for instance in a vanilla IRS the two terms in the above equation cancel each other out), we can use it to apply to the case mentioned by the questioner (3mL fixed in adv and paid in arrears monthly). Here $F = y = $ 3 month Libor fwds, $\sigma_F=\sigma_y=\sigma = $ 3mL volatility, $\rho=1$ and $\tau = $ monthly accrual. Then setting

$$G(y)= \frac{1}{(1+y \upsilon)}$$

where $\upsilon$ is the 3mL (quarterly) accrual period, some algebra gives:

$$y_{adjusted} = y + \sigma^2 y^2 t \cdot \frac{\upsilon-\tau}{(1+y\upsilon)(1+y \tau)}. \tag{2}$$

This leads to a positive adjustment in the questioner's case i.e. $\upsilon > \tau$.

For a 3mL vanilla IRS floating leg $\upsilon = \tau$ and any adjustment disappears as mentioned earlier. In this aspect equation (2) is quite revealing because what it's saying is that there is variance in any floating rate leg - the only reason a floating rate leg becomes vanilla is by setting $\upsilon=\tau$ to remove the variance and make the rates deterministic at swap inception. In other words, convexity adjustments are not the exception but the rule.

Note also that if instead we had 1mL fixed in adv and paid in arrears quarterly ($\upsilon < \tau$) then the adjustment would be negative (and in this case we would be working with 1mL fwds and $\sigma$ = 1mL volatility).

Finally, for the Libor-in-arrears case $\tau = 0$ and we get the standard formula

$$y_{adjusted} = y + \frac{\sigma^2 y^2 t \upsilon}{(1+y\upsilon)}$$

(ibid. equation (33.1)).

Intuitive Approach to Convexity & Timing Adjustments

While all of the above gives a practical and hands on way of calculating the convexity/timing adjustments, it doesn't address the intuition behind why these come about, how they compare and, moreover, why they can be both positive and negative. Let's address this. The below is adapted and expanded from Rebonato (pp.30-36, IROM, 2nd ed, 2000).

Consider a vanilla FRA with strike $K_v$ which fixes at $t_i$ and pays at $t_{i+1}$ the $\tau_i$-libor rate on a notional of 1, where $\tau_i=t_{i+1}-t_i$. Consider also a FRA with strike $K_a$ which fixes at $t_i$ and pays the $\tau_i$-libor rate at $t_i$, also on a notional of 1. How does one compare these two FRAs? Well, a naive way is to say the former is equivalent to the latter with the payment notional scaled to account for the time lag $\tau_i$. More precisely, let the discount factor from $t_{i}$ to $t_{i+1}$ be $df_{i,i+1}$ and the inverse discount factor be $1/df_{i,i+1} = df_{i+1,i}$. Then we have $FRA_a$ with strike $K_a$ on a notional of 1 and $FRA_v$ with strike $K_v$ on a scaled up notional of $df_{i+1,i}$, so that both FRAs fix at $t_i$ and have a payoff that can be equated on a reference notional of 1 at $t_i$.

Now consider the following strategy: receive fixed (pay float) on $FRA_v$ and pay fixed (receive float) on $FRA_a$ and set $K_a=K_v=K$ because we think the two FRAs are equivalent. Let the realized $\tau_i$-libor fixing rate at $t_i$ be $y$. Now there are two possibilities:

$$\text{Scenario A: rates are higher i.e. } y>K$$ $$\text{Scenario B: rates are lower i.e. } y<K.$$

In Scenario (A), we make money on $FRA_a$ and lose money on $FRA_v$. More precisely $$PnL_A=\tau_i(y-K) - \tau_i df_{i+1,i}(y-K)df^L_{i,i+1}.$$ In Scenario (B), we lose money on $FRA_a$ and make money on $FRA_v$, $$PnL_B= - \tau_i (y-K) + \tau_i df_{i+1,i} (y-K)df^H_{i,i+1}.$$ Here $df^L_{i,i+1}$ is the realized discount factor in Scenario (A) and $df^H_{i,i+1}$ is the realized discount factor in Scenario (B), once the fixing $y$ is known. We are working at time $t_i$ here so need to discount the payoffs of $FRA_v$ (which occur at time $t_{i+1}$) to equate them with the payoffs of $FRA_a$. It's worthwhile to stress here that the notional term $df_{i+1,i}$ of $FRA_v$ is a fixed number defined at the outset upon entering the strategy and does not change in the scenarios (this is essentially the point of the exercise). The key observation is that $$df^L_{i,i+1}<df^H_{i,i+1}$$ because discount factors move inversely with rates. This means that our strategy has a net gain of $$X_i=PnL_A+PnL_B=\tau_i df_{i+1,i}(df^H_{i,i+1}-df^L_{i,i+1})(y-K)$$ regardless of whether rates move up or down. This is an arbitrage and negates our assumption of equating $FRA_a$ and $FRA_v$ by just scaling the notional on the latter. Note there is a Scenario (C) as well where the strategy is arbitrage free, but this is the trivial case where the forwards are all realized i.e. $y-K = 0$.

To remove the arbitrage, the strike rate $K_a$ in $FRA_a$ should be adjusted higher by an amount that offsets the gain $X_i$ in the strategy. This ensures we make less on $FRA_a$ in Scenario (A) and lose more on $FRA_a$ in Scenario (B). This is a positive adjustment (i.e. $K_a>K_v$) and addresses the libor-in-arrears case we have actually been talking about so far, say 3mL fixed and paid on the same date for example.

However, we could choose an arbitrary time $t_k$ for the payment of $FRA_a$, where $t_i< t_k < t_{i+1}$. In this case, the strategy would be the same with the notional of $FRA_v$ scaled up by an amount $df_{i+1,k}$ (to equate a notional of 1 at $t_k$ instead). Furthermore, the accrual period now is actually $\tau_k=t_k-t_i$ and not $\tau_i$ as before. Now we would end up with a gain of $$X_k=\tau_k df_{i+1,k} (df^H_{k,i+1}-df^L_{k,i+1})(y-K).$$ Three points to consider here: firstly, $\tau_k<\tau_i$; secondly, $df_{i+1,k} < df_{i+1,i} $; thirdly, $ df^L_{i,i+1} < df^H_{i,i+1} < df^L_{k,i+1} < df^H_{k,i+1}$ and discount factors are a non-linear decreasing function of time. Hence $$0<\tau_k df_{i+1,k} (df^H_{k,i+1}-df^L_{k,i+1}) < \tau_i df_{i+1,i} (df^H_{i,i+1}-df^L_{i,i+1}). $$ In other words,$$0<X_k < X_i.$$ Therefore the adjustment for payment at $t_k$ will still be positive but less than the adjustment when payment is at $t_i$ (the in-arrears case). This would be the case when we have 3mL fixed and paid monthly for example. It's illuminating to note here that the higher rates are, the more convex the discount factor curve becomes. Therefore the difference $ X_i-X_k$, and hence the difference in the corresponding convexity adjustments, is more accentuated in a high rate environment compared to a low rate one.

Finally, consider the situation where the payment date of $FRA_a$ is at time $t_l > t_{i+1}$. Here the strategy is to receive fixed (pay float) $FRA_a$ with notional 1 and pay fixed (receive float) $FRA_v$ with discounted notional $df_{i+1,l}$ (to equate a notional of 1 at $t_l$). Also, the accrual period is now $\tau_l=t_l-t_i$. So, in Scenario (A), our portfolio has $$PnL_A=- \tau_l(y-K) + \tau_l df_{i+1,l} (y-K)df^L_{l,i+1}$$ and in Scenario (B) $$PnL_B = \tau_l(y-K)-\tau_l df_{i+1,l} (y-K)df^H_{l,i+1}.$$ Note that $$df^H_{l,i+1}<df^L_{l,i+1}$$ i.e. we are working with inverse discount factors. Once again we make a risk-free gain of $$X_l=PnL_A+PnL_B=\tau_l df_{i+1,l} (df^L_{l,i+1} - df^H_{l,i+1})(y-K).$$ In this case we would need to lower the strike rate $K_a$ in $FRA_a$ to offset the gain $X_l$ and remove the arbitrage. This ensures we lose more on $FRA_a$ in Scenario (A) and make less on $FRA_a$ in Scenario (B). Hence we apply a negative adjustment to the rate of $FRA_a$ (i.e. $K_a<K_v$). This would be the case when we had 3mL fixed and paid semiannually for example.


All of the intuitive adjustments discussed in the previous section are captured explicitly in equation (2) above. It is important to mention, however, that we have made a simplification in equation (2) when deriving it from Hull's general CMS equation (1) for the non-standard libor payments discussed throughout here. Specifically, when looking at the case where the payment was at $t_k$ in $FRA_a$ above, the size of the convexity adjustment should really be a function of the fixing rate $y$, a rate $F_k$ which is the forward rate from $t_k$ to $t_{i+1}$ (and determines the discount factor $df_{k,i+1}$), the vols $\sigma_y$ and $\sigma_{F_k}$ of $y$ and $F_k$, and the correlation between these two rates $\rho_{y,F_k}$. Similarly, when the payment date is at $t_l$ we should be working with the forward rate $F_l$ from $t_{i+1}$ to $t_l$ (which determines the discount factor $df_{i+1,l}$) and its vol and correlation with $y$. In equation (2) we have assumed $y=F_k=F_l$ and $\sigma_y=\sigma_{F_k}=\sigma_{F_l}$ and $\rho_{y,F_k}=\rho_{y,F_l}=1$, at a loss accuracy but a gain of simplicity.


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.