Expediente Backtest (Parte V)
 
 

Expediente Backtest (Parte V)

 
AndyG - 26 Dic 2018
0 comentarios
 

En esta nueva entrega hablaremos de los métodos de validación de estrategias, desde los más sencillos, que toman como base una única secuencia de datos históricos, hasta los más sofisticados enfoques multi-hilo que buscan evaluar las estrategias en un conjunto de escenarios alternativos simulados desde la variabilidad del propio sistema o construyendo series sintéticas de datos.

 

Vaya por delante que no es lo mismo “validar” que “evaluar”. Validar consiste en comparar la coherencia de los resultados obtenidos fuera de muestra (OS) con los obtenidos durante los procesos de construcción y entrenamiento de la estrategia (IS). Mientras que “evaluar” es un concepto mucho más amplio que puede hacerse de manera cualitativa o cuantitativa, interna o externa. Por ejemplo, podemos evaluar la performance de nuestro portfolio conforme a un índice de referencia (evaluación externa) o su adaptabilidad a un determinado perfil inversor (evaluación cualitativa). La validación es un tipo de evaluación interna y cuantitativa cuyo objeto es acreditar la robustez de un modelo inversor cuando se aplica en series de precios o activos distintos a aquellos en los que ha sido construido y entrenado.

Validar una estrategia implica obtener respuesta a las siguientes preguntas:


  •  ¿Los resultados del sistema son generalizables a otras regiones del histórico, escenarios o mercados en los que no ha sido entrenado?
  •  ¿Cuál es la sensibilidad del sistema a los cambios de mayor o menor amplitud en las formaciones de precios?
  •  ¿Qué porcentaje del retorno se debe a la calidad de las reglas y es independiente de los procesos de optimización paramétrica?


En el primer caso, queremos saber si la estrategia es flexible o se trata de un conjunto de reglas y parámetros diseñados para maximizar la función objetivo en un conjunto específico de datos. En otras palabras, nos interesa saber cuánto proyecta el sistema.   

La segunda pregunta tiene que ver con la estabilidad de la estrategia ante pequeñas variaciones de precios. A veces una estrategia, aparentemente bien diseñada, tiene un comportamiento errático o improductivo en un determinado rango de precios o umbral de volatilidad. Cuando se produce un cambio de marcoépoca muchas estrategias dejan de funcionar, eso es inevitable. Pero otras veces observamos una degradación continua a medida que nos alejamos en el tiempo de los datos en los que ha sido construida. Este progresivo desajuste o pérdida de sensibilidad puede estimarse mediante técnicas adecuadas de validación.

La tercera cuestión tiene que ver con la calidad inherente a la lógica. Idealmente nos interesa que un conjunto de reglas sea capaz de generar alpha en un amplio rango de configuraciones paramétricas. Si el rendimiento, aunque sea extraordinaria, se concentra en un pequeño número de valores paramétricos, o peor aún, en combinaciones aisladas o de caso único, entonces la estrategia no es robusta y debe ser rechazada por inconsistente. 

Existen numeras técnicas de validación aplicables a los sistemas de trading. Algunas vienen empleándose desde hace décadas y están incluidas en muchas plataformas; principalmente las que pertenecen a la categoría de simulaciones históricas de escenario único. Otras, basadas en escenarios múltiples, son quizá menos conocidas, pero han sido objeto de numerosas investigaciones académicas y ya empiezan a desarrollarse para ellas concreciones prácticas y algoritmos específicos. Sobre todo en el ámbito del machine learning. Seguidamente, y sin ánimo de ser exhaustivos, realizamos una clasificación de las principales técnicas:




VALIDACIÓN DE ESCENARIO ÚNICO


Aquella que se basa en una única secuencia histórica datos para para las regiones IS y OS. Los modelos más simples utilizan un único hilo, o corte del histórico, para optimizar y otro para validar (validación lineal y variantes del WF), mientras que los modelos basados en las distintas variantes del método K-fold utilizan varios hilos o subconjuntos datos para optimar y una única región del histórico para validar. Esto permite una simulación parcial de escenarios alternativos que puede ser útil para someter la estrategia a stress-tests


a) Validación lineal simple.


En este tipo de validación se divide la serie histórica en dos regiones de tamaño diferente. La de mayor tamaño se utiliza para el entrenamiento y la otra para la validación. Suele ser frecuente una 3:1, aunque el porcentaje de datos IS/OS es, en realidad, un hiperparámetro del modelo.  

 

Un esquema de este modelo sería:


La región de entrenamiento es estática y abarca un corte lineal de datos históricos cronológicamente anterior a la región de validación. Entre ambas se deja una pequeña separación, de tamaño variable según el modelo a evaluar, para evitar el overlapping  o solapamiento. Éste se produce cuando utilizamos para entrenar datos que son necesarios para el cálculo de las primeras operaciones del OS. Pongamos un ejemplo: Supongamos el típico sistema de cruce de medias que utiliza una media larga de 40 sesiones y otra corta de 10. En tal situación en el cálculo de la primera operación del OS intervienen datos que se remontan 40 días atrás. Por tanto, para evitar el solapamiento de las regiones IS y OS debemos dejar una separación mínima de 40 días entre ambas.

En mi opinión este tipo de validación es apropiado para hacer una evaluación rápida del potencial de una estrategia, pero, en ningún caso, debe utilizarse como método riguroso de evaluación ya que tiene los siguientes inconvenientes:


  • Es demasiado estático, al basarse en una secuencia lineal y acotada en los extremos de los puntos de datos. 
  • La elección del porcentaje IS/OS o punto de corte para entrenamiento y validación puede afectar seriamente a los resultados. Sobre todo cuando ambas regiones caen en marcoépocas distintas.
  • Es relativamente fácil obtener resultados sobreoptimizados cuando se realizan numerosos ensayos sobre la misma secuencia de operaciones.
  • Asignar el mismo peso a los datos muy antiguos y a los más recientes  también puede ser una fuente de error. Esto puede arreglarse añadiendo un coeficiente corrector a la función objetivo que pondere más los periodos recientes del entrenamiento, pero ya estaríamos añadiendo más complejidad y más hiperparámetros.
  • La validación de la región OS se hace en bloque. No se distinguen años o periodos que puedan compararse. 


b) Walk-forward con anclaje.


Muy similar a la validación simple, pero con la diferencia de que permite definir una ventana deslizante de validación a través  de la región del histórico reservada para el OS. Este método está presente en algunas plataformas de trading, como Amibroker, aunque actualmente está en desuso. Su esquema sería:




Tiene algunas ventajas sobre el modelo anterior:


  • Al no realizarse en bloque, podemos ir comparando los resultados obtenidos en cada iteración para cada uno de los cortes de igual tamaño del OS.
  • Existe mayor adaptabilidad al no aplicarse la configuración de entrenamiento a datos muy alejados en el tiempo.
  • Se aprovecha una mayor porción de datos históricos para el entrenamiento.


Sin embargo, todos los inconvenientes mencionados en la validación lineal simple también son aplicables al WF con anclaje.


c) Walk-forward sin anclaje.


Esta es la forma de validación más empleada en el trading de sistemas. La mayoría de las plataformas la incorporan por defecto y permiten automatizar total o parcialmente el proceso de WF. En este tipo de validación tenemos dos ventanas deslizantes: IS y OS. Lo que implica incorporar un hiperparámetro para el tamaño de cada una.  A diferencia del WF con anclaje este método parte de la premisa de que los datos próximos son más relevantes para el entrenamiento del sistema que los antiguos, por lo que estos últimos se eliminan progresivamente en cada iteración.

El esquema de este modelo sería:



El WF tiene algunas ventajas innegables:

  • Se acomoda a la forma de proceder en operativa real: Selección de los parámetros de trabajo en una ventana temporal inmediatamente anterior al momento de la operativa y reoptimizaciones periódicas en intervalos fijos de meses o años.
  • Al seguirse una secuencia cronológica tiene una clara interpretación histórica: Los resultados del OS son fácilmente homologables (salvando deslizamientos y otras ineficiencias) a los de la operativa real.
  • No hay riesgo de contaminación de datos ni sesgo de anticipación (lookahead bias), ya que la serie IS siempre antecede al OS.


Sin embargo muestra algunas desventajas obvias:


  • La principal es que se trata de una evaluación mono-hilo: Solo hay una historia posible; la establecida en la secuencia de datos. No hay forma de trazar escenarios alternativos.
  • Igual que las anteriores, este tipo de validación es tremendamente sensible a los cambios de marcoépoca. Por muy meticuloso y robusto que nos parezca un análisis WF, un cambio repentino en la configuración de los mercados puede arruinar cualquier estrategia. Si la ventana del IS en la que entrenamos la estrategia en cada iteración es muy estrecha este riesgo es mayor. Por ello, en muchos sistemas observamos que el modelo de WF con anclaje acaba funcionando incluso mejor.
  • Por último este modelo se asienta en el supuesto de la gradualidad de los mercados: Los mercados cambian, pero no lo hacen de manera abrupta sino gradual. Esto implica asumir que las configuraciones paramétricas de máximo rendimiento en cada corte del IS también serán las mejores para los OS contiguos. ¡Grave error! Una y otra vez comprobamos que esto no tiene por qué ser así; una configuración paramétrica puede funcionar mal en las regiones contiguas y mucho mejor en otros cortes del OS alejados varios años. 


d) Clustering walk-forward.


Los términos “Clustering WF”, “Matrix WF” y “Constant WF” hacen referencia a un proceso iterativo en el que se realizan numerosos análisis WF variando el tamaño de las ventanas IS y OS para intentar responder a estas dos cuestiones:

  1. Cuál es el periodo idóneo para reoptimizar (en días semanas, meses o años).
  2. Cuál es la relación óptima IS/OS.

También se intentan buscar pruebas adicionales de robustez al comparar  los múltiples resultados WF con diferentes combinaciones paramétricas y configuraciones de las ventanas IS/OS. Adviértase que se trata de un proceso selectivo no exento de riesgos ya que, en la práctica, estamos haciendo una optimización de la optimización. Es decir, buscamos combinaciones paramétricas e hiperparamétricas de máximo rendimiento una vez construida la matriz multidimensional de resultados.

Esta matriz es simplemente un conjunto de optimizaciones WF agrupadas por periodos y %OS diferentes. En la imagen inferior podemos ver los resultados de una validación de este tipo realizada con StrategyQuant:





Y la combinación de tamaño IS/OS sugerida por la aplicación:




Fíjense en la recomendación final:

IS = 1023 días

OS = 114 días

Según SQ esos serían los tamaños de ventana idóneos para optimizar el sistema. Salta a la vista que hemos incurrido en una sobreoptimización por el simple expediente de clasificar los resultados de la estrategia en función de dos hiperparámetros: tamaños del IS y OS. Muy pocos traders profesionales se tomarían en serio una recomendación como esta.

Entonces, ¿para qué sirve el clustering WF? En nuestra opinión es útil como stress-test o prueba adicional de robustez. Si somos capaces de probar que la estrategia funciona adecuadamente con independencia del tamaño de las ventanas de optimización, entonces mejor que mejor.

 

e) Validación cruzada K-fold.

 

Esta técnica de validación consiste en dividir el total de datos en varios subconjuntos de prueba y entrenamiento que  van cambiando a lo largo de las sucesivas k iteraciones. De este modo se aprovecha todo el histórico ya que cada subconjunto de datos se utiliza en el total de las iteraciones al menos una vez para validar y otra para optimizar. Finalizado el proceso iterativo se calculan la precisión y el error, así como el promedio de los K escenarios alternativos de entrenamiento, de los cuales solo uno de ellos sigue la secuencia histórica original.

Vemos el esquema de este método en la versión con anclaje:




Como podemos ver, solo la primera iteración respeta el orden histórico de la serie de datos. En las siguientes se combinan datos de entrenamiento pasados y futuros. Por ello, este modelo no tiene una fácil interpretación histórica y es más útil para analizar los resultados de forma global y evaluar en varios escenarios de entrenamiento. Los segmentos a derecha e izquierda son las zonas de solapamiento a evitar.

Veamos ahora una versión sin anclaje.- Suponiendo 3 años de entrenamiento y 1 de prueba, tendríamos C6x3=20 combinaciones sin repetición. Y los escenarios posibles de entrenamiento para el OS de 2018 serían:




En este modelo cada año del OS tendría 20 escenarios de optimización posibles. Por lo que estaríamos ante un enfoque multiescenario parcial, solo desde el lado del entrenamiento.

A nuestro juicio, las dos principales ventajas de la validación K-fold son:


  • Un análisis multiescenario genera mucha más información sobre cada corte del OS que el procedimiento WF y el resultado combinado de todos los escenarios simulados puede considerarse una muestra más realista que un análisis histórico basado en un único hilo de datos.
  • Los resultados de las evaluaciones no estarán condicionados  por regímenes o  marcoépocas muy diferentes para las regiones IS y OS ya que el conjunto de escenarios posibles contendrá una gama amplia de configuraciones alternativas.

 

Así mismo, podemos señalar las siguientes desventajas:


  •  Algunos críticos no aceptan la evaluación con datos futuros ya que por muchas precauciones que se tomen el sesgo de anticipación siempre planeará sobre este tipo de análisis.
  • A tener ahora dos zonas de posible solapamiento (a derecha e izquierda del OS) resulta más fácil deslizar errores y más complejo automatizar el proceso de validación. El error más común es el leakage o filtración de datos entre IS y OS
  • Al igual que en el WF, solo se simula una serie histórica; la secuencia lineal del OS. Si bien se hace desde las múltiples combinaciones paramétricas obtenidas en cada set de datos de entrenamiento (IS).


 

VALIDACIÓN EN MÚLTIPLES ESCENARIOS


Este tipo de validación, a la que nosotros denominamos enfoque multi-hilo, tiene por objeto simular diferentes escenarios para el OS que darán lugar a un conjunto de curvas del equity con sus respectivos ratios. Con estos escenarios, o recorridos posibles, tratamos de simular el comportamiento de la estrategia en un amplio rango configuraciones de los mercados o de mercados alternativos.

 

a) Validación multimercado.


Se trata de una simulación en el nivel de portfolio. El sistema se diseña y evalúa en uno o varios activos que no formarán parte de la cartera pero que tienen un comportamiento similar al resto en términos de volatilidad y tendencia. Una vez obtenidos los parámetros de trabajo la estrategia se implementa en los demás activos.

Este método puede tener sentido en el contexto de grandes carteras de acciones y ETFs. Sin embargo su margen de aplicabilidad es muy limitado; sirve para activos que pertenecen al mismo grupo o sector. Pero cuando el nivel de correlación es muy alto se corre un alto riesgo de acabar con un portfolio igualmente sobreoptimizado.

Su esquema seria:




El método multimercado aporta estas dos principales ventajas:

  • Permite aprovechar prácticamente todo el histórico. Aunque normalmente se reserva el último tramo para hacer un backtest completo en el nivel de portfolio.
  • En grandes cestas de activos el tamaño combinado de los históricos puede ser lo suficientemente grande como para generar un volumen muy alto de operaciones, lo que aportaría mayor robustez a la estrategia.


Pero, en nuestra opinión, las desventajas pesan mucho más que las posibles ventajas:


  • En primer lugar porque existe una alta correlación entre los activos que pertenecen al mismo grupo o sector. Entrenando la estrategia en unos pocos y reservando el resto para la validación, no tenemos un verdadero OS sino un grupo de secuencias de dados demasiado parecidas entre sí. 
  • Cuando los mercados no pertenecen al mismo grupo o sector la correlación es menor, incluso pueden estar completamente descorrelacionados. Pero, en tal caso, las series de entrenamiento y validación serán tan distintas que resultará imposible emplearlas en un proceso de validación.


Así que nos movemos entre dos extremos: Activos muy similares no sirven y muy diferentes tampoco. Este es el verdadero Talón de Aquiles y lo que hace que este método tenga una aplicabilidad limitada.


b) Permutaciones paramétricas.


El objetivo de este método es generar variabilidad mediante la combinación aleatoria de un rango específico de valores paramétricos. Al realizar una optimización cada juego de valores dará lugar a una curva de resultados diferente, simulando en conjunto, un elevado número de hilos o escenarios hipotéticos que, a efectos de evaluación, consideramos igualmente probables. Adviértase que este método es, en realidad, una simulación de Montecarlo realizada desde los parámetros. No sirve para decirnos cuál es la curva más probable ni la mejor combinación de parámetros para el siguiente período, pero nos da una idea bastante clara de lo que nos cabe esperar en el futuro operando una determinada estrategia.

En nuestro artículo “Sobreoptimización y ruptura de sistemas” (Mayo-2016) propusimos este enfoque multi-hilo como método para inferir el retorno esperado de una estrategia y también para determinar cuándo se ha roto un sistema.  Sus orígenes se remontan al trabajo de Dave Walton:  “Know Your System! – Turning Data Mining from Bias to Benefit through System Parameter Permutation” (NAAIM, Feb. 2014), posteriormente muy comentado en medios especializados en trading cuantitativo.

Walton propuso dos procedimientos: SPP (System Parameter Permutation) y SPR (System Parameter Randomiztion). El primero explora todas las combinaciones paramétricas dentro de un rango de valores máximos y mínimos especificados por el desarrollador. Es viable cuando el número total de permutaciones no es muy elevado. El segundo está más indicado para sistemas con muchos parámetros e históricos muy largos en los que una optimización intensiva requiere un tiempo prohibitivo. En tales casos basta con extraer una muestra aleatoria estadísticamente representativa del conjunto de combinaciones posibles.    

Las dos  premisas en que se asienta este método son:


I) Al optimizar un sistema las combinaciones paramétricas de máximo rendimiento representan soluciones de caso único a una configuración específica de los mercados. Su valor predictivo es escaso o nulo debido a que la dinámica de los mercados y su naturaleza pseudoaleatoria hace poco probable que la combinación específica que ha funcionado mejor en el período T siga siendo idónea en el periodo T+1 


II) La variabilidad generada por el conjunto de las simulaciones es suficiente para obtener una distribución de resultados para cada métrica de interés que describa de forma realista el comportamiento futuro del sistema. 

 

Las permutaciones paramétricas son similares a las técnicas de modelado estocástico que se utilizan en otros ámbitos de la economía. En un modelo estocástico se estudia el efecto de variables aleatorias sobre las series temporales e interesan las características de una distribución de resultados que describen el comportamiento del modelo: probabilidades, medias, varianzas, covarianzas, etc. En el caso de los sistemas de trading nos interesa explorar la distribución de los principales estimadores de retorno y riesgo ante las distintas configuraciones de los mercados que puedan afectar al sistema. Ahora bien, ¿las permutaciones paramétricas simulan adecuadamente estos cambios? 

Una respuesta afirmativa equivale a mantener que para cada movimiento de precios siempre hay una combinación paramétrica de máximo rendimiento. Por lo que, en cierto modo, permutar los parámetros sobre una serie histórica equivale a evaluar una única combinación paramétrica sobre un conjunto de series sintéticas derivadas de la serie histórica. Y, efectivamente, el resultado es muy similar. La única diferencia es que en los sistemas basados en reglas hay un porcentaje del retorno debido a la calidad de la lógica y otro debido a la elección de los parámetros. Este modelo solo sirve para generar una distribución de resultados desde las combinaciones paramétricas pero no desde las reglas y sus posibles variantes. Con todo, en un entorno de programación genética no sería difícil extender el procedimiento  tanto al repositorio de reglas probadas durante el proceso de construcción como a las permutaciones paramétricas.  

El procedimiento SPP tiene este aspecto cuando trazamos sobre un gráfico el conjunto de curvas al que dan lugar las distintas combinaciones paramétrica:




Nos interesan sobre todo los histogramas de la distribución del net profit, PnL y DDm, así como el de la función objetivo o ratio diana (SQN, Sortino, Calmar, etc.) empleado para optimizar. Walton propone considerar como referencia la mediana de la distribución, de tal modo que podemos acreditar la validez del sistema cuando descartamos la hipótesis nula (H0) en términos blandos:

H0 =  El sistema es incapaz de generar retorno (P. Ej. Me BMO ≤ 0, Me Sharpe ≤  0, etc.) 

O, en términos duros:

H0 = El sistema es incapaz de generar alpha. Es decir una rentabilidad superior a la del mercado ajustada por riesgo.

Nuevamente la plataforma StrategyQuant implementa una versión bastante completa de este procedimiento de validación multi-hilo:




Tanto la tabla de criterios como los gráficos de distribución se pueden personalizar para que muestren los ratios que consideremos más relevantes. 


En resumen, el método de las permutaciones paramétricas (SPP) representa una forma muy potente de realizar una validación multi-hilo, pero no está exento de algunas limitaciones, como han señalado M. Harris (véase: “Limitations of Quantitative Claims About Trading Strategy Evaluation”, 2016) y otros autores. Las principales son:

1) El modelo requiere la determinación de unos rangos paramétricos previos al proceso de validación. Estos rangos de valores máximos, mínimos y de intervalo son establecidos por el desarrollador durante el proceso de construcción de la estrategia. El problema es que la elección de unas horquillas específicas de valores afecta en gran medida a los resultados, por lo que puede aducirse que el proceso está contaminado por el sesgo de selección (selection bias). En nuestra opinión esto no tiene por qué ser un problema, siempre y cuando la elección de los rangos no sea arbitraria sino que derive de la determinación de las zonas robustas siguiendo un protocolo riguroso de evaluación IS.

2) No es un método de validación universal. Solo es aplicable a los sistemas que incluyen parámetros en número suficiente como para garantizar una elevada diversidad de escenarios. Cuando no hay parámetros o el número de combinaciones es muy pequeño, este método es incapaz de emular desde los parámetros la variabilidad de los mercados. En tal caso es preferible recurrir a series sintéticas de precios para realizar análisis multi-hilo.

3) Dado que todos los tests están condicionados por la misma secuencia de datos históricos no hay garantía de que las permutaciones paramétricas repliquen cambios bruscos en la estructura de los mercados. De hecho los cambios de marcoépoca nos son solo un problema elección de parámetros sino que pueden invalidar por completo la lógica de base en que se asienta una estrategia.

4) El modelo SPP sirve para decirnos que R/R nos cabe esperar en promedio de un sistema, pero no tiene una fácil interpretación histórica (por ej. como una secuencia OS obtenida en un WF) ni nos dice qué paramentos de trabajo son apropiados para comenzar a operar el sistema. Esto último tenemos que determinarlo mediante procedimientos adicionales.

 


c) Series sintéticas.

La importancia de las series sintéticas radica en que permiten generar escenarios hipotéticos y simular condiciones de la operativa para las que no existen series históricas o estas son de una longitud inapropiada. Como ya hemos visto, los procesos de diseño y validación de estrategias consumen muchísimos datos, más aún cuando estas se construyen de manera automatizada. Precisamente el papel de los datos sintéticos en el machine learning cobra especial importancia debido a que estos algoritmos deben ser entrenados y validados con una ingente cantidad de datos que muchas veces desborda la disponibilidad de datos reales.

El uso de datos sintéticos en el ámbito del trading cuantitativo tiene las siguientes aplicaciones:


  • Mejorar los backtest tradicionales al romper la limitación de evaluar las estrategias en un único conjunto de datos históricos para cada activo.
  • Generar estrategia más robustas, al construirlas y validarlas en un amplio rango de escenarios alternativos que no están constreñidos a la secuencia lineal de datos históricos.
  • Simular situaciones infrecuentes y riesgos ocultos de la operativa (eventos de “cisne negro”)  que muchas veces no están presentes en los datos históricos debido al tamaño de las series, pero cuya probabilidad de ocurrencia no es nula.
  • Evitar el riesgo de sobreoptimización al contar con conjuntos arbitrariamente grandes de datos para diseñar, entrenar y validar la estrategia.


No  es fácil obtener series sintéticas de calidad ya que es necesario replicar cuidadosamente las propiedades de los datos originales. En las series temporales de datos financieros encontramos propiedades empíricas de cuatro tipos:

  • Propiedades estadísticas derivadas de la distribución de precios: Diversos estudios muestran  que los retornos en la mayoría de los activos no están normalmente distribuidos sin que presentan curtosis, ligera asimetría y largas colas en la distribución. 
  • Dependencias seriales: Las series de precios no presentan dependencias significativas a largo plazo,  si bien en escalas intradiarias encontramos estructuras temporalmente persistentes en determinadas franjas horarias. También las amplitudes de los rangos de máximos y mínimos presentan estructuras persistentes debido a los incrementos y decrementos de volumen a lo largo de la sesión. Otro tipo de dependencia bien documentada son los procesos cíclicos de expansión y contracción de volatilidad.
  • Efectos estacionales: Se han documentado en diferentes activos y compresiones temporales. Desde efectos de calendario que pueden prolongarse durante semanas o meses hasta movimientos de gran amplitud ligados a los grandes ciclos de la economía.
  • Correlación entre activos: Para los portfolios de acciones y estrategias multimercado hay que construir series sintéticas que tengan en cuenta la correlación entre los distintos activos. Los movimientos de los mercados suelen estar sincronizados y este efecto debe mantenerse en las series sintéticas. Es decir, la matriz de correlaciones de los datos sintéticos y reales debe ser similar, con independencia de que cada serie en particular experimente pequeños cabios aleatorios.
  • Existen muchos métodos para generar datos sintéticos, cada uno con sus ventajas y desventajas. 


En general podemos agruparlos en estas dos categorías:


a) Datos completamente sintéticos.- Aquellos que no contienen ningún dato original, sino que se generan a partir de las propiedades estadísticas de la distribución o construyendo un modelo computacional basado en agentes (Agent-based Modelling). En esta categoría también entran todas las variantes del método ecuaciones diferenciales estocásticas (EDE), las obtenidas con los métodos de la familia ARCH-GARCH y las más sofisticadas técnicas de análisis multivariado de alta dimensionalidad (o análisis de componentes principales PCA).

b) Datos parcialmente sintéticos.-  Aquellos que se obtienen modificando la serie original; bien aleatoriazando el lugar que ocupan los datos en la cadena (técnicas de remuestreo o bootstrapping), bien alterando cada uno de sus elementos individuales (por ej. cierres, máximos y mínimos de barra). Esta última alternativa es la que nos parece más prometedora y en la que nos centraremos en las siguientes líneas.

 

El método de expansión y contracción de barras (ECB) consiste en generar pequeños cambios aleatorios en los valores máximos, mínimos y de cierre, estableciendo un máximo porcentaje de cambio que está determinado por la volatilidad inmediata. La volatilidad se desglosa en: Up Volatility (UV) (desde el cierre de la barra anterior al máximo de la siguiente) y Down Volatility (DV)” (desde el cierre de la barra anterior al mínimo de la siguiente) y se calculan los valores promedio para n barras.

Supongamos que en una barra dada del futuro del SP500 el UV =7 ticks y el DV = 5 ticks. Entonces el valor para el máximo sintético es un número aleatorio entre -7 y +7 y para el mínimo sintético entre -5,+5. Para los cierres también podemos aplicar el mismo procedimiento a partir de la volatilidad entre cierres consecutivos. Gráficamente una superposición de escenarios quedaría del siguiente modo:

 



 El modelo admite dos variantes; con anclaje y sin anclaje. En el primer caso las transformaciones son independientes y afectan únicamente a cada barra y, en el segundo, los cambios son acumulativos. La primera técnica es más fiel al escenario real, pero resulta mucho más estática y solo es apropiada para realizar pruebas de stress-test. Por el contrario, la variante sin anclaje crea una amplia gama de escenarios alternativos. Sin embargo, en históricos muy largos, las divergencias con la serie original pueden ser excesivas. Pero esto tiene fácil solución reseteando la deriva de precios cada cierto tiempo.  

En la imagen inferior podemos ver la simulación sin anclaje de un conjunto de series basadas en el mismo histórico:




Para añadir más diversidad se puede completar el modelo ECB con un mecanismo adicional que denominamos translocación de barras. Consiste en intercambiar aleatoriamente las barras contiguas situadas en un clúster de tamaño variable en función del time frame elegido. Por ejemplo, para un TF = 15 min. el tamaño idóneo sería de 4 barras. Para TFs. Superiores a 1 hora no utilizamos este mecanismo, debido a que queremos garantizar el mantenimiento de las pautas horarias de intradía.



Otra cuestión importante que actualmente estoy investigando con la inestimable ayuda de mi amigo e informático José Luis Gil, es la implementación práctica de las series sintéticas en una plataforma de trading. De nada nos sirve disponer de un buen modelo teórico si, para evaluarlo, necesitamos construir en una hoja de cálculo miles de series sintéticas de un activo y luego importarlas manualmente la plataforma. Esto haría enormemente tedioso o directamente inviable el proceso de validación multi-hilo.

 En lugar de ello, estamos trabajando en la generación dinámica de las series sintéticas a medida que se realiza en la plataforma el backtest de un sistema. Cada iteración da lugar a un backtest diferente en el que la estrategia es evaluada en series distintas que se van construyendo barra a barra, a medida que avanza el proceso. El resultado final es equivalente a evaluar una misma estrategia en una cesta de cientos o miles de series alternativas.

 En otras palabras, el proceso equivale a hacer una simulación de Montecarlo desde los valores de los precios, en lugar de hacerla desde las combinaciones paramétricas (método SPP) o, de manera mucho más convencional, desde una secuencia dada de operaciones (método mono-hilo). En próximos artículos quizá describamos con más detalle este nuevo procedimiento.

 


© Tradingsys.org, 2018.

Andrés A. García.



 

Añadir comentario

 
Modificado por AndyG - 1 Jul 2019
 
 

Secciones

 
 

Entradas recientes

 
 

Enlaces