Algoritmo 3 días: una técnica de swing trading que gana dinero
Voy a describir en este post una técnica de swing trading que permite ganar dinero, en promedio. Es una técnica de reversión a la media, esto es, de comprar acciones que han caído mucho porque tienen fuerte tendencia a rebotar.
Es por tanto para el corto plazo, entendiendo el corto plazo entre 2 días y 10 días. Aunque la mayoría de operaciones estarán en torno a los 2 a 4 días.
La idea de comprar acciones que han caído mucho no es nueva. Pero, ¿cuánto es caer mucho?. ¿Cuando el indicador estocástico está por debajo de 20? ¿cuando el RSI está por debajo de 10?
Bien, en este caso, he probado a usar la secuencia de mínimos: compraremos acciones cuyos mínimos estén cayendo al menos tres días:
1-Condición de compra: Comprar acciones con 3 mínimos bajistas
2-La compra en la apertura del siguiente día.
3-Condición de venta: que el cierre sea mayor que el cierre del día anterior
4- Orden de venta, al día siguiente, en apertura
Como ves, es un puro mean-reversion. El hecho de lanzar las órdenes de compra y venta al día siguiente hace que sea más fácil de ejecutar. Tenemos toda la noche para dejar lanzadas las órdenes.
En la imagen superior, se cumple la condición de venta al cabo de un día de haberse comprado. Sin embargo, en bastantes ocasiones la acción comprada sigue cayendo, a veces muchos días. Y en el momento en que sube un único día, se cumple la condición de venta:
Este es un efecto buscado: podemos tener largas caídas y beneficios muy cortos. Lo contrario de lo que muchas veces se plantea como un «mantra» imprescindible del trading: corta rápido las pérdidas y deja correr los beneficios.
Aqui es al revés: hacemos caja rápidamente, pero aguantamos las pérdidas.
Esta técnica tiene el efecto de tener alto porcentaje de aciertos (ya que vendemos muy rápido), normalmente superior al 60%. Un porcentaje alto de aciertos puede compensar un mal ratio beneficio/pérdida.
Eso si, vamos a limitar las rachas de pérdida simplemente adquiriendo muchas acciones a la vez. En este caso 5.
Usamos por tanto este algoritmo con 5 acciones simultáneas (es decir destinamos el 20% del capital a cada acción), usando como base acciones norteamericanas sin sesgo de supervivencia. Todas las acciones por encima de 1 dolar, y al menos 5 M de dolares de movimiento diario.
Así, obtenemos los siguientes resultados:
¿Decepcionado?. Bueno, el trading no es fácil.
Pero podemos mejorar un poco los resultados, si añadimos dos condiciones:
1- Las acciones deben estar sobre su media de 200 días
2- Las acciones deben estar bajo su media de 5 días.
Lógico, ¿no?. Sólo entramos en acciones en fase alcista de largo plazo, pero que están corrigiendo en el corto plazo. Por ejemplo, en este mes de Mayo ha surgido la oportunidad en ASR.
En estas condiciones, los resultados mejoran:
Mejora un poco la relación rentabilidad /riesgo, pero no en exceso.
Pero falta un detalle importante: ¿qué hacemos cuando existen más de 5 oportunidades de compra?
Los resultados hasta ahora se hacen comprando aleatoriamente 5 acciones de entre todas las oportunidades. Pero eso tiene poco sentido.
Asi que ahora, cuando haya más de 5 acciones posibles, vamos a priorizar aquellas que tengan el MACD más bajo. Como en el siguiente ejemplo:
Resultados con esta condición:
Bueno, los beneficios aumentan mucho. Pero no hay manera de bajar el riesgo.
Es normal: una compra simplemente después de tres días de pérdida es bastante arriesgada. Aunque a largo plazo se gane dinero, de vez en cuando se acumulan muchas operaciones con pérdidas, y por eso la peor racha se resiste a bajar.
Sin embargo, este método puede ser suficientemente bueno. Un trader de bolsa no se fija tanto en los beneficios, sino en el cociente beneficio/riesgo. Es decir Rentabilidad anual promedio / peor racha de perdidas.
En este caso, 27/30 es casi 1. No está mal, puede ser suficiente.
Asi que, en mi opinión, este algoritmo se puede usar dividiendo el capital entre dos; si dispones de 20.000 euros, usas 10.000 en este método, y los otros 10.000 los dejas en liquidez.
Lógicamente, los resultados bajan a la mitad: Rentabilidad del 13,7% y peor racha del -15,4%. En promedio anual de los últimos 14 años.
Esto es más tolerable, y la rentabilidad es suficiente para el nivel de riesgo.
Asi pues, ¿podríamos lanzarnos a usar este método?
No del todo. Hay un problema: este algoritmo funciona peor en momentos de baja volatilidad.
Observa los resultados anuales:
Por un lado, son resultados muy variables. Muy buenos a largo plazo, pero bastante oscilantes.Además, viendo los resultados con detenimiento, se observa que los años de baja volatilidad tiende a hacerlo peor. En 2016, muy mediocre. Y en lo que llevamos de 2017, estaríamos en pérdidas del -3%.
En cambio en años de alta volatilidad, incluyendo el terrible año 2008, este método claramente gana dinero.
Asi pues, es una idea para explotar sobre todo cuando hay volatilidad y bajadas de la bolsa. Lo cual no está mal, porque nos puede suponer una ayuda para los momentos más difíciles.
Pero en la actualidad (2017): la volatilidad está en mínimos históricos. Es increíble la baja volatilidad de los mercados de acciones actuales.
Asi que ahora no son recomendables los sistemas de reversión a la media, como éste.
En fin, conociendo todo esto, sólo tienes que esperar a la alta volatilidad. En esos momentos es probable que te ayude.
También lo puedes usar ahora mismo para ayudarte a localizar oportunidades en acciones de sectores que te interesen, o que estabas previamente vigilando.
Y como es un rollo buscar a mano estas condiciones, he hecho un screener para Prorealtime que te va a localizar las acciones. Lo ejecutas contra el mercado que quieras y usas las acciones con el MACD más bajo.
Puedes descargártelo desde aquí. Y lo importas desde Prorealtime.
Como curiosidad, al día de hoy, las 3 acciones más claras para rebotar en el mercado de España son Bankia, Endesa e Iberdrola.
¡Espero que este algoritmo te ayude!
Buenos dias,
he pasado el sistema a amibroker(hasta antes de lo del macd, que no se como decirle que priorice los resultados(si eres tan amable de explicarmelo..))
y los resultados son muy buenos pero, el sistema genera muchos trades y si tienes en cuenta las comisiones, se vuelve completamente ruinoso, supongo que comprando solo valores americanos,que las comisiones de interactive brokers son muy bajitas sea efectivo.
Has tenido en cuenta lo de las comisiones?
Bueno de todas formas muy interesante como todos tus articulos
Si claro, he añadido las comisiones con el esquema de interactive brokers.. todos los sistemas que hacen muchas operaciones necesitan comisiones bajas..
Respecto al ranking, en amibroker se usa el comando positionscore,…
Un saludo!
Has pensado en usar el VIX como filtro?
Si, lo he intentado pero no mejora los resultados.. podria parecer que si, pero no…
He estado probando y parece que en semanal tambien funciona fenomenal, no se si se me escapa algo por lo que fuese malo en semanal.
Por cierto he probado en amibroquer lo del macd, a ver si algo asi:
positionscore = 100-macd(12,26);y si fuese elegir el valor con mayor macd
positionscore = Macd(12,26);
Ah, interesante, no lo he probado en semanas…
Y si, lo del positionscore es correcto
Un saludo!
De nuevo, estupendo artículo e ideas para perfilar una buena estrategia. Una pregunta, el backtest lo haces en el mismo ProRealTime?
Gracias, Mariano.
Normalmente no, los backtest los suelo hacer con Amibroker.
Alguna vez con Excel, pero es raro.
Un saludo!
Hola, siempre muy interesantes sus artículos. Soy nuevo en esto del trading. Por favor explique un poco más la condición de venta: «que el cierre sea mayor que el cierre del siguiente día»: ¿A cuál cierre se refiere como mayor?, ¿Cómo anticipo el cierre del día siguiente?. Muchas gracias.
Hola. Muchas gracias por sus aportes, son excelentes. Al igual que el comentario anterior, no entiendo muy bien «que el cierre sea mayor que el cierre del siguiente día», ¿no debería ser que el cierre fuese mayor que el cierre del dia anterior?.
Por otra parte, el enlace del screener para prorealtime parece que tiene el enlace roto y no se puede descargar, una lástima. ¿podría actualizarlo y arreglarlo?
Mil gracias de nuevo y enhorabuena.
Hola.
Corregido enlace y corregida frase: se vende cuando el cierre es superior al día anterior, pero la venta es en apertura del siguiente día..
Un saludo!