La estrategia de Ivan Scherman

El ganador del campeonato mundial de trading 2023, Ivan Scherman, un referente absoluto en el trading algoritmico y cuantitativo, revelo esta estrategia durante una de sus conferencias, y a continuacion la vamos a crear, testear y analizar.

Tabla de contenidos

Introducción

Esta publicación se la dedico a Ivan Scherman, un referente para mi y alguien a quien admiro mucho, durante una de sus conferencias comparte esta estrategia, y considero que se puede aprender mucho sobre su forma de entender los mercados, en este ejemplo de estrategia menciona como comprar el SP500, durante una tendencia alcista, pero estamos hablando de una estrategia algorítmica, es decir debemos saber definir objetivamente una tendencia alcista, y un retroceso para poder programar el “robot” que nos permita backtestear esta hipótesis, manos a la obra.

Antes de empezar

-Esta estrategia fue compartida de forma pública por Ivan Scherman
-No sabemos si es una estrategia utilizada por el dentro de su portfolio, ni nos importa ( aprendemos igual )
-No se recomienda en lo absoluto la implementación en real de esta estrategia
-Los resultados pasados de una estrategia no son garantía de resultados futuros.
-El propósito de esta publicación es netamente educativo. 
-Especulacion Estadistica no guarda ninguna relacion con Ivan Scherman

Explicacion básica
Explicación avanzada
Descarga Estrategia

SchermanBuy

Estrategia de codigo abierto para Ninjatrader 8

Análisis de resultados

Analizar los resultados de una estrategia implica un proceso organizado y estructurado que se sale del enfoque de esta publicación gratuita, cabe recalcar que el entendimiento generalizado de la hipótesis, en su estado más puro es el primer paso siempre, es decir tratar de testear de la forma más general la idea, y entender su comportamiento histórico.
Es lo que haremos a continuación, empezaremos analizando los primeros resultados de esta estrategia.

Codigo abierto

Es importante mencionar que el código de la estrategia se ha realizado agregando una serie de datos de 1 minuto, para tener una buena resolución histórica. Es verdad que la SMA que utilizamos ( 200 & 5 ) se calculan en velas diarias, sin embargo, eso no nos limita a ejecutar en velas diarias. Este es un truco que te estoy obsequiando, créeme.

A través del código, podrás identificar que, la media móvil rápida, y lenta trabajaran sobre el DATA SERIES PRINCIPAL en el que agregas la estrategia, la realidad es que como Scherman habla de “días” se sugiere utilizar como DATA SERIES PRINCIPAL, velas diarias.
Pero si te fijas en el State Configure, agregamos un DATA SERIES SECUNDARIO de 1 minuto, que nos permite ejecutar y gestionar utilizando velas de 1 minuto, en vez de diarias.
Si te ha agradado este truco déjame un comentario 😊

				
							else if (State == State.Configure)
		{
			//Agregamos un Data Series secundario - BarsInProgress 1
			AddDataSeries(BarsPeriodType.Minute, 1);

		}
		else if ( State == State.DataLoaded)
		{
			//Instanciamos las variables ema
            smaSlow = SMA(200);
            smaFast = SMA(5);

            smaFast.Plots[0].Brush = Brushes.Goldenrod;
            smaSlow.Plots[0].Brush = Brushes.Goldenrod;

            smaFast.Plots[0].Width = 3;
            smaSlow.Plots[0].Width = 6;

            AddChartIndicator(smaFast);
            AddChartIndicator(smaSlow);
        }
	}

	protected override void OnBarUpdate()
	{
		//Close de vela diaria ( Data Series principal )
		if (BarsInProgress == 0)
		{
			//Si hay menos de 3 velas
            if (CurrentBar < 3)
            {
				return;
            }
			
			if (Close[1] < Open[1])
			{
				consecutiveNegative++;
			}
			else
				consecutiveNegative = 0;

            PrintTo = PrintTo.OutputTab2;

            Print(
				Time[1].ToShortDateString()+";"+
				Open[1]+";"+
				High[1]+";"+
				Low[1]+";"+
				Close[1]+";"+
				smaSlow[1]+";"+
				smaFast[1]+";"+
				consecutiveNegative	
				);

            PrintTo = PrintTo.OutputTab1;
        }

		//Ejecutamos en barras de 1 minuto para mayor precision
		if(BarsInProgress == 1)
		{
			if (CurrentBars[0] < 3)
				return;

			if (Bars.IsFirstBarOfSessionByIndex(CurrentBar))
				executed = false;

			if (IsRising(smaSlow))
			{
				if (Closes[0][0]	< Opens[0][0]
					&&
                    Closes[0][1]	< Opens[0][1]
					&&
					Closes[0][2]	< Opens[0][2]
					)
				{
					BackBrushesAll[0] = Brushes.DarkCyan;
					
					if (!executed && Position.MarketPosition == MarketPosition.Flat)
					{
						EnterLong("EntrySignal");
                        executed = true;
                    }
                }
			}
			//Si estamos en una posicion
			if(Position.MarketPosition != MarketPosition.Flat)
			{
				if (Closes[0][0] >= smaFast[0])
				{
					ExitLong("ExitCloseAbove","EntrySignal");
				}
			}
		}
	}

    #region Variables

    SMA smaSlow;
    SMA smaFast;

	bool executed;

	double consecutiveNegative;

    #endregion
}
				
			
Análisis de datos

Ahora vamos al trading cuantitativo puro duro, recuerda que todo lo relacionado al análisis de datos será cuantitativo, en esta ocasión nos enfocaremos en una frase que menciona Scherman durante su seminario, luego de mencionar que buscaremos comprar el SP500 durante una tendencia alcista, cuando tengamos 3 días en consecutivo cerrando en negativo, dice que “tenemos 80% de probabilidades de cerrar por encima de la media de 5 periodos”.

Vaya que es un dato  interesante, sobre todo por ese elevado porcentaje, aunque no profundiza mucho en esto, se que cuando un trader cuantitativo te dice algo de este tipo, habla porque hay un análisis de datos que lo respalda.

He incorporado a la estrategia la capacidad de exportar datos, pasártelos a Excel y hacer este cálculo, entendiendo que hacer, y como se pueden hacer cosas maravillosas.
He obtenido que, en efecto, si un día cierra en positivo tenemos 81% de probabilidades de cerrar por encima de la media de 5 periodos.

Esto se vuelve interesante, si vemos cual es la probabilidad de tener un cuarto día en consecutivo de forma negativa (cuando Iván sugiere buscar la compra)

Aprende mas

Ok, si has llegado hasta aqui es que eres especial, creeme. 
Te gustan los datos, y el trading bien hecho asi que creo que mi curso y mis paquetes formativos te pueden servir, revisalo y empieza a aprender trading cuantitativo. 

¿Te gustaría aprender a crear estrategias?

En este curso aprenderás a entender los mercados de forma objetiva, como lo hemos hecho en esta publicación, serás capaz de analizar datos de forma masiva, encontrar ventajas estadísticas y posteriormente crear estrategias automatizadas.
privado

Quieres aprender en serio?

Con este paquete obtienes acceso a todos mis cursos, desarrollos y herramientas y 12 meses en mi sala de trading privada. Empezamos ?

Comparte nuestro trabajo

Facebook
Twitter
Telegram
Email

1 thought on “La estrategia de Ivan Scherman”

Leave a Comment

Your email address will not be published. Required fields are marked *