Eres un friki de la programación de algoritmos, sistemas de trading y demás cosas raras? Encuentra aquí el código y herramientas útiles para probar sistemas y gestión de capital. Amibroker Python, Excel...
viernes, 30 de agosto de 2019
miércoles, 24 de abril de 2019
Vender en la primera apertura rentable
Muchos de los sistemas de Larry Williams venden en la primera apertura rentable. Esto es, una vez establecido el precio de entrada se espera a que haya una apertura con ganancias, aunque sea de 1 dólar, y se vende.
Esto es muy sencillo de implementar en muchos lenguajes de programación, p.e. Tradestation, pero no es tan sencillo en Amibroker porque este software está basado en arrays y no en secuencia ordenada de barras, así que el array BuyPrice se puede ver modificado si entran nuevas compras cuando ya estabas comprado. Con una imagen se entenderá mejor:
El precio de compra es 921.50 pero al llegar una compra mientras estábamos comprados el precio cambia a 871 (el cierre de la segunda barra naranja), así que Amibroker piensa que salirse a 905.50 es la primera apertura con ganancias cuando en realidad no lo es, deberíamos salirnos por encima de 921.50.
Esto ocurre porque la forma más sencilla de implementar la salida FPO (First Profitable Opening) es esta:
Sell = Open > ValueWhen(Buy,BuyPrice);
SellPrice = Open;
Pero no es del todo correcta por el problema mencionado. El código que proponemos hoy soluciona el problema sustituyendo lo anterior por un bucle que bloquea el BUYPRICE para que no se mueva hasta que la operación se cierre. También aprovecha el bucle para implementar el Stop Loss. La salida corregida se puede ver a continuación:
Esto es muy sencillo de implementar en muchos lenguajes de programación, p.e. Tradestation, pero no es tan sencillo en Amibroker porque este software está basado en arrays y no en secuencia ordenada de barras, así que el array BuyPrice se puede ver modificado si entran nuevas compras cuando ya estabas comprado. Con una imagen se entenderá mejor:
El precio de compra es 921.50 pero al llegar una compra mientras estábamos comprados el precio cambia a 871 (el cierre de la segunda barra naranja), así que Amibroker piensa que salirse a 905.50 es la primera apertura con ganancias cuando en realidad no lo es, deberíamos salirnos por encima de 921.50.
Esto ocurre porque la forma más sencilla de implementar la salida FPO (First Profitable Opening) es esta:
Sell = Open > ValueWhen(Buy,BuyPrice);
SellPrice = Open;
Pero no es del todo correcta por el problema mencionado. El código que proponemos hoy soluciona el problema sustituyendo lo anterior por un bucle que bloquea el BUYPRICE para que no se mueva hasta que la operación se cierre. También aprovecha el bucle para implementar el Stop Loss. La salida corregida se puede ver a continuación:
miércoles, 27 de marzo de 2019
Indicador de movimientos significativos
El mercado no suele moverse más de una desviación estándar la mayor parte del tiempo. Pero a veces se sacude con fuerza y se mueve incluso 2 desviaciones estándar o más. Al revisar los días en los que el mercado se ha movido más de 2 desviaciones vemos que suelen conducir a tendencias; es decir, son días muy significativos que conviene vigilar.
No hay muchos días en los que el mercado se mueva tanto. Estamos a finales de marzo y en todo 2019 solo hay una barra significativa de 2.45 desviaciones estándar. En el gráfico se puede ver que a primeros de diciembre hubo una barra roja que condujo a una caída larga. A finales del mismo mes hubo una barra muy grande (3.27 desv) que condujo a una subida que en el momento mostrado aún se mantiene.
No hay muchos días en los que el mercado se mueva tanto. Estamos a finales de marzo y en todo 2019 solo hay una barra significativa de 2.45 desviaciones estándar. En el gráfico se puede ver que a primeros de diciembre hubo una barra roja que condujo a una caída larga. A finales del mismo mes hubo una barra muy grande (3.27 desv) que condujo a una subida que en el momento mostrado aún se mantiene.
viernes, 1 de marzo de 2019
El sistema HVNR4
Este sistema se mostró en el webinario del pasado 12 de febrero. Sus reglas son las siguientes:
•Setup: La volatilidad histórica (HV, como cociente) cae por debajo de 0.5 o bien tenemos una barra con el menor rango de los últimos 4 días (NR4)
•Compra: Si ayer hubo setup entonces compramos hoy con stop en el precio medio de ayer más un múltiplo del rango
•Salida: Tras sobrecompra en el oscilador RSI.
•Setup: La volatilidad histórica (HV, como cociente) cae por debajo de 0.5 o bien tenemos una barra con el menor rango de los últimos 4 días (NR4)
•Compra: Si ayer hubo setup entonces compramos hoy con stop en el precio medio de ayer más un múltiplo del rango
•Salida: Tras sobrecompra en el oscilador RSI.
Suscribirse a:
Entradas (Atom)
ENTRADAS POPULARES
-
Las entradas anteriores del Blog han preparado el terreno para los sistemas de trading. Nos han permitido cargar Amibroker con la lista de l...
-
Cómo calcular correlaciones A la hora de ver las correlaciones entre los distintos mercados es importante darse cuenta que deben ser cal...
-
El modelo de volatilidad de Robert Carver está explicado en su libro "Systematic Trading" y es una forma sencilla pero eficaz de d...
-
Este Blog está pensado para que sea un sitio muy técnico donde no habrá sitio para opiniones de mercado, noticias, etc. Solo código y ...
-
Supongamos una acción muy volátil, del mercado americano, cuyo precio es de 20 dólares y cuya desviación estándar anual es de 30 dólares. ...



