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.

• Hi @Puigi, From my understanding of the topic, you would need to propagate the state, not its innovations through the Sigma points. This question might be answered over at DSP.stackexchange.com as well if you don’t get any answer here. Nov 14 '20 at 6:04

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.

1. 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 ).

1. 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.

• Hello, what you posted is wrong. That is not the variance-covariance matrix, nor the Cholesky decomposition. Also, my question was not related to that. The algorithm I am following for the UKF assumes that the errors of the state and the measurement are independent, which is obviously not the case. Since in this case that is obviously not the case, I guess I will adjust it using the Variance-Covariance matrix from the errors. Nov 21 '20 at 4:39
• You did read my introductory statement? You did follow the math on the state process, no? Nov 21 '20 at 4:57