Skip to content
All library documents

State-Space Formulation for Heston Estimation with a Kalman Filter

Article Quant Q&A · Author: Puigi

Summary

The document discusses estimating a Heston stochastic volatility model with an Unscented Kalman Filter. The response recommends expressing the system in log prices or returns rather than raw prices, then discretizing the price and variance dynamics as a state-space model with drift, state dependence, and correlated noise. It describes the resulting propagation equation as relatively close to linear, while stressing that variance positivity and the Feller condition require attention during estimation.

The central caveat is that the difficult part may be the observation function that maps latent states to measured data, rather than the state propagation itself. Nonlinearities in that mapping can create estimation problems and should be examined for any method, including the UKF. The answer is framed as experience-based guidance and does not directly resolve how to select sigma points or establish that their covariance is constant over time. It offers no empirical comparison or filter performance results.

Key ideas

  • Writing the Heston system in log prices or returns can simplify its state-space formulation.
  • The discretized dynamics can be represented with drift, state dependence, and correlated noise.
  • Variance positivity and the Feller condition need attention during estimation.
  • The observation function mapping latent states to data may be a major source of nonlinear estimation difficulty.
  • The response does not directly answer whether sigma-point covariance remains constant over time.

Tags

Full text
# Estimating Heston with Unscented Kalman Filter


# Estimating Heston with Unscented Kalman Filter












I am trying to estimate aHeston model using an Unscented Kalman filter. In particular, I am using the following Euler-Murayama discretisation:

`S[t+1]=S[t]+a*S[t]*dt+S[t]*sqrt(V[t]*dt)*(rho*z1[t]+z2[t]*sqrt(1-rho^2)*z2[t])`

and

`V[t+1]=V[t]+k*(theta-V[t])*dt+xi*sqrt(V[t]*dt)*z1[t]`

Where z1[t] and Z[t] are standard normal random variables. Please note that I have already decomposed the correlation in the two Brownian motions in these two state equations. So given this, I have two state variables that are non-stochastic in period `t` (`S[t]` and `V[t]`) and two state variables that are fully stochastic in period `t` (`z1[t]` and `z2[t]`). As such, my question is regarding choosing and picking the sigma points. The intuition I have is that since the only stochastic random variable at time `t` are `z1[t]` and `z2[t]`, this implies that my sigma points will only depend on these two variables which are iid across time, right? Thus, the covariance matrix of the sigma points will be constant across time. Is my intuition right? Thank you.

## Answer by Kermittfrog (score 3)

https://quant.stackexchange.com/a/59362

Unfortunately, I cannot help you with your question on the UKF, precisely. Hence, this post should be understood as a lengthy comment, only.

From past experience (long ago) with estimating latent states in a Heston-like world I would like to note two things.

- Usually, you want to simplify your model as much as possible for a linear state space formulation. In the Heston case, that is quite easy: By formulating the model in returns (log prices) instead of prices, you arrive at a Eulerized linear equation system:

$$ \begin{align} d(\ln S_t)\equiv dy_t&=\left(r-\frac{1}{2}v_t\right)dt+\sqrt{v_t}dW_{1,t}\\ dv_t&=\kappa\left(\theta - v_t\right)dt+\sigma\sqrt{v_t}dW_{2,t} \\ \Rightarrow \\ x_{1,t+\Delta t}&= x_{t,1} + r\Delta t - \frac{1}{2}x_{2,t}\Delta t + \sqrt{x_{2,t}}\sqrt{\Delta t}\epsilon_{1,t+\Delta t}\\ x_{2,t+ \Delta t}&=x_{2,t} + \kappa\theta\Delta t-\kappa x_{2,t}\Delta_t + \sigma\sqrt{x_{2,t}}\sqrt{\Delta t}\epsilon_{2,t + \Delta t} \\ \Rightarrow\\ x_{t+\Delta_t}&=A + Bx_{t} + C_t\epsilon_{t+\Delta t} \end{align} $$ Here, the matrix $C$ corresponds to a Cholesky decomposition $$ C_tC_t^T=\begin{pmatrix}1 & 0 \\ \sigma\rho & \sigma^2\end{pmatrix}x_{t,2}\Delta t $$ and $\epsilon$ is a vector of standard normals.

In this setup, the state space equation is fairly well approximated by a linear system; only the variance process needs to be observed carefully during estimation time (positivity and Feller condition ).

- The complexity in the Heston model does not come from the formulation of the state space propagation -- again, this is easily linearized -- but from the function that maps the latent state $x_t$ to observations at that time step, $O_t$:

$$ O_t=f(x_t) $$ For any estimation method (i.e. also the UKF), it is the propagation of $x$ through $f$ that must be checked carefully, as $f$ will introduce the headaches.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.