For the crypto enthusiasts this may not be new, but I'll try to gloss over some of the basics for others, perhaps skip ahead if you know the background. Long read, hope it's fun to think about at least. Automated Market Makers In the crypto space folks have developed decentralized exchanges (DEXes); ways of submitting orders to the blockchain such that no central entity controls the transaction. Originally, some typical order books were attempted. This is costly and illiquid; every interaction with the blockchain costs fees; putting up an order let alone taking it down would all cost fees, so you can imagine it would be difficult to "trade" this way. Automated Market Makers, known academically, were utilized by the most popular DEX Uniswap. AMMs price algorithmically using liquidity pooled by individual Liquidity Providers (LPs), with a particularly simple algorithm: XY=K. X being the units of one asset in the pool, and Y being the units of the other, and K being a constant (only updated when new X and Y are added). For example: TSLA is at 600$. I provide 60000 USD and 100 shares of TSLA into a pool, making K 6,000,000. Should any trader want to take USD or TSLA from the pool, they must replenish the other variable such that K remains constant. If I want to buy 10 shares, then I will need to give 6,000,000/(100-90) - 60000 = 6666, or 666 per share. The astute will note that this creates asymptotic pricing; you can never buy all the liquidity in the pool before price climbs to infinity. But that slippage is mitigated the more liquidity exists in the pool and the larger K gets; as of now folks are trading millions of crypto with (relatively) low slippage. LPs are also exposed to risk from "Impermanent Loss," which is essentially the opportunity cost of starting the LP. Any change in the ratio of X:Y from the start will be worth less than the starting values: going back to the previous example, assuming 666$ is the market price, the starting values of 60K +100 shares would be worth 126666$. While the post-trade value would be 66666+90*666 = 126606. On Uniswap, LPs are incentivized with .3% of every trade to continue providing liquidity (and this .3% is added directly into the pool, compounding the size of the pool) Problematic "Automated" Options Market Makers This brings me to a relatively burgeoning field of crypto development, people attempting to apply similar concepts to Options markets. As of now, development of decentralized options is relatively slim. There is one example I can provide called Hegic. Hegic LPs pool their coins and essentially sell covered calls. Except instead of offering individual options, buyers may specify the expiry, strike, and volume. IV is manually updated by Hegic's "owner", and underlying price feeds are obtained algorithmically on-chain, I believe. This provides most all the necessary variables for pricing options. There is no direct mechanism to sell back options before expiry, although there are secondary markets, with a literal handful of liquidity on a good day. The program stops allowing new purchases if the collateral for the short options reaches 80% utilization. Their protocol also currently only allows expiries up to 28 days. They can sell puts as well; options are cash-settled (except the cash is, obviously, crypto) Premiums go directly into the pool, allowing profit if the pool grows from unexercised options. There is a host of issues with this approach, but I bring myself here now because I want to understand how to solve some of these issues, and their relationship to understanding Black-Scholes and options pricing. 1. Underpricing IV leads to all the collateral becoming locked up; crypto volatility easily outpaces a manual update. Then they have to wait for expiry unable to make more premium (and likely losing collateral due to overly cheap options) 2. Why only 28 days is a mystery to me, but I imagine there could be pricing issues with long-dated options. 3. Especially because the risk-free rate I am not sure where they get it. Manually? Coded in? Is it "necessary" for BS pricing in this scenario? 4. Requiring a manual update is not a decentralized exchange. My aims I am moderately math-y and still learning Solidity (the coding language for Ethereum) and want to see if I could possibly develop something better using something like Uniswap's algorithmic pricing model of instantly scaling price. However, since options are not uniform in expiry or strike, it cannot be that simple. But, I thought to myself, perhaps the one variable that is most dynamic, the IV, can be somehow tied algorithmically to the utilization of the pool! Buyers can provide the other Black-Scholes variables and get any option they want, theoretically. But this is where my understanding of Black-Scholes ends. 1. How important is the risk-free rate here theoretically, or practically, in the world of crypto? It would be feasible to allow it to be set by a weighted vote from all participating LPs since this is least likely to be "found" on-chain. 2. If I were to set IV = (Minimum IV)/(Remaining Collateral Percentage), the minimum would need to be also set algorithmically, perhaps by weighted vote. I am also unsure about how this price curve would look and whether it can be "straightened" with an exponent somewhere. It would be silly if this algorithmically underpriced everything but the last 1% of collateral. But then again, this system acknowledges that there must be an equilibrium price where the options suddenly become priced correctly. Adding collateral (or taking it away) would also affect the IV pricing instantly, but that can be addressed programatically... 3. Did Hegic set their expiries to 28 maximum for good reason? Is there something I'm missing about a singular IV being used to price both near and long-term options? Is there a recommended way to scale IV along time? 4. Put-Call parity; someone suggested to me when I was sketching out this idea that Puts or Calls could perhaps become weighted based on the Delta of the pool. I thought this maybe would be too complicated to truly start weighting options based on the greeks. 5. I would love to somehow be able to close contracts with the pool, perhaps pricing with a 1% spread. Or even they deposit collateral and the pool buys an option off of them. I'm worried however, that this may be gameable in some way, which is really one of the dangers of algorithmic contracts, that somehow someone could buy up the options, drive the price up, and sell them for a profit to the program until it was drained. Anyways, this was a long type, but hopefully some entertaining food for thought. I'd probably try to make this just to use it as an LP, as there is no "good" way so far to sell covered calls on my crypto 6.
I don't think this is possible but it's an interesting post I've done many a yield farming (ie Sushi, YAM, Cream, BNB/Cake, etc) AMM (automated market maker) works well in cryptos dexes, trading pairs, through locked LP's, liquidity pools but to add options (calls/puts) would add complexities that I cannot imagine would be possible to address Let's say you can create a simple option chain for LUNA, with 1 month near ATM options, at expiration, if a call is in the money, and option holder wants to exercise, where are the 100 LUNA tokens going to come from? Another Liquidity Pool? What about the in the money puts, selling 100 LUNA token per put contract? Same liquidity pool? This Liquidity Pool will need an oracle feed to know the contract being exercised meets the requirements and know the time is correct. There's no time concept in the blockchain, it's based on blockheight (block number xxxxx) I'm going to post a thread on the Cryptocurrencies forum you'll find of interest about the thriving options market in bitcoin (cryptos?), but it will require for us to move to Asia
You may need to discuss this in depth or partner up with a former market maker, but only a few may be left on this forum. I'm not an MM but I do trade equity and index options extensively, so just a few points as my simplistic mind sees this, in case no one else chimes in: Re: 1 Interest/risk-free rate may not be too important in initial stages where there isn't much liquidity, just like online betting sites don't care about interest rate. In liquid options the interest rate may play a role in the way that you could structure opposing options trades to lock in a quick arbitrage for a longer time while paying only the interest rate on it while holding till expiration, or till the time you can get out of the trade. You can also borrow money from the market by selling so-called box spreads (a 4-option combo) where you only pay the risk-free rate on the cash you borrowed. I'm not sure where the official risk-free rate comes from, but I derive it from SPX options prices, and I believe it came to ~0.59% last time I checked. Re: 2 If you were to set IV then you'd be a market maker. Is that your goal, or you want to be an exchange? Usually the IV is derived from options prices and usually indicates demand, so if you'd let market participants buy and sell at whatever prices they set, the IV would establish itself naturally. If you're a marker maker then your inventory may also play a role, which is adjusted based on demand and therefore demand dictates the IV. Though if you'd be a market maker then you may want to hire an actual, experienced market maker. You could also start by reading some related papers: https://www.researchgate.net/publication/225205901_Option_market_making_under_inventory_risk Re: 3 Not sure why 28 days, but indeed it may be more difficult to price longer-term options. Also could be due to lack of demand/liquidity therefore not wanting to spread themselves even thinner. Could also be lack of their own liquidity/funding to hold larger inventory. Also it may be a test ground before expanding. A static/singular IV does look suspicious, and suspect to arb. But with negligible volume they may adjust things as they build volume. Re: 4 Put-call parity isn't related to Delta or Greeks. In most basic application it can be used to calculate put price when you have the call price, and vice-versa. So a change in put price would require corresponding change in call price to prevent arb. Re: 5 There are plenty of traps here, and I believe that some experienced non-designated market makers trade Bitcoin options due to finding plenty of alpha in other participants' inexperience. You'd need them on your side While this endeavor seems impossible without liquidity or without experience and funding to provide it. And if you just want to sell covered calls on your crypto, keep in mind that the performance of such strategy is pretty much identical to, and often worse than, holding the underlying. To make money you'd need to deviate from Black-Scholes and maybe package this as a type of betting system where people bet on the price of the underlying, with your "bet prices" set much higher than you'd get in regular liquid options market. It could also be easier as a starting point than a full blown options market making.
Honestly I don't see any way to make an options DEX work. All MMs trade one option against another and if I cannot see a chain or past IV figures, I'm gonna give you a quote so wide you can drive a truck through it. Second, the options market exists only on the surface. An options chain is nothing less than a market for greeks, meaning you don't shop options but vega, delta and theta. Depending on how the surface looks, I get my gamma where IV is cheap and sell it where it's expensive. If the IV is set by the pool, I'll always be a taker to arb the pool against CEX options.
Not quite sure I understand the Luna example. For Hegic, you pay in ETH, and then settle in ETH. There's no physical delivery of anything else, so payment for ITM positions comes from the locked collateral in the pool. Ex: you pay .1 ETH for 1 ETH call at 2000. 1 ETH of collateral is locked in the pool. Eth goes to 2500 and you exercise. You get 500$ worth of ETH, which is .2 of the ETH collateral and the remaining .8 is freed in the pool. Options have to be manually exercised when ITM because of the time issue, yes, and there must be an oracle, but oracles are relatively easy to find.
Well, theoretically if I have the IV, I'll be able to derive a chain from it, and it'd also be trivial to chart IV as it changes? Not quite sure how to relate or understand the surface in this situation since I don't have an entire market... Would the algorithm I described not be a good proxy for market demand setting IV? Even though the initial state is set semi-manually, market demand would drive IV up until buying stopped. i.e. if if IV = 200/(unused collateral %), then at 50% usage the IV would double, at 25% quadruple, etc... I guess the goal is to be an exchange and let the algorithm "market make" in that sense, and potentially profit off the spread and expired options. And @MrMuppet if you were to constantly take, is it guaranteed that the DEX would always be the end going ITM or would it be about 50/50 in the long run if the IV responds to your taking by increasing every time?
Thing is, you don't have the IV. IV is subject to supply and demand. Fixing it would be the same as fixing the ETH price you borrow and lend for or fixing the price of the governance token. It doesn't make sense. IV varies from strike to strike and across all terms. As you said, collateral will always be locked up because people would constantly arb against the pool. If I would take 24/7 because IV was set too low it would probably increase with usage but since IV is constant across all terms and strikes I can then arb the pool again because I get free convexity. Say I pump IV by buying cheap 3m OTM wings I could sell lesser ATM options at even IV. How does that make sense? You need IV to float freely for each strike and term so you'd basically need a pool for each individual option.
Thanks for your experienced response; things like "free convexity" aren't things I was aware of. I still haven't quite wrapped my head around "fixing IV" if it fluctuates according to some demand, but I think I understand that all contracts should have their own IV. So are you saying I'd still have issues with arbitrage if the platform only allowed buying options from the pool? Though, it may not be completely infeasible to program a system where people can start a pool per option...
Please do develop a DeFi where you can "stake options" like you do on Uniswap/Sushiswap et al. I'll be there in a second On a serious note, though, here are some thoughts/problems: * making a market on a fixed strike option is primarily about making a good market on delta. That's why most HFT OMMs are also MMing the underlying and that's why most broker-dealer inquiries are traded tied. * OMM gives a lot of chances for negative selection. You are showing markets on a set of securities (an option chain) that are priced based on several variables and you can get picked off on any of them. Thats why option markets are much wider than the underlying markets and that's why exchanges offer mass-cancel functionality to market makers. * You have to warehouse risk and manage it, it's not clear how to do that cleanly in a DeFi setting. It's not even clear how to manage margin in that setting.