Algunos lectores me han mandado correos interesados por el desarrollo de sistemas. No se si se trata de un interés puntual de estos lectores, o por el contrario el interés es general , pero no ha llegado a mi. Voy a iniciar una serie de artículos para mostrar cómo afectan a los resultados las distintas partes de un sistema.
Para el desarrollo de estos artículos, he elegido un sistema tipo «Momentum» para acciones. Los motivos son varios:
* Me acabo de leer el libro «Acciones en marcha» y me ha gustado bastante. Lo recomiendo.
* El tema de las acciones suele ser el de mayor interés general.
* Es el más versátil a la hora de explicar filtros, dimensionamientos de la posición, sesgo de supervivencia, etc…
Como el libro me ha gustado bastante, el sistema que he desarrollado lo he basado en él, sobre todo porque me gusta intentar comprobar las cosas que me cuentan.
Así pues, durante el artículo os contaré las reglas del libro y del sistema para ver las diferencias. Comprobaré que efectos tienen en la operación usar o no filtros. Y lo más importante, si se os ocurre algo para mejorar el sistema, podemos probarlo juntos.
Antes de empezar, quiero que sepas que si eres miembro de la zona premium y quieres el código del sistema para Amibroker, mándame un correo a ramon@bolsaycartera.com y te lo enviaré, de esta forma podrás comprobar por ti mismo como afectan los cambios que comentemos.
Los códigos «momentum» para acciones constan de varios bloques:
- Mercado a operar
- Criterio de elección de las acciones
- Número de acciones a operar
- Dimensionamiento de estas posiciones
- Reinversión o no de los beneficios
- Filtros de mercado
- Filtros de acciones
Todos estos bloques son los que iremos viendo, en otros artículos, cómo afecta al backtest si los utilizamos o no o si los variamos. Hoy nos dedicaremos a contar las que utiliza Clenow en su libro.
Mercado a operar
El mercado elegido es el SP500, pero una forma de valorar la robustez de un sistema es ver si su eficacia en otros mercados no disminuye mucho. Lo veremos.
Otra de las cosas importantes a valorar son los datos que disponemos. Cuando hacemos un backtest de los elementos de un índice, no vale disponer «sólo» de los elementos que componen el índice hoy. Muchas de las acciones que componen el índice hoy no estaban en él hace 10 años, por lo que hace 10 años no podríamos comprarla. Las acciones que estaban hace unos años y ahora no, se llaman acciones deslistadas y hay que tenerlas en cuenta a la hora de hacer el backtest.
Criterio de elección de las acciones
El criterio elegido por Clenow es una de las cosas que más me han gustado. Ordena las acciones en función de la pendiente de regresión exponencial anualizada ajustada por su coeficiente de determinación. Suena muy complicado y lo es si no estas puesto en estadística. Yo no lo estaba, pero tras estudiar un poco el tema, me ha parecido una solución bastante brillante y robusta. La he aplicado en el sistema.
Numero de Acciones y Reinversión de los beneficios
El número de acciones a operar no tiene límite. Empieza a comprar acciones del listado anterior hasta que se queda sin capital. Como el sistema es bueno, cada año tiene más capital (el inicial más los beneficios), por lo que cada año compra más acciones. Es una forma de reinvertir beneficios.
Dimensionamiento de las posiciones
Es otra de las cosas que me ha gustado, pues yo suelo utilizarla habitualmente.
En vez de dividir a partes iguales el capital entre el número de acciones, lo que hace es que todas las acciones que compra tengan la misma volatilidad.
Filtro de mercado
Sólo compra acciones cuando el precio del SP500 está por encima de su media de 200 sesiones.
Filtro de acciones
Solo compra aquellas acciones cuyo precio esté por encima de su media de 100 sesiones y que en las últimas 90 sesiones no hayan tenido un gap superior a un 15%.
Diferencias entre el libro y el código que estudiaremos
Clenow compra y vende acciones una vez a la semana y reequilibra las posiciones una vez cada dos semanas. Yo haré ambas cosas una vez al mes.
Clenow sólo vende una acción si cierra por debajo de su media de 100 sesiones, o si baja de las primeras 100 posiciones del SP500 o si sale del índice (acción deslistada).
Yo venderé todo una vez al mes y volveré a comprar según la clasificación. Esta simulación me facilita mucho la programación y la forma de llevarlo a la realidad es muy simple. Sólo venderemos las que no den compra y el resto quedará reequilibrado. Lo que si venderé inmediatamente serán las acciones deslistadas.
Bueno, pues estas son las bases de trabajo y estas las estadísticas sin aplicar comisiones:
El sistema es muy robusto como se puede apreciar en el análisis de Monte Carlo.
En los próximos artículos veremos como afectan los distintos bloques al backtest.
A ver si entre todos encontramos la forma de mejorarlo.
Saludos.
jueves, marzo 17th 2016en23:30
Gracias Ramón.
A ver si sacamos algo bueno de aquí.
viernes, marzo 18th 2016en09:02
Muy interesante Ramón.
Hace poco escuché una entrevista tipo podcast de Andras Clenow, allí hablaba del dimensionamiento por volatilidad en una cartera de acciones. También mencionaba que en algunos estudios, cambiando el peso de las acciones según su volatilidad llegaba a batir al sp500.
En todo caso me pareció muy interesante y ahora más si tu recomiendas su libro.
Estaré atenta a las perspectivas del sistema.
Un saludo
viernes, marzo 18th 2016en09:36
Hola Duk2,
El tema de igualar volatilidades entre los distintos activos de un sistema me gusta mucho. Siempre que puedo lo aplico.
Por ejemplo en el sistema Mersi Forex lo aplico. Las divisas se compran teniendo todas la misma volatilidad diaria.
No se si leíste este artículo en el que se ve como mejoran las estadísticas:
https://bolsaycartera.com/2016/02/28/sistema-mersi-forex-dimensionado-por-volatilidad/
Saludos.
viernes, marzo 18th 2016en09:23
Excepcional artículo Ramón, Andreas Cleanow es uno de mis autores de cabecera y ya recomendé aquí hace tiempo su libro sobre sistemas tendenciales para futuros gestionados «Following the Trend Diversified Managed Futures Trading.» En este libro también aplica la volatilidad diaria de cada activo como mecanismo preferido para el tamaño de la posición. Actualmente yo no trabajo con acciones pero el sistema tiene muy buena pinta.
Enhorabuena!!!.
Un saludo.
sábado, marzo 19th 2016en12:54
Gracias Javier, a ver si le sacamos punta.
Saludos.
viernes, marzo 18th 2016en09:26
Muy interesante. Estaré atento a los próximos artículos.
Gracias.
sábado, marzo 19th 2016en10:45
Buen articulo Ramón, estaremos pendiente de los nuevos articulos.
jueves, noviembre 24th 2016en00:13
Ramón, tú sabes si es posible implementar sistema en prorealtime?
Saludos
Luis
jueves, noviembre 24th 2016en09:10
Hace muchos años manejaba PRT y me parece recordar que los sistemas sólo se podían ejecutar sobre una acción y no sobre un mercado.
Si estoy en lo cierto, no serviría de nada este sistema.
Otra cosa es hacer un screener (buscador). Como buscador y clasificador de acciones si que se podría.
Saludos.
martes, enero 24th 2017en21:40
Excelente sistema de trading momentum para acciones. Incluso si te resulta complicado hacer la selección de acciones con todos los parámetros, te puedes suscribir en la web del autor y por 15 USD mensuales puedes acceder a la clasificación completa de todas las acciones del SP500.
Lo que no me queda claro y no se especifica en el libro es si los resultados incluyen los costos de transacción, ya que al hacer operaciones todas las semanas eso puede influir mucho en el resultado final, incluso eliminar la ventaja sobre el índice. Por lo demás excelente libro y te engancha desde un principio.
miércoles, junio 14th 2017en10:39
Hola Ramón,
Perdona paro como sabes soy muy nuevo, ¿Se publico una segunda parte?, Estoy leyendo sobre sistemas y desde hace unos dias me tropiezo siempre con el libro al que haces referencia. Me he propuesto leerlo este verano.
Gracias, un saludo.
miércoles, junio 14th 2017en13:37
Hola Elabuleomanyo
Si te refieres al libro, no hay segunda parte.
Si te refieres al artículo, publique 5 partes.
Si poner «Momentum» en el buscador (arriba a la derecha) las encontrarás rápidamente.
El libro es muy recomendable.
Saludos.
jueves, julio 20th 2017en09:45
Hola Ramón,
Te deseo unas buenas vacaciones, te las mereces.
Ya he leído todos los artículos de tu web sobre el sistema de Momentum, y ya he iniciado la lectura del libro ‘Acciones en Marcha’, me tropiezo en encontrar el sistema de clasificación, pues no veo las formulas del momemtun y como obtener su valor,
Por lo que he leído, se calcula la pendiente de la recta de regresión de los precios de cada acción, pero luego se habla de R2; no se que es, ni como se calcula y que se hace con este valor ¿se suma, cómo se opera con la pendiente?. He visto las tabla de primeros del año 17 de las acciones y no veo de donde sacas las columnas: ‘la pendiente analizada’, Determinación’, y el Marcador.
Hoy la ver las alertas veo que operamos con CSX, pero veo que esta acción tiene gaps en los 90 días previos, ¿usamos alguna otra regla que no he leído?
¿.Donde podría encontrar las formulas para el calculo de los 92 días de cotización y como extenderla al año?, ¿cómo calculo R2 y como lo opero con la pendiente?.
Gracias, un saludo.
Andrés.
jueves, julio 20th 2017en18:48
Hola Andrés, te voy contestando:
1.- R2 es el coeficiente de determinación.
2.- La clasificación o marcador, resulta de multiplicar la regresión exponencial por el coeficiente de determinación.
3.- Las formulas para excell vienen en el libro. Las formulas para amibroker vienen en el código «Momentum Clenow» que tienes en la zona de descargas: https://www.bolsaycartera.com/momentum-clenow/
Saludos.
viernes, julio 21st 2017en08:42
Gracias Ramón,
Sigo estudiando, veo en el código de AmiPro que las formulas de la recta de regresión exponencial y el R (cuadrado), son directas. En una página de estadística he podido ver las formulas y no son nada fáciles de implementar.
Yo no puedo usar AmiPro, por mi ordenador.
Lo intentaré con ProRealTime o con Visual..
¿Donde puedo ver los comandos de AmiPro, para intentar pasarlos a otro código?
Un Saludo
Andrés
viernes, julio 21st 2017en09:13
Los puedes ver en el siguiente enlace:
https://www.amibroker.com/guide/afl/
Saludos