Path: blob/master/examples/WalkForwardOptimization.ipynb
1071 views
Kernel: Python 3 (ipykernel)
In [1]:
In [2]:
In [3]:
In [4]:
Out[4]:
Date
2014-09-17 00:00:00+00:00 457.334015
2014-09-18 00:00:00+00:00 424.440002
2014-09-19 00:00:00+00:00 394.795990
2014-09-20 00:00:00+00:00 408.903992
2014-09-21 00:00:00+00:00 398.821014
...
2021-08-21 00:00:00+00:00 48905.492188
2021-08-22 00:00:00+00:00 49321.652344
2021-08-23 00:00:00+00:00 49546.148438
2021-08-24 00:00:00+00:00 47706.117188
2021-08-25 00:00:00+00:00 47449.765625
Name: Close, Length: 2531, dtype: float64
In [5]:
Out[5]:
In [6]:
In [7]:
Out[7]:
In [8]:
Out[8]:
(550, 30) 30
(180, 30) 30
In [9]:
In [10]:
Out[10]:
split_idx
0 0.229171
1 0.493885
2 1.576114
3 1.255349
4 1.697116
5 1.606954
6 2.000155
7 2.398767
8 2.377776
9 2.539653
10 3.037085
11 2.605911
12 2.259943
13 2.064727
14 1.840279
15 1.695307
16 0.631063
17 0.493426
18 0.466068
19 -0.139716
20 0.576409
21 0.395839
22 0.402171
23 0.779667
24 0.484766
25 1.206379
26 1.356616
27 1.193132
28 1.207407
29 1.740877
Name: sharpe_ratio, dtype: float64
In [11]:
In [12]:
Out[12]:
fast_window slow_window split_idx
10 11 0 0.856870
1 1.125426
2 0.497444
3 0.366434
4 0.845251
...
48 49 25 -0.072416
26 -0.403375
27 -1.093233
28 -0.921787
29 -0.593033
Name: sharpe_ratio, Length: 23400, dtype: float64
In [13]:
In [14]:
Out[14]:
MultiIndex([(27, 29, 0),
(19, 27, 1),
(21, 25, 2),
(23, 25, 3),
(23, 25, 4),
(44, 45, 5),
(30, 48, 6),
(37, 43, 7),
(10, 21, 8),
(10, 21, 9),
(10, 21, 10),
(10, 21, 11),
(10, 21, 12),
(10, 21, 13),
(10, 21, 14),
(10, 22, 15),
(10, 22, 16),
(10, 22, 17),
(17, 22, 18),
(18, 19, 19),
(13, 21, 20),
(45, 49, 21),
(45, 49, 22),
(18, 21, 23),
(13, 21, 24),
(15, 18, 25),
(13, 20, 26),
(13, 20, 27),
(13, 20, 28),
(13, 20, 29)],
names=['fast_window', 'slow_window', 'split_idx'])
In [15]:
In [16]:
Out[16]:
[[27 29]
[19 27]
[21 25]
[23 25]
[23 25]
[44 45]
[30 48]
[37 43]
[10 21]
[10 21]
[10 21]
[10 21]
[10 21]
[10 21]
[10 21]
[10 22]
[10 22]
[10 22]
[17 22]
[18 19]
[13 21]
[45 49]
[45 49]
[18 21]
[13 21]
[15 18]
[13 20]
[13 20]
[13 20]
[13 20]]
In [17]:
Out[17]:
In [18]:
Out[18]:
split_idx
0 1.773721
1 2.255167
2 1.605040
3 2.302425
4 3.470567
5 3.208988
6 3.335303
7 3.245646
8 3.099480
9 1.633831
10 -0.118486
11 0.140842
12 0.192643
13 -1.635978
14 -1.918136
15 -0.525469
16 2.720792
17 3.453221
18 1.631937
19 0.085609
20 0.291843
21 0.060253
22 1.204436
23 0.876595
24 2.097729
25 3.843597
26 4.741930
27 3.892515
28 1.066166
29 0.470709
Name: sharpe_ratio, dtype: float64
In [19]:
Out[19]:
fast_window slow_window split_idx
10 11 0 -1.018512
1 -0.279485
2 -0.097736
3 1.209532
4 2.518178
...
48 49 25 0.938274
26 4.069947
27 3.016070
28 0.108060
29 -0.482026
Name: sharpe_ratio, Length: 23400, dtype: float64
In [20]:
In [21]:
Out[21]:
ma_window ma_window split_idx
27 29 0 1.164082
19 27 1 0.501229
21 25 2 1.414590
23 25 3 1.031654
4 1.431372
44 45 5 1.120318
30 48 6 0.425328
37 43 7 -0.564391
10 21 8 3.439371
9 2.783249
10 1.187116
11 1.771893
12 0.341544
13 0.065343
14 0.030836
22 15 1.702848
16 2.727809
17 0.861896
17 22 18 0.476459
18 19 19 0.433287
13 21 20 1.762454
45 49 21 -2.053022
22 -1.580201
18 21 23 0.849560
13 21 24 1.261873
15 18 25 4.088163
13 20 26 3.851092
27 1.234676
28 -1.773549
29 -1.803552
Name: sharpe_ratio, dtype: float64
In [22]:
In [23]:
Out[23]:
In [ ]: