Following my question

Swaption valuation across time using vcub

where I wanted to know how to value a swaption across time using bloomberg's vcub, I remark that I have to calculate myself the forward swap rate $s_t$, even if $s_0$ is quoted on bloom.

What techniques are available to do this ? If the formula from discount curve and forward curve valid / precise enough for this ?


2 Answers 2


it requires a model to do it correctly but often i might just do a simple forward math calculation especially if it's not very far forward. So for 1yr fwd 2yr i'd do ((1+yield(3yr))^3 /(1+yield(1yr)^1)^(1/2)-1. It's better to do this with zero coupon bonds but often those yields aren't that different these days anyway.


Let's say $ I $ is the Libor index for our underlying swap and $ D $ is our discount curve.

If at time $ t $ we have a forecast of all the relevant future Libor fixings $ L_{I}(t, T_{i}, T_{i}+\tau) $ for our swap, where $ \tau $ is the accrual factor for our Libor index and $ T_{i} $ is the time of the $ i $th fixing for our swap, we just need to solve for the fixed swap rate $ s $ that equates the NPV of the fixed leg of our swap with the NPV of the floating leg.

The fixed leg NPV is given by

$ V_{fixed} = \sum_{i}{s \tau D(t, T_{i})} = s \sum_{i}^{n}{\tau D(t, T_{i})} = s * PV01 $

where $ D(t, T_{i}) $ is the time $ t $ discount factor on our discount curve for time $ T_{i} $.

Similarly, the floating leg NPV is given by

$ V_{float} = \sum_{j}{ L_{I}(t, T_{j}, T_{j} + \tau) \tau D(t, T_{j}) } $

For a par swap, we know that $ V_{fixed} + V_{float} = 0 $, therefore we can substitute in for $ V_{fixed} $ and divide by the fixed leg PV01 (sometimes called the level or annuity of the swap) to obtain

$ s = \frac{-V_{float}}{PV01} $

In reality, each individual period's $ \tau $ may be slightly different due to day count conventions, but it's fairly clear that the swap rate $ s $ is just a weighted average of the forward Libor rates $ L_{I} $ on the floating leg of the swap

  • $\begingroup$ How did can you calculate the PV01 of the swaption ? $\endgroup$
    – Gogo78
    Commented Sep 6, 2019 at 7:06
  • $\begingroup$ The PV01 is for the underlying swap - we're trying to determine the at-the-money forward rate for the swaption, which is just the current market rate for its underlying swap. $\endgroup$
    – thetableed
    Commented Sep 9, 2019 at 2:59

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.