Mostrando entradas con la etiqueta Conceptos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Conceptos. Mostrar todas las entradas

domingo, 18 de julio de 2021

Quitar duplicados en un fichero con Amibroker

El algoritmo Amibroker que se incluye más abajo permite localizar filas duplicadas de un fichero pero por parejas. Está diseñado específicamente para quitar los duplicados en un fichero que contenga pares de cointegración pero también se puede aplicar a muchos otros usos que requieran localizar elementos duplicados de varias filas y eliminarlos automáticamente. Utiliza bucles anidados para conseguir la tarea de la forma más eficiente. Más detalles en el vídeo: 


sábado, 29 de mayo de 2021

Stop Loss en un Spread

Hay muchas formas de operar Spreads en Amibroker, pero todas ellas requieren que se cierre la posición si la pérdida conjunta supera un cierto umbral. Si no lo hiciéramos así el riesgo sería ilimitado. 

El código que comparto hoy modifica el Backstester (Custom BackTester) para sumar el beneficio de las dos patas del spread y cerrar la posición si excede el nivel de stop loss. 

También incluye estadísticas adicionales por parejas de operaciones, como el Profit Factor, ganancias y pérdidas promedio, máxima pérdida, etc.



viernes, 19 de marzo de 2021

Opciones con Amibroker

Hoy vemos cómo calcular el precio de una Call o una Put y representarlo en la pantalla de Amibroker. El modelo se ajusta variando la volatilidad implícita para que el precio teórico coincida con el precio de mercado.


El siguiente vídeo explica cómo se usa el código:



miércoles, 2 de septiembre de 2020

El sistema CONVERGENCE

El sistema CONVERGENCE está basado en el indicador del mismo nombre que aparece en el libro de Lars Kestner (el del ratio K). Este indicador se construye comparando un total de 20 parejas de medias donde la media lenta tiene un periodo 4 veces mayor que la rápida. Son estas:

  • MA(1) con MA(4)
  • MA(2) con MA(8)
  • MA(3) con MA(12)
  • ....
  • MA(19) con MA(76)
  • MA(20) con MA(80)

Si la media rápida está por encima de la lenta sumamos 5 puntos. Y como son 20 parejas al final tenemos un indicador que va de 0 a 100 y que nos permite comprar cuando supere un cierto nivel. Debajo vemos el indicador:


Si compramos cuando el indicador supere el nivel 80 y nos salimos con un cruce de medias (que tendrá que estar alcista en el momento de la compra) pues ya tenemos un sistema de trading. En realidad uno que tiene una curva de capital tan estupenda como la siguiente:


sábado, 27 de junio de 2020

El indicador TREND

El indicador TREND es especialmente útil para indicar la tendencia general de los índices teniendo en cuenta su sesgo alcista. Lleva décadas dando señales muy acertadas y en estos momentos, y a pesar del fuerte rebote, sigue bajista ya que el SP500 tiene su media de referencia cayendo. La media de referencia es la menor de las medias de 100 y 200 sesiones. Más detalles en el libro "Trading con Sistemas Automáticos".


jueves, 4 de junio de 2020

EL SISTEMA "AGORERO"

El sistema "Agorero" opera el SP500 abriendo posiciones cortas cuando hay las siguientes señales bajistas:
  • Baja volatilidad
  • Nuevos mínimos del NYSE marcando peligro
  • Divergencias bajistas con la línea ascenso-descenso
En las simulación alcanza un 94% de aciertos aunque se trata de resultados optimizados. Este sistema se presentó por primera vez en el informe del 4 de noviembre de 2017 que se anexa a continuación:


Si está interesado en sistemas de trading le recomendamos la suscripción al servicio de Informes Onda4 donde se publicó este sistema (entre muchos). A continuación mostramos la curva de capital resultante de la optimización y que aparece en el informe:

















jueves, 14 de mayo de 2020

El indicador Landry's Light

Hoy traigo un nuevo indicador muy interesante. Se presentó en el informe de Onda4 del martes 12 de mayo, así como su interpretación. Se llama Landry’s Light que se podría traducir como Luz de Landry. Dave Landry llama “luz” a los momentos en los que las barras tienen su mínimo por encima de una media (caso alcista) o su máximo por debajo de una media en el caso bajista. 
Es innegable que si una barra tiene “luz” alcista es porque evidentemente está subiendo y de forma tendencial, ya que se ha despegado de la media completamente. Esta es una buena manera de confirmar tendencias. Una tendencia solo sería válida si hay “luz”. Y sino pues es un periodo lateral.
Pues bien, Landy ha diseñado un indicador que se aplica a los índices y que cuenta el número de semanas que tienen luz alcista (en verde) o luz bajista (en rojo). Lo muestro debajo. Está aplicado al gráfico semanal del SP500, futuro mini continuo. Se puede ver que en los mercados bajistas hubo triángulos rojos que nos dicen que el precio permaneció por debajo de la media.


La media es de 50 sesiones, el valor que Landry considera adecuado. El mensaje realmente importante que lanza este indicador es que una vez que hay “luz bajista” puede durar mucho, así que uno no debería ignorar los pequeños triángulos rojos pues pueden ser el comienzo de grandes triángulos como los del 2000 y 2007. Estos son auténticos mercados bajistas en los que los índices se mantuvieron por debajo de sus medias durante muchas semanas.
Ahora mismo llevamos 10 semanas de “luz bajista”. En el histórico mostrado no hay ningún triangulo mayor de 11 semanas que no haya terminado siendo al menos de 56!!!

domingo, 22 de marzo de 2020

El sistema "Pinchos del VIX"

Hoy veremos un sistema con unas estadísticas excelentes. Compra el futuro mini del SP500 cuando se produce un techo en el VIX en forma de "pincho", tal y como se puede ver en la imagen siguiente:


El sistema es relevante con fecha 20 de marzo pues acaba de marcar una compra. La fiabilidad es del 80% pero no deja de ser un sistema de trading, basado en la retrospectiva, así que no se recomienda en ningún caso para la operativa con derivados. Utilice el código de debajo para sus pruebas.

jueves, 20 de febrero de 2020

ESTACIONALIDAD en Amibroker

Es verdad que el precio del Crudo WTI sube de primavera a verano y luego cae en otoño?

Contestar a esta pregunta con Amibroker es tan sencillo como sumar los precios de la misma fecha exacta de los últimos 15 años y mostrarlo gráficamente. También podemos repetirlo para los últimos 5 años y comparar, para ver si el patrón estacional aún se mantiene.

Debajo vemos un ejemplo precisamente con el Crudo WTI. Su estacionalidad es clara. Tiende a subir hasta el verano y luego corrige. La tendencia más evidente es la caída del último trimestre del año. Esto se aprecia al ver que las líneas van muy juntas, revelando así un patrón bien claro.

La línea negra vertical es la misma fecha de hoy (20 de febrero) pero del año pasado. Esto nos permite ver el patrón estacional que se puede esperar en los próximos meses. Situando el marcador vertical en verano vemos que un contrato de Crudo gana 6000 dólares desde finales de febrero hasta el 2 de julio (media de 15 años). Y en los últimos 5 años el promedio de ganancias sería de 4000 dólares.


viernes, 31 de enero de 2020

Empezamos la operativa con el sistema TENAZ

En el documento que sigue se detallan las características básicas del sistema TENAZ y de la rutina operativa que vamos a seguir desde este momento. Click en la imagen para más información.



Robustez de un sistema de trading

Vamos a definir la robustez de un sistema de Trading como la capacidad que tiene de funcionar bien en distintas situaciones de mercado muy diferentes de aquellas en las que fue diseñado. Con esa definición tendríamos varias formas de comprobar si un sistema es robusto. Por ejemplo:


  • Da ganancias cuando se varían mucho sus parámetros 
  • Da ganancias en mercados diferentes de los que participaron en su diseño


Debajo vemos los 1792 resultados de variar 3 parámetros en el sistema TENAZ. Resulta que todos y cada uno de estos resultados es positivo; esto quiere decir que el sistema es capaz de generar ganancias en un amplio espectro de condiciones, y no solo aquellas que se utilizaron durante su diseño.

Para que un sistema de trading sea robusto tiene que ser sencillo ya que los sistemas complejos con un gran número de parámetros corren el riesgo de haber sido adaptados a los datos pasados.



viernes, 3 de enero de 2020

CALENDAR SPREADS CON FUTUROS (AMIBROKER)

Hoy presentamos un código que calcula y dibuja los spread de calendario entre futuros. Un spread de calendario es una posición contraria entre dos vencimientos de futuros del mismo mercado, por ejemplo el Crudo de Febrero comprado y el Crudo de Marzo vendido en corto. Estas posiciones requieren muy pocas garantías por estar cubiertas, y son muy populares entre algunos operadores.

El código es genérico, así que puede utilizarse en varios mercados (Crudo, Oro, Soja, Magro, Maíz, Bonos, Eurodólar, Gas Natural y hasta futuros del VIX):


La programación tiene en cuenta los códigos de los vencimientos de futuros (F para enero, G para febrero, etc) de forma automática, así que facilita mucho la construcción de spreads.

Asimismo incluye una lógica de reversión a la media con sistema de trading por si se desea operar siguiendo esta estrategia. La forma de sustituir esta estrategia por otra (p.e. tendencial) es cambiando las señales de entrada y salida que se hacen en base al precio diferencia o spread. Los cambios son sencillos.




martes, 5 de noviembre de 2019

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


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.



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:



miércoles, 28 de noviembre de 2018

EL SISTEMA MERSI PARA COMMODITIES

Las entradas anteriores del Blog han preparado el terreno para los sistemas de trading. Nos han permitido cargar Amibroker con la lista de los mercados más líquidos de materias primas y que este lea correctamente los multiplicadores. Adicionalmente hemos definido el número de contratos para un objetivo de volatilidad determinada (modelo de Robert Carver).

Pues bien...

Ha llegado el momento de presentar los sistemas de Trading!

El primero va a ser el sistema de reversión a la media con RSI también denominado "MERSI COMMODITIES". Las reglas son bien simples:


·      Estamos alcistas si el cierre está por encima de una media móvil simple
·      Si estamos alcistas y un RSI cae por debajo de 30 entonces compramos
·      Una vez comprados si el RSI sube por encima de 70 cerramos los largos
·      El sistema es simétrico para las posiciones cortas
·      Hay un stop loss de 6 desviaciones estándar

Qué hacer con este sistema, qué estadísticas tiene, qué ratio de optimización le viene bien... todas estas preguntas han sido contestadas en los informes de Onda4.



sábado, 1 de septiembre de 2018

Entender el Forex

El FOREX es un mercado muy especial. Es el único donde el tamaño de la posición depende del mercado. Me explico: si abres una compra en el mini del SP500 entonces tu posición tiene un valor nominal que es el resultado de multiplicar el precio por el tamaño del contrato. Así, si el SP500 está a 2000 puntos y compramos un mini (mult = 50) pues tenemos un nominal de:

2000*50  = 100.000 dólares

Esto es nuestra “inversión”, aunque lo pongo entre comillas porque no necesitamos ese capital sino que con unas garantías de unos 5.000 dólares pues nos dejan abrir la posición. Ese valor, el nominal, es el equivalente a que tuviéramos una acción del mercado SP500; y así si el SP500 sube un 10% hasta 2200 entonces nosotros ganamos un 10% de nuestra “inversión”; es decir, 10.000 dólares. Fíjese:

(2200-2000)*50 = 10.000 dólares

El nominal no tiene nada que ver con el capital en nuestra cuenta sino con el instrumento que operamos. Y tampoco tiene en cuenta la volatilidad del mercado subyacente. A través de las preguntas que me hacen al email he notado que el concepto de nominal no queda muy claro y se piensa que dos posiciones con el mismo nominal tienen el mismo riesgo, y no es el caso. Ojo con estas cosas porque es en los Spreads donde más se nota que no podemos igualar nominales sino volatilidades diarias en dólares.



sábado, 23 de junio de 2018

El modelo de volatilidad de Robert Carver

El modelo de volatilidad de Robert Carver está explicado en su libro "Systematic Trading" y es una forma sencilla pero eficaz de dimensionar una cartera para cumplir un objetivo de volatilidad anual. Los resultados reales obtenidos con esta técnica son muy exactos. 

El método es el siguiente:

Supongamos que tenemos intención de operar una cuenta de 100.000 euros con 5 posiciones y un objetivo de volatilidad anual del 30%. Aparece la primera compra en Crudo Mini (QM), un mercado que tiene una volatilidad diaria de 340 dólares.

-Cuántos contratos hay que comprar? 


martes, 22 de mayo de 2018

La distribución LOGNORMAL de los precios

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.


En un año si va bien podríamos esperar que tuviera un precio de 50 dólares (20 + 30) con una probabilidad del 68%; que es la probabilidad asociada a una desviación estándar.

Pero la distribución normal (gaussiana) es simétrica, así que según ese modelo con la misma probabilidad si la acción va mal se pondría a un precio de -10 (20 - 30). 




Pero el precio de una acción no puede ser negativo. Es evidente que el modelo normal (gaussiano) no es correcto para los precios de los activos.

viernes, 11 de mayo de 2018

El ratio de Sharpe pero de la curva de capital, no de las operaciones

Amibroker calcula el ratio de Sharpe. Pero de las operaciones, no de la curva de capital. 


Esta métrica es muy utilizada en la industria del trading. Los mejores gestores superan el nivel 1.0 pero no todos los años. En realidad es difícil conseguir rentabilidades por encima de la volatilidad.




Sharpe = rentabilidad_anualizada / volatilidad_anualizada

La fórmula original incluye la tasa libre de riesgo en el numerador, pero eso hoy en día es prácticamente nulo. Dicho de otra forma: sin riesgo, no dan nada por el dinero. A mí me gusta obviar esta parte (tasa libre de riesgo = 0) y así puedo comparar mejor los sistemas independientemente de cómo esté la renta fija ese año.

Para calcular el Sharpe simplificado hay que sacar los retornos diarios y sobre ellos calcular la desviación estándar. Anualizamos multiplicando por 16 ( más o menos la raíz de los días de trading que tiene un año). Calculamos la media de los retornos diarios y anualizamos, multiplicando por 252 días de trading. El cociente es el ratio de Sharpe.

Lo de hacer la raíz cuadrada con la volatilidad pero no con los rendimientos es porque la volatilidad crece como la raíz cuadrada del tiempo mientras que los rendimientos crecen proporcionalmente al tiempo. Por ejemplo, si alguien consigue un 0.1% diario de ganancia media, con una desviación de los retornos del 1% entonces su ratio de sharpe es:

Sh = 0.1*252 / (1*16) = 1.57

He trabajado sobre el código que puse en el post sobre la volatilidad anualizada de la curva de capital y he incluido la media y el cociente de ambos para llegar al ratio de sharpe. 


ENTRADAS POPULARES