Sistemas que funcionan bien en backtest

 
Debate sobre Sistemas que Funcionan en Backtest pero Fallan en Cuenta Real: ¿Por Qué?

Hola a todos,

Quería iniciar un debate sobre los sistemas que parecen funcionar de maravilla en backtest, pero que no tienen el mismo rendimiento en una cuenta real. Estoy hablando de situaciones en las que no hay sobreoptimización de por medio, sino sistemas que simplemente muestran una diferencia entre los resultados en vivo y en backtest


Me gustaría plantear algunas preguntas para abrir la discusión:

1. ¿Qué tipo de sistemas son propensos a este fenómeno? ¿Existen ciertos tipos de estrategias en los que esto se observa más frecuentemente?
   
2. ¿Cuál creéis que es la razón detrás de esta discrepancia entre los resultados del backtest y la realidad de una cuenta en vivo? ¿Podría ser una falta de precisión en los backtests? ¿La latencia en una cuenta en vivo? ¿Las comisiones y costos asociados? O hay otros factores que podríamos estar pasando por alto?

Creo que aislando los motivos y aportando alguna experiencia, todos podemos aprender y evitar caer en el error de crear un EA que no funcione en vivo.

Recordad que en el foro no se permite hablar de productos ni publicidad.

Muchas gracias

Espero vuestras opiniones y experiencias sobre este tema. ¡Gracias por participar en esta conversación!

 

Hola Enrique!,

este es uno de los temas más importantes cuando se opera con AE, y al igual que tú tengo dudas al respecto de cómo de fiable es un BT. Mi experiencia es que si el AE no está sobreoptimizado, y el BT sale rentable por lo general el AE va a ser rentable. Un cosa muy importante es hacer los BT con el histórico que te proporcione tu Broker...no históricos obtenidos de Dukascopy o similar.

Todo lo que comentas es cierto, los BT no son precisos del todo porque el Broker no proporciona la totalidad del histórico sin huecos, la latencia y las comisiones del Broker pueden ser decisivas si operas estrategias tipo scalping. Un BT que utiliza estrategias donde cada pip importa, para mí no es demasiado fiable. Me refiero a estrategias que funcionan en temporalidades muy bajas, M1, M5....y con tomas de beneficios o paradas de pérdidas muy bajas. Estas temporalidades no son para nosotros, son para las empresas que emplean millones de dólares en desarrollar estrategias de alta frecuencia y que cuentan con comisiones y latencias muchísimo más competitivas que las nuestras.

En resumen, para mí un BT es fiable cuando;

- Tu broker está regulado y te puedes fiar de él (y tiene comisiones y latencia razonables)

- El BT se ha realizado con los datos de tu Broker

- Utiliza temporalidades al menos de M15

- Ha sido rentable durante varios años. Todos podemos hacer un AE rentable 1 año, lo difícil es hacer un AE rentable 10 años con todo lo que cambia el mercado...jajaja

- No está sobreoptimizado (y esta es la pregunta del millón...¿cómo se sabe esto? :P)


Y pese a todas las precuaciones y cautelas algún AE te va a salir rana. Y en este caso hay que evitar la  Falacia de costo irrecuperable:

La falacia del costo irrecuperable es nuestra tendencia a continuar dedicándonos a algo en lo que hemos invertido dinero, esfuerzo o tiempo, incluso si los costos actuales superan los beneficios que obtendremos.

 
Enrique Enguix:
Debate sobre Sistemas que Funcionan en Backtest pero Fallan en Cuenta Real: ¿Por Qué?

Hola a todos,

Quería iniciar un debate sobre los sistemas que parecen funcionar de maravilla en backtest, pero que no tienen el mismo rendimiento en una cuenta real. Estoy hablando de situaciones en las que no hay sobreoptimización de por medio, sino sistemas que simplemente muestran una diferencia entre los resultados en vivo y en backtest


Me gustaría plantear algunas preguntas para abrir la discusión:

1. ¿Qué tipo de sistemas son propensos a este fenómeno? ¿Existen ciertos tipos de estrategias en los que esto se observa más frecuentemente?
   
2. ¿Cuál creéis que es la razón detrás de esta discrepancia entre los resultados del backtest y la realidad de una cuenta en vivo? ¿Podría ser una falta de precisión en los backtests? ¿La latencia en una cuenta en vivo? ¿Las comisiones y costos asociados? O hay otros factores que podríamos estar pasando por alto?

Creo que aislando los motivos y aportando alguna experiencia, todos podemos aprender y evitar caer en el error de crear un EA que no funcione en vivo.

Recordad que en el foro no se permite hablar de productos ni publicidad.

Muchas gracias

Espero vuestras opiniones y experiencias sobre este tema. ¡Gracias por participar en esta conversación!

Hola estimado Enrique:

Algunas cosas que he comprobado cuidadosamente sobre lo que comentas son las siguientes,

El backtest en MT4 no me daba resultados fieles porque el Probador de Estrategias no tiene la opción "Cada tick a base de ticks reales" como en MT5. 

Los sistemas de trading basados en alta frecuencia eran totalmente propensos a fallar. Probablemente habría que hacer ajustes muy precisos para que funcionen.

Otros expertos que probé, renté y compré basados en sistemas de "Swing trading" están programados de forma seria y profesional, responden exactamente igual en cuenta real o en demo. Sistemas que pueden tardar días en tomar una operación y en cerrarla, con tamaños de lote pequeños, objetivos y riesgo amplio. Con un sistema de entradas y gestión de riesgo muy bien medido, lo que puede verse en el modo gráfico del probador.

De cualquier manera, las condiciones del mercado son muy cambiantes y aunque el bot haya tenido pocas pérdidas en los últimos 5 años, puede tener una racha de pérdidas mayor ahora. Llevo pocos meses operando con EA por lo que no puedo decir mucho más. Las últimas semanas dos de mis bots en cuenta real han dado ganancia aunque esto no significa nada de momento.

Saludos y estoy ansioso por leer más opiniones y experiencias sobre este tema.

 

Buenas Enrique, creo que los compañeros José Ramón y Javier te han dado ya bastantes claves ya, te añado poco más sobre mi experiencia.

Siempre intento que los resultados de mis backtest tengan un comportamiento similar tanto en mt4 como en mt5 con los históricos de mi broker, además, intento que con datos externos como Dukascopy sea también acordes, aunque como señala José Ramón, siempre debes guiarte mejor por los datos de tu bróker.


Hay muchas situaciones que ocurren en trading en vivo que no se pueden programar en un BT, por ejemplo, si creas un EA que detecte movimientos fuertes como el que produce una noticia importante, pero le colocas un filtro de spread para que no abra un posición si el spread es superior a X puntos, en un BT, aunque pongas spread variable no reflejará en ese momento nada "anormal" o similar al spread que en real puede haber ahí. En condiciones reales el spread ahí se disparará, y esto hará que o bien no abra ningún trade tu EA (en el BT seguro si lo hará), o bien el beneficio/pérdida sea muy distinto al BT.


Luego como comenta Javier, las estrategias que buscan movimientos rápidos (scalping por ejemplo) se ven muy afectadas por el tiempo de ejecución, en tipo de ejecución de tu bróker (si es ECN o STP, etc), el spread de ese momento, etc.


Las estrategias que utilizan timeframe más largos, H1 en adelante y objetivos de TP y SL más amplios son menos propensos a mostrar resultados distintos en real y BT. Por eso, siempre es bueno antes de usar un EA, ponerlo en una cuenta real con el menor lote posible, y tras un tiempo prudente, comparar un BT de ese periodo con lo que ocurrió en la cuenta en real.


Saludos.

Razón de la queja: