LogoLogo
  • SDX Whitepaper
    • SDX Overview
    • Challenges
    • Opportunity
    • Features
    • SDX 2024 Roadmap
    • SDX Protocol Architecture
      • Pricing Model And Fee Incentives
        • Mark Price
        • Dynamic Bid-Ask Spreads
        • Capital Utilization Fee
        • Trade Fee
        • Option Pricing Example
      • Protocol Safeguards
    • Risks
  • User Guide
    • Trading On SDX
      • Trading Account
      • Option Markets & Strategies
      • Trading
      • Fees
      • Portfolio View
      • Market Configurations
      • Trading FAQs
    • SDX VIP Taker Program
    • Liquidity Pools - Earn Yield Passively
      • Liquidity Mining
      • Depositing as an LP
      • Withdrawing as an LP
      • LP FAQs
  • Developers
    • API Endpoints
    • Logos and Brand
Powered by GitBook
On this page

Was this helpful?

  1. SDX Whitepaper
  2. SDX Protocol Architecture
  3. Pricing Model And Fee Incentives

Dynamic Bid-Ask Spreads

On SDX, the AMM charges a bid-ask spread fee that serves as the primary mechanism for liquidity providers to earn a fair return, while minimizing risks through rebalancing of greeks. As the mark price of an option is composed of the intrinsic value VIV_IVI​ and time value VTV_TVT​, two bid-ask spread multipliers are applied independently on each value and combined to get an option price, , that will be paid for the specific trade.

P=I∗VI+F∗VTP = I * V_I + F * V_TP=I∗VI​+F∗VT​

For intrinsic value, a fee of I∗VII * V_II∗VI​ is added or subtracted for ask and bid orders respectively. III is a pool level parameter that can range from 0% to 10%. This represents a fixed fee on intrinsic value that the AMM is charging to make the order for a trade.

For time value, it is multiplied by FFF, a factor that is the combination of the individual greek pricing factors, FGF_{G}FG​, and subjected to max and min bounds and volatility shock effects, and serves to incentivize trades that rebalance greeks.

F=αδ∗Fδ+αγ∗Fγ+αν∗Fν+αθ∗Fθwhere∑G∈{ α,γ,ν,θ}αG=1  andFmin≤F≤FmaxF = \alpha_\delta*F_\delta + \alpha_\gamma*F_\gamma + \alpha_\nu*F_\nu + \alpha_\theta * F_\theta \\ where \\ \sum_{G\in \{\,\alpha,\gamma,\nu,\theta\}} \alpha_G = 1 \; \\ and \\ F_{min}\le F \le F_{max}\\F=αδ​∗Fδ​+αγ​∗Fγ​+αν​∗Fν​+αθ​∗Fθ​whereG∈{α,γ,ν,θ}∑​αG​=1andFmin​≤F≤Fmax​

Each greek pricing factor, FGF_GFG​, is calculated using a cubic function with the normalized post-trade greek GnormG_{norm}Gnorm​ as an input, subject to max and min bounds. Parameters a,b,c,d,k,na, b, c, d, k, na,b,c,d,k,n are shared for both bid and ask orders for the same greek, while bid_adjbid\_adjbid_adj differs between bid and ask to form the spread.

FG=f(Gnorm,O,M,D)=aGnorm3+bGnorm2+cGnorm+d+bid_adj+kMnDwhereGnorm=Post Trade Normalized GreekO∈{call,put}M=∣Strike−Spot∣/Spotn∈{1,2,3,4} D(direction)=−1 if bid or 1 if askandFmin_ask≤FG_ask≤Fmax_askFmin_bid≤FG_bid≤Fmax_bidF_G=f(G_{norm}, O, M, D) = \\aG_{norm}^3 + bG_{norm}^2 + cG_{norm} + d + bid\_adj + kM^{n}D\\ where\\ G_{norm} = Post\ Trade\ Normalized\ Greek\\ O\in\{{call, put}\}\\M = |Strike-Spot|/Spot\\n \in\{{1, 2, 3, 4}\}\ \\ D (direction) = -1\ if\ bid\ or\ 1\ if \ ask\\ and\\ F_{min\_ask}\le F_{G\_ask} \le F_{max\_ask}\\ F_{min\_bid}\le F_{G\_bid} \le F_{max\_bid}\\FG​=f(Gnorm​,O,M,D)=aGnorm3​+bGnorm2​+cGnorm​+d+bid_adj+kMnDwhereGnorm​=Post Trade Normalized GreekO∈{call,put}M=∣Strike−Spot∣/Spotn∈{1,2,3,4} D(direction)=−1 if bid or 1 if askandFmin_ask​≤FG_ask​≤Fmax_ask​Fmin_bid​≤FG_bid​≤Fmax_bid​
Gnorm=∑Gi+Gunderlying∗underlying_heldNAVunderlyingwherei∈Open  PositionsGunderlying=G  per  unit  underlying,  s.t.Gunderlying,{γ,ν,θ}=0Gunderlying,δ=1G_{norm} = \frac{\sum_{} G_i + G_{underlying}*underlying\_held}{NAV_{underlying}}\\ where \\ i\in{Open\; Positions} \\ G_{underlying} = G\; per \;unit\; underlying,\; s.t. \\ G_{underlying,\{\gamma,\nu,\theta\}} = 0 \\ G_{underlying,\delta} = 1Gnorm​=NAVunderlying​∑​Gi​+Gunderlying​∗underlying_held​wherei∈OpenPositionsGunderlying​=Gperunitunderlying,s.t.Gunderlying,{γ,ν,θ}​=0Gunderlying,δ​=1
NAVunderlying=stable_collateral_heldunderlying_spot_price+underlying_collateral_held+positions_value_in_underlying+option_collateral_in_underlyingNAV_{underlying} = \\ \frac{stable\_collateral\_held}{underlying\_spot\_price} + underlying\_collateral\_held + \\ positions\_value\_in_\_underlying+option\_collateral\_in_\_underlying NAVunderlying​=underlying_spot_pricestable_collateral_held​+underlying_collateral_held+positions_value_in_​underlying+option_collateral_in_​underlying

For instance, suppose a vault seeks to maintain a target normalized delta of 0.5 and the sale of put options causes the normalized delta to increase from 0.4 to 0.7. At 0.7 normalized delta, an ask-price factor produced by the cubic function could be 1.5 - which implies that the asking price would be 1.5x that of mark price, should the fee be solely weighted by the delta price factor.

Since f(Gnorm,O,M,D)f(G_{norm}, O, M, D) f(Gnorm​,O,M,D) is defined by a set of configurable parameters, a,b,c,d,k,na,b,c,d,k, na,b,c,d,k,n for each option type and trade direction, this allows formulation of price factor curves like below:

The dynamic bid-ask spread fee is configured, via parameter kkk multiplied by moneyness term, MnM^nMn, to widen on strikes that are further out of the money, to account for the higher risks of making for a less liquid market. At the money strikes would simply have a dynamic spread of ±k\pm k±k, as M=1M = 1M=1.

Last updated 1 year ago

Was this helpful?