Dynamic/Adaptive Fee

Volatility-Based Fee Calculation

The dynamic fee system adjusts based on market volatility using the following formula

feedynamic=feebase+ασmarket+βΔPfee_{dynamic} = fee_{base} + \alpha \cdot \sigma_{market} + \beta \cdot \Delta P

Where:

  • feebasefee_{base} (minimum fee rate)

  • α\alpha (volatility sensitivity parameter)

  • σmarket\sigma_{market} (market volatility measure)

  • β\beta (price change sensitivity)

  • ΔP\Delta P (recent price change)

Volatility Estimation

Market volatility is calculated using a rolling window approach:

σmarket=1n1i=1n(rirˉ)2\sigma_{market} = \sqrt{\frac{1}{n-1} \sum_{i=1}^n (r_i - \bar{r})^2}

Where:

  • ri=ln(PiPi1)r_i = \ln\left(\frac{P_i}{P_{i-1}}\right) are the logarithmic returns,

  • rˉ\bar{r} is the mean return over the period,

  • nn is the window size (number of returns).

Fee Adjustment Formula

The specific fee adjustment can be expressed as:

feerate=min(feemax,  feebase+volatilitycomponent)fee_{rate} = \min \left( fee_{max}, \; fee_{base} + volatility_{component} \right)

Where:

volatilitycomponent=min(maxvolatility_fee,  volatilityfactor×recentprice_volatility)volatility_{component} = \min \left( max_{volatility\_fee}, \; volatility_{factor} \times recent_{price\_volatility} \right)

And:

recentprice_volatility=PmaxPminPavgrecent_{price\_volatility} = \frac{P_{max} - P_{min}}{P_{avg}}

Over the last N observations.

Last updated