On page 6 of this paper a forumla is given for payer swaptions, I am just wondering what is the formula for receiver?

My implementation of the formula for payer and receiver is here, but I am not very sure about it.

Also to get ATM swaption, does that mean the forward swap rate is equal to the strike price?

  • $\begingroup$ for some reasons, the first link does not work $\endgroup$
    – jherek
    Nov 20, 2019 at 11:08
  • $\begingroup$ The editor of the post made a mistake, I have corrected it now $\endgroup$
    – hao
    Nov 20, 2019 at 11:24

1 Answer 1


The formula for pricing a swaption under normal volatility is simply the Bachelier formula. It may be found in many papers (for example, Le Floc'h Fast and accurate basis point volatility), and is also on stackoverflow.

You can easily move from a payer ($C$) to a receiver ($P$) by using the put-call parity relationship: $$ C(t) - P(t) = B(t,T) (F(t,T)-K)\,,$$

where $B$ is the discount factor to maturity, $F$ the forward rate, $K$ the strike.

The formula in your python code looks correct to me, in accordance with the first reference.

  • $\begingroup$ Thanks! A quick follow up question - For ATM Swaption, does this mean the forward rate is equal to the strike? If thats the case, with the formula you have provided above, the difference between a payer and receiver is zero? $\endgroup$
    – hao
    Nov 20, 2019 at 11:26
  • 1
    $\begingroup$ ATM spot or forward premia are typically quoted as a straddle (receiver + payer) where both payer and receiver have the same price due to the parity states above. ATMF r ate is indeed the forward rate of the underlying swap. $\endgroup$
    – oronimbus
    Nov 20, 2019 at 19:55

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.