Suppose that one has a caps/floors volatility surface and wants to check whether this surface admits arbitrage. What is the theoretical and practical way to do it?

Lets talk only about caps for simplicity, since a cap and a floor with the same strike and expiry have the same volatility (similarly to vanilla call and put options). An interest rate cap is a series of individual vanilla call options (caplets) on the interest rate. Given a flat cap volatility (the one that correctly reprices the cap as a sum of caplets with the flat volatility) one can derive spot volatilites of individual caplets via a procedure known as caplet volatility stripping. Therefore it is possible to build a caplet volatility surface from the given cap volatility surface, i.e. a volatility surface of vanilla European call options constituting caps.

Is it true that caps volatility surface is arbitrage-free if and only if the corresponding caplets volatility surface is arbitrage-free? Is it possible to check the absence of an arbitrage directly on caps without building the corresponding caplets surface? Note that we can't trade individual caplets constituting caps.

Any help, links to resources and thoughts on that matter will be greatly appreciated.


1 Answer 1


I would say that a cap volatility surface (meaning, a list of implied volatilities corresponding to various final maturities) is arbitrage free if and only if you can successfully build the corresponding caplet volatility surface.

Note that any caplet surface is arbitrage free because the underlying rates for each caplet are different. (Obviously, one would expect the caplet surface to be smooth, but even if it isn’t , it’s not technically an arbitrage. More of a relative value trading opportunity).

EDIT Suppose we have flat 1% yield curve for simplicity and then all caps and caplets are 1% strike. Sample cap prices: 6m 0.09 9m 0.18 1y 0.25 1y3m 0.38 Can be stripped into caplets by simple subtraction 3mx6m 0.09 6mx9m 0.09 9mx12m 0.07 12mx15m 0.13 But if the 1y3m cap price were 0.23 the stripping procedure would give 12mx15m -0.02 which is impossible as option prices are positive.

  • $\begingroup$ Can you please elaborate more on your answer -- how did you arrive to a conclusion that existence of a caplet volatility surface is linked to a no-arbitrage on caps? Also can you provide an example when it isn't possible to strip a caplet volatility surface from the given cap quotes? My knowledge is pretty limited there but I thought that it is always possible to find spot caplet volatilities from the given cap flat quote via bootstrapping or similar algorithm. $\endgroup$
    – Hasek
    Commented Nov 5, 2021 at 17:19
  • $\begingroup$ Thanks a lot for your edit with an example. So it seems like one can say "The corresponding caplet volatility surface exists if and only if for every fixed strike the price function of a cap is an increasing function of maturity" -- is that a correct statement? How would you adapt it for the case of ATM caps when the value of the ATM strike is different for different maturities (assuming non-flat yield curve)? $\endgroup$
    – Hasek
    Commented Nov 7, 2021 at 11:24
  • $\begingroup$ Also I didn't quite get "the underlying rates for each caplet are different" -- suppose we're talking about caps on LIBOR 3M with a settlement 3 months after the maturity date -- then caplet maturing at 9M will have LIBOR 9Mx12M as an underlying rate, caplet maturing at 1Y has LIBOR 12Mx15M as an underlying, etc. Is that what you mean? What about a static arbitrage for some fixed maturity -- should you also demand convexity of caplet prices for different strikes since all caplets with the same maturity have the same underlying rate? $\endgroup$
    – Hasek
    Commented Nov 7, 2021 at 13:16
  • 1
    $\begingroup$ Yes caplets with different maturities have different underlying rates so can have in theory quite disconnected dynamics. Yes, caplets with the same maturity must obey the usual arbitrage restrictions (convex with respect to strike for example). And yes , if the ATMs are all the same strike, then the stripping arbitrage condition is equivalent to a monotonically increasing cap price as a function of maturity. $\endgroup$
    – dm63
    Commented Nov 7, 2021 at 14:43

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.