1 votos

Optimizando retornos ponderados por el índice de Sharpe en el contexto de Aprendizaje Supervisado

En la competencia de Kaggle Jane Street market prediction se nos sitúa en un Marco de Aprendizaje Supervisado para tratar con 'oportunidades comerciales'. Es decir, se nos dan instancias de oportunidades comerciales anteriores con características asociadas (anonimizadas), un 'peso' para el intercambio y una realización ('resp') que puede tomar valores negativos. Se nos darán otras oportunidades comerciales con características y pesos asociados y debemos determinar un resultado binario para cada operación: tomar acción o pasar.

El objetivo es optimizar una función de utilidad que es la suma de beneficio, ponderado por una razón de Sharpe recortada.

Más formalmente, necesitamos optimizar en un conjunto de pruebas:

$$ u = min(max(t,0),6) \Sigma p_i $$

Donde:

$$ p_i = \sum_j action_{i,j} * weight_{i,j} * resp_{i,j} $$

Y:

$$ t = \frac{\Sigma p_i}{\sqrt{\Sigma p_i^2}} * \sqrt{\frac{250}{|i|}} $$

( $|i|$ siendo el número de días en el conjunto de pruebas.)

De fuentes públicamente disponibles, la mayoría de las personas han tomado un enfoque de aprendizaje puramente estadístico. Es decir: determinar un objetivo binario tomando 'resp' por encima de 0 (comercio rentable) y usando clasificadores bastante estándar para predecir ese resultado y producir una acción binaria, sin siquiera tener en cuenta la ponderación de la tasa de Sharpe. Algunas personas comenzaron a tener en cuenta la ponderación mediante el uso de un umbral más alto para aceptar un comercio, pero eso es todo.

Estoy tratando de cerrar la brecha entre esta formulación de ML y mi (antecedente) en Finanzas cuantitativas.

He considerado tres rutas diferentes:

  • Mantener un objetivo binario simple y una pérdida asociada que no tenga en cuenta la ponderación de Sharpe, luego de alguna manera construir 'portafolios' y una frontera óptima de riesgo que me permita realizar operaciones que estén cerca de ella.

  • Mantener un objetivo binario simple pero integrar la función de utilidad como un objetivo de optimización. Ni siquiera estoy seguro de que esto pueda desarrollarse ya que la mayoría de los optimizadores parecen depender del gradiente/hessiano.

  • Rediseñar un objetivo que tenga en cuenta esa ponderación. Sin embargo, eso parece difícil ya que la mayoría de las características están anonimizadas, por lo que realmente no puedo identificar alguna medida de variación a nivel de intercambio individual.

¿Hay recursos para tratar con una formulación de un problema comercial como este?

0voto

BigCanOfTuna Puntos 210

(Demasiado largo para un comentario.)

Una posibilidad sería abordarlo como un problema de optimización más o menos directo. Supongamos que tienes una regla que toma como entrada algunos parámetros y devuelve una decisión para tomar un intercambio en particular o no.

Para un conjunto fijo de parámetros y datos de entrenamiento, esa regla se mapea en un conjunto de intercambios aceptados, que se mapean en un valor numérico de tu función de utilidad (que contiene tu relación media/variación). Con este mapeo en su lugar, optimizas: buscas a través de los parámetros de tu regla hasta que se encuentra un buen valor de la función objetivo.

Ya no se puede acceder a los datos, así que no sé cómo se veían las características proporcionadas. Pero supongamos que podrían estandarizarse, entonces una regla extremadamente simple podría ser esta: si la suma de k características estandarizadas particulares para un intercambio dado es mayor que una constante (cero, por ejemplo), haz el intercambio. Entonces solo necesitarías identificar esas k características (es decir, las columnas del conjunto de datos), que es un problema de selección para el que hay algoritmos efectivos disponibles.

Por supuesto, uno podría usar una regla mucho más complicada, pero el punto clave es escribir la función de utilidad directamente en la función objetivo al optimizar.

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