Demand-Based Price Adjustments
Bid-ask spreads are a function of internal risk assessments
The Arrow pricing engine adjusts the benchmark SVI price according to risk assessments of the AMM's obligations. The spread adjustment will depend on the type of contract and whether the contract is being bought or sold. For each new contract, we check bad-case hedging costs and an additional set of criteria, and use the results to adjust the spreads. These adjustments are described below.
Bad-case shocks to underlying and implied volatility
The underlier spot price is given a directional shock and depending on the direction of the shock, a coupled volatility shock is induced to calculate the effect of each option being bought or sold. The above threshold adjustment considers two separate extreme cases and selects the worst case scenario to fınd the corresponding hedging cash requirements. The magnitude of these bad-case costs inform the spread adjustment.
The shock scenarios do not always increase the option spreads. A reduction to the spread is applied when the incoming new options reduce the cash requirements for the AMM hedging engine. In addition to the risk assessments reflected in the scenario analysis, we implement some standard condition-based adjustments.
We automate some adjustments commonly made by options market makers and traders.
- Short & long expiry option sale check
- Sigmoid function applies short expiry penalty for options sold by AMM
- Users cannot buy options w/in 24 hrs of expiration
- Long expiry premium added nonlinearly as a function of time to expiration
- Deep out-of-the-money option sale check
- A premium is added for deep OTM options using a U-shaped function
- Deep in-the-money option purchase check
- Multiplicative premium added for deep ITM options using a U-function
- Extreme case dollar-for-dollar adjustment (guarded launch - spreads only)
- A worst case payout value Y is assessed by finding the spot price that maximizes the AMM's obligations at expiration
- If the worst case payout exceeds the capital buffer, we need to charge the spread to cover the change to the worst case payout.
- Specifically, we have capital X. We want the worst case payout Y to always satisfy X > Y*(1+b) for buffer b. If adding a new contract increases Y so that Y*(1+b) = X + e for e > 0, we must charge at least e for the new contract.
There are several parameters that need to be set to translate the bad-case scenario analyses into spread adjustments.
- Baseline spread
- Sets the initial spread around the SVI benchmark price which will be adjusted as a function of the internal risk assessments
- Cash penalty
- Penalizes cash intensive hedging for new options
- Threshold penalty
- Extreme case hedging penalty
- Risk threshold
- Applies discount / reward if contract reduces risk exposure
- Max reward
- Max amount paid for risk threshold rewards
- ITM penalties
- Sensitivity for ITM adjustments
- OTM penalties
- Sensitivity for OTM adjustments
- Long expiry penalty
- Sensitivity for long expiry adjustments
- Short expiry penalty
- Sensitivity for short expiry adjustments
- U-function multiplier (width parameter)
- Calibrates width of the base of the U function used to make moneyness adjustments
During the development of these rules, the Arrow team was advised by former options market makers from Citadel and Optiver as well as our crypto-native options market-making partners.
Last modified 2mo ago