Use of Adapted Particle Filters in SVJD Models

Particle Filter algorithms for filtering latent states (volatility and jumps) of Stochastic-Volatility Jump-Diffusion (SVJD) models are being explained. Three versions of the SIR particle filter with adapted proposal distributions to the jump occurrences, jump sizes, and both are derived and their performance is compared in a simulation study to the un-adapted particle filter. The filter adapted to both the jump occurrences and jump sizes achieves the best performance, followed in their respective order by the filter adapted only to the jump occurrences and the filter adapted only to the jump sizes. All adapted particle filters outperformed the unadapted particle filter.


Introduction
Modelling of volatility and jumps in financial time series plays an important role in many areas of finance, such as asset pricing, portfolio optimisation, VaR estimation, option valuation or quantitative trading. Stochastic-Volatility Jump-Diffusion (SVJD) models (Bates, 1996) treat volatility and jumps as latent (unobservable) stochastic processes. This allows them to incorporate wide variety of empirically observed features of financial time series dynamics, such as volatility clustering, long memory, leverage effect, volatility jumps and jump clustering. Estimation of these models is, however, notoriously difficult (see Shephard, 2005). Unlike models that treat volatility as a deterministic function of past asset price returns (such as GARCH), use of SVJD models involves estimation of unobservable trajectories of the latent state variables (volatility and jumps). This cannot be easily done with standard inference methods such as maximum likelihood estimation (MLE) or generalised method of moments (GMM), and computationally intensive, simulation-based approaches must be used instead (Andersen et al., 2005).
Among methods typically used for SVJD model estimation are the Efficient Method of Moments and the Markov-Chain Monte Carlo (MCMC) method (Jacquier et al., 2007). MCMC has become one of the most popular approaches used for SVJD model estimation (Eraker et al., 2003, Witzany, 2013, Fičura and Witzany, 2017. A particular drawback of using MCMC in tasks involving volatility and jumps forecasting is that the latent-state time series need to be reestimated whenever new data arrive, which can be very time consuming. A possible solution to this problem is to combine MCMC with Particle Filters, allowing us to filter the evolution of the latent states sequentially as new data arrive. The most commonly used approach is to estimate the model parameters and latent states with MCMC on the in-sample period and then use the Particle Filter to filter the evolution of the latent states during the out-sample period. Another approach is to use Particle Filters not only for the latent states filtering, but also for the sequential learning of model parameters (see Li 2013, andYu, 2015).
The goal of the presented study is to derive adapted Particle Filters for filtering of latent states in SVJD models with self-exciting jumps. While the un-adapted SIR particle filter (Gordon et al. 1993) represents a universal filtering approach, its sampling efficiency may be low (Pitt and Shephard, 1999), which turns out to be particularly problematic when it is applied for the filtering of SVJD model jumps, especially if they are rare. To cope with this problem, we derive three possible adaptation schemes, adapting the SIR particle filter either to the jump occurrences, jump sizes, or both, and we show in a simulation study that these jump-adapted particle filters dramatically outperform the un-adapted particle filter.
The rest of this study is organised as follows. In section two, the filtering problem is described and the basic un-adapted SIR particle filter is explained. In section three, the SVJD model with self-exciting jumps is introduced and adapted particle filters are discussed. In the following three sections, we derive three jump-adapted particle filters which are subsequently applied in the simulation study and their performance is compared with the un-adapted particle filter. In the final section, we conclude the results and discuss possible areas for future research.

SIR Particle Filter
The goal of the latent states filtering is to estimate the evolution of latent state time series from the evolution of an observable time series that is somehow dependent on but is plagued by observation noise.
A general state-space model can be written as follows: where is the observation time series, conditionally independent given the hidden state (.) and (. ) are model functions, is the vector of model parameters and and are noise terms.
We further define the observation density as: and the transition density as: with the hidden state following the Markov process with initial density ( 0 | ).
The joint task of latent state filtering and parameter learning is to find the joint posterior density of the hidden states and model parameters, based on all currently available information at time . The problem can be divided into: ( , | 1: ) = ( | 1: , ) ( | 1: ), where the density ( | 1: , ) solves the filtering problem and ( | 1: ) solves the parameter learning problem.
When the functions (. ) and (. ) are linear and the distributions of 0 , and are Gaussian, the problem can be solved analytically using the Kalman Filter.
In the general non-linear and non-Gaussian setting, Particle Filters can be used, approximating the posterior density ( , | 1: ) with a set of weighted particles.
In the rest of the text, we will focus on the filtering problem of estimating ( | 1: , ) for the cases where the parameters are known and we will thus omit from the notation. In practical settings, the parameter vector has to be estimated, either on the in-sample period with MCMC or EMM, or in a sequential way with Particle Learning (see Li 2013 andYu, 2015).
When is known, it is possible to estimate the densities ( | 1: , ) for all with the Sequential Importance Re-Sampling (SIR) Particle Filter (Gordon et al., 1993).
To employ the filter, we first need an estimate of the latent state density ( 0 ) at time = 0, represented as a set of weighted particles. This initial distribution is usually drawn from some wide enough prior distribution of the latent states.
For all further steps = 1, … , the particle filter proceeds as follows.
To approximate ( | 1: ) we draw random particles (i.e. proposal values of the latent states) from a known proposal density g( | −1 ) and assign them with importance weights given as: In the most universal, un-adapted version of the particle filter, the proposal density is equal to the transition density: And the weight update is thus equal to: where ( | ) is the likelihood of the observation given the latent state .
As the particle weights tend to degenerate after few iterations to the state where only one particle has a non-negligible weight, a re-sampling step is usually added to the algorithm. In the re-sampling step, the particles are re-sampled with a replacement from the current particles set with probabilities proportional to the particle weights.
The re-sampling can be performed after each iteration or only when the efficient number of particles ( ) drops below a certain threshold ( ℎ ):

SVJD Model and the Un-adapted Particle Filter
In the presented study, the SIR Particle Filter is applied for filtering of latent states of the SVJD model with self-exciting jumps. The SVJD model has 3 equations.
The first equation describes the process of logarithmic asset price returns as: where = − −1 is the logarithmic return, is the logarithm of the asset price, is the drift rate, is the stochastic volatility, ~(0,1) is a standard normal white noise, ~( , ) is a latent variable determining the jump sizes, and ~[ ] is a latent variable determining the jump occurrences, so that Pr[ = 1] = , and is the latent jump intensity.
The second equation describes the process of the log-variance as: where ℎ = log( ) is the logarithm of the stochastic variance = 2 , is the constant of the model, determining the long-term log-variance via the relationship = (1 − )ℎ , is the auto-regression coefficient, is the volatility of the logvariance, and ,~( 0,1) is Gaussian white noise in the log-variance process.
The third equation corresponds to the discretized Hawkes process, governing the self-exciting behaviour of jumps, by defining the process of the jump intensity as: where is the jump intensity, determines the long-term jump intensity via α J = (1 − β J − ) , is the speed of the exponential decay of the jump intensity towards its long-term level , and is the self-exciting parameter, determining how much will the jump intensity increase within a day following the jump −1 .
The SVJD model contains 3 series of latent state variables. Stochastic variances , jump occurrences and jump sizes . These latent time series represent the vector latent state variable in the particle filter notation, while the observed logarithmic returns represent the observable variable .

Adapted Particle Filters
As the proposal density of the un-adapted particle filter does not utilise the information about the observation (which is already known at ), it is suboptimal and it tends to propose many latent state values that end up being discarded during the weight update and re-sampling step. This inefficiency is especially severe in the case of jumps, as the value of is often very small and the vast majority of latent state proposals will thus give = 0, in spite of the fact that the corresponding may be very large and thus indicative of the jump. Even the few proposals that happen to give = 1 may subsequently also get discarded, as the value of the independently sampled may be inadequate or even have the opposite sign to the observed return. The un-adapted sampling of proposals may thus be very inefficient with respect to the jumps, and a large number of proposals will thus have to be generated to achieve reasonable accuracy of the particle filter (for discussion of alternatives, such as the Auxiliary Particle Filter, see Pitt and Shephard, 1999).
Solution to his problem is to use an adapted filter, utilising the information about during sampling of the proposals. In the ideal case of a fully adapted particle filter, the proposal density would look as follows: (ℎ , , |ℎ −1 , −1 , −1 , −1 , ) Unfortunately, this density is of an unknown form for the analysed SVJD model, due to the stochastic variance term, that it is log-normal with respect to −1 , but inverse-gamma with respect to . For approximations of how to sample in the MCMC setting which could potentially also be applied in particle filters, see Jacquier et al. (1994), or Kim, Shephard and Chib (1998).
Fortunately, employment of the particle filter does not require fully adapted proposal density and an approximate adaptation may be used instead.
As sampling of the asset price jumps is the least efficient part of the sampling, we proceed to derive adapted proposal distributions with respect to the jump occurrences ( ) and jump sizes ( ), which can be done analytically, while leaving the sampling of the stochastic variances un-adapted.
From the Bayes theorem we can derive the adapted density as: And the importance weight update is:
Thus, we get for ( |ℎ , , ): In order to sample from the proposal density, we will first sample from the transition density (ℎ |ℎ −1 ), given as: Then we sample from the adapted jump occurrence density ( |ℎ , , ): And finally, the adapted jump sizes from ( |ℎ , , ), as already described.
The importance weight update is: For illustration purposes, we first show the performance of a particle filter with only 100 particles (and a 50 particle re-sampling threshold) on a simulated time series with 4,000 observations, for the un-adapted filter, and for the filter with fully adapted jumps (i.e. the filter adapted to jump sizes and occurrences, described in Section 7).

Fig. 1 Simulated vs. filtered time series for the un-adapted particle filter
Source: Authorial computation.

Fig. 2 Simulated vs. filtered time series for the jump-adapted particle filter
Source: Authorial computation. Figure 1 shows filtered latent state time series for the stochastic log-variances, variances, jump intensities and jump occurrences for the un-adapted particle filter, while Figure 2 shows the same filtered time series for the jump-adapted filter.
While we cannot see any pronounced differences in the log-variance and variance time series, we can see that the un-adapted particle filter estimated far less jumps, and that it struggled to capture the increases in jump intensity, caused by the jump self-excitation around the 2,000th and the 3,000th period of simulation. The adapted filter, on the other hand, managed to estimate larger number of jumps and it was also able to better capture the evolution of the jump intensity.
To compare the results more quantitatively, the simulation was run 200 times, and the four proposed filters (un-adapted, jump-size adapted, jump-occurrence adapted, and fully jump-adapted) were applied to each of the simulations. R-Squared (R2) was computed to assess how well do the filtered estimates fit the log-variance, variance and jump-intensity, and the Accuracy Ratio (AR) was used to evaluate how well do they manage to filter the simulated jumps. Figure 3 shows the distributions of these quantities over the 200 simulations for all of the proposed filters.

Fig. 3 Distribution of the R2 and AR achieved in 200 simulation runs
Source: Authorial computation.
We can see that the un-adapted particle filter achieved by far the worst results, followed by the jump-size adapted filter and the jump-occurrence adapted filter, while the best performance was achieved by the fully jump-adapted particle filter.
The mean values of the R-Squared (R2) and the Accuracy Ratio (AR) achieved over the 200 runs of the simulation test are summarised in Table 1. The numerical results in Table 1 clearly show the fully jump-adapted and the jump-occurrence adapted particle filters to be the best, while the un-adapted particle filter achieved the worst results, especially with regards to the filtering of the jumps.

Conclusion
Particle filter algorithms for the filtering of latent state time series of SVJD models were explained and several methods of how to adapt these filters to the jump occurrences and jump sizes were derived. The results of the simulation study show that the proposed jump-adapted particle filters significantly outperform the unadapted particle filter in their ability to filter the latent volatility and jumps. The filter adapted to both the jump occurrences and jump sizes achieved on average the best results, followed narrowly by the filter adapted only to the jump occurrences. The performance of the filter adapted only to the jump sizes was lower, but still much better than for the un-adapted particle filter. In future studies it would be interesting to test particle filters approximately adapted to the stochastic variances as well, and to apply the methodology to more complex SVJD models, including jumps in volatility, correlation between volatility and returns, multiple volatility components, or other empirically observed effects of financial time series.