0
$\begingroup$

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?

$\endgroup$
3
  • $\begingroup$ 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. $\endgroup$ – Kermittfrog Jan 26 at 5:14
  • $\begingroup$ 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? $\endgroup$ – Mild_Thornberry Jan 26 at 15:07
  • $\begingroup$ 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. $\endgroup$ – Kermittfrog Jan 26 at 20:46
1
$\begingroup$

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

Search for 'steady' in here

Section 2.2 of these leture nodes

* Sufficiently large means usually some small number; in my experiments the filter usually converges after 10 steps or so.

HTH?

$\endgroup$
3
  • $\begingroup$ 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. $\endgroup$ – mark leeds Feb 25 at 14:46
  • $\begingroup$ Hi, I only specified a diagonal observation / propagation error covariance matrix in my modeling and I ran the calibration through a maximum likelihood maximization. As my underlying model was inherently non-linear after all, I soon transitioned towards more Bayesian techniques. $\endgroup$ – Kermittfrog Feb 26 at 6:51
  • $\begingroup$ OK, you specified it beforehand. Gotcha. Andrew Harvey has ( I guess devised. not sure ) a technique called prediction error decomposition where he estimates them in a first stage but it doesn't sound that popular in general in terms of how many people use it ? Thanks. $\endgroup$ – mark leeds Feb 27 at 18:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.