Technical Limitations

Due to technical limitations there are some differences to what would be an ideal world for the AMM, and what could be feasibly implemented on-chain.

Slippage minimisation

  • All trades conducted on the Lyra AMM incur slippage.
  • Some slippage is unavoidable, but splitting trades (buying/selling calls/puts) always reduces this amount.
  • This effect becomes very pronounced for large volumes: for option sellers (buyers) this can reduce (increase) premiums by up to 10-20% (depending on the size of the trade).
  • The amount of slippage paid on a trade after splitting into
    nn
    ​ equally sized transactions is approximately
    1n\frac{1}{n}
    of the original amount. For instance, a trade of 100 contracts (no splitting meaning
    n=1n=1
    ) may incur $200 of slippage. Splitting into 2 trades will result in only
    12×200=$100\frac{1}{2}\times200=\$100
    of slippage and so forth. This means splitting into, say, 10 trades saves approximately 90% of the original slippage.

Vega utilisation fee differences

To compute the vega utilisation fee, a value for netStdVega is required. Ideally this his value would be summed over all exposures for every strike that is tradable for the market, both before and after each trade. This is simply not feasible in the block gas limit.
As such, to do this, we cache greeks periodically using GWAV values to get the netStdVega for every strike (along with updating netOptionValue and netDelta).