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.
- 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 equally sized transactions is approximatelyof the original amount. For instance, a trade of 100 contracts (no splitting meaning) may incur $200 of slippage. Splitting into 2 trades will result in onlyof slippage and so forth. This means splitting into, say, 10 trades saves approximately 90% of the original slippage.
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).