1 votos

¿Cómo se puede utilizar datos de series temporales estacionarios como entrada en un modelo de ML?

Estoy a la mitad de "Advances in Financial Machine Learning" de Marcos López de Prado. Entiendo que una serie temporal como los precios de las acciones se puede transformar para hacerla lo suficientemente estacionaria. Supongamos que una serie de acciones tiene 100 puntos de datos para T=1 a T=100 (un punto de datos por tiempo). También entiendo (espero) que se puede etiquetar estos datos utilizando el método de las tres barreras de vez en cuando en la serie temporal. Por ejemplo, etiquetar un punto de entrenamiento cada 2 unidades de tiempo donde la barrera vertical está a 10 unidades de tiempo desde el punto de inicio. Así que tendrías ejemplos de entrenamiento etiquetados para T=1, 3, 5, ... Entiendo que hay superposición en los datos de entrenamiento y no es IID y por lo tanto, debes usar un método como la singularidad promedio para contrarrestar este acto.

Vale. Dicho esto, todavía no tengo idea de cómo estos datos de entrenamiento etiquetados se pueden usar como características de entrada en un modelo de aprendizaje automático.

Es decir, cada punto de datos es solo un número. Entiendo que hay algún concepto de este número que contiene algún concepto de "memoria" ya que la serie no está completamente diferenciada, pero ¿cómo se trata esto en el modelo?

Por ejemplo, imaginemos que voy a entrenar un bosque aleatorio para predecir el rendimiento de una acción en el futuro. He recopilado datos de entrenamiento como se describe anteriormente (así que quiero saber el rendimiento de la acción hasta 10 unidades de tiempo en el futuro). Ahora diseño características para mi modelo como, por ejemplo, la temperatura exterior, el precio del NASDAQ de ayer, etc. Esas son características fáciles y agradables. Ahora tengo esta gran serie temporal que quiero usar como característica (o características múltiples). Hay tantas complicaciones. En primer lugar, está ordenado, si hay algún alfa que se pueda recopilar, el orden definitivamente es lo que te llevará a la alpha. En segundo lugar, no hay una correspondencia uno a uno entre el precio de un nuevo ejemplo de prueba y un precio en los datos de entrenamiento. Por ejemplo, si quisiera utilizar la característica del precio del NASDAQ en un nuevo ejemplo de prueba, simplemente miraría el precio del NASDAQ de ayer (hay una correspondencia uno a uno). Si quisiera utilizar el precio de ayer de la acción para predecir el de hoy, no sabría qué "ayer" usar porque cualquiera de los puntos de datos en la serie temporal podría considerarse "ayer".

¿Qué estoy pasando por alto aquí?

1voto

Jim Blake Puntos 707

Con ML, buscas identificar patrones en tus entradas que resulten en tus salidas. Por lo tanto, recopilas todas las salidas que esperas poder identificar más tarde, y las entradas que corresponden a esas salidas (es decir, justo antes de que se genere la salida), recopilas tantas de estas relaciones como sea posible, las metes en un modelo de ML y esperas haber encontrado una ventaja.

Si quieres predecir el precio de las acciones de mañana usando entradas de hoy, es mejor que esperes haber recopilado suficientes ejemplos de entradas que se parezcan a las de hoy en tu conjunto de datos para ayudar al ML a predecir el mañana.

0 votos

Entonces, ¿es cada precio histórico de acciones recopilado solo un ejemplo de una característica de entrada en la que el orden no importa? Por ejemplo, si la serie temporal de acciones (en términos estacionarios) fuera [12, 10, 9, 14, 13] para T = 1,...,5 y las etiquetas para esto = [1, 1, 0, 0, 1] y digamos que tenemos una característica más: el precio del NASDAQ, que es de 1000 en T = 1,...,3 y 900 en T = 4,5. ¿Sería la X que usamos para esto simplemente [[12, 1000], [10, 1000], [9, 1000], [14, 900], [13, 900]] para las etiquetas [1, 1, 0, 0, 1]? ¿Eso es todo? ¿Entonces, el tiempo del ejemplo de entrenamiento no importa después de hacer que la serie sea estacionaria?

0 votos

@Aloysius Eso es. Estás dando al ML tres ejemplos de etiqueta de salida 1, y dos ejemplos de etiqueta de salida 0 en términos de las entradas. Luego intentará encontrar un patrón que conecte las entradas con las salidas en los ejemplos que le has dado. Si deseas incorporar el orden en el modelo, introducirías rezagos de las características de entrada como características en sí mismas.

0 votos

¡Gran agradecimiento! Creo que te he entendido en su mayoría excepto por la última oración que escribiste. Cuando mencionas "lags of the input features", ¿quieres decir agregar una nueva característica de "hace una unidad de tiempo" que represente el precio de la acción hace una unidad de tiempo? Entonces X podría ser [[12, 10, 1000], [10, 9, 1000], [9, 14, 900], [14, 13, 900]] o algo similar en su lugar. Puedo entender eso, pero lo que me confunde es que la fórmula para diferenciar fraccionalmente una serie de tiempo ya es una función de los rezagos decaídos ponderados de la serie de tiempo.

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