Seguimos en esta segunda parte hablando de la optimización combinatoria, como decíamos en el artículo anterior los sistemas de trading tienen con frecuencia una cantidad importante de parámetros que hay que ajustar o establecer para tener una versión concreta del sistema. ¿Cómo puede la optimización combinatoria facilitarnos la tarea?

OPTIMIZACIÓN DE SISTEMAS DE TRADING

El proceso de optimización de sistemas es crucial en la producción de estos mecanismos de inversión. Al margen de que la estrategia desarrollada sea o no rentable, una estrategia que no esté calibrada de forma óptima, no podremos asegurar que se comporte de forma rentable, aunque la estrategia tenga una componente intrínsecamente rentable. Es por esto, que se hace indispensable la optimización de la estrategia utilizando backtesting.

Backtesting

En un entorno de desarrollo/producción de sistemas, como en cualquier método científico, existe la posibilidad de usar un marco de trabajo, que estandarice dichos procesos de desarrollo y puesta en producción.

Al proceso de observación del rendimiento del sistema utilizando datos históricos del mercado (o mercados) para el que se ha desarrollado la estrategia, se le denomina Backtesting.

Efectos adversos

A. La Calidad de los datos

Uno de los elementos adversos para la optimización es la mala calidad de los datos históricos; calidad referente a los errores derivados del proceso de observación, registro de las fuentes de datos, etc. Este efecto es minimizable si se utilizan fuentes fiables de dichos datos históricos.

B. Sobreoptimización

El gran “talón de Aquiles” de la optimización es la obtención de soluciones muy “ajustadas” a los datos de entrada, que en entornos de producción fracasan debido a que son entornos de incertidumbre, donde movimientos en los precios de eventos pasados no aseguran movimientos futuros.

Es un entorno no determinista donde la cantidad de variables hace en cualquier caso difícil predecir movimientos futuros e imposible con un 100% de certeza.

Cuando se produce este sobreajuste o sobreoptimización, implica que es dependiente de la entrada; no solamente de los parámetros, que van a mantenerse constantes en producción; sino del período de datos utilizado para el entrenamiento.

En conclusión, no funciona de igual forma en entornos que presente diferentes patrones, aunque sean equivalentes, y la mayoría de las veces dan lugar a sistemas inestables que no solo no tienen el retorno esperado sino que fácilmente se convierten en sistemas con pérdidas.

Es por tanto fundamental encontrar métodos de optimización robusta donde no sea tan importante la calidad de los datos; puesto que un sistema robusto se comportará con buen rendimiento a pesar de que el entorno cambie, y por tanto una mala calidad de datos se puede asumir como un cambio del entorno a priori; y que eluda el problema de la sobreoptimización obteniendo soluciones óptimas “desacopladas” de los datos de entrada en la medida de lo posible.

In-Sample

Con éste término se conoce la ventana de tiempo utilizada para el entrenamiento. No existe una sola estrategia para aplicar este entrenamiento y pueden emplearse varias de estas ventanas, en función del propio proceso; pero la idea básica es escoger un período de tiempo sobre los datos históricos que sirva para aplicar la técnica de optimización que se desee, no usando ningún dato fuera de esta ventana, para poder verificar a posteriori si se produce sobreoptimización; es decir, si el sistema es dependiente de la ventana.

Out-Sample

Esta muestra, incluye la ventana In-sample y añade un período de tiempo no utilizado para la optimización; sirviendo, por tanto, para verificar el comportamiento de la estrategia una vez “abandonada” la zona dónde se conoce su rendimiento óptimo. De esta forma el problema de optimización combinatoria, se transforma en un problema de decisión multicriterio. Es decir, de un problema con un número de soluciones exponencial hemos simplificado dicho problema a, dentro del conjunto de soluciones óptimas, escoger el que se “comporte mejor” en la muestra no usada para realizar la optimización.

Auditoría (pre-producción)

Este período, que es posterior en el tiempo, a la ventana Out-sample; está definido como un período de tiempo donde, una vez escogido el set de entrada o conjunto de parámetros para dicha estrategia, se aplica a un entorno real, con datos en tiempo real de un mercado, o mercados, concreto, realizando operaciones reales, aunque sin invertir realmente; por ejemplo usando una cuenta demo con dinero virtual.

En esta etapa, podemos ver cómo se comporta su rendimiento. Es una práctica habitual, que en este período, los datos de rendimiento son publicados a los posibles inversores. Si el sistema obtiene la confianza de uno de ellos invirtiendo en él; para lo cual, normalmente, requiere un período suficiente para que tenga resultados visibles; entraríamos en la etapa de producción.

Producción

Esta etapa es la definitiva, donde el sistema está plenamente en producción arrojando datos reales de rendimiento como instrumento de inversión sobre un mercado concreto, y donde los inversores obtienen un beneficio a cambio de un riesgo. Esta información es realmente útil no solo para dar confianza al inversor, sino para obtener datos de comportamiento que puedan dar ideas para nuevas estrategias. También se puede extraer información si la estrategia experimenta algún cambio sustancial para analizar que ha ocurrido.

OPTIMIZACIÓN ROBUSTA DE SISTEMAS DE TRADING

Paradigma Robusto

Existe cierta controversia sobre el término robusto incluso entre los investigadores del mismo ámbito. Se aplica a varios entornos, como puede ser la teoría de la decisión multicriterio, los sistemas de control, y en definitiva cualquier entorno donde exista incertidumbre.

La incertidumbre es pues el enemigo a batir, aunque no a eliminar, pues los entornos que requieren soluciones robustas son precisamente donde existe incertidumbre; es pues intrínsecamente inherente. Desde el punto de vista de un sistema de control, los conceptos de robustez e incertidumbre se definirían:

“Incertidumbre: diferencias entre el modelo matemático y el sistema real.

Robustez: capacidad del sistema de control de satisfacer las especificaciones a pesar de la incertidumbre.

Todos los sistemas reales están sometidos a los efectos de ambos, por lo que siempre es recomendable hacer un análisis de robustez.

Existe un compromiso entre la dificultad de las especificaciones que se pueden cumplir y el nivel de incertidumbre que el sistema puede manejar, lo que implica que es muy importante cuantificar bien la incertidumbre.”

Desde el punto de vista de la Estadística:

“El término “robustez” se utiliza, a menudo en Estadística para hacer referencia a ciertas características deseables de los procesos estadísticos. Se dice que un proceso es robusto respecto de las desviaciones de los supuestos del modelo, cuando el proceso continúa trabajando bien, aun cuando, en mayor o menor extensión, los supuestos no se mantienen. Tales supuestos, a menudo adoptados informáticamente, podrían ser por ejemplo, que una distribución subyacente sea Normal o que las observaciones posean una varianza constante.

En el caso de contrastación de hipótesis estadísticas, un test robusto evita la dificultad de que una decisión (en este caso entre dos hipótesis) se mantenga como muy inestable a la manera de un supuesto particular.”

Los bayesianos dan al término un significado más específico. Una aplicación bayesiana es robusta si la distribución posterior de un parámetro desconocido no es significativamente afectada por la elección de la distribución anterior o de la forma del modelo elegido para la generación de los datos.

Desde el punto de vista de la decisión multicriterio, se distingue el análisis de la robustez del análisis de sensibilidad:

“El análisis de sensibilidad es un proceso sistemático utilizado para explorar cómo una solución considerada como “óptima” en el sentido paretiano, responde a los cambios introducidos en las condiciones de partida; las cuales típicamente serán valores conocidos que podrán variar en el futuro o parámetros cuyos valores estarán expuestos a cuestionamiento.

De este modo, el análisis se sustenta alrededor del supuesto previo de que la optimización es el escenario principal, con la incertidumbre considerada como un factor potencialmente perjudicial.

El análisis tiene como objetivo estudiar y descubrir el grado de sensibilidad de la solución óptima ante cambios en los factores esenciales. Una solución insensible es considerada como ventajosa.”

Una solución se considera más robusta cuanto menos varía el rendimiento a lo largo del período de vida de la inversión. Independientemente de la variación de los precios del mercado sobre el que se realiza dicha inversión.

La robustez de una solución no implica que dicha solución sea óptima ni viceversa, pero tampoco son contrapuestas. Por tanto son dos conceptos que pueden perseguirse de manera paralela.

Handicap del análisis de robustez en sistemas de trading

El análisis de la robustez ideal supone conocer escenarios futuros. Cuanto mayor grado de incertidumbre menos factible es la posibilidad de conocer dichos escenarios. Por otra parte en entornos con gran incertidumbre, es cuando más necesario el enfoque robusto.

Es aquí donde radica la mayor restricción de la optimización robusta de los sistemas, pues los mercados bursátiles son entornos de gran incertidumbre, cuestión que juega en contra de la robustez.

Pruebas de Robustez

Existen varias pruebas que pueden realizarse en entornos de gran incertidumbre para analizar la robustez de forma indirecta dada la imposibilidad por las características intrínsecas de acceder a escenarios futuros con 100% de certeza.

Análisis de la sensibilidad de los parámetros de entrada

Una técnica para evaluar la robustez de forma indirecta, es el análisis de la sensibilidad de las soluciones obtenidas; es decir, una vez tenemos el conjunto de soluciones, variamos mínimamente cada uno de los parámetros, evaluando las funciones objetivo nuevamente, comparándolas con el resultado previo y observando cómo ha repercutido la variación en la variación de los resultados. Se puede establecer una puntuación de la robustez en función del grado de variación observado.

Alteración de los datos de entrada

Dada la incertidumbre de los datos futuros, una alternativa al análisis de sensibilidad por variación de los parámetros a ser optimizados, nos lleva a utilizar los datos históricos de partida para generar “variaciones” de los mismos a modo de escenarios de entrenamiento, donde evaluar cómo afectan los cambios introducidos a la imagen de las funciones objetivo.

Ruido Blanco

Es una serie de datos aleatoria (proceso estocástico) que se caracteriza por el hecho de que sus valores de señal en dos tiempos diferentes no guardan correlación estadística. Como consecuencia de ello, su densidad espectral de potencia [PSD] es una constante, es decir, su gráfica es plana. Esto significa que la señal contiene todas las frecuencias y todas ellas muestran la misma potencia. Igual fenómeno ocurre con la luz blanca, de allí la denominación.

La alteración de series temporales con ruido blanco, asegura que el grado de correlación de la serie original permanece inalterado, y por tanto, se producen series temporales alternativas, que pueden servir como diferentes escenarios sobre los que evaluar la robustez.

Por tanto, será más robusta una estrategia cuyo rendimiento no muestre alteraciones significativas al ser evaluada sobre la muestra original y un número factible de escenarios generados a partir de la serie original con la adición de sendas series generadas en base al concepto de ruido blanco.

Predicción de precios

La predicción de precios o price forecasting es una rama de la Econometría que trata de inferir datos futuros a partir de datos históricos. Está basada en modelos estadísticos. Sus aplicaciones tienen origen en la predicción de los precios de la energía, pero pueden aplicarse a infinidad de campos, entre ellos la predicción de los precios de los mercados bursátiles. Aunque las estrategias de sistemas no puedan basarse fielmente en predicciones donde cualquier grado de incertidumbre modifica completamente los resultados del sistema, si pueden aplicarse dichos escenarios posibles para el entrenamiento. Considerándose más robusta una estrategia cuyo rendimiento permanezca invariante ante una diversidad posibles escenarios generados en base a las técnicas de predicción de precios.