El flujo de datos en tiempo real constituye la materia prima sobre la que trabajan casi todos los sistemas de trading. La calidad de las series empleadas, el tipo de compresión, el modo en que se realizan los ajustes entre vencimientos o los algoritmos para corregir errores y rellenar huecos, son factores decisivos que contribuirán al éxito de nuestra operativa.
Urge, por tanto, una reflexión cuidadosa sobre el "alimento" que estamos suministrando a nuestras "máquinas de hacer fortuna".
Disponer de una completa base de cotizaciones resultará esencial para construir todo tipo de estrategias y calibrar el rendimiento de los sistemas. Algunos proveedores de datos proporcionan históricos de hasta 20 años en algunos mercados. Sin embargo, los datos intradiarios completos (los llamados tick data feed) escasean y a menudo están plagados de errores.
Por otro lado, cuando se trabaja con futuros, se plantea el problema adicional de conocer el método que el proveedor aplica para ensamblar los distintos vencimientos en series continuas que resulten congruentes y eviten, en la medida de lo posible, insidiosos cortes y/o distorsiones. Desde luego, no se trata de un problema menor y las soluciones disponibles nunca resultan del agrado de todos. Yo diría más, a veces son claramente incompatibles con el tipo de operativa elegida. Veamos algunas de ellas:
I.- Ensamblaje en fecha fija: Para el salto entre vencimientos se elige una fecha que normalmente oscila dependiendo de las características de cada producto. Así, en los futuros sobre índices, suele ser de una a siete sesiones. En productos agrícolas y algunas commodities se suele elegir la última sesión previa al mes de vencimiento. No existe una regla fija y el momento de "rolar" queda, de algún modo, al arbitrio y "buen hacer" del distribuidor de datos.
Ventajas: No hay distorsión alguna en los datos, ya que sobre precios y volúmenes no se aplica ningún algoritmo corrector.
Desventajas: El gráfico suele mostrar las típicas e insidiosas discontinuidades (más o menos acusadas) en los puntos de corte.
A quien beneficia: En general, a los sistemas intradiarios puros.
A quien perjudica: A toda estrategia de tipo continuo, particularmente a las basadas en medias o indicadores sobre medias.
II.- Volumen entre vencimientos: Una técnica, también habitual y sencilla, consiste en establecer como "punto de corte" el día en que el volumen o el open interest del siguiente vencimiento son superiores a los del vencimiento actual. Puede haber pequeñas fluctuaciones en cuanto a fechas, pero normalmente el patrón es bastante estable y predecible.
Las ventajas y desventajas son las mismas que las del caso anterior, si bien el corte resultante será algo más "fino" entre vencimientos.
Esta, es en mi modesta opinión, la mejor alternativa cuando se pretende disponer de un histórico que refleje fielmente la horquilla de precios y los volúmenes barra a barra.
III.- Ensamblaje más split: También es una solución frecuente empalmar los segmentos de cada vencimiento mediante una ajuste de precios por diferencias. Por ejemplo, si en la fecha establecida para "rolar", los precios del vencimiento actual están en 900$ y la cotización del siguiente en 905$, se incrementarán todos los datos anteriores en 5$. Pero cuando este proceso se repite decenas de veces, el efecto acumulativo acaba produciendo distorsiones considerables.
El resultado es un gráfico sin cortes pero que, por desgracia, habrá perdido, entre otras cosas, los valores exactos de todos sus picos y valles. Los puntos de vuelta ya no estarán donde deberían y, al hacer backtesting, muchas estrategias a "corto rabioso" ofrecerán resultados inconsistentes o con escaso valor predictivo.
A quien beneficia: Sin duda, a la mayoría de los sistemas continuos a largo plazo basados en medias o variantes sobre la regresión lineal. Tampoco hay problema en el empleo de indicadores como el RSI, el ADO, el MACD y el Estocástico. Pero ¡ojo!, a cambio de que no utilicemos también indicadores de volumen como parámetro crítico.
A quien perjudica: A casi todos los sistemas intradiarios puros. En particular, a los que emplean como filtro coeficientes del ATR, porcentajes, volúmenes o pivot points.
IV.- Indexación de series: Se sigue la misma pauta que para la construcción de índices. En lugar de puntos, el ajuste se realiza hacia atrás calculando el porcentaje diferencial entre el antiguo y nuevo vencimiento. El uso de series indexadas resulta muy útil para comparar la revalorización en el tiempo entre mercados y productos distintos.
Sin embargo, como en los casos anteriores, presenta el problema de que los valores de los precios máximos y mínimos serán ligeramente diferentes que los de las series originales de cada vencimiento. Con todo, al mantenerse los porcentajes relativos entre barras, las estadísticas obtenidas en pruebas de backtesting serán mucho más precisas.
Un buen procedimiento perteneciente a esta categoría, Ratio Adjusted Data (RAD), fue desarrollado por Thomas Stridsman ("Data pros and cons," Futures, Junio, 1998). La fórmula original es:
NPOC = OPOC * [(PNC - OPOC) / PNC +1]
Donde:
(Conservo las siglas en inglés)
A quien beneficia: Prácticamente a todos los sistemas tendenciales y tipo swing. Para operativa intradiaria pura, mantengo algunas reservas.
V.- Contrato perpetuo (forward series): Se trata de crear series artificiales interpolando los precios 30 días hacia delante en toda la secuencia de vencimientos. El problema de estas series, en opinión de Kaufman (New Trading Systems and Methods, 4ª ed., Wiley, 2005, pp. 855-856), es no preservar la volatilidad de los contratos originales, mostrando un aplanamiento excesivo que, al realizar pruebas de backtesting, conduce a niveles de riesgo algo menores que los de las series ajustadas.
De todas formas, no suele ser un recurso muy extendido entre los distribuidores de datos, por lo que no nos detendremos más con esta alternativa.
Otra práctica no muy frecuente, pero que puede representar una buena opción cuando no se dispone de un histórico suficientemente largo o se quiere someter el sistema a un test aleatorio que replique las características de un determinado producto, es construir series sintéticas de datos mediante procesos estadísticos basados en distribuciones normalizadas de los movimientos de precios (v.g.: Expert Trading Systems, de John R Wolberg) o mediante un sencillo proceso replicativo conocido como data scrambling (que popularizó T.S. Chande en su libro Beyond Technical Análisis, Wiley, 2001, pp. 343-354).
Me gusta particularmente este último método, ya que toma como referente una muestra de longitud variable del mercado a emular, procediendo a una "randomización en bloque" de las líneas que contienen los valores de apertura, máximo, mínimo y cierre de cada barra. Si es preciso, también se puede incluir el volumen (aunque, lógicamente existen condicionantes y pautas horarias que son imposibles de replicar).
Una versión mejorada de este procedimiento, que emplea coeficientes de cambio en lugar de los datos en bruto, puede encontrarse en el estupendo artículo de Mike Brayant (el creador de Market System Analyzer) titulado: "Create Your Own Price Data: Creating and Using Synthetic Price Data", (Breakout Bulletin, diciembre, 2005). En su website, también está disponible una hoja Excel que nos permitirá contruir y jugar a placer con series sintéticas.
Una última aclaración: Visual Chart no permite importar (al menos hasta la fecha) series de datos para visualizarlas en el graficador. Sin embargo, con otras plataformas como TradeStation, Wealth-Lab o Ninja Trader, etc. no tendréis ningún problema, respetando siempre, claro está, los formatos correspondientes.
Andrés A. García.
© Tradingsys.org, 2007