martes, 28 de julio de 2015

Sistema Buy & Hope, de Randall Mauro


En su libro, Buy&Hope, Randall Mauro describe su sistema de inversión, con el que dice que se ha hecho rico, batiendo a los índices e invirtiendo muy poco tiempo a la semana en gestionar sus inversiones.

Vamos a analizarlo con detalle.



REGLAS

El sistema es muy simple:

1) ENTRADA
Compra el ETF QQQ cuando el mínimo del índice NASDAQ-Composite es mayor que su media de 20 días durante 3 días consecutivos

2) SALIDA
Cierra la posición y va a liquidez cuando el máximo del NASDAQ-Composite es menor que su media de 20 días durante 3 días consecutivos

3) POSITION SIZE
En cada operación usa todo el capital disponible en la cartera en ese momento.

Como vemos, solo opera el lado alcista del mercado.


CODIGO DEL SISTEMA

Para programar este sistema, vamos a usar el software Amibroker


El código del sistema escrito para Amibroker es:

// Sistema Buy&Hope, de Randall Mauro
// Programado por Antonio Mangas Julio 2015 
// Las señales para comprar y vender las da el índice NASDAQ Composite pero opera el  ETF QQQ
   NLow = Foreign("COMPQX", "L", 1);
   NHigh = Foreign ("COMPQX", "H", 1);
   NASDAQ = Foreign ("COMPQX", "C",1);

// VARIABLES
   MA20 = MA(NASDAQ,20);

// Opera en el cierre del día en el que se produce la señal de compra o venta
   SetTradeDelays (0,0,0,0);
   BuyPrice = C;
   SellPrice = C;
  
// COMPRA el ETF QQQ
// si los minimos de 3 dias seguidos del Nasdaq Composite son mayores que su media de 20 dias
// VENDE el ETF QQQ
// si los máximos de 3 dias consecutivos del Nasdaq Composite son menores que su media de 20 dias
   Buy = (NLow>MA20) AND (Ref(NLow,-1)>Ref(MA20,-1)) AND (Ref(NLow,-2)>Ref(MA20,-2));
   Sell = (NHigh < MA20) AND (Ref(NHigh,-1)<Ref(MA20, -1)) AND ( Ref(NHigh,-2)<Ref(MA20, -2));

// ELIMINAR SEÑALES EXTRA
   Buy = ExRem (Buy,Sell);
   Sell = ExRem (Sell,Buy);



Vamos a probar el sistema con un capital inicial de 100.000$, desde el 1 de Enero de 1999 hasta hoy, a ver que resultados produce.

Elegimos ese periodo, porque en él ha habido varios tramos alcistas y bajistas, con lo que podremos comprobar bien que tal se comporta el sistema ante diferentes condiciones del mercado. Abajo vemos la gráfica del ETF QQQ en el periodo elegido, y comprobamos como en ella hay varios tramos alcistas y bajistas.

ETF QQQ 1999-2015



 Corremos la simulación y obtenemos las siguientes 72 operaciones:

#
Date
Price
Ex. date
Ex. Price
% chg
Profit
Shares
Position value
Cum. Profit
1
10/3/99
50,97
26/5/99
51,24
0,53%
529,72
1961,94
100000
529,72
2
21/6/99
56,71
27/7/99
57
0,51%
514,08
1772,7
100529,72
1043,81
3
18/8/99
57,75
28/9/99
60,78
5,25%
5301,52
1749,68
101043,8
6345,32
4
11/10/99
64,66
3/4/00
102,94
59,20%
62958,53
1644,68
106345,33
69303,86
5
6/6/00
91,25
27/7/00
91,88
0,69%
1168,89
1855,38
169303,86
70472,75
6
21/8/00
95,5
13/9/00
93,5
-2,09%
-3570,11
1785,06
170472,76
66902,64
7
6/11/00
82,44
13/11/00
70,06
-15,02%
-25063,74
2024,53
166902,64
41838,9
8
17/1/01
63,88
7/2/01
60,6
-5,13%
-7282,9
2220,4
141838,9
34556
9
16/4/01
40,25
1/6/01
46,05
14,41%
19389,44
3343,01
134556,01
53945,44
10
8/6/01
47,35
14/6/01
42,25
-10,77%
-16581,24
3251,22
153945,45
37364,2
11
3/7/01
45,64
10/7/01
40,5
-11,26%
-15470,03
3009,73
137364,2
21894,17
12
3/8/01
43,18
13/8/01
41,1
-4,82%
-5871,7
2822,93
121894,17
16022,48
13
10/10/01
32,5
18/1/02
38,59
18,74%
21740,83
3569,92
116022,48
37763,3
14
7/3/02
37,68
28/3/02
36,06
-4,30%
-5922,94
3656,14
137763,31
31840,36
15
16/5/02
32,86
31/5/02
30,04
-8,58%
-11314,36
4012,18
131840,36
20526
16
19/8/02
25,3
5/9/02
22,17
-12,37%
-14910,92
4763,87
120526
5615,08
17
16/10/02
22,78
11/12/02
25,72
12,91%
13630,74
4636,31
105615,08
19245,82
18
8/1/03
25,9
23/1/03
25,51
-1,51%
-1795,59
4604,09
119245,82
17450,23
19
18/3/03
26,93
6/8/03
30,19
12,11%
14217,89
4361,32
117450,23
31668,11
20
20/8/03
32,29
29/9/03
33,14
2,63%
3466,02
4077,67
131668,12
35134,14
21
7/10/03
34,65
19/11/03
34,21
-1,27%
-1715,99
3899,97
135134,13
33418,15
22
2/12/03
35,7
2/2/04
36,97
3,56%
4746,25
3737,2
133418,15
38164,4
23
31/3/04
35,8
30/4/04
34,77
-2,88%
-3975,12
3859,34
138164,4
34189,28
24
28/5/04
36,55
8/7/04
35,7
-2,33%
-3120,68
3671,39
134189,28
31068,59
25
25/8/04
34,55
7/1/05
38,55
11,58%
15174,37
3793,59
131068,59
46242,96
26
16/2/05
37,98
16/3/05
36,62
-3,58%
-5236,71
3850,53
146242,96
41006,25
27
9/5/05
36,03
28/6/05
37,15
3,11%
4383,21
3913,58
141006,25
45389,46
28
12/7/05
38,3
15/8/05
39,45
3,00%
4365,48
3796,07
145389,45
49754,94
29
8/9/05
39,4
23/9/05
38,75
-1,65%
-2470,58
3800,89
149754,93
47284,36
30
2/11/05
39,35
22/12/05
41,4
5,21%
7673,01
3742,93
147284,36
54957,37
31
6/1/06
42,68
7/2/06
40,63
-4,80%
-7442,89
3630,68
154957,37
47514,48
32
1/3/06
41,66
2/5/06
41,55
-0,26%
-389,5
3540,91
147514,48
47124,98
33
9/5/06
42,04
15/5/06
40,16
-4,47%
-6579,33
3499,64
147124,98
40545,65
34
5/7/06
38,15
13/7/06
36,31
-4,82%
-6778,61
3684,03
140545,65
33767,04
35
16/8/06
38,58
26/12/06
43,11
11,74%
15706,7
3467,26
133767,04
49473,74
36
16/1/07
45,28
1/3/07
43,13
-4,75%
-7097,36
3301,1
149473,74
42376,38
37
26/3/07
44,3
30/7/07
48,55
9,59%
13659,13
3213,91
142376,38
56035,52
38
4/9/07
49,68
12/11/07
48,73
-1,91%
-2983,77
3140,81
156035,52
53051,74
39
7/12/07
52,33
19/12/07
49,88
-4,68%
-7165,62
2924,74
153051,74
45886,13
40
26/12/07
52,5
7/1/08
48,17
-8,25%
-12032,13
2778,78
145886,13
33853,99
41
26/3/08
44,7
11/6/08
47,38
6,00%
8025,25
2994,5
133854
41879,25
42
25/7/08
45,27
5/9/08
43,45
-4,02%
-5704
3134,07
141879,24
36175,24
43
10/12/08
29,91
15/1/09
29,1
-2,71%
-3687,8
4552,83
136175,25
32487,45
44
10/2/09
30,34
19/2/09
28,79
-5,11%
-6768,48
4366,76
132487,45
25718,97
45
17/3/09
29,33
24/6/09
35,59
21,34%
26832,62
4286,36
125718,98
52551,59
46
17/7/09
37,56
19/8/09
39,3
4,63%
7067,09
4061,54
152551,6
59618,68
47
25/8/09
40,37
30/10/09
40,96
1,46%
2332,8
3953,89
159618,68
61951,48
48
11/11/09
43,9
26/1/10
44,35
1,03%
1660,09
3689,1
161951,48
63611,57
49
19/2/10
44,83
6/5/10
46,57
3,88%
6350,3
3649,6
163611,57
69961,88
50
16/6/10
46,9
28/6/10
45,11
-3,82%
-6486,82
3623,92
169961,87
63475,06
51
15/7/10
45,6
13/8/10
44,72
-1,93%
-3154,78
3584,98
163475,06
60320,28
52
8/9/10
46,25
10/3/11
56,14
21,38%
34282,54
3466,38
160320,27
94602,82
53
29/3/11
57,08
18/5/11
58,04
1,68%
3272,93
3409,3
194602,81
97875,74
54
30/6/11
57,05
1/8/11
57,73
1,19%
2358,55
3468,46
197875,75
100234,3
55
31/8/11
55,06
26/9/11
54,78
-0,51%
-1018,26
3636,66
200234,3
99216,04
56
12/10/11
56,6
21/11/11
54,34
-3,99%
-7954,56
3519,72
199216,03
91261,47
57
5/12/11
57,24
11/4/12
66,45
16,09%
30774,25
3341,4
191261,47
122035,72
58
1/5/12
66,87
8/5/12
64,52
-3,51%
-7802,96
3320,41
222035,72
114232,76
59
19/6/12
64,24
25/7/12
62,54
-2,65%
-5669,3
3334,88
214232,77
108563,46
60
1/8/12
64,61
10/10/12
66,92
3,58%
7456,77
3228,04
208563,46
116020,23
61
27/11/12
64,96
8/4/13
68,22
5,02%
10840,92
3325,43
216020,23
126861,15
62
12/4/13
69,94
19/4/13
68,09
-2,65%
-6000,76
3243,65
226861,14
120860,39
63
26/4/13
69,57
14/6/13
72,28
3,90%
8603,3
3174,65
220860,39
129463,69
64
3/7/13
72,03
19/8/13
75,35
4,61%
10576,42
3185,67
229463,7
140040,11
65
11/9/13
78,06
29/1/14
84,93
8,80%
21125,74
3075,07
240040,11
161165,85
66
13/2/14
89,63
26/3/14
87,37
-2,52%
-6585,24
2913,82
261165,86
154580,61
67
23/5/14
89,88
4/8/14
95,32
6,05%
15408,53
2832,45
254580,62
169989,14
68
18/8/14
98,15
25/9/14
97,74
-0,42%
-1127,82
2750,78
269989,14
168861,32
69
24/10/14
98,62
16/12/14
99,98
1,38%
3707,68
2726,24
268861,31
172569
70
23/12/14
104,23
7/1/15
101,36
-2,75%
-7505,26
2615,07
272568,99
165063,75
71
6/2/15
103,13
12/3/15
105,8
2,59%
6862,41
2570,19
265063,76
171926,16
72
23/3/15
108,32
16/6/15
108,8
0,44%
1204,99
2510,4
271926,15
173131,15

En la gráfica vemos las compras marcadas con una flecha verde y las ventas con una roja.







En la gráfica siguiente podemos ver la curva de capital del sistema para el periodo dado, donde comprobamos que, efectivamente, el sistema gana dinero:

Portfolio Equity


Y a continuación la curva de Drawdowns, donde comprobamos que el sistema tiene un máximo drawdown del 45%:

Drawdowns


En la tabla siguiente, se presentan todos los ratios estadísticos del sistema:

Statistics
All trades
Initial capital
100000.00
Ending capital
273131.15
Net Profit
173131.15
Net Profit %
173.13 %
Exposure %
62.19 %
Net Risk Adjusted Return %
278.38 %
Annual Return %
6.29 %
Risk Adjusted Return %
10.12 %
Total transaction costs
0.00

All trades
72
 Avg. Profit/Loss
2404.60
 Avg. Profit/Loss %
1.83 %
 Avg. Bars Held
36.78

Winners
36 (50.00 %)
 Total Profit
417369.01
 Avg. Profit
11593.58
 Avg. Profit %
8.05 %
 Avg. Bars Held
55.72
 Max. Consecutive
5
 Largest win
62958.53
 # bars in largest win
122

Losers
36 (50.00 %)
 Total Loss
-244237.86
 Avg. Loss
-6784.38
 Avg. Loss %
-4.39 %
 Avg. Bars Held
17.83
 Max. Consecutive
4
 Largest loss
-25063.74
 # bars in largest loss
6

Max. trade drawdown
-25063.74
Max. trade % drawdown
-15.46 %
Max. system drawdown
-88046.56
Max. system % drawdown
-45.46 %
Recovery Factor
1.97
CAR/MaxDD
0.14
RAR/MaxDD
0.22
Profit Factor
1.71
Payoff Ratio
1.71
Standard Error
26036.47
Risk-Reward Ratio
0.31
Ulcer Index
21.71
Ulcer Performance Index
0.04
Sharpe Ratio of trades
0.29
K-Ratio
0.0231




CONCLUSIONES

El sistema tiene una esperanza matemática positiva:

E = 50%*11.593 – 50%*6.784 = 2.404€ / trade

por lo que, podemos decir que es un sistema ganador.


Gana dinero, si, un 6,29% anual de media, pero para hacerlo debe soportar un drawdown del 45% lo que, a mi parecer , es excesivo.

Para mí, dicho motivo es suficiente para desestimarlo.
Yo no usaría este sistema con dinero real, ya que para hacerlo, hay que estar dispuesto a ver desvanecerse casi el 50% de tu cartera en algún momento.
Hay sistemas mejores.

NOTA.

Todos los resultados corresponden al código descrito anteriormente, que podría contener errores. Si así fuera, los resultados, lógicamente, serían otros.