“How now?”
These are the two most dangerous words a market maker can hear. No one’s asking for clarification about your sandwich toppings, a broker just traded your market and still wants more size.
While poor gamesmanship, and likely to get punished in the repeated games world of floor trading, a counterparty has every right to parcel up a trade in an attempt to get more liquidity and or better prices. There’s no promise the best price and size you gave would represent the end of the order.
To charge for liquidity is to be nimble about movement. Price discovery is a process, and orders carry information. When the quantity is significant relative to the displayed markets, adjustments happen quickly. The art of market making is finding the balance between collecting as much edge as much as you can while not getting run over as prices move.
Neither the buy or sell side know the true worth of an option. Even the most advanced prop shops only have informed opinions and structure trades through relative values. We can’t definitively say that the MSFT July 12, $500 calls are cheap - that just depends on what Microsoft does in the next 3 weeks.
For some traders they represent a good premium collection opportunity, time to hit the bid. The other side is floating a cheeky price to get some single leg vega for their dispersion strategy and happy to get filled a penny better than “fair.” Both sides win, and the market as a whole knows a little bit more.
This sets the price for right now, and market participants adjust their values, slightly or significantly, depending on the texture of the orderflow. The organic microstructure of market efficiency iterates towards a truth about rates, vol, and direction.
Sometimes it’s chunky, and sometimes it’s smooth. A single order can do it, or a big red day can spike prices across the board. Other times value just tacks back and forth towards “truth” as the weighing machine does its work.
In mechanical terms, the national best bid and offer have prices and quantities provided by one or more participants. For these intents and purposes we can call the market price the midpoint between the bid and offer. When the existing contracts are traded, the market price shifts, because there are no longer commitments at the same levels. Sometimes the interest is replenished because traders are still willing to buy or sell at the price, other times the data points require an update to an underlying model.
The options pricing model is unique vis a vis other asset pricing models like CAPM for equities or replacement value for a house because a major component is time on the clock; space for volatility to realize. Without anything else changing - rates, school quality, or demand for chips - an option’s value decays as time goes by.
This means that price updates must happen independently of a trade. Positions change even if you’re not doing anything. Supply and demand will move delta one markets, but in just the time it takes to read this blog, a 0DTE’s value will have changed ever so slightly. Penny counting participants (that’s not everyone!) will slightly fade their markets.
Orderflow iterates towards value as the collective wisdom of the market is digested and converted into pricing inputs. The options model then does its own iterations to come up with a dollar output. Because stock prices move and expiration approaches, the pricing loop must be running constantly.
One form of iteration is extrapolating implied volatilities from market prices. Traders will commonly use something like the Newton Raphson method (yes, that Newton) to take a call or put price and back out the market implied price. Most of the variables are fixed (though interest rates and dividends can be degrees of subjective) so we take the values we know, and iterate with the remaining.
Taking an initial guess, we solve the Black Scholes equation with our hypothesized volatility, and compare the difference to the market price. We could keep tweaking our guesses and adjusting them as we get closer, but to speed up improvement the options pricing model can be leveraged.
Vega is the options sensitivity to implied volatility shifts, so we take the difference between our initial guess and the market price and divide that by the vega of our guess. This converts back into implied volatility points by which we adjust the next guess.
This method is extremely effective, and can take a horrible first guess and turn it around in as many loops as a good guess. AAPL is trading $213 and the 30 day $215 call has a market price of roughly $4.70. If I guess IV is 95%, it takes 2 loops to be within $0.00001. If I guess one tenth of a click away from “truth” at 21.8%, it takes only one.
Extracting the implied volatility from the market is useful for analysis and comparison. But other times the problem goes in reverse, and you need to get the best possible price for a given volatility. Your volatility spline or model will give you a level for what volatility should be, but the CBOE only accepts quotes in dollars, cents, and size.
Black-Scholes is highly useful and speedy as a closed form model, but it only works for European options. Dividends in particular get knotty with the potential for early exercise, and so we need to introduce some nuances to the pricing calculation.
Tree models are the most common solution here. The path between now and expiration is sliced into nodes which represent underlying prices and option values. When those nodes are in the money and the call would be dividend exercisable - the value is different than if we only care about the settlement price.
Setting up and considering all the different price scenarios adds significant computational burden. Too few nodes and the price will be off, and too many nodes and you’re picked off anyways waiting for the hamster wheel to spin.
Take a $100, 40% vol stock with a 2% dividend yield, and price the just out of the money call option a year out. If we only chop up the time into 5 steps, the model guesses that option is worth $15.42. Twice as many steps, for only a tenth of a millisecond longer of clock time, and you get $0.57 closer. Sending a price more than a half dollar away, will get you picked off.
Efficacy drops off quickly with simple brute force techniques. A nickel closer costs you now almost 8 milliseconds. It takes 25 more milliseconds to get within a penny of the true price. By the time my old clunker of a CPU runs 3200 iterations and has reduced the error term to within a tenth of a penny - 8.7 whole seconds.
Somewhere on that curve it’s appropriate to cut bait and run with what you’ve got. If you’re quoting a highly liquid product where pennies matter, precision might be worth it. But if you can fire off an order to seize opportunity that’s off by a dollar, a few steps will do it - or at least tell you to move out of the way.
There are shortcuts that you can apply beyond just getting better CPUs or coding the logic into a GPU. Rather than running all these calculations on the fly as stock prices move and options decay, you can setup a pre-computed matrix of where prices should be under defined circumstances. This takes advantage of CPU cycles in slow markets, but the matrix must be refreshed as orderflow moves the assumptions and inputs that priced it.
Before it got mangled by MBA speak, iterating just meant figuring it out. Start with your best guess, learn from the mistakes, and keep refining. When you have a computational trade off, it’s important to know when the value of those refinements matter or don’t.
The buy side doesn’t need to care about the precision of a pricing model, but they do need to find an investment approach that works for them. For active traders, not every new piece of research or approach will bear fruition. There wouldn’t be enough space in paradise for us all anyways.
On the other hand, you don’t find a pot of gold without looking. Whether you’re sizing a market for a broker or determining your new covered call allocation, always be prepared for “how now.” The first iteration can be pretty far off, but learning from your mistakes goes a long way.