This document describes the spread model for pricing cancellable swaps referenced against the IPOR index. The objective is to construct a fast, stable and efficient pricing scheme for obtaining rates for cancellable payer and receiver swaps (28 day instruments) in such a way that it can be deployed on the blockchain.
The IPOR index is obtained as a composite of AAVE and Compound rates (see [3]). Figure 1 shows the behaviour of the index, which notably has volatile (e.g. 1Q 2021) and quiet (e.g. Jun-Aug 2021) periods.
Figure 1 - IPOR index (2 Dec 2020 to 4 Feb 2022)
One notable feature of this index is that it exhibits upward shocks, generally followed by rapid downward retracement. This indicates that a random model with Brownian motion is not adequate - upon fitting a normal distribution to the data, it is evident in Figure 2 that the distribution (in blue, with histogram) is considerably more fat-tailed than a Brownian motion model can describe.
Figure 2 - Histogram of observed daily increments in IPOR together with KDE-based empirical density (blue line) and normal density (red line)
Based on this, we argue that we need a model for IPOR rates which captures randomness together with jumps, and the tendency for these jumps to be followed by retracement. Consequently, we adapt the well known Hull-White model [1] with an extra jump term, and use the mean reversion parameter to coerce the model to bring IPOR rates back down after the upward jump shocks.
The model used for IPOR rates $r_t$ is
$$ dr_t = \alpha(\theta_t - r_t)\,dt + \sigma_tdW_t + J dN_t\,\! $$
where $\theta_t$ denotes the mean reversion level, $\alpha$ the mean reversion rate, $\sigma_t$ the instantaneous volatility for the Brownian motion component (due to $W_t$) and $J$ is a random variable describing the jump distribution, when a Poisson process $N_t$ experiences a discrete increment.
Note that this model reduces to the industry standard Hull-White model (with time dependent coefficients) if the $JdN_t$ term is omitted.
While the mean reversion level $\theta_t$ is often assumed constant, e.g. $\theta_t=\theta$ in conventional interest rate markets, the nature of cryptocurrency markets is such that we need to allow the model to mean revert towards a more recent level. Consequently, we construct an exponentially weighted moving average [EWMA] of daily IPOR values (simple arithmetic mean) to use as the mean reversion level $\theta_t$. We initially used a 30-day span EWMA, to provide a balance between reactivity and stability, though it could be argued that an even shorter span moving average is appropriate based on the period May-July 2021 in Figure 3 below.
Figure 3 - Calibration of θ using exponentially weighted moving average
The next step in the calibration is to construct an estimate of the daily volatility $\sigma_t$ for each day, using the standard deviation of intraday increments $\Delta{r_t}$ in the IPOR index, normalised by the square root of the average time increment $\overline{\Delta{t}}$ during the day, to convert into a daily volatility measure.
Once we have this, we can identify candidate jump events by computing a measure of the number of standard deviation move each intraday increment $\Delta{r_t}$ corresponds to
$$ N_{sd}=\frac{\Delta{r_t}}{\sigma_t\sqrt{\overline{\Delta{t}}}} $$
We then select all blocks in the historical time series which are more than a +50 standard deviation move and also an instantaneous increment of more than 300bp in $r_t$ (c.f. the previous) as our signal indicating that a jump event has occurred.