For every buy/sell transaction the vault manager performs, they have 3 key variables:
InitialPrice= Price before a transaction
Amount= Trade amount
ExecutionPrice= Price at which the trade is executed
For each given transaction:
PriceImpactLossgives us a simple way to understand how much has been lost in each trade due to price impact created by the trade. In very liquid markets such as ETH/USDC spot,
PriceImpactLosswill be very small, whereas the more illiquid a market, the larger this value is going to be.
As a next step, for any given period of time (in the case of Vaults - each day), it can be calculated how much has the vault manager lost due to adverse price impact on trades. This is simply the sum of the individual
Now that we know the amount in USD that the vault manager has lost per day due to price impact, we want to express that as a % of the total NAV in their vault. The resulting value we call
, and is expressed in % terms relative to vault size.
CumulativePriceImpactToleranceis an instantiated variable upon vault creation that sets the maximum cap for cumulative price impact. Before any trade is executed, the CPIT mechanism is ran to ensure that the daily limit is not violated.