Filtering Option Quotes for Static Arbitrage in Volatility Surfaces
Summary
The document addresses how to adjust an implied-volatility surface when its quoted option prices contain small butterfly arbitrage violations. The specific issue is a discrete set of call prices across strikes that fails convexity, which can undermine later calculations that assume an arbitrage-free surface. The question asks for a practical mathematical way to find a nearby valid surface that can be implemented directly.
The response recommends first filtering option quotes against static no-arbitrage conditions, including butterfly, call-spread, and calendar-spread constraints. It cites work by Carr and Madan as establishing a finite set of tests for static arbitrage in option quotes. Passing such checks can remove static-arbitrage inconsistencies from the input data before further modeling. However, the response does not specify an optimization objective for finding the closest surface, nor a distance metric, algorithm, or treatment of noisy bid-ask quotes. It therefore gives a useful screening direction, but not a complete procedure for projecting an observed surface onto an arbitrage-free one.
Key ideas
- Discrete call prices across strikes should satisfy convexity to avoid butterfly arbitrage.
- Static-arbitrage checks include conditions related to butterfly spreads, call spreads, and calendar spreads.
- A finite set of quote tests can filter observations that violate static no-arbitrage bounds.
- The response points toward quote filtering but does not define a nearest-surface optimization method.
Tags
Full text
# Clean noisy data from arbitrage # Clean noisy data from arbitrage My problem is that I have a surface of implied black volatilites that is supposed to represent market data. However, the surface contains some slight arbitrage. More precisely, the graph contains butterfly arbitrage for some strikes due to non-convexity of the discrete graph of call-option values. This arbitrage, obviously, causes problems in later mathematical procedures that requires no arbitrage. So my question here is: Is it possible, in a not too time consuming and complicated way, "wash" the data from arbitrage? To find the closest arbitrage free surface in some way. Any references to articles about the subject would be appreciated. (Not interested in references to Matlab/Mathematica or other premade functions/libraries/programs. I am interested in the mathematics behind the problem and implementing it myself if possible) ## Answer by Pleb (score 2) https://quant.stackexchange.com/a/61035 It sounds like you haven't filtered away static arbitrage strategies (such as butterfly spreads, call spreads and calendar spreads) from your data. To keep my answer short and concise, there's a paper by Carr & Madan (2005) that establish the structure of a finite set of tests (a filtering procedure) on your option quotes. When you are left with options satisfying these 'static' no-arbitrage bounds, then the quotes are free of static arbitrage, which will help you further on. I recommend you to take a look at that paper, if you haven't already. Hopefully this provide some guidance.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.