3 votos

¿Cuál es el orden correcto de operaciones al limpiar y estructurar series temporales financieras?

Estoy estudiando Advances in Financial Machine Learning de Lopez, donde habla sobre cómo muestrear y estructurar datos financieros, así como cómo aplicar modelos de aprendizaje automático a los datos. También estoy siguiendo una implementación en python del libro.

Lo que no me queda del todo claro es cuál es el orden correcto de operaciones para aplicar a series temporales financieras para aplicaciones de aprendizaje automático. Por ejemplo, en el libro, el autor tiene capítulos que explican cómo muestrear por volumen en lugar de por tiempo, aplicar filtros CUSUM para etiquetar solo secciones relevantes en una serie temporal, y aplicar diferenciación fraccional como un medio para lograr estacionalidad preservadora de memoria.

Mi pregunta es, ¿cuál es el orden correcto para aplicar las operaciones anteriores? Con correcto me refiero a lo que es estadísticamente sólido mientras genera tantas muestras como sea posible (si filtramos demasiados datos, nos quedaremos con un conjunto de datos muy disperso).

Mi intuición es la siguiente

  1. Muestrear datos tick por volumen - cada vez que, digamos, se negocien 1000 contratos, tomar una muestra. Lopez recomienda usar 1/50 del volumen promedio diario. La salida de este muestreo es una serie temporal de "barras de volumen".
  2. Aplicar transformaciones de características como la diferenciación fraccional a la serie temporal de barras de volumen del 1.
  3. Aplicar filtros de eventos como el filtro CUSUM a las barras de volumen en bruto. La salida de esto serán marcas de tiempo para cuándo queremos muestrear las barras de volumen, es decir, las muestras finales de entrada para entrenar el modelo.

La razón detrás de este ordenamiento es que si intercambiáramos los pasos 2 y 3, entonces la ingeniería de características se aplicaría a un conjunto de datos mucho más disperso y potencialmente perdería información en la serie temporal.

El autor no parece indicar explícitamente un orden correcto de operaciones, ya que los capítulos no siempre siguen una línea de tiempo clara en cuanto a qué etapa aplicar qué operaciones.

¿Es correcta mi intuición? ¿Deberíamos aplicar la ingeniería de características primero antes de muestrear la serie temporal por eventos?

1voto

agateau Puntos 898

Tomar una muestra de 1/50 me parece erróneo.

No soy un cuantitativo, pero trabajé en un equipo de trading algorítmico. Creo que el problema que está intentando resolver con esa heurística se llama "simplificación de series temporales". Puede leer sobre cómo los grandes bancos resuelven ese problema aquí:

Simplificación de series temporales en kdb+: un método para reducir dinámicamente Big Data Sean Keevey & Kevin Smyth, 2015.02

Pero lo que necesita como entrada para este enfoque de ajuste de polígonos es la curva de volumen acumulado. El polígono ajustado entonces necesita ser mapeado a un precio wavg.

Dicho esto, creo que hay otros aspectos interesantes de la selección de datos de series temporales, muchos de los cuales anteceden a clases avanzadas de matemáticas/aprendizaje automático y son cosas que probablemente los estudiantes de secundaria podrían hacer para la limpieza de datos.

  • Preservación de la estacionariedad de la memoria - Cuando tienes dos series que claramente no son estacionarias (el valor medio se está moviendo con el tiempo) entonces no puedes simplemente regresar niveles contra niveles. Al menos, necesitas regresar cambios contra cambios. Por ejemplo, vea este artículo en SeekingAlpha, Bitcoin: un camino a seguir como ejemplo de un gráfico de regresión lineal incorrecto. Pruebas de estacionaridad - La Prueba de Dickey Fuller Aumentada (ADF) prueba las raíces unitarias. Enfoques estadísticos comunes como Arima/Box-Jenkins luego eliminan las causas de raíces estadísticas, como: Orden del modelo autorregresivo - ¿Cuántos rezagos de tiempo hay en la serie temporal? Diferenciación de primer orden - Un error común que cometen las personas al comparar dos series temporales es que comparan la diferencia en los valores, en lugar de la tasa de cambio. Orden del modelo de media móvil - La suavidad de la estimación de la tendencia-ciclo. Tasa de cambio fraccional - Aplicando los conceptos anteriores, todavía necesitas preservar la memoria de la serie temporal original. Para eso, se inventó ARFIMA como una generalización de ARIMA.

  • Falta de mecanismo del mundo real para eventos que ocurran naturalmente/que sean forzados a ocurrir - A veces se hace un análisis de series temporales en publicaciones financieras que afirman alguna causa-efecto, pero una vista detallada de las piernas de las transacciones revela que no hay un mecanismo natural, del mundo real, para que ocurra la acción de precios. Y hay miles de economistas que publican o perecen tratando de encontrar mecanismos del mundo real para la acción de precios.

  • Sesgo de supervivencia - Si su símbolo se da de baja, quiebra, se incluye en una lista adicional, se detiene o se elimina de un índice o se agrega a un índice, ¿estaba al tanto cuando construyó su muestra de estudio?

  • Las fechas de calendario pueden introducir error de muestreo - si el volumen que está estudiando está en emisiones con bajo volumen en la bolsa de valores en particular que está estudiando, debe tener en cuenta las sutilezas del calendario que podrían introducir un sesgo de muestreo sutil y hacer que elija un día con muy poco volumen, o muy poco volumen compuesto de intercambio si las emisiones se negocian multilateralmente.

    Aspectos a considerar al seleccionar fechas de calendario:

    • a veces el mercado donde se enumera el valor no observa los días festivos locales
    • a veces el mercado observa el día festivo pero el valor no
    • a veces es al revés
    • no todos los valores enumerados en un mercado particular siguen las mismas reglas diferentes mercados/valores pueden ofrecer el mismo valor pero con reglas de feriados diferentes
    • Muchos mercados/valores también tienen medio días (es como medio día festivo)
  • La resolución temporal importa - Si piensa que puede simplemente muestrearlo por fecha y no introducir error de truncamiento, se está engañando absolutamente. Si observa un valor p grande, cuestiónelo. Busque en las noticias lo que sucedió con la emisión en esta fecha o rango de fechas en su backtest.

    • Muestreo de la parte superior de cada minuto - A menos que esté haciendo un estudio de precio de cierre, debe evitar muestrear la parte superior de cada minuto, especialmente para datos históricos de 2000 a 2010, ya que muchas implementaciones ingenuas de VWAP enviarían fragmentos de órdenes en la parte superior de cada minuto, y podrían ser invertidas usando una Transformada rápida de Fourier y por lo tanto ser interceptadas por un operador de alta frecuencia que podría predecir la ubicación del libro de órdenes y saltar dentro de la oferta/demanda. - Quiere que su muestra sea realmente aleatoria. El libro Numerical Recipes in C tiene alguna discusión sobre diferentes formas de pensar en la aleatoriedad, aunque no soy un experto en cómo aplicar ese pensamiento a los sistemas de trading. Si utiliza un generador de números aleatorios, querrá poder guardar la semilla para poder "revivir" su código.

    • Datos de series temporales de "Cisne Negro" - cómo los datos de series temporales normalmente no correlacionados pueden volverse perfectamente correlacionados, como el precio del oro y el petróleo durante las desviaciones del mercado. Así que, de alguna manera, imagino que quiere saber cuál es el propósito de su estudio de series temporales y diseñar correctamente su experimento en torno a ese propósito. Si está tratando de encontrar movimientos de precios no correlacionados, probablemente necesite asegurarse de manejar los eventos de seis sigma por separado de todo lo demás. Pero no soy un cuantitativo.

  • Efecto de eventos especiales en el error - si su muestra aleatoria elige un día de brujas triple/cuádruple, entonces sus barras de volumen no representarán el mundo real de manera muy precisa, por lo que su backtest le dirá una cosa, pero su prueba fuera de la muestra se comportará de manera diferente. Otro evento especial es el rebalanceo del 4.5%/48% NASDAQ 100.

Encantado de discutir esto más detenidamente fuera de línea. Puedes encontrarme en varias plataformas de redes sociales. También estaría interesado en aprender más.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X