I have 2 interest rate curves (LIBOR 3M and OIS). I want to create stress scenarios for those two curves. Is it possible that some scenarios will make my term structure arbitrageable? How can I test if, after I apply the shocks to the curves, I did break the no-arbitrage condition in the term structure?
To say a curve is arbitrage-free, you need to pick an arbitrage path; a series of trades which, when followed, yield a net profit without creating exposure. We neglect counterparty exposure here, since you are presumably using market-neutral rates.
One arbitrage is to buy a swap from your curve, and sell at the market price. This is a test of your curve construction. If your curve is not an exact bootstrap (e.g. you've done some Excel optimisations to find solutions etc), then you might be able to price one of the inbound swaps outside the bid/ask spread of the input rates.
The majority of curve bootstrap methods are arbitrage-free by construction - by constructing a curve that re-prices your inputs exactly, there is no certain arbitrage.
There may be better or worse properties of the curve, however; do the overnight rates of the OIS curve turn unrealistically positive or negative? Are there sharp changes to the forward expected fixings implied by FRA rates calculated from the curve?
Sometimes there is more information available, which you are not using. For example, in the short term OIS curves only generally shift on central bank meeting dates, so often we can use the available market data to work out what the market thinks will happen on that date. If you ignore those dates, you could be asked for OIS quotes (or other prices that depend on the OIS rates) around those dates, where you will be too high or low. But that falls into the category of information that is available but you are ignoring; to construct an arbitrage argument you would implicitly have to construct a better curve and show how it is better, which is not less difficult than making the better curve in the first place.
As @MattBecker82 points out, people used to assume rates could not go negative without an implied arbitrage (they can and currently are for EUR), just like they used to assume that cross currency basis was an arbitrage, or 3s6s basis for 0x6, or a difference between swap prices on LCH and CME, ad nauseam.
Conventional wisdom would have it that the system would be arbitrage free if and only if:
- All the implied spot and forward rates on each curve are non-negative (I.e implied discount factors are monotonic non-increasing wrt maturity)
- All the implied spot and forward rates on the 3M curve are greater than or equal to the corresponding rates on the OIS curve (I.e implied 3M curve discount factors are <= the corresponding implied OIS curve discount factors)
HOWEVER, 1. has been persistently violated in the EUR OIS market for months, and 2. has been violated from time to time. This shows that conventional wisdom is bunkum.