# Odd Result from Computing Correlation Matrix from Kalman Filter Posteriori Covariance Estimate

I am using a Kalman Filter to estimate the return dynamics of a forwards curve on a particular commodity. My state space is the initial forwards values, and an initial guess of the drift functions for each forward (initially just the first observed price change). These are for OTC products, my estimates for uncertainty are based on market consensus standard deviations. My Estimate of the Q matrix (process covariance noise) is based on the average variance, and my estimate for the R matrix (covariance observation noise) is based on each days market consensus standard deviation.

From the resulting Posteriori Covariance matrix, I estimate the correlation matrix. The result is constant correlation. Basically the off diagonal is roughly 72% almost everywhere. I am not sure why this should be the linearly optimal result, or perhaps there is a flaw in my understanding of the Kalman filter?

I can not provide the data I used for this experiment, but I am more than happy to answer clarifying questions if it would help the community to better answer my question: Particularly, what could be the cause of observational constant correlation?

• After a burn in period, this matrix converges if none of your other parameter matrices are time dependent. If you want time dependent a posteriori co-variances, you need time dependent parameter matrices. Jan 26, 2021 at 5:14
• I thought the observation noise matrix R was set by the optimization algorithm, an output by the model, rather than an estimated input. Is that the issue: you’re setting the covariance to be market consensus standard deviation and not letting it float? Jan 26, 2021 at 15:07
• Even if the error cov matrices -or any of the parameters for that matter - are estimated implicitly, the posterior cov matrix will converge after some steps: It is still just a constant parameter at runtime of the KF.Unless you make it truly time dependent, of course. Jan 26, 2021 at 20:46

Let your linear system be defined by the latent multivariate state variable $$x_t$$, progressing in an AR(1) fashion, and let your observation at time step $$t$$ be linear in the latent state:

\begin{align} x_{t+1}&=Ax_t+u_t\\ y_{t}&=Hx_t+v_t\\ \end{align} with $$u_t\sim N(0,Q)$$ and $$v_t\sim N(0,R)$$ time-and-state-independent process noise.

Let $$K_t$$ denote the Kalman gain and $$P_{t,t}$$ denote the updated estimation error covariance.

As this system is time-invariant ($$A,H,Q,R$$ are constants), it will result in

• a steady state Kalman Gain $$K_t\to K_{\infty}$$
• a steady state updated estimation error covariance $$P_{t,t}\to P_{\infty}$$

for $$t$$ sufficiently large* and whenever the spectral radius of $$A$$ is smaller than 1.

Below, you find a couple of references (... I googled them, maybe some more thorough research is needed on your end):

A quite recent introduction to the KF

• I come from statistics background and they have their own way of looking at the KF. It sounds like you have some practical experience with KF so, if you don't mind, I was just curious how you obtain $Q$ and $R$ when dealing with KF implementation. Are they given ? I always used the prediction error decomposition of Harvey to obtain them but that doesn't seem to be the standard approach in general. Thanks. Feb 25, 2021 at 14:46