Hoy, nos adentraremos en el misterioso mundo de los backtests y desentrañaremos los enigmas detrás de los resultados cambiantes .
¿Por qué, a veces, parece que estamos navegando en aguas inexploradas cuando realizamos backtests con el mismo código? 🤔
Los Misterios de los Backtests: 📈🧐
Para los traders y analistas técnicos como tú, los backtests son como un faro en la tormenta, una herramienta invaluable que te permite evaluar estrategias de inversión antes de arriesgar un solo céntimo.
Sin embargo, puede resultar desconcertante cuando los resultados de un backtest difieren de otro trader cuando el código del sistema es exactamente el mismo.
¿Cómo es posible que los resultados de los backtests puedan variar incluso cuando utilizamos el mismo código?
La respuesta a esta pregunta es más compleja de lo que parece y se debe a una serie de factores.
1.- La Realidad de los Datos Históricos: 📊📅
El primer secreto y el más común detrás de este enigma radica en los datos históricos que utilizas para realizar los backtests.
No todos tenemos la misma base de datos (ni los mismos componentes). Solamente, con que un componente de una watchlist sea diferente, el resultado global de nuestro backtest puede desviarse bastante.
Además, incluso aún teniendo los mismos componentes en la watchlist, los datos históricos de estos también pueden diferir, ya sea porque no estamos usando el mismo proveedor de datos o porque los datos pueden estar o no ajustados por dividendos y splits.
Hacer un backtest teniendo en cuenta los dividendos o no supone una diferencia de 2 o 3 puntos porcentuales en el CAR. Por no decir, si uno está haciendo el backtest con deslistadas y el otro no. Ya sabes que nosotros siempre hacemos backtests con una Base de Datos que tiene en cuenta los constituyentes y las deslistadas del SP500 y del NDX100.
Otra variable es si rellenas los huecos de las fechas donde no tienes cotizaciones. Esto lo consigues con el Pad and align. Amibroker, si encuentra una cotización vacía te la rellena con el valor anterior.
La diferencia entre estas opciones dará lugar, sin duda, a resultados bastante diferentes.
Es más, es posible que, si tus datos se ajustan por dividendo, obtengas resultados diferentes a lo largo del tiempo. Es decir, que el resultado del backtest que hagas hoy será diferente al resultado del backtest si lo haces en 2 meses, aunque selecciones las mismas fechas.
Puedes ver porqué en este artículo
2.- La Importancia de los settings: 🛠️⚙️
Un aspecto esencial de un backtest efectivo es la capacidad de ajustar los parámetros de la estrategia.
Cambiar incluso un solo valor puede tener un impacto significativo en los resultados. Por lo tanto, es fundamental entender cómo los ajustes pueden influir en los cambios en los resultados de los backtests.
Si una fórmula utiliza funciones Param() cuyos valores pueden modificarse en la ventana de parámetros, esto puede influir en los resultados. Además, ten en cuenta que los parámetros en la ventana de análisis pueden compartirse entre fórmulas, lo que agrega un elemento de sorpresa.
3.- El Código AFL: Pequeños cambios, grandes efectos 💻📊
Un punto crucial que no podemos pasar por alto es el código AFL (AmiBroker Formula Language).
Este lenguaje de programación se utiliza para escribir las estrategias de trading y los indicadores en AmiBroker.
Quizás hemos extraído las reglas del sistema de un libro o de un artículo y lo hemos programado. Es posible que no tengamos exactamente el mismo código y por lo tanto, el sistema haga cosas diferentes.
Piensa que cada cambio en el código puede tener un impacto significativo en los resultados del backtest y aunque pensemos que tenemos el mismo código, es muy posible que hayamos hecho alguna modificación y realmente no tengamos el mismo script.
Si el código incluye un Include, lo más normal es que no tengamos el mismo include en nuestro disco duro y, por lo tanto, el resultado del backtest no será igual.
4.- La fórmula que mira hacia atrás: 🔄📉
Un factor interesante es cuando una fórmula utiliza sus propios resultados previos para generar nuevos resultados. Esto crea un ciclo en el que los cambios en los resultados anteriores afectan a los datos de entrada y, por lo tanto, a los resultados subsiguientes.
Otra posibilidad son las variables estáticas si las utilizas sin haberlas reseteado antes.
5. Elementos de azar: 🎲🤹♂️
Algunas fórmulas dependen de generadores de números aleatorios, como Random o mtRandom. Esto introduce una dosis de azar en los resultados, lo que puede llevar a variaciones.
En resumen, los backtests son como un viaje por un mar en constante cambio, y estos factores interactúan para crear resultados variables.
Con esta comprensión, los navegantes financieros pueden ajustar sus velas y navegar con mayor destreza en busca del tesoro del éxito financiero. 🌊🗺️
Espero que este artículo te haya resultado útil e interesante.
Si deseas obtener más información sobre backtests y estrategias de inversión, no dudes en visitar este otro artículo.
0 comentarios