Uno de los desafíos de intentar predecir los precios en los mercados de acciones utilizando aprendizaje automático (machine learning) es la asunción oculta de que los datos utilizados para entrenar un modelo constituyen una serie temporal estacionaria. Los algoritmos de aprendizaje automático, en general, necesitan que los ejemplos con los que aprenden, el pasado, sea similar a lo que predicen, el futuro. Si pasado y futuro exhiben diferencias estadísticas significativas el modelo no podra aprender nada, no será capaz de generar predicciones para el futuro. Veamos el precio de cierre diario del índice SPY desde el año 2000 como ejemplo:
Si miramos al comienzo de la serie observamos que los valores ,precio en dolares USA, rondan el 100, y claramente suben durante el periodo completo a los rangos de 200 y 300. Hay varias caídas severas durante el periodo por debajo de los 100. Parece ser que las características estadísticas de esta serie temporal (su valor medio y desviación estándar) cambian durante el periodo. Si sometemos esta serie a la prueba Dickey-Fuller Aumentada (prueba ADF) descubrimos que el valor p es de 0.999 y la estadística ADF es 2.5 indicando una serie claramente no estacionaria. Media y varianza cambian mucho durante el periodo, una gran cantidad de herramientas de inferencia estadística fallaran si las aplicamos al periodo más reciente utilizando como ejemplos de aprendizaje el periodo inicial. La serie temporal que sí se acepta generalmente como estacionaria es la serie del cambio diario del precio, por ejemplo tomando la primera derivada de la serie de precios obtenemos el gráfico de los retornos diarios:
La estadística ADF es -17.18 y el valor p es muy bajo. Esto indica que la serie de retornos diarios mantiene una media y una varianza constantes en el periodo 2000 a 2020, la media es de 0.04$ de diferencia y la varianza son 1.88$. Es evidente que obtenemos una serie estacionaria pero tambien es muy difícil observar la tendencia general del mercado en un periodo dado, el pasado remoto desaparece, solo podemos reconstruir el cambio total con el pasado más reciente, no podemos reconstruir el nivel de precios con esta diferenciación. Si intentamos reconstruir el nivel de precios a través de los cambios unicamente obtenemos un perfil incorrecto, con información parcial:
El equilibrio entre obtener una serie estacionaria y una serie con memoria a largo plazo se puede encontrar en la diferenciación fraccional segun Marcos Lopez de Prado en su libro Advances in Financial Machine Learning que explica en esta conferencia. Podemos investigar las características de las series de precios de acciones fraccionalmente diferenciadas utilizando el paquete MLFinlab. Este paquete incluye multiples utilidades para aprendizaje automático financiero y es actualmente gratuito, su página de apoyo se puede visitar aqui. Si ponemos en un gráfico estas diferencias fraccionales obtenemos el siguiente conjunto de curvas:
Se puede observar como los perfiles se aplanan a medida que la diferenciación fraccional progresa desde una serie sin diferenciación arriba hasta la primera derivada abajo. Es interesante observar lo que ocurre en las diferencias justo por debajo de 1:
Las diferencias fraccionales comienzan a exhibir la tendencia general del índice SPY en las fracciones "bajas", la tendencia es visible para fracciones de 0.8. En el otro lado del espectro, para las fracciones "altas" observamos esto:
Las diferencias de precios entre las fracciones 0.1 y 0.5 pueden exhibir características de estacionaridad y al mismo tiempo permiten reconstruir parcialmente la historia de precios primitivos, esto es, podemos retener la memoria de la serie al mismo tiempo que se mantiene una media y una varianza estática en el tiempo que permiten una inferencia estadística más precisa al utilizar métodos de aprendizaje automático. Los resultados de las pruebas ADF para las series fraccionalmente diferenciadas son estos:
Esta serie en cuestión es relativamente grande, en este caso necesitaríamos un orden de diferencia fraccional por encima de 0.8 para obtener una serie estacionaria estadísticamente aceptable. Para series mas cortas fracciones más bajas puede que generen este efecto, generalmente utilizaremos series más cortas y mas recientes en nuestros modelos de aprendizaje automático siendo la premisa que durante estos 20 años de actividad en el mercado los métodos de descubrimiento de precios, participantes y ambiente han cambiado tanto que los datos muy antiguos no generan aprendizajes utiles para obtener predicciones.
En el futuro utilizaremos la diferenciación fraccional para obtener valores de variables que puedan predecir los precios del mercado y que exhiban buenas propiedades estadísticas mientras mantienen la memoria de precios. Por el momento recuerde que las publicaciones en Ostirion.net no son consejos financieros. Ostirion.net no mantiene posiciones en ninguno de los instrumentos financieros que se mencionan en esta publicación en el momento de la publicación. Si necesita más información, apoyo con la gestión de activos financieros, desarrollo de estrategias de trading automatizados o despliegue táctico de estrategias existentes no dude en contactar con nosotros aquí.
Comments