[R-sig-finance] Kalman Smoothing - time-variant parameters (sspir)

¨Tariq Khan tariq.khan at gmail.com
Thu Dec 1 13:12:24 CET 2005

```Dear R-brains,

I'm rather new to state-space models and would benefit from the extra
confidence in using the excellent package sspir.

In a one-factor model, If I am trying to do a simple regression where
I assume the intercept is constant and the 'Beta' is changing, how do
I do that? How do i Initialize the filter (i.e. what is appropriate to
set m0, and C0 for the example below)?

The model I want is: y = alpha + beta + err1; beta_(t+1) = beta_t + err2

I thought of the following:
library(mvtnorm) # (1)
library(sspir)
# Let's get some data so we can all try this at home
dfrm <- data.frame(
y =
c(0.02,0.04,-0.03,0.02,0,0.01,0.04,0.03,-0.01,0.04,-0.01,0.05,0.04,

0.03,0.01,-0.01,-0.01,-0.03,0.02,-0.04,-0.05,-0.02,-0.04,0,0.02,0,

-0.01,-0.01,0.01,0.09,0.03,0.03,0.05,0.04,-0.01,0.05,0.03,0.01,
0.04,0.01,-0.01,-0.02,-0.01,-0.01,
0.06,0.03,0.02,0.03,0.03,0.04,
0.03,0.04,-0.02,-0.03,0.04,0.03,0.05,0.02,0.03,-0.1),
x = c(-0.03,-0.01,0.07,-0.03,-0.07,0.05,0.02,-0.05,-0.04,
-0.02,-0.19,0.07,0.09,0.01,0.01,0,0.05,0,-0.02,-0.09,
-0.12,-0.01,-0.13,0.04,0.04,-0.07,-0.05,-0.03,
-0.01,0.11,0.06,0.03,0.06,0.06,-0.01,0.07,0.01,

0,0.07,0.04,-0.02,0,-0.03,0.04,-0.04,-0.01,0.03,0.02,0.05,0.04,
0.05,0.03,0,-0.04,0.05,0.05,0.06,0.02,0.04,-0.06)
)
ss <- ssm(y ~ tvar(x), time = 1:nrow(dfrm), family=gaussian(link="identity"),
data=dfrm)
smooth.params <- smoother(kfilter(ss\$ss))\$m

that this is requred as there is a bug in sspir.

To what should I set ss\$ss\$m0 and ss\$ss\$C0? (I did notice that
smoother() replaces these, but it still matters what I initialize it
to in the first place)

Many thanks!

Tariq Khan

```