2 votos

Elección de las mejores expresiones entre todas las combinaciones posibles de variables, operadores unarios y binarios junto con hiperparámetros

Tengo unas cuantas variables financieras de un universo bursátil como son los precios OHLC, el volumen y otros fundamentales con distinta frecuencia temporal. Usando este conjunto estoy creando una expresión que da los pesos a invertir en esa acción en particular entre todo el universo para un día en particular.

Por ejemplo, una expresión puede ser algo así como

$$(close-open)/vwap$$ $$(close-average(close,10))/std(close,10)$$

La expresión se evalúa en cada acción del universo y el vector final se normaliza para llegar a los pesos que se asignan para esa acción en particular. Si el peso es positivo, significa que vamos a ir en largo en esa acción y si es negativo la dirección es corta y si el peso es 0, entonces no se asigna ninguna posición para esa acción en particular.

Esta configuración se repite en datos pasados y se hace una prueba retrospectiva para evaluar el rendimiento de la expresión. El backtest revela algunos parámetros como el Sharpe o la rentabilidad absoluta, etc.

Ahora bien, dado un conjunto fijo de variables, operadores y funciones que tienen algunos metaparámetros, ¿cuál es el mejor algoritmo posible para encontrar expresiones óptimas que den como resultado un buen rendimiento sobre los datos históricos (digamos que todas las combinaciones posibles que tienen un ratio de agudeza superior a 4). Además, sería estupendo saber si existe algún algoritmo en la literatura que, en lugar de buscar en todo el espacio de expresiones, pueda utilizarse para generar artificialmente nuevas expresiones a partir de un conjunto de entrenamiento creado por humanos que contenga la secuencia que utilizaron para llegar a una expresión buena y las expresiones que no funcionaron (generando artificialmente nuevas expresiones).

1voto

BigCanOfTuna Puntos 210

El problema que describe puede tratarse como un problema de optimización: hacer evolucionar un programa de forma que maximice alguna medida de rendimiento. La técnica que puede querer investigar se llama "Programación Genética". Para una aplicación financiera, véase por ejemplo Programación genética de un solo árbol frente a la de varios para la toma de decisiones dinámica .

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