You can buy a wide SPX box spread at a discount to it's guaranteed final value, so they couldn't naively stop all spreads that were an arb free profit without taking interest rates into effect. At the point they have to decide what's a "reasonable" interest rate it would get pretty hairy for them. Of course that's a moot point since it would all be highly illegal for them to do without disclosing it in their exchange rules and there would be so many people who knew about it that it couldn't be kept secret for long. It sounds like you look at this a lot so I'll ask you, but don't the MM open up their spreads significantly at the first hint of volatility? At some point the spread is big enough there's very little chance of "stepping" on another MM with a crossed bid and ask. So my theory would be that if most MM algos are written to say "see big volatility shift, open spreads, then re-adjust to new price", all in fractions of a second, you'd see the results you're seeing. But again, that's more of a question for you since it sounds like you've spent significantly more time looking at the tape on this than me? I think the MM algos are also going to move their bid or ask as they get hit and start to develop an imbalance, so while one MM may very well feed orders to another for brief periods of time its just the cost of doing business. And if one is slow enough to be the negative recipient of that for very long they won't be long for the business.
If I recall correctly from your old post, you had AMZN trading at say $2000 and were able to do something like sell the 2110 call two weeks out and buy the 2100 call three weeks out for a credit. Both DOTM options, but some residual value. My guess was that you were crossing two MMs that had slightly different models of what that residual value should be. Say one bidding $0.60 for the nearer expiry and another offering $0.55 for the farther one. Neither of them are crazy by themselves but together present an arbitrage. Probably one of them adjusted to be more conservative with opening prices. Just some guesses; I'm curious as well what's actually going on. Are you asking about MMs stepping on each on these sorts of DOTM options with wide spreads, or ATM options with penny bid/ask? Meanwhile, it seems to make sense you wouldn't be able to get a discounted box this way because the DITM puts are easy to price as 100 delta regardless of the model, with a wide spread tacked on. I don't think there could be an exchange cap pegging boxes to a certain rate. It'd be too tricky pricing dividends and hard to borrow rates in addition to interest rates. I have occasionally gotten slight discounts on boxes relative to the risk free rate, although my guess is it had more to do with the funding considerations of some smaller MM rather than the types of arbs you're going after.
Sig, Generally my arbitrage efforts do not apply to SPX as there are too many pro players there, so I’m referring mainly to stock options. On SPX I mainly trade regular DOTM ratio spreads and later offset them with back ratios, but it’s a lot of work and not much money, while occasionally can get risky. My point about exchanges calculating box value was meant more to conclude that indeed they wouldn’t do that, but that’s going back to the core of my question about who/how is able to keep those spread prices so static. Traders would usually say “MMs won’t let you have this or that”, but then who lets MMs have all the profit? Generally the question is why retail traders cannot do the same, and how MMs gain advantage, assuming they’re able to lift stale resting retail orders when the market moves, while we may have box or other spread orders with legs that include the same stale retail orders and not get filled. But this may be a wrong assumption, and I suspect that retail traders may get fills between each other, just not as arbitrage, or possibly very rarely as accidental arbitrage. elt894, See above about box value incl interest rates, while indeed that example with AMZN shows that I may be mixing up multiple topics, or different types of arbitrage. After looking back at my past trades I’ve realized that the DOTM arbitrage was mainly on “sloppily” priced options that lacked either bid or ask, while the spreads were like $0/$5.00 or $0.10/$5.00, and had room for mistakes by MMs. I now see a bit cleaner options chains, as if MMs cleaned and tightened some of those up. And even when some options still seem out-of-whack, I can understand that MMs improve their systems and figure out how to be more careful. Possibly some smaller MMs stay away from DOTM altogether or find a new hobby. I gave up on playing with DOTM arbitrage but now I’m trading more regular DOTM setups like ratio spreads and diagonals on TSLA and UVXY that have risk. But of course I’m trying for the best price and sometimes I’m surprised why I cannot get just a small discount off the mid price on basic, risky setups. This prompted just a generic question on how MMs work with options and how MMs not let us have discounted boxes, and generally why options traders aren’t feeling like they’re trading with other traders, and why everyone says and assumes that arbitrage is no longer possible. And if indeed it is not possible then how specifically? Let’s say it was initially possible and then what happened? And I didn’t find any related articles or discussions on the net except generic assumptions that MMs won’t let it happen. There also isn’t much info on whether they do have an advantage, and how it works. But I could be just overthinking this, while possibly all this can be explained through the basic market-making process, while some traders indeed may be getting a small discount now and then.
How does it work for a retail? Even with a good pricing model and an initial edge, the spot hedging costs can easily outweigh it no?
I think one thing that prevents your spread from getting filled in these instances, and more generally prevents retail traders from interacting with each other is the number of exchanges that exist. Your spreads are only going to get filled if the orders for the legs are on the same exchange (I'm not even sure if all exchanges will match COB orders against individual legs or only some do). If there's an arb available across multiple exchanges, you'd need low latency to exploit it. My understanding is a similar effect happens for single legs. You might have the best bid showing, but if another retail trader tries to hit it, the firm buying the order flow can match your bid on a different exchange and send the order there. I think a lot of that is in response to posts like, "I just learned about options. How do I buy a box spread." People forgetting about early exercise is another common one. I have seen a small number of more serious posts where people imply there are opportunities to leg into boxes at a discount. Of course those opportunities won't show up in the posted quotes; you'd have to figure out what the inner market is. I haven't stumbled across that myself, though a few times I have been able to repeatedly buy and sell the same complex spread at a profit, presumably crossing two MMs with differing models.
Yeah, it would be very difficult without order book access. I still feel a theoretical price is very useful in gauging the total value of an option relative to the market, but as for using it in a "retail MM" sense - it was mostly just a thought that I tinker with occasionally.
If you trade on "your" model and more or less wait the assumed edge out until expiration, that's hardly market-making, right. Trying to understand in what sense you can market make vs basically trade-hold with adhoc adjustments. I definitely fall in the latter
I've made quite a few attempts at aggregating and normalizing option data but all of them ended up being bad for one reason or another. The schemas weren't in any state I'd want to share - they were experimental and a lot of the work was getting/cleaning/bulk uploading data from FTP -> my database since no one can realistically provide a nice clean API to pipe gigabytes of data a day to you at a cost a retail could afford. Bulk uploading became a major problem because of timeouts. I had to create my own batching system to get the files up, and uploading option data nightly took 5-6 hours if everything went well. The only saving grace was the operations were atomic, which meant I could basically max out my cores on all my rigs I have here by splitting the work between them. At one time I had a 300 GB file of S&P constituents and their options. The problem was even at daily resolution I was generating between 400-900 MB of data a day. It became largely unsustainable for me because hosting it was out of the question (even though data is cheap, throughput is not), and I didn't need entire option chains to do the work. It can be done given enough capital but I didn't have enough and so I abandoned it. If I did it right, I'd probably run an AWS/Linode/whatever cluster or something and spend a 500-600 a month storing, housing, and cleaning the data (excluding the $100-$300 a month on GETTING the data in the first place). It is not a cheap endeavor, even at "only S&P500 constituents" scale. I'd also use a nosql database or a columnar database because the overhead of a normalized RDBMS per transaction is quite large at those data sizes even with atomic operations (to save you the problem of row-locking in row-based RDBMS).