Tabla de contenidos
Vídeo explicación
Introducción
En esta ocasión vamos a revisar una estrategia back testeada para el ORO ( GC ) a diferencia de la ventaja estacional trimestral compartida anteriormente para índices americanos, para este ejemplo vamos a enfocarnos en una temporalidad más pequeña para que podamos elevar la muestra de ejecuciones, y de tipo “intraday” para que se permita aprovechar el poco margen requerido para este tipo de estrategias, que cierran y abren la posición dentro de la misma sesión y no sostienen más allá de 1 día.
Encontrando una ventaja
Con la intención de “detectar” si existe algún tipo de “ventaja sesional” en el ORO, me he exportado los datos de algunas franjas de tiempo, y aunque he encontrado varias cosillas, en esta publicación nos vamos a enfocar en esta ventaja estadística, diaria.
Si analizamos los retornos porcentuales diarios ( la diferencia entre el CLOSE y el OPEN diario ) podemos ver que existe una tendencia a subir los Viernes, es decir este cambio porcentual cuando el precio del ORO sube los días Viernes, es significativamente mas marcado en comparación a los otros días, lo podemos apreciar en el gráfico de barras, donde si una barra es positiva y grande, implica que en estos días, existe una marcada “sesionalidad” en este caso, positiva. Es decir, los días Viernes, el oro tiende a subir.
Estrategia
Si lo que quiero es explotar esta ventaja estadística en una estrategia, seguro se te vienen a la mente algunas formas, me imagino que todas van de la mano con “comprar los viernes” pues bien, estas compras se podrían buscar de distintas formas.
La mas sencilla de todas para aprovechar esa “tendencia del oro a subir los viernes” seria comprar a inicio de día, y vender al final.
Código
Al tratarse de una idea tan sencilla como “comprar un viernes” es muy fácil trasladar esto a código, para la “salida” aprovecharemos la propiedad incluida por defecto en todas las estrategias de Ninjatrader, EXIT ON SESSION CLOSE, que garantiza que si va a cerrar la sesión, automáticamente cerrara todas las posiciones. Por ende, solo debemos poder programar la condición de entrada, ya que la salida la haremos con EXIT ON SESSION CLOSE, propiedad por defecto.
//La estrategia SIEMPRE cerrara a final de dia
if (State == State.SetDefaults)
{
IsExitOnSessionCloseStrategy = true;
ExitOnSessionCloseSeconds = 60;
}
//Abrira una posicion siempre que sea Viernes
if (BarsInProgress == 0)
{
switch (Position.MarketPosition)
{
//Si estamos flat
case MarketPosition.Flat:
{
//Detectamos que es Viernes
if (Time[0].DayOfWeek == DayOfWeek.Friday )
{
Draw.VerticalLine(this, "Friday" + CurrentBar, Time[0], Brushes.Yellow);
EnterLong();
}
break;
}
}
}
Backtest
Mejorando estrategia
Pues bien, aunque con la idea que te he compartido tienes una base muy solida sobre la cual empezar a trabajar, te comentare como estoy abordando este tipo de ventajas sesionales en los mercados.
Podemos ver que de la muestra [2008 – 2023 ] los retrocesos del Oro, de forma intradiaria oscilan entre 0.72% – 1.52%, podríamos decir que es mejor comprar cuando ha retrocedido 1% antes que comprar apenas abre la sesión.
Es clave saber detectar “cual es el mejor momento para comprar” de momento la estrategia lo esta haciendo apenas abre la sesión el viernes, pero seguramente dentro del viernes entre los vaivenes del mercado, se termina retrocediendo algún porcentaje ( diferencia entre open – low ) lo ideal antes de comprar el open, seria comprar el low, si bien es cierto que es muy difícil detectar donde estaría el low de la sesión, con estos danos ya tenemos una clara idea de “Cuanto suele retroceder” para buscar una mejor compra.
El ultimo paso
Finalmente para llevar esto a la practica, no es lo mismo trabajar con las estadísticas de toda la muestra, ya que las condiciones de mercado son muy cambiantes. Si quiero tener un mejor % de entrada, debería tratar de que la estrategia se adapte a través del tiempo, para esto, agrego un modulo que calcula el porcentaje de retroceso promedio, en base a una cantidad de dias en especifico, es decir, antes de entrar el dia viernes, detecta cuanto se esta retrocediendo en promedio los ultimos 60 dias, y utiliza ese porcentaje como referencia. De esta forma la estrategia obtiene un mejor lugar de entrada, y este se va adaptando a traves del tiempo.
Termina de crear la estrategia con nosotros
Te gustaría ver como agregamos un modulo que optimiza el punto de entrada en base a las estadísticas de N cantidad de días ? Mira como continuamos el trabajo de forma privada.