Esta frase que puso de moda un programa infantil ochentero, viene al dedillo en el artículo de hoy gracias a jose7674 , el creador del mítico blog http://jose7674.blogspot.com.es/
Pasando una crísis de inspiración le pregunté a Jose si tenía alguna cosilla interesante por ahí para publicar en este blog.
Lo que me mandó, no es solo una curiosidad , es un completo basket sobre una pauta estacionaria , cuyo párrafo es reproducido íntegramente.
Comprar el 1er dia del mes... sigue funcionando?
Bueno, he hecho una revisión al sistema clásico de comprar el primer dia del mes, para ver si realmente es algo a tener en cuenta en nuestros sistemas de Trading.
Este sistema, compra en la
apertura del 1er dia de trading y vende en la apertura del 2. Sin más.
Fácil y rápido, ninguna complicación y fácil de programar.
He desarrollado 2 variantes del sistema clásico, y los he pasado por el Ibex, DAX y DJI.
El primer sistema (el inferior), compra el primer dia de trading en apertura y vende el segundo dia en apertura
El
2 sistema (en el medio), aplica el filtro de una media. Si el precio
esta por encima de dicha media, se compra en la apertura del 1er dia del
mes y se vende en la apertura del segundo
El 3er sistema aplica una media de control y, ademas, añade un stoploss optimizable del 1-5%.
Asi que vamos a ver los resultados en el Ibex...Como podeis ver, resultados similares... pero el sistema 3 (el de arriba), reduce el drawdown y el número de operaciones, con lo que se reducen las comisiones (que no se han incluido en el backtest).
Las pruebas se han hecho en el contado del ibex.
DAX 30
Mismos resultados. El sistema con filtro en la media y stoploss gana más y opera menos.
----------------
Vamos a ver el DAX (en este caso futuro) desde el 2007. Es interesante porque en los backtests parece que el sistema se ha aplanado en los ultimos años y ha dejado de funcionar tan bien como lo hacia...
Parece que teniamos razón... el sistema de comprar sin más se mantiene plano, con ligeras ganancias y pérdidas.
Los sistemas con filtros mejoran (mucho) el resultado. Y si añadimos el stoploss aun mejora muchísimo más.
---------------------------
Y por ultimo el DJI.---------------------------
Aquí los 3 sistemas consiguen unos beneficios en puntos similares. Pero, nuevamente, el sistema 3 consigue ganar prácticamente lo mismo operando menos y reduciendo el drawdown, por lo que su curva es mucho mas estable y las comisiones se ven reducidas.
-----------------------
Os dejo el sistema 3 para prorealtime
////SISTEMA DE COMPRA EL 1ER DIA DEL MES
////Por jose7674
c2 = close > average[m](close)
If (MONTH = 1 or MONTH = 3 or MONTH = 5 or MONTH = 7 or MONTH = 8 or MONTH = 10 or MONTH = 12) and DAY = 31 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
If (MONTH = 1 or MONTH = 3 or MONTH = 5 or MONTH = 7 or MONTH = 8 or MONTH = 10 or MONTH = 12) and (DAY = 29 or day=30) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
IF MONTH = 2 and DAY = 28 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
IF MONTH = 2 and (DAY = 26 or day=27) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
//
If (month = 4 or MONTH = 6 or MONTH = 9 or MONTH =11) and DAY = 30 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
If (month = 4 or MONTH = 6 or MONTH = 9 or MONTH =11) and (DAY = 28 or day=29) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
if longonmarket then
sell at market
endif
////FINIf (MONTH = 1 or MONTH = 3 or MONTH = 5 or MONTH = 7 or MONTH = 8 or MONTH = 10 or MONTH = 12) and DAY = 31 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
If (MONTH = 1 or MONTH = 3 or MONTH = 5 or MONTH = 7 or MONTH = 8 or MONTH = 10 or MONTH = 12) and (DAY = 29 or day=30) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
IF MONTH = 2 and DAY = 28 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
IF MONTH = 2 and (DAY = 26 or day=27) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
//
If (month = 4 or MONTH = 6 or MONTH = 9 or MONTH =11) and DAY = 30 and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
If (month = 4 or MONTH = 6 or MONTH = 9 or MONTH =11) and (DAY = 28 or day=29) and (dayofweek =5) and c2 then
buy 1 shares at market
set stop %loss sl
ENDIF
if longonmarket then
sell at market
endif
nota: Agradezcamos desde aquí semejante currada de jose7674 digna de haber aparecido en su blog y que amablemente me ha cedido para incluirlo en este.