sábado, 28 de diciembre de 2019

El sistema de Connors RSI2

Vamos a ver un sistema de trading clásico cuya lógica es bien simple. Se trata del sistema de Connors que utiliza un RSI de 2 sesiones para las entradas y una media de corto plazo para las salidas. Las reglas son las siguientes:

  • Si el cierre está por encima de una media de 200 entonces estamos alcistas
  • Si estamos alcistas y el RSI(2) cae por debajo de 30 compramos
  • Si estamos comprados y el cierre supera una media de 10 sesiones cerramos los largos
  • El sistema es solo largo y hay un stop loss de 6 desviaciones estándar

Debajo vemos que esta lógica funciona muy bien en los índices, que por su naturaleza tienen un comportamiento de reversión a la media (comprar cuando caen). Debajo vemos el Nasdaq100 pero en general este sistema va bien en cualquier índice:



Cuando lo probamos en el futuro mini del SP500 vemos que funciona muy bien. Debajo se puede ver la curva de capital en el SP500 desde el año 2000 y descontando $100 por operación en concepto de comisiones y deslizamiento. Los parámetros que vimos en la descripción del sistema son optimizables. En esta curva de capital del SP500 los parámetros utilizados han sido: 250 para la media de largo plazo, 26 para el umbral de compra y 8 para la media de salir de los largos.

El sistema ha generado unas 300 operaciones en el periodo con un 78% de aciertos. La relación entre ganancia y drawdown es superior a 8 y tiene unos ratios muy buenos como un Sharpe de 1.40. Podríamos decir que se trata de un buen sistema de trading.


viernes, 6 de diciembre de 2019

ALGORITMO BÁSICO DE AUTOTRADING CON AMIBROKER

Supongamos que ya tenemos nuestro sistema listo para operarlo en real. El sistema genera operaciones largas y cortas y tiene en cuenta todos los detalles que queríamos incluir; esto es, no necesita lógica extra y todo lo que hace lo consideramos válido.

En ese caso podemos añadir un simple algoritmo de Autotrading con el IBController de forma que cada vez que haya una operación en el gráfico el IBcontroller la lanzará a nuestro broker Interactive Brokers:




martes, 5 de noviembre de 2019

Sistema Completo de Trading

SISTEMA DE BANDA PROHIBIDA CON AUTOTRADING Y MM

En las entradas anteriores de este blog hemos ido preparando el terreno para poder llegar a un sistema completo de trading que tenga un dimensionamiento basado en un objetivo de volatilidad y también tenga la posibilidad de ser ejecutado de forma completamente automática. Por fin estamos en condiciones de poder compartir un sistema COMPLETO de trading consistente en:

Lógica del sistema + Gestión de Capital + Algoritmo de ejecución con IBController. 

Es el sistema de Banda Prohibida. Un sistema de Banda Prohibida pone unas bandas alrededor del precio y solo opera cuando el precio está por fuera. Tiene características de reversión a la media y se llama así (banda prohibida) porque todas las operaciones se hacen por fuera de estas bandas, tanto las entradas como las salidas. Veamos un ejemplo:


Hay una banda rápida (azul) que consiste en una media de 20 sesiones y 2 ATRs por encima y por debajo. Hay una banda lenta (roja) que consiste en una media de 100 sesiones y 2 ATRs por encima y por debajo.  En esta imagen se puede ver cómo la tendencia alcista la define el hecho de que la banda rápida esté por encima de la lenta. Si estuviera por debajo asumiríamos que la tendencia es bajista.
Una vez alcistas el sistema compra cuando el cierre termina por debajo de la banda rápida. Y cierra los largos cuando supere la banda rápida.

A continuación vemos los resultados de aplicarlo a una cartera de materias primas con los siguientes tickers: AD, BP, GF, HE, JY, NQ, RTY, SM, TY, YM, QHG y NG. Como vemos el sistema parece ir bien con divisas, carnes, algunos granos (harina de soja), metales (cobre) y energías (gas natural).




El código que se muestra más abajo incluye una GESTIÓN DE CAPITAL de forma que las posiciones se dimensionan para una volatilidad anualizada en función del capital disponible (modelo de Carver explicado en entradas anteriores). Pero este capital "disponible" se reduce en un 10% por cada 5% de drawdown real. Es la estrategia de gestión de capital que utilizaban las tortugas de Dennis.

Al final del código se incluye LA PARTE DE AUTOTRADING que consiste en hacer la operativa a mercado en función de las señales del sistema. No obstante está mejorado y tras abrir una posición sitúa inmediatamente el Stop Loss con una orden Bracket. Asimismo comprueba que no se supere el máximo de 4 posiciones simultáneas abiertas. Recuerde que la ejecución automática tiene sus riesgo y "automático" no significa "desatendido".

El <include> con los multiplicadores de los futuros se encuentra en entradas anteriores de este blog:
https://onda4com.blogspot.com/2018/09/los-multiplicadores-de-los-futuros.html


viernes, 20 de septiembre de 2019

Indicador de Jeff Augen

En "The volatility edge in options trading" Jeff Augen propone un indicador que consiste en pintar en el número de desviaciones estándar que se ha movido un mercado de un cierre al siguiente. Este indicador toma la forma de un histograma debajo del precio y se utiliza como una alerta para abrir posiciones en opciones cuando el mercado en cuestión supera las 2 desviaciones estándar.

Debajo vemos un ejemplo con el Crudo que recientemente ha hecho un movimiento diario de 6.46 desviaciones estándar y cómo esto sería oportunidad para abrir una posición en opciones asumiendo reversión a la media:



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:



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.



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.


sábado, 9 de febrero de 2019

RSI CON UMBRAL INTELIGENTE

Los osciladores solo funcionan bien cuando los operamos en la dirección de la tendencia. Por esta razón he pensado en hacer unos umbrales inteligentes que solo muestren la parte superior (p.e. el nivel 70) si el mercado está bajista, para que los cruces sean entradas en corto pero no haya entradas en largo. Y viceversa para el caso alcista, mostrando solo el umbral inferior (p.e. 30).

El código es bien simple, pero puede resultar muy útil. En la imagen se ve muy bien lo que pretende este oscilador:



ENTRADAS POPULARES