¿Creamos un sistema de trading juntos?

En este artículo y posteriores vamos a desarrollar un sistema de trading desde cero. Vamos a crear el sistema paso a paso.

Mi idea es mostrar un mínimo de puntos básicos que debemos seguir para validar un nuevo sistema. Además este ejercicio servirá también para tener unas referencias a la hora de evaluar sistemas y compararlos unos con otros.

Veremos cuáles son los principales parámetros que debemos controlar.

A día de hoy no tengo nada preparado, por lo que el conjunto de artículos que escribiré a raíz de éste, y el contenido de dichos artículos, es ahora mismo incierto… evolucionará con los resultados que vaya obteniendo y con los posibles comentarios que realicéis.

Para llevar a cabo este ejercicio me voy a ayudar de una plataforma de trading, Amibroker. Se trata de un software muy potente que permite simular cualquier sistema, siempre y cuando sepamos programarlo. Esta es la plataforma con la que he desarrollado los sistemas del Curso de Bolsa Online.

Una vez desarrollado el sistema y validado intentaré programarlo en ProRealTime para que todo el mundo pueda chequearlo.

Pasos a seguir

Comencemos primeramente por los pasos que hay que seguir cuando vamos a desarrollar un sistema de trading. Veamos el guion que seguiremos:

  1. Elección de la escala temporal.
  2. Mercado a operar.
  3. Valores a operar.
  4. Muestra de valores.
  5. Franja temporal para el desarrollo del sistema.
  6. Franja temporal para validación del sistema.
  7. Parámetros del sistema a optimizar.
  8. Optimización del sistema.
  9. Filtros de mercado.
  10. Análisis de Montecarlo.
  11. Walkforward
  12. Validación sobre resto de valores.
  13. Validación sobre resto de mercados.
  14. Conclusiones

Escala temporal

Lo primero de todo es saber qué timeframe que vamos a utilizar, es decir, la escala temporal. Yo he pensado en trabajar con barras diarias. Siempre trabajaré con el mercado cerrado ya que muchos de nosotros durante el día tenemos un trabajo que atender.

Mercado a operar

Tengo una base de datos completa del mercado americano, por lo que en principio desarrollaré el sistema para operar valores del Nyse y Nasdaq.

Valores a operar

Mi intención es desarrollar la operativa en el SP500.

Muestra de valores

Para desarrollar el sistema no lo haré con el total de los componentes del Sp500. Primero porque son muchos y el proceso de optimización sería muy lento, y segundo porque tendría que incluir también las acciones deslistadas, es decir, aquellas que en su día pertenecieron al SP500 pero ya no. Cuando haya desarrollado el sistema chequearé que funciona para el total de componentes incluyendo las acciones deslistadas, pero eso será más tarde. De momento voy a quedarme con un 10% de los valores del Sp500 como muestra. Para ello, los criterios que seguiré serán:

  • Valores que en 1998 ya estuvieran cotizando en el SP500.
  • Mínimo un valor de cada supersector.
  • Valores suficientemente líquidos y con una volatilidad no excesiva, es decir, con un rango de 2 a 10% máximo.

Los valores elegidos son los siguientes:

Franja temporal para desarrollo del sistema (In sample)

Tenemos que elegir un intervalo temporal en el que desarrollaremos el sistema. Tiene que ser lo suficientemente amplio como para abarcar diferentes acontecimientos en los mercados, tendencias alcistas, bajistas, mercados laterales.

El periodo elegido para desarrollar el sistema es desde enero de 1998 hasta diciembre de 2012.

Franja temporal para validación del sistema (Out of sample)

Una vez optimizado nuestro sistema tenemos que probarlo en un intervalo en el que no hayamos realizado ningún test anteriormente. De esta forma evitamos que el sistema se haya adaptado a este tramo. Estaremos simulando una puesta en funcionamiento real.

En nuestro caso veremos analizaremos los resultados post optimización para el periodo comprendido entre enero de 2013 y junio 2017.

También veremos lo sucedido entre enero de 1994 y diciembre de 1997

Parámetros del sistema a optimizar

Tenemos que elegir las condiciones de entrada y salida del sistema así como las variables que hay que optimizar. Puede ser el periodo de una media, el volumen de negociación, la volatilidad máxima, etc.

Contra menos variables tenga nuestro sistema mejor que mejor. Los sistemas del Curso de Bolsa Online se caracterizan por tener pocas variables y por lo tanto son más robustos y más rehaceos a estar sobreoptimizados.

Tenemos que elegir los parámetros a optimizar y los ratios o estadísticas que emplearemos para elegir la combinación óptima. Por ejemplo, podemos elegir aquellos que den mejor rentabilidad media anual,  o aquellos que generen menor pérdida máxima (MDD), u otro parámetro.

Optimización del sistema

Una vez tenemos las variables a optimizar, realizamos las optimizaciones para el periodo in sample.

Hay que tener cuidado de no elegir muchas variables, de no abarcar muchas combinaciones, porque de lo contrario colapsaremos el ordenador y seguro que sobreoptimizamos el sistema.

Una posibilidad cuando hay más de 2-3 variables es optimizar por parejas, viendo cómo influencia la variación de una variable sobre el resto de tal forma que vayamos reduciendo el número real de variables a optimizar, descartando aquellas que apenas influyen en los resultados.

Filtros de mercado

Teniendo en cuenta los resultados obtenidos, conviene ver qué ocurre si aplicamos filtros de mercado o no, y cuales son los filtros más adecuados para nuestro sistema.

Hay numerosos filtros, y la elección del adecuado puede no ser obvia.

Walkforward

Cuando operamos un sistema que tiene varias variables, normalmente vamos modificando, ajustando, las variables cada cierto tiempo. Esto es algo que también podemos simular con Amibroker, realizando lo que se conoce como walkforward.

Para ello seleccionamos un periodo previo a la operativa en el cual optimizamos las variables. Pasado este periodo operamos en real con las variables fijas según la optimización previa. Pasado un tiempo prefijado volvemos a optimizar las variables y continuamos operando en real con la nueva configuración.

Es como optimizar el sistema en una etapa In sample, pasar a out of sample durante un tiempo para luego volver a realizar una optimización en una nueva etapa in sample cotninuando de nuevo out of sample.

En el siguiente gráfico se ve perfectamente:

Análisis de Montecarlo

Durante todo el proceso iremos viendo los resultados del análisis de Montecarlo. Puedes ver más sobre esto en el siguiente post. Con Amibroker obtenemos resultados de forma inmediata.

Validación sobre el resto de valores

Ahora que tenemos el sistema operativo para los valores de la muestra tenemos que validarlo para el conjunto total del Sp500. Es una prueba de fuego, puesto que si los resultados no son ni parecidos a los del sistema aplicado sobre la muestra, significa que estamos ante un sistema demasiado sobreoptimizado e influenciado por tanto por los valores que estemos operando.

Validación sobre resto de mercados

Es importante que los resultados no sean sólo buenos en el sp500, sino que también sean válidos en otros mercados. Esto dará una idea de lo robusto que es nuestro sistema.

Conclusiones

Por último vamos a preparar una tabla resumen con los datos básicos del sistema. Estos datos serán los que utilizaremos en el futuro para comparar nuestro sistema con el resto que analicemos o desarrollemos.

Ahora que tenemos claro los valores que vamos emplear durante el desarrollo del sistema y los pasos que vamos a seguir, es hora de ponerse manos a la obra, aunque esto lo vamos a dejar para el próximo post.

Mientras tanto puedes pensar en algún sistema de trading, una base con la que comenzar a desarrollar nuestro sistema.

¿Te apuntas?

 

¡Comparte!

Facebook
Twitter
Pinterest
LinkedIn

6 comentarios en “¿Creamos un sistema de trading juntos?”

  1. Me parece genial, lo de realizar un sistema poco a poco de esta forma iremos aprendiendo a programas, muy buena idea

  2. Hola Iván,

    Hace tiempo que no nos leíamos, aunque te sigo a través de Twiter y los mail que mandas.
    Estoy buscando una cartera europea con sistema momentum, o la forma de calcular el momentum para realizar un screener.
    No se si esta cartera que estás creando es con este sistema o con otro (PPL o Weinteing).
    Parece que es un ejercicio de tu curso, pero me ha parecido leer algo sobre el sistema momentum, ¿puedes confirmármelo?

    Gracias y un saludo

    Andrés

    1. Hola Andrés,
      En el curso de bolsa de formacionenbolsa.com enseño cómo operar un sistema tipo momentum para el medio plazo. Se trata del sistema momento compuesto.
      En el curso enseño también cómo configurar el espacio de trabajo y programar un buscador en ProRealtime con las condiciones de compra del sistema.
      Con los miembros del curso comparto una hoja de cálculo en la que muestro en tiempo real la operativa de los sistemas de corto y medio plazo del curso.
      Un saludo,
      Iván

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Otros artículos

Stablecoins

¿Qué son las stablecoins?

Las stablecoins o monedas estables, las más populares están vinculadas a una moneda fiduciaria tradicional (como el dólar estadounidense, el euro o el yen japonés), también pueden representar otras materias primas, como el oro o la plata. Las stablecoins brindan transparencia y facilidad de transferencia

Análisis técnico ProRealTime

Aplicación móvil para ProRealTime

La aplicación móvil de ProrealTime para smartphones y para tablets que vas a ver que es una aplicación súper potente. La verdad es que me gusta mucho porque puedes hacer lo mismo que en el PC en la Tablet, se pueden trazar líneas y meter

Errores comunes de inversión que debes evitar

Nadie es perfecto. Todos vamos a tener nuestras ganancias y pérdidas, especialmente cuando se trata de invertir. Pero algunos de los errores comunes de inversión que puedes cometer en acciones son bastante comunes y de ninguna manera están reservados exclusivamente para ti. De hecho, la

cripto staking

Cómo funciona Cripto Staking

Probablemente hayas oído hablar de personas que ganan dinero en el mundo de las inversiones de criptomonedas. Pero hay una forma diferente de hacer crecer tus criptomonedas sin tener que comprar más. La práctica, llamada «cripto staking», es una forma de usar ciertas criptomonedas para

Si eres un pequeño inversor y aún no logras ganar ni 1000€ al mes con tus inversiones...

Reserva tu sesión de Coaching Financiero 100% gratis.

Te ayudaré a poner en orden tus inversiones y trazar un plan de acción para conseguir el objetivo de lograr un sobresueldo extra al mes.

Si eres un pequeño inversor y aún no logras ganar ni 1000€ al mes con tus inversiones te revelo…

Los 5 cambios que debes aplicar en tus inversiones para ganar 1.500€ extra al mes.

Estos cambios fueron los que realmente hicieron crecer de forma predecible y constante mi rentabilidad.