Como ya hemos indicado en artículos anteriores, el riesgo de sobreoptimización crece en proporción directa al número de parámetros e inversa al tamaño de la base de datos empleada en el backtesting. De este hecho, algunos desarrolladores avispados han sacado la absurda conclusión de que es preferible “esconder” al usuario ciertas variables que, en muchos casos, son auténticos parámetros ocultos previamente optimizados.
Algunos sistemas comerciales de cierto prestigio basan buena parte de sus “encantos” en ofrecer al usuario final uno o dos parámetros optimizables. Sin embargo, un rápido análisis de sus reglas (en los pocos casos en que, por desgracia, esto es posible) pone de manifiesto la existencia de numerosos valores elegidos ad hoc, sin ninguna justificación, y que o han sido optimizados previamente (¿fraude manifiesto?) o su elección resulta cuando menos caprichosa.
Supongamos un sistema tendencial simple basado en la típica ruptura de bandas de máximos y mínimos consecutivos (por ejemplo, los populares Donchian´s channels). En él debería aparecer, como mínimo, la media empleada (parámetro 1). Además, observamos que utiliza como trigger de posicionamiento una pequeña fracción (variable 1) del indicador ATR (variable 2) y como estrategia de gestión del riesgo un 1% (variable 3) por contrato del equity curve (capital inicial + beneficios). En este caso, queda claro que, cuando menos, el usuario debería disponer de la posibilidad de optimizar el parámetro de la media y las otras tres variables. Sin embargo, es frecuente encontrar valores fijos para el trigger y riesgo en numerosos sistemas. Nuestra pregunta es: ¿Obedece este proceder a alguna razón fundamental o se trata de la moda minimalista que sin ningún rigor parece imponerse?
Para contestar a esta pregunta merece la pena que nos detengamos a considerar cinco factores que, en nuestra opinión, justifican la inclusión de parámetros en un sistema:
Cuando se trata de parámetros específicos de los indicadores empleados.
Cuando las órdenes de entrada dependen de un trigger basado en un porcentaje de máximos o mínimos sobre las barras anteriores o en un determinado coeficiente del ATR que se suma o se resta de la última barra.
Cuando el sistema cierra posiciones en base a una cantidad fija (o porcentaje) establecida por el usuario o a un valor dependiente de algún indicador.
Cuando se desea establecer valores como el numero de contratos por operación, el riesgo máximo o el capital inicial.
Cuando se permite controlar la franja temporal intradiaria óptima en que operará el sistema.
En todos estos casos resulta necesario el empleo de parámetros. Escamoteárselos al usuario restará siempre eficacia y versatilidad al sistema.
Por otro lado, solo nos parece correcto simplificar el número de parámetros en las dos siguientes situaciones:
Cuando existe una clara relación de dependencia entre dos variables y ésta aumenta o disminuye de manera lineal durante el proceso de optimización.
Cuando el rango de valores de un parámetro no afecta de manera significativa al histórico de resaltados del mercado o conjunto de mercados en el que está prevista su aplicación.
En todos los demás casos, conviene dejar al arbitrio del usuario la conveniencia o no de optimizar cualquier variable.
Otra cosa de mayor provecho es que el desarrollador, en base a sus propios estudios, ofrezca información sobre el rango de valores paramétricos que considera adecuados para diferentes mercados y configuraciones temporales. Además, claro está, de proporcionar información estadística veraz, suficiente y precisa sobre el rendimiento potencial de dicho sistema.
© Tradingsys.org, 2006.