En el primer post pudimos ver que hay un edge negativo dentro de la serie
df['decision1a']=np.where((df.Hour>=9)&(df.Hour<=11),1,0)
df['variable1a']=np.where(df.decision1a==1,-df.diferencia,0)
lo pasamos a positivo y analizamos la serie
total aciertos 5628
===============
total fallos 5341
===============
total 10969
===============
% aciertos 51
===============
suma aciertos 1721.13
===============
suma fallos -1558.11
===============
ratio 1.10462675934
===============
sharpe 0.860376683514
===============
<matplotlib.figure.Figure at 0x7f32b40dff50>
95% de no perder mas de
********************************
-1.09
Mediana de la distribucion, trata que sea positiva
********************************
0.00999999999999
media de la distribucion
********************************
0.0391788687223
maxima ganancia mensual
********************************
4.96
maxima perdida mensual
********************************
-4.38
desviacion tipica
********************************
0.710625517113
dos veces la desviacion tipica
********************************
-1.3820721655
tres veces la desviacion tipica
********************************
-2.09269768262
Podemos ver cierta tendencia en la serie
Hour |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
All |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
0,01 |
|
-0,15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,14 |
8 |
|
3,15 |
-0,2 |
-1,4210854715202E-14 |
-3,6 |
-1,84 |
0,93 |
-2,03 |
7,06 |
2,52 |
3,84 |
-1,22 |
6,91 |
7,61 |
2,69 |
17,08 |
4,46 |
1,27 |
48,63 |
9 |
|
0,26 |
|
0,66 |
-0,1 |
5,39 |
2,71 |
-0,74 |
23,14 |
4,75 |
-6,55 |
10,02 |
7,42 |
6,58 |
8,43 |
-2,05 |
-1,41 |
0,04 |
58,55 |
10 |
9,09 |
-0,91 |
|
0,01 |
|
|
10,86 |
6,09 |
32,72 |
12,1 |
-2,74 |
-14,69 |
2,65 |
-3,41 |
3,07 |
0,84 |
2,57 |
3,4 |
61,65 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
-0,03 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,03 |
14 |
0,09 |
0,43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,52 |
15 |
-0,21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,21 |
16 |
-4,34 |
-1,63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-5,97 |
17 |
|
0,09 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,09 |
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
-0,07 |
|
|
|
|
|
|
|
|
|
|
|
-0,07 |
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All |
4,6 |
1,4 |
-0,2 |
0,52 |
-3,7 |
3,55 |
14,43 |
3,32 |
62,92 |
19,37 |
-5,45 |
-5,89 |
16,98 |
10,78 |
14,19 |
15,87 |
5,62 |
4,71 |
163,02 |
le aplicamos nuestro rimer arbol de decision
df.variable1a=df.variable1a.shift(-1)
total aciertos 3258
===============
total fallos 2964
===============
total 6222
===============
% aciertos 52
===============
suma aciertos 984.54
===============
suma fallos -830.78
===============
ratio 1.18507908231
===============
sharpe 1.09063943062
===============
<matplotlib.figure.Figure at 0x7f32b40f7050>
95% de no perder mas de
********************************
-0.84
Mediana de la distribucion, trata que sea positiva
********************************
0.0
media de la distribucion
********************************
0.0369382950355
maxima ganancia mensual
********************************
4.96
maxima perdida mensual
********************************
-4.09
desviacion tipica
********************************
0.528148547685
dos veces la desviacion tipica
********************************
-1.01935880034
tres veces la desviacion tipica
********************************
-1.54750734802
Vemos que mejoran notablemente los resultados.
total aciertos 5628 ===> 3258
===============
total fallos 5341 ===> 2964
===============
total 10969 ===> 6222
===============
% aciertos 51 ===> 52
===============
suma aciertos 1721.13 ===> 984.54
===============
suma fallos -1558.11 ===> -830.78
===============
ratio 1.10462675934 ===> 1.18507908231
===============
auma total 163.02 ===> 153.76
===============
===============^^^^^^^^^^^^^^==================
95% de no perder mas de
________________________
-7.64 -2.579
Mediana de la distribucion, trata que sea positiva
________________________
3.92 8.77
media de la distribucion
________________________
0.865639744054 11.7903579457
maxima ganancia mensual
________________________
81.79 66.97
maxima perdida mensual
________________________
-17.3 -5.63
desviacion tipica
________________________
3.6267697091 2.58724462202
dos veces la desviacion tipica
________________________
-6.38789967415 -4.35632201197
tres veces la desviacion tipica
________________________
-33.9883639018 -30.5818587178
ratio sharpe anualizado
________________________
0.860381850444 1.09063943062
Pasamos a tener un ratio de sharpe de 1,10
Hour |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
All |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
2,6 |
-0,64 |
1,38 |
-2,42 |
-1,7 |
1,38 |
0,6 |
7,51 |
6,53 |
2,43 |
7,92 |
-1,39 |
6,04 |
-0,14 |
7,34 |
2,78 |
-0,36 |
39,86 |
9 |
|
0,5 |
|
0,88 |
-0,99 |
2,2 |
3,1 |
0,9 |
16,96 |
12,93 |
3,95 |
7,54 |
11,74 |
11,37 |
4,53 |
3,59 |
-0,98 |
-0,64 |
77,58 |
10 |
0,74 |
0,43 |
|
|
|
|
5,41 |
2,78 |
26,84 |
4,95 |
1,1 |
-6,85 |
-8,36 |
-2,17 |
4,39 |
4,21 |
4,63 |
1,65 |
39,75 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
-0,03 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,03 |
14 |
-0,04 |
0,43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,39 |
15 |
-0,22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,22 |
16 |
-3,32 |
-0,25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-3,57 |
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All |
-2,87 |
3,71 |
-0,64 |
2,26 |
-3,41 |
0,5 |
9,89 |
4,28 |
51,31 |
24,41 |
7,48 |
8,61 |
1,99 |
15,24 |
8,78 |
15,14 |
6,43 |
0,65 |
153,76 |
Aplicamos otro posible arbol
df['variable3a']=np.where(df.decision3a==1,df.variable2a,0)
total aciertos 2999
===============
total fallos 2707
===============
total 5706
===============
% aciertos 52
===============
suma aciertos 912.45
===============
suma fallos -754.89
===============
ratio 1.20871915113
===============
sharpe 1.16936675346
===============
<matplotlib.figure.Figure at 0x7f32b4c5cbd0>
95% de no perder mas de
********************************
-0.8
Mediana de la distribucion, trata que sea positiva
********************************
0.0
media de la distribucion
********************************
0.0378511969826
maxima ganancia mensual
********************************
4.96
maxima perdida mensual
********************************
-3.74
desviacion tipica
********************************
0.504297526279
dos veces la desviacion tipica
********************************
-0.970743855575
tres veces la desviacion tipica
********************************
-1.47504138185
y lo podemos comparar con la serie
<matplotlib.figure.Figure at 0x7f32b42fc290>
total aciertos 3258 ===> 2999
===============
total fallos 2964 ===> 2707
===============
total 6222 ===> 5706
===============
% aciertos 52 ===> 52
===============
suma aciertos 984.54 ===> 912.45
===============
suma fallos -830.78 ===> -754.89
===============
ratio 1.18507908231 ===> 1.20871915113
===============
auma total 153.76 ===> 157.56
===============
===============^^^^^^^^^^^^^^==================
95% de no perder mas de
________________________
-2.579 -2.13
Mediana de la distribucion, trata que sea positiva
________________________
8.77 9.48
media de la distribucion
________________________
0.818167232075 13.1568331118
maxima ganancia mensual
________________________
66.97 67.3
maxima perdida mensual
________________________
-5.63 -4.42
desviacion tipica
________________________
2.58724462202 2.40951756485
dos veces la desviacion tipica
________________________
-4.35632201197 -3.98062680431
tres veces la desviacion tipica
________________________
-30.5818587178 -32.5237259293
ratio sharpe anualizado
________________________
1.09063943062 1.16936675346
Pasamos a tener un ratio de sharpe de 1,16
Hour |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
All |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
2,39 |
-0,57 |
1,21 |
-2,37 |
-1,44 |
1,55 |
-0,43 |
5,93 |
5,63 |
4,61 |
7,63 |
-0,66 |
5,78 |
-0,34 |
5,5 |
2,34 |
-0,28 |
36,48 |
9 |
|
0,5 |
|
0,92 |
-0,55 |
1,77 |
3,21 |
2,03 |
22,32 |
15,08 |
3,83 |
7,06 |
13,21 |
10,54 |
4,53 |
3,95 |
-0,76 |
-0,78 |
86,86 |
10 |
1,85 |
0,8 |
|
|
|
|
5,86 |
0,53 |
23,88 |
7,78 |
3,31 |
-10,61 |
-10 |
1,27 |
4,26 |
3,78 |
3,94 |
0,46 |
37,11 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
-0,03 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,03 |
14 |
-0,04 |
0,43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0,39 |
15 |
-0,22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-0,22 |
16 |
-2,83 |
-0,2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-3,03 |
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All |
-1,27 |
3,92 |
-0,57 |
2,13 |
-2,92 |
0,33 |
10,62 |
2,13 |
52,13 |
28,49 |
11,75 |
4,08 |
2,55 |
17,59 |
8,45 |
13,23 |
5,52 |
-0,6 |
157,56 |
Podemos aplicar un filtro de año
df['variable4a']=np.where(df.decision4a==1,df.variable3a,0)
por ejemplo mayior de 2005
total aciertos 2475
===============
total fallos 2206
===============
total 4681
===============
% aciertos 52
===============
suma aciertos 863.81
===============
suma fallos -707.54
===============
ratio 1.22086383809
===============
sharpe 1.17043025013
===============
<matplotlib.figure.Figure at 0x7f32b569b6d0>
95% de no perder mas de
********************************
-0.8
Mediana de la distribucion, trata que sea positiva
********************************
0.0
media de la distribucion
********************************
0.0375857347059
maxima ganancia mensual
********************************
4.96
maxima perdida mensual
********************************
-3.74
desviacion tipica
********************************
0.499311773125
dos veces la desviacion tipica
********************************
-0.961037811545
tres veces la desviacion tipica
********************************
-1.46034958467
y lo podemos comparar
<matplotlib.figure.Figure at 0x7f32ac9122d0>
total aciertos 2999 ===> 2475
===============
total fallos 2707 ===> 2206
===============
total 5706 ===> 4681
===============
% aciertos 52 ===> 52
===============
suma aciertos 912.45 ===> 863.81
===============
suma fallos -754.89 ===> -707.54
===============
ratio 1.20871915113 ===> 1.22086383809
===============
auma total 157.56 ===> 156.27
===============
===============^^^^^^^^^^^^^^==================
95% de no perder mas de
________________________
-2.13 1.3605
Mediana de la distribucion, trata que sea positiva
________________________
9.48 12.495
media de la distribucion
________________________
0.838408325385 16.1822159359
maxima ganancia mensual
________________________
67.3 67.3
maxima perdida mensual
________________________
-4.42 -4.38
desviacion tipica
________________________
2.40951756485 2.39449837762
dos veces la desviacion tipica
________________________
-3.98062680431 -3.95504086915
tres veces la desviacion tipica
________________________
-32.5237259293 -30.1747480514
ratio sharpe anualizado
________________________
1.16936675346 1.17043025013
No es que mejore mucho pero algo le mejora
Hour |
2000 |
2001 |
2002 |
2003 |
2004 |
2005 |
2006 |
2007 |
2008 |
2009 |
2010 |
2011 |
2012 |
2013 |
2014 |
2015 |
2016 |
2017 |
All |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
-1,44 |
1,55 |
-0,43 |
5,93 |
5,63 |
4,61 |
7,63 |
-0,66 |
5,78 |
-0,34 |
5,5 |
2,34 |
-0,28 |
35,82 |
9 |
|
|
|
|
|
1,77 |
3,21 |
2,03 |
22,32 |
15,08 |
3,83 |
7,06 |
13,21 |
10,54 |
4,53 |
3,95 |
-0,76 |
-0,78 |
85,99 |
10 |
|
|
|
|
|
|
5,86 |
0,53 |
23,88 |
7,78 |
3,31 |
-10,61 |
-10 |
1,27 |
4,26 |
3,78 |
3,94 |
0,46 |
34,46 |
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
13 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
All |
|
|
|
|
|
0,33 |
10,62 |
2,13 |
52,13 |
28,49 |
11,75 |
4,08 |
2,55 |
17,59 |
8,45 |
13,23 |
5,52 |
-0,6 |
156,27 |
por último podemos ver si aplicando algun tipo de media al edge podemos mejorar
total aciertos 1245
===============
total fallos 1118
===============
total 2363
===============
% aciertos 52
===============
suma aciertos 419.15
===============
suma fallos -336.85
===============
ratio 1.24432239869
===============
sharpe 0.912673194343
===============
<matplotlib.figure.Figure at 0x7f42004067d0>
95% de no perder mas de
********************************
-0.48
Mediana de la distribucion, trata que sea positiva
********************************
0.0
media de la distribucion
********************************
0.0197772999724
maxima ganancia mensual
********************************
2.81
maxima perdida mensual
********************************
-2.18
desviacion tipica
********************************
0.331525620095
dos veces la desviacion tipica
********************************
-0.643273940218
tres veces la desviacion tipica
********************************
-0.974799560314
Pero no lo mejora y no le incluímos
0 Comentarios