asset management

El filtro de Kalman

mplanaslasa

28/03/2014

2

El filtro de Kalman es un método que permite estimar variables de estado no observables a partir de variables observables que pueden contener algún error de medición.

Es un algoritmo que requiere dos tipos de ecuaciones: las que relacionan las variables de estado con las variables observables (ecuaciones principales) y las que determinan la estructura temporal de las variables de estado (ecuaciones de estado).

Las estimaciones de las variables de estado se realizan en base a la dinámica de estas variables (dimensión temporal) así como de las mediciones de las variables observables que se van obteniendo en cada instante del tiempo (dimensión transversal). Es decir, la dinámica se resumen en dos pasos:

  1. Estimar las variables de estado utilizando su propia dinámica (etapa de predicción) .
  2. Mejorar esa primera estimación utilizando la información de las variables observables (etapa de corrección).

Una característica muy atractiva de la metododología que nos ocupa es que tiene carácter recursivo. Una vez que el algoritmo pronostica el nuevo estado en el momento t , añade un término de corrección y el nuevo estado “corregido” sirve como condición inicial en la siguiente etapa, t+1. De esta  forma, la estimación de las variables de estado utiliza toda la información disponible hasta ese momento y no sólo la información hasta la etapa anterior al momento en el cual se realiza la estimación (esto es lo que se conoce como “extracción de señales”).

Algoritmo

Supongamos la ecuación principal siguiente:

Image Zt es un vector de variables observables, xt es el vector de las variables de estado y Ht es la matriz que relaciona las variables observables con las de estado. El término de error ut se incluye para albergar la posibilidad de que las variables observables puedan contener algún error de medición. Es un término incorrelacionado con las variables observables y que tampoco presenta autocorrelación. Además, se asume que sigue una distribución normal de media nula.

IM4

Supongamos por otro lado que la dinámica de las variables de estado viene determinada por la siguiente ecuación de estado:

IM5

et es un vector de errores que se incluye para modelar la incertidumbre de las variables de estado. Es un término tal que sus componentes no están correlacionadas entre sí, no presentan autocorrelación ni guardan correlación tampoco con el error de la ecuación principal. Un supuesto es que sigue una distribución gaussiana de media nula:

IM6

donde Q denota la matriz covarianzas de las componentes del término de error (ésta puede ser constante o variable con el tiempo).

I) Ecuaciones de predicción: sea  xt,opt  un estimador óptimo del vector y  Pt  la varianza del vector de estados, las ecuaciones de predicción son: IM11

Estos términos no son más que las predicciones de las variables de estado atendiendo únicamente a la dinámica que se ha supuesto que siguen.

II) Ecuaciones de corrección: mejoramos los datos predichos utilizando la información de las variables observables para t+1, que es conocida:

IM12 donde Kt  es el término que se conoce como la ganancia de Kalman:

IM13

Vemos que es un algoritmo sencillo de implementar, simplemente en cada etapa t ha de ejecutarse la predicción seguida de la posterior corrección. Este proceso requiere la elección de unas buenas condiciones iniciales para el vector de estados y su varianza así como la elección de modelos que describan la dinámica de las variables de estado y modelos para la varianza de los errores de las ecuaciones principal y de estado.

Ejemplo: Estimación de la beta de mercado temporal. Mercado Japonés.

Hemos realizado la prueba de estimar la evolución de la beta de mercado de una acción según el filtrado de Kalman.

Nuestro modelo de partida es el modelo CAPM, que nos define la siguiente ecuación principal: IM16

Las variables observables son el rendimiento de mercado Rmt y el de las acciones, Rt. En particular, hemos supuesto el término contante at  (que en modelo CAPM representa el rendimiento de un activo seguro) constante y nulo siempre.  Por tanto, tenemos una única variable de estado que es la beta de mercado, bt. Por otro lado,  se ha supuesto que beta que sigue un proceso autorregresivo de orden uno, por tanto, At =Id=1. Además, todos los errores de las ecuaciones principal y de estado se han supuesto con varianza constante.

Los resultados muestran un beta variable con el tiempo con el siguiente aspecto:

betakalman

Consideramos que esta es una buena alternativa frente a la definición clásica de beta porque no asume una beta constante para todo el periodo, algo que constituye la principal crítica al modelo CAPM y además, éste es un método que filtra el ruido de la estimación paso a paso.

Esto no ha sido más que una primera aproximación.  Se propone para futuros trabajos utilizar este mismo método pero permitiendo una varianza para los errores de la ecuación de estado y de principal variable con el tiempo, por ejemplo, estimando un modelo oportuno, como puede ser un Garch.

Don’t miss the English version.

add a comment

Gracias por tu interés. Como bien dices, la peculiaridad de este método es utilizar el dato “mejorado” como condición inicial en el siguiente paso y así ir filtrando el ruido de la estimación. El ejemplo es simplemente una alternativa a la definición de beta usual. Lo normal es calcular una beta de mercado en todo un periodo (un único dato) y simplemente quería estimar una beta por etapas. Se puede emplear la beta usual con una ventana móvil, pero me parecía curioso aplicar el filtro de Kalman dado que conocemos tanto el rendimiento de cada acción como el del índice… Read more »

Me había parecido interesante este post porque el filtro de Kalman en realidad es un caso específico de estimación Bayesiana recursiva. La etapa de corrección que comentas es justo el paso de actualización del priori a posteriori utilizando datos (información observada). Se repite este paso utilizando el nuevo posteriori como el priori y con la nueva información disponible. Creo que este característico dinámico es muy útil en los modelos de finanzas. El ejemplo está bien después de tanta teoría aunque no termino de entender exactamente como usar una beta variable. Formaría parte de otra estrategia imagino, ¿no? Gracias!

wpDiscuz