Commit 62cd6faf authored by Dr.李's avatar Dr.李

FIX: bug for wrong output x

parent 3bf550ac
......@@ -485,7 +485,7 @@ def fetch_predict_phase(engine,
ret = dict()
ret['x_names'] = transformer.names
ret['predict'] = {'x': pd.DataFrame(ne_x, columns=transformer.names), 'code': codes,
ret['predict'] = {'x': pd.DataFrame(ne_x, columns=transformer.names, index=codes), 'code': codes,
'y': ne_y.flatten()}
return ret
......@@ -265,77 +265,77 @@
"name": "stderr",
"output_type": "stream",
"text": [
"2020-11-21 15:30:30,922 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 299\n",
"2020-11-21 15:30:34,438 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:34,439 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-21 15:30:34,456 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-21 15:30:34,462 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-21 15:30:34,466 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:34,469 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-21 15:30:34,493 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-21 15:30:34,501 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-21 15:30:34,507 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:34,510 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-21 15:30:34,541 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-21 15:30:34,551 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-21 15:30:34,558 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:34,561 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-21 15:30:34,588 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-21 15:30:36,786 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 300\n",
"2020-11-21 15:30:36,807 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:36,820 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-21 15:30:36,893 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-21 15:30:36,903 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-21 15:30:36,908 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:36,910 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-21 15:30:36,944 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-21 15:30:36,956 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-21 15:30:36,962 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:36,965 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-21 15:30:36,998 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-21 15:30:37,008 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-21 15:30:37,015 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:37,018 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-21 15:30:37,051 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-21 15:30:39,365 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 299\n",
"2020-11-21 15:30:39,375 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:39,380 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-21 15:30:39,446 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-21 15:30:39,459 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-21 15:30:39,466 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:39,469 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-21 15:30:39,502 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-21 15:30:39,515 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-21 15:30:39,523 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:39,526 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-21 15:30:39,560 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-21 15:30:39,572 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-21 15:30:39,578 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:39,582 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-21 15:30:39,621 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-21 15:30:41,522 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 300\n",
"2020-11-21 15:30:41,540 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:41,552 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-21 15:30:41,637 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-21 15:30:41,648 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-21 15:30:41,654 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:41,657 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-21 15:30:41,690 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-21 15:30:41,700 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-21 15:30:41,707 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:41,710 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-21 15:30:41,741 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-21 15:30:41,748 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-21 15:30:41,754 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-21 15:30:41,756 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-21 15:30:41,788 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n"
"2020-11-22 01:05:42,997 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 299\n",
"2020-11-22 01:05:46,864 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:46,867 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-22 01:05:46,892 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-22 01:05:46,899 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-22 01:05:46,903 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:46,906 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-22 01:05:46,933 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-22 01:05:46,944 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-22 01:05:46,951 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:46,954 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-22 01:05:46,983 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-22 01:05:46,992 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-22 01:05:46,999 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:47,002 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-22 01:05:47,029 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-22 01:05:49,109 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 300\n",
"2020-11-22 01:05:49,114 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:49,117 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-22 01:05:49,148 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-22 01:05:49,160 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-22 01:05:49,166 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:49,169 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-22 01:05:49,196 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-22 01:05:49,205 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-22 01:05:49,211 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:49,214 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-22 01:05:49,243 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-22 01:05:49,253 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-22 01:05:49,260 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:49,262 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-22 01:05:49,289 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-22 01:05:51,371 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 299\n",
"2020-11-22 01:05:51,376 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:51,378 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-22 01:05:51,406 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-22 01:05:51,417 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-22 01:05:51,421 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:51,423 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-22 01:05:51,453 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-22 01:05:51,464 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-22 01:05:51,470 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:51,472 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-22 01:05:51,500 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-22 01:05:51,509 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-22 01:05:51,514 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:51,517 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-22 01:05:51,547 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n",
"2020-11-22 01:05:53,957 - ALPHA_MIND - INFO - 2020-01-02 00:00:00: 300\n",
"2020-11-22 01:05:53,962 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:53,965 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 full re-balance\n",
"2020-11-22 01:05:53,998 - ALPHA_MIND - INFO - 2020-01-02 00:00:00 is finished\n",
"2020-11-22 01:05:54,009 - ALPHA_MIND - INFO - 2020-01-16 00:00:00: 300\n",
"2020-11-22 01:05:54,014 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:54,017 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 full re-balance\n",
"2020-11-22 01:05:54,047 - ALPHA_MIND - INFO - 2020-01-16 00:00:00 is finished\n",
"2020-11-22 01:05:54,057 - ALPHA_MIND - INFO - 2020-02-07 00:00:00: 300\n",
"2020-11-22 01:05:54,063 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:54,066 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 full re-balance\n",
"2020-11-22 01:05:54,097 - ALPHA_MIND - INFO - 2020-02-07 00:00:00 is finished\n",
"2020-11-22 01:05:54,107 - ALPHA_MIND - INFO - 2020-02-21 00:00:00: 300\n",
"2020-11-22 01:05:54,111 - ALPHA_MIND - WARNING - winsorize_normal normally should not be done after neutralize\n",
"2020-11-22 01:05:54,114 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 full re-balance\n",
"2020-11-22 01:05:54,143 - ALPHA_MIND - INFO - 2020-02-21 00:00:00 is finished\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 12.9 s\n"
"Wall time: 17.4 s\n"
]
}
],
......
......@@ -87,7 +87,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 3.22 ms\n"
"Wall time: 2 ms\n"
]
}
],
......@@ -134,17 +134,17 @@
" warm start: on, polish: on, time_limit: off\n",
"\n",
"iter objective pri res dua res rho time\n",
" 1 -7.8878e+03 4.61e+00 6.68e+04 1.00e-01 1.28e-03s\n",
" 125 -2.4830e+02 3.58e-07 2.76e-05 5.82e-01 5.35e-03s\n",
" 1 -7.8878e+03 4.61e+00 6.68e+04 1.00e-01 1.40e-03s\n",
" 125 -2.4830e+02 3.58e-07 2.76e-05 5.82e-01 4.57e-03s\n",
"\n",
"status: solved\n",
"solution polish: unsuccessful\n",
"number of iterations: 125\n",
"optimal objective: -248.2989\n",
"run time: 7.43e-03s\n",
"run time: 5.42e-03s\n",
"optimal rho estimate: 1.87e+00\n",
"\n",
"Wall time: 43 ms\n"
"Wall time: 49 ms\n"
]
},
{
......@@ -211,9 +211,9 @@
"12 -2.483e+02 -2.483e+02 +3e-07 5e-13 2e-15 1e-10 8e-10 0.9775 1e-04 1 1 1 | 0 0\n",
"\n",
"OPTIMAL (within feastol=5.3e-13, reltol=1.3e-09, abstol=3.2e-07).\n",
"Runtime: 0.013621 seconds.\n",
"Runtime: 0.015751 seconds.\n",
"\n",
"Wall time: 52 ms\n"
"Wall time: 59 ms\n"
]
},
{
......@@ -277,7 +277,7 @@
"12: -2.4829e+02 -2.4831e+02 1e-02 2e-16 4e-16\n",
"13: -2.4830e+02 -2.4830e+02 1e-04 2e-16 1e-15\n",
"Optimal solution found.\n",
"Wall time: 80.5 ms\n"
"Wall time: 69 ms\n"
]
}
],
......@@ -315,7 +315,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 20.6 ms\n"
"Wall time: 26 ms\n"
]
},
{
......@@ -465,9 +465,9 @@
"output_type": "stream",
"text": [
"Scale(n) cvxpy cvxopt ipopt\n",
"100 0.0520 0.0440 0.0070\n",
"200 0.0413 0.0520 0.0120\n",
"300 0.0420 0.0630 0.0170\n"
"100 0.0320 0.0240 0.0060\n",
"200 0.0360 0.0420 0.0120\n",
"300 0.0440 0.0630 0.0180\n"
]
}
],
......
......@@ -15,7 +15,7 @@
{
"data": {
"text/plain": [
"datetime.datetime(2020, 11, 21, 15, 31, 13, 254856)"
"datetime.datetime(2020, 11, 22, 1, 6, 28, 118072)"
]
},
"execution_count": 1,
......@@ -64,7 +64,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
......@@ -96,7 +96,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 4,
"metadata": {},
"outputs": [
{
......@@ -117,7 +117,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Wall time: 3.95 s\n"
"Wall time: 5.93 s\n"
]
}
],
......@@ -128,21 +128,21 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"2020-11-21 15:34:50,320 - ALPHA_MIND - INFO - 2020-01-02 full re-balance: 300\n",
"2020-11-21 15:34:50,543 - ALPHA_MIND - INFO - 2020-01-02 is finished\n",
"2020-11-21 15:34:50,546 - ALPHA_MIND - INFO - 2020-01-16 full re-balance: 300\n",
"2020-11-21 15:34:50,962 - ALPHA_MIND - INFO - 2020-01-16 is finished\n",
"2020-11-21 15:34:50,975 - ALPHA_MIND - INFO - 2020-02-07 full re-balance: 300\n",
"2020-11-21 15:34:51,435 - ALPHA_MIND - INFO - 2020-02-07 is finished\n",
"2020-11-21 15:34:51,443 - ALPHA_MIND - INFO - 2020-02-21 full re-balance: 300\n",
"2020-11-21 15:34:51,802 - ALPHA_MIND - INFO - 2020-02-21 is finished\n"
"2020-11-22 01:06:34,553 - ALPHA_MIND - INFO - 2020-01-02 full re-balance: 300\n",
"2020-11-22 01:06:35,020 - ALPHA_MIND - INFO - 2020-01-02 is finished\n",
"2020-11-22 01:06:35,023 - ALPHA_MIND - INFO - 2020-01-16 full re-balance: 300\n",
"2020-11-22 01:06:35,230 - ALPHA_MIND - INFO - 2020-01-16 is finished\n",
"2020-11-22 01:06:35,233 - ALPHA_MIND - INFO - 2020-02-07 full re-balance: 300\n",
"2020-11-22 01:06:35,428 - ALPHA_MIND - INFO - 2020-02-07 is finished\n",
"2020-11-22 01:06:35,432 - ALPHA_MIND - INFO - 2020-02-21 full re-balance: 300\n",
"2020-11-22 01:06:35,711 - ALPHA_MIND - INFO - 2020-02-21 is finished\n"
]
}
],
......@@ -194,7 +194,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 6,
"metadata": {},
"outputs": [
{
......@@ -203,13 +203,13 @@
"<AxesSubplot:title={'center':'Fixed freq rebalanced: 10b'}>"
]
},
"execution_count": 12,
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvkAAAFxCAYAAADpt7dQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACFK0lEQVR4nOzdeXgURfrA8W/P5L4nk5CQA0JCIqDc4TAICIRDdBXP9RZRWY0uLOgqKiBeyKrAisePVVjUdV1lV0FXJWAAAQUlQMADlQQIEMg9ue+Zrt8fWQYi5ACSTI738zw8ZKarut+uJJ23a6qrNKWUQgghhBBCCNFhGBwdgBBCCCGEEKJ5SZIvhBBCCCFEByNJvhBCCCGEEB2MJPlCCCGEEEJ0MJLkCyGEEEII0cFIki+EEEIIIUQHI0m+EMLhFixYQM+ePVv8OG+//TZOTk4NlrFarUybNg2z2YymaXz11VctHldz+eqrr9A0jYyMjAvaT1PaqS1prZ+f+miaxnvvveew4wshxNlIki+EaBVTp05F07Qz/n3wwQc88sgjfPvtt44OEYCPPvqI999/n//+979kZmYSFxfn6JBEC/nTn/7EsGHD8PDwqPempqamhkcffZSuXbvi7u7OZZddxu7du1s5UiGEOHeS5AshWs3IkSPJzMys82/KlCl4eXkREBDg6PAASE1NJTQ0lLi4OIKDg3FxcTmjTHV1davGVFNTg6xb2PxsNhu33norCQkJ9Zb585//zMqVK/nb3/5GcnIykZGRxMfHk5WV1YqRCiHEuZMkXwjRalxcXAgODq7zz83Nrc5wC6UUV155JUOGDKGmpgYAXdeJj49nxIgRWK1WAL788ktGjBiBu7s7oaGh3H333eTn59uPpZRi3rx5dOnSBS8vL26++WYKCgoajO/yyy9n3rx5HDp0CE3TiIiIsL9/zz33MG/ePLp27UpoaCgAaWlpXH/99fj5+WEymZgwYQI//PBDnX2uXr2anj174ubmRlxcHJ9++imapvH111/XG8fUqVOJj4/n1VdfJSIiAldXV8rKysjOzmbq1KkEBgbi7e3NiBEj2Lp16xn1U1JSGDp0KG5ublx88cV8+eWXddrlvvvuIyoqCnd3dyIjI3niiSeoqqqqN56CggJuv/12unXrhru7OxdddBGLFy+uc+NxMuY333yT7t274+PjwzXXXENubm6dfSUlJTFy5Eg8PDzw9fVl9OjRHDx40L79gw8+YMCAAbi5uREREcHs2bMpKyuzb6+qquKBBx7A19cXk8nEAw880GDsDXn11VeZOXMml1xyyVm3l5SUsHz5cl544QWuvvpqLrnkElatWoWrqyvLly+vUzY/P5/rr78eT09PQkJCWLJkyXnFJIQQzUWSfCFEm6JpGm+//TYnTpzg8ccfB+CFF15gz549/Otf/8LJyYlNmzZxzTXXcPPNN/P999+zdu1a0tPTufbaa+2J57Jly1iyZAkvvfQSe/bsYdCgQTz99NMNHvvjjz/m4YcfJiIigszMTJKTk+3bVq9eTW5uLhs3bmTTpk1kZ2dz2WWX0aVLF7Zt28a3337LRRddxOWXX25PbFNSUrj55pu58cYb2bdvH4888ggzZ85sUjvs3LmTTZs2sXbtWvbt24dSijFjxlBSUsK6detISUlh8uTJjB8/np9//rlO3dmzZzN//nxSUlIYPnw4V199NcePHwdqk/ygoCDef/99fv75Z/7617+yatUqFi5cWG8sVVVV9O3bl7Vr17J//37mzZvHU089xdtvv12nXHJyMps3b+bzzz8nMTGRvXv38sgjj9i3JyUlMXHiRAYPHsyOHTv47rvvuPPOO+03c2+//TYPPPAADz/8MPv37+fdd98lKSmJ+++/376POXPm8NFHH/Huu++yY8cOPD09ef311+vEcfLZhAt9nmLXrl1UVVUxadIk+3tGo5Hx48efcZP29NNPc/nll5OSksJjjz3Go48+yscff3xBxxdCiAuihBCiFdx1113KaDQqT09P+7/IyEillFJPPfWUioqKqlN+06ZNymg0qgULFignJyf10Ucf2beNHj1aPfbYY3XKHzlyRAEqJSVFKaVUaGioeuKJJ+qUuf7665XRaGwwzrPFMnr0aBUdHa1sNludcsOGDatTTtd1FRkZqZYuXaqUUuq2225Tl156aZ0yr776qgLUtm3b6o3hrrvuUr6+vqqkpMT+3qpVq1RoaKiqqampU3bMmDFq5syZSimlNm/erAC1YsUK+/aamhrVrVs39eSTT9Z7vCVLlqiePXvWOVZj7TRjxgwVHx9fJ+aAgABVWVlpf++FF15QwcHB9teXXXaZuvLKK+vdZ/fu3dX//d//1Xlvy5YtClAWi0WVlpYqV1dX9eabb9YpM3jw4Drfs++++05ddNFF6rvvvmvwHE6q73z/+c9/KkBVVVXVef+RRx5Rffr0sb8G1O23316nzC233KJGjBjRpOMLIURLaD/TJwgh2r1hw4bxzjvv2F83NIPLmDFjePjhh1mwYAH3338/1113nX1bcnIy3377La+99toZ9VJTU4mMjOT48eNnPDR72WWXsXbt2vOKffDgwRgMpz78TE5OZvfu3Xh5edUpV1FRQWpqKgD79+9n3LhxZ8TQFL17966z7+TkZLKysvDz86tTrqqqCnd39zrvXXrppfavnZycGDp0KPv377e/99Zbb7FixQrS09MpKyvDarWi63q9sei6zosvvsgHH3xARkYGlZWV1NTU0L179zNidnV1tb8ODQ0lOzvb/nr37t0sWrTorMfIzc3lyJEjzJ49u07vv/rfJzNpaWm4urpSVVV11u/rZ599Zn89dOhQfvnll3rPpzlomlbn9eltDjBixAgSExNbNAYhhGiIJPlCiFbj7u7e5KkObTYb33zzDUajkbS0NJRS9sRK13Uee+wx7rjjjjPqBQcHY7PZgDMTsQvh6elZ57Wu64wbN+6sNxq+vr4AdWJujuP17t2bNWvWnFHWw8OjwX2p08bO//vf/+bBBx9k0aJFjB49Gh8fH/7973/z5JNP1lt/8eLFvPDCCyxZsoRBgwbh7e3N0qVL+fzzz+uU++1DypqmnfHAcH3tcfIm45VXXmHMmDFnbA8LC+PXX39tcB/NrWvXrgBkZWXRrVs3+/vZ2dkEBwc3WPe35y2EEK1NxuQLIdqkBQsWcODAAb755ht2797NX/7yF/u22NhYfvrpJ3r27HnGPy8vL3x9fQkNDeWbb76ps8/fvr4QJ2MIDQ09I4bAwEAALr744maLITY2lkOHDuHj43PG8UJCQuqUPX06UqvVSnJyMr179wZg69atDBw4kNmzZzN48GCio6NJT09v8Nhbt25l0qRJ3HPPPQwcOJCePXvaP604F4MHD2b9+vVn3RYUFER4eDi//vrrWb+vbm5u9OzZExcXlzPacPv27eccS1PjdXV1rROzruskJSWd8YnMb6eA3bFjh73NhRDCESTJF0K0OVu2bOGFF17gnXfeYdiwYbz11lvMnz/fnkg988wzfPLJJ8yaNYu9e/dy8OBBEhMTueeee6ioqADg4Ycf5pVXXuEf//gHqampLF68mKSkpGaL8aGHHsJmszFlyhS2bdtGeno6X3/9NU8++aQ96Zw1axY7duzgySef5MCBA6xZs4bFixef1/Fuu+02evTowZVXXsmGDRtIT0/nu+++44UXXjhjCNKiRYv44osv+Pnnn3nggQfIzs7mgQceAOCiiy7ihx9+4JNPPuHgwYO88sorjT4getFFF/HVV1+xefNmDhw4wNy5c/nuu+/O+RzmzZvHunXr+NOf/sT333/Pr7/+yttvv23voX/++edZtmwZzz33HD/++CO//vora9eu5Q9/+ANQ++nG/fffz9y5c/n000/59ddfefTRR88YmrNz50569erFzp07G4wnLS2NvXv3cvToUQD27t3L3r17KS0tBcDHx4f777+fJ554gs8++4yffvqJadOmUVFRYY/ppM8++4zXXnuN1NRUXn31VT788ENmzZp1zm0khBDNxpEPBAghOo+77rpLjRs37qzbTn/YNT8/X4WFhanZs2fXKTN9+nQVERGhCgsLlVJKbd26VY0bN055eXkpDw8P1atXLzVz5kz7g6k2m009/vjjymw2Kw8PD3X99derJUuWnPeDt/fcc88ZZdPT09Wtt96qAgIClIuLi+rWrZu67bbb1KFDh+xl/vWvf6nIyEjl4uKihg4dqtauXdukB2/P1lZ5eXnq/vvvVyEhIcrZ2VmFhISoKVOmqD179iilTj14+8knn6hBgwYpFxcX1bt3b5WYmGjfR3V1tZo+fboymUzK29tb3XLLLfaHgU/67YOohYWF6sYbb1Te3t7K399fJSQkqLlz56ru3bs3GPM//vEP9ds/M4mJiWr48OHKzc1N+fj4qMsvv1wdPHjQvn3NmjVq+PDhyt3dXXl7e6v+/furp59+2r69vLxcTZ8+Xfn4+CgfHx913333qTlz5tT5np1sh82bN9fbxkrVfl+BM/6dXq+6ulr9+c9/VkFBQcrV1VXFxcWp5OTkOvsB1NKlS9U111yj3N3dVXBwsHrxxRcbPLYQQrQ0TSkZOCiEEK0lPT2dHj16sG3btiY/hCuEEEKcKxmuI4QQQgghRAcjSb4QQgghhBAdjAzXEUIIIYQQooNp0jz5e/fuZdWqVfZ5oadMmVJnu1KKVatWkZKSgqurKwkJCURGRtq367rOnDlz8Pf3Z86cOQCUlpaydOlScnNzCQwMZNasWWcsKiOEEEIIIYQ4d40O19F1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4d1336Wqqor777+frKwsPv30U/r06YO/vz9WqxUnJycKCwuJiIhwdLgdjlybTpFrk1ybTifXpnMn15Naci05N+3+u2+1WomIiKBLly5ccsklTJ48mffff9++3dXVleHDh+Pm5sYHH3zAe++9R05OjgMjbjlna4v33nsPAC8vLwwGA6Wlpbi7u6OU6pAzFxiNRgYPHsySJUuIjo7mp59+qvP9njhxIpGRkQD4+Pjg5eVFaWmpo8JtUa6urvTv35/Zs2cTERHBJZdcQrdu3cjPzwdqP+IEOHbsGL169eLEiROsXr2akpISR4bdYci16RS5Nsm16XRybTp3cj2pJdeSc9Puk/zq6mpKSkrs38gpU6ZQWFjIjh07ANA0DWdnZ44ePcqXX36Jj48PwcHBjgy5xdTXFrt27cLPz4+ioiLee+893n33XX744Qd69uzp4Iibn8FgoGvXrri5uREXF0d+fj5paWnU1NQApx7CKS0t5d133+Xo0aMdsh0AXFxcGDx4sP210WgkPT0dk8lkfy8vL4/S0lJWr17NK6+8go+PD97e3o4It8ORa9Mpcm2Sa9Pp5Np07uR6UkuuJeem3ST59T06MHToULKzs9mzZ4/9vauvvprPPvvM/vr9998nLCyMN954g6uvvrrFY21p59oWn376KSEhIdx44434+/vj5ubGs88+S69evVor5BZRXzs4OzsD0KVLF3r16sX+/fvtD7VpmkZOTg5Lly7FarWyYMGCDnEhrK8t3N3d7V+XlJTg6+tLQECA/b2amhqysrLw9fXl2WefZdKkSS0ea0dz+gNgpz9Q2RmvTefaFh312lRfO3TGa1N9bSHXprM7/dObznw9Odd26KjXkgvV5sfkJycn891333HVVVfVGZunlMJqteLs7MzkyZNZt24dkZGRdOnShYsuuoiff/6ZiooK3N3dmTZtGi4uLo47iWZyPm3Rq1cvfvnlFyorKwkODubGG29s9zM2NNQOSqk6YxFHjBjBsWPHyMjI4OjRo3h4eBAbG8uf/vSnDtErdC5tYbFY8PT0BGDv3r24uLgQExPDkiVL6vSgiaZJSUnh008/xWw2ExISwnXXXWdvb5vN1qmuTefTFh3x2tRQOwCd6tp0Lm0h16ba816zZg2BgYH4+Phw5513dsrryfm0Q0e8ljSXNpnkn3xa/Mcff+TDDz/EaDRy4MAB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\n",
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAFxCAYAAAARV0ynAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAB49UlEQVR4nO3dd3hUZd7/8feZSU8mwAwkIUAoAQTpEFpslFhQ1+VB0VWXxb66KIIdBDvK7ioW0NVdEXR/+Ig+iu7aRUSUUEKJCCgSiiQkEFKA9MzMOb8/RiZGSkLLpHxe18UFk7nnzHe+CSefOXPu+xiWZVmIiIiIiEiDYgt0ASIiIiIicvwU5EVEREREGiAFeRERERGRBkhBXkRERESkAVKQFxERERFpgBTkRUREREQaIAV5EQm4Rx55hM6dO5/255k/fz5BQUHHHOPxeLjhhhtwuVwYhsHSpUtPe12nytKlSzEMg6ysrJPaTm36VJ/U1c/P0XTo0IEnnngiYM8vIk2XgryI1InrrrsOwzAO+/PWW29xzz33sHLlykCXCMC7777Lm2++yX//+19ycnJITk4OdElymkyaNInBgwcTERFx1Dcubreb++67j9atWxMeHs7ZZ5/N2rVr67hSEZEjU5AXkTpzzjnnkJOTU+3P6NGjiYqKomXLloEuD4CtW7fSpk0bkpOTiYuLIyQk5LAxlZWVdVqT2+2u0+drKrxeL9dccw1/+ctfjjrm3nvvZe7cubzyyiukpaXRqVMnUlJS2LNnTx1WKiJyZAryIlJnQkJCiIuLq/YnLCys2qkRlmVxySWXMHDgQH+ANU2TlJQUzj33XLxeLwBffPEFZ511FuHh4bRp04brr7+e/Px8/3OZpsn06dOJiYkhKiqKq666isLCwmPWN2zYMKZPn8727dsxDIMOHTr4v37jjTcyffp0WrduTUJCAgAZGRlcfvnlNG/enBYtWnDBBRfw/fffV9vm22+/TefOnQkLCyM5OZn//Oc/GIbBt99+e9Q6rrvuOlJSUpg9ezYdOnQgNDSUsrIy9u7dy3XXXUerVq1wOBycddZZLFu27LDHr1+/nkGDBhEWFkbPnj1ZsmSJ/z7Lsrj55ptJTEwkPDycTp06MXXqVCoqKo5aT2FhIX/84x9JSEggPDycM844g2eeeYZfXxj8UM3//Oc/ad++PdHR0Vx22WXs3bu32rYWL17MOeecQ0REBM2aNeO8885j27Zt/vvfeust+vbtS1hYGB06dOCuu+6ipKTEf395eTm33XYbzZo1o0WLFtx2223HrP1YZs+ezZ133knPnj2PeP/Bgwd5+eWXeeqpp7jsssvo2bMn8+bNIzQ0lJdffrna2LKyMm666Saio6Np2bIlU6dOxTTNE6pLRKS2FORFpF4xDIP58+eze/dupkyZAsBTTz3F+vXrWbBgAXa7nSVLlvD73/+eP/zhD2zYsIH333+fnTt3MmbMGH+4nD17NrNmzeLvf/8769atY8CAATz66KPHfO733nuPu+++mw4dOpCTk0NaWpr/vrfffpt9+/bx5Zdf8sUXX7B3717OPvtsYmJi+Oabb1i5ciVnnHEGw4YNY9++fYAvUF999dWMHTuW7777jnvuuYc777yzVn1YvXo1S5Ys4YMPPuC7777DNE2GDx9OUVERn3zyCevXr+fiiy/m/PPP54cffqj22LvuuouHHnqI9evXM3jwYH73u9+Rk5MD+IJ8TEwMb775Jj/88APPPfcc8+bN48knnzxqLRUVFfTs2ZP333+fzZs3M336dB5++GHmz59fbVxaWhpfffUVH330EZ999hnff/8999xzj//+xYsXc+GFFzJgwABWrFjBqlWr+NOf/uR/wzZ//nxuu+027r77bjZv3swbb7zB4sWLufXWW/3bmDJlCu+++y5vvPEGK1asIDIykhdffLFaHYfmCpzs/Ia1a9dSUVHBRRdd5P+a3W7n/PPPP+yN2OzZs4mPjyctLY1nn32W559/ntmzZ5/U84uI1MgSEakD48ePt+x2uxUZGen/07VrV8uyLOvhhx+2EhMTq41fsmSJZbfbrUceecQKCgqyFi1a5L/vvPPOs+6///5q43/++WcLsNavX29ZlmW1adPGmjp1arUxl19+uWW3249Z55FqOe+886wuXbpYXq+32rjBgwdXG2eaptWpUyfr2WeftSzLsq699lorOTm52pjZs2dbgPXNN98ctYbx48dbzZo1s4qKivxfmzdvntWmTRvL7XZXGzt8+HDrzjvvtCzLsr766isLsF599VX//W6320pISLCmTZt21OebNWuW1blz52rPVVOfJk6caKWkpFSruVWrVlZ5ebn/azNnzrTi4uL8t88++2zrkksuOeo227dvb/3jH/+o9rWvv/7aAqyCggKruLjYCg0Ntf75z39WGzNgwIBq37NVq1ZZZ5xxhrVq1apjvoZDjvZ6FyxYYAFWRUVFta/fc8891plnnlmt7rPPPrvamClTplht27at1fOLiJyohrMsgYg0eIMHD+b111/33z7WyijDhw/n7rvv5pFHHuHWW29l9OjR/vvS0tJYuXIlc+bMOexxW7dupVOnTuzevfuwiapnn30277///gnVPmDAAGy2qg8x09LSWLt2LVFRUdXGlZWVsXXrVgA2b97MyJEjD6uhNrp3715t22lpaezZs4fmzZtXG1dRUUF4eHi1rw0dOtT/76CgIAYNGsSmTZv8X/vXv/7Fq6++ys6dOykpKcHj8RzzNBDTNPnb3/7GW2+9RVZWFuXl5bjdbtq3b19tXLdu3QgNDfXfjo+Pr3Zqzdq1a5k5c+YRn2Pfvn38/PPP3HXXXdWO4lu/fMKSkZFBaGgoFRUVR/y+fvjhh/7bgwYN4scffzzq6zkdft1zgLPOOounnnqKgwcPEh0dXae1iEjToSAvInUmPDy81ssEer1eli9fjt1uZ9u2bViWhWEYgC9Y3n///YwbN+6wx8XFxZ2Wc5MjIyOr3TZNk5EjRx7xzUSzZs1Oy/N1796dRYsWHTY2IiKi1tt95513mDBhAjNnzuS8884jOjqad955hwcffPCoj3nmmWd46qmnePbZZ+nXrx8Oh4Nnn32Wjz76qNq4304MNgyj2nn0x3Loe/b8888zfPjww+5v27YtP/30U622daq0bt0agD179vjnRQDs3bvXf5+ISCApyItIvfTII4+QkZHB8uXLufDCC/nb3/7G/fffD0BSUhKbNm065puCNm3akJqayiWXXOL/2vLly09ZfUlJScyfP5+2bdsSFhZ2xDFnnnkmqamp1b52ojUkJSXxxhtvEB0dTUxMzDHHrly5kjPPPBPwrYu/evVq/5ueZcuW0a9fP+666y7/+J07dx5ze8uWLeOiiy7ihhtu8H/t0KcOx2PAgAF8/vnnTJw48bD7YmNjadeuHVu2bOHmm28+4uMTExMJCQkhNTWVHj16+L9+Kr+vv603NDSUzz77zF+TaZosXryYW265pdrY3y6fmpqaSps2bXQ0XkROK012FZF65+uvv2bmzJm8/vrrDB48mH/+859Mnz6d1atXA/DYY4/xwQcfcNddd5Gens62bdv49NNPufHGGykrKwPg7rvv5vnnn+ff//43W7du5ZlnnmHx4sWnrMbbb78dr9fL73//e7755ht27tzJt99+y4MPPugP75MnT2bFihU8+OCD/PTTTyxatIhnnnnmhJ7v2muvpWPHjlxyySV8/vnn7Ny5k1WrVvHUU08ddrrQzJkz+fjjj/nhhx+47bbb2Ldvn3+JxTPOOIPvv/+eDz74gG3btvH888/z3nvvHfO5zzjjDJYuXcpXX33FTz/9xLRp01i1atVxv4bp06fzySefMGnSJDZs2MCWLVuYP38+W7ZsAWDGjBm88MILzJgxg40bN7Jlyxbef/99/vznPwO+TyluvfVWpk2bxn/+8x+2bNnCfffd53/8IatXr6Zbt27+n5ejycjIID09nV27dgGQnp5Oeno6xcXFAERHR3PrrbcydepUPvzwQzZt2sQNN9xAWVmZv6ZD0tPTeeSRR/jpp5948803ef7557n77ruPu0ciIsclwOfoi0gTMX78eGvkyJFHvO/XE0zz8/Ottm3bWnfffXe1MTfffLPVqVMn6+DBg5ZlWdayZcuskSNHWlFRUVZERITVrVs368477/RPBvV6vdaUKVMsl8tlRUREWJdffrk1a9asE57seuONNx42dufOndY111xjtWzZ0goJCbESEhKsa6+91tq+fbt/zP/+7/9anTp1skJCQqxBgwZZ77//fq0mux6pV3l5edatt95qxcfHW8HBwVZ8fLw1evRoa926dZZlVU12/eCDD6z+/ftbISEhVvfu3a3PP//cv43KykrrlltusVq0aGE5HA7r6quv9k/APeS3kz/3799vjR071nI4HJbT6bT+8pe/WNOmTbPat29/zJr//e9/W7/9NfPpp59aQ4YMscLCwqzo6Ghr2LBh1rZt2/z3L1q0yBoyZIgVHh5uORwOq0+fPtajjz7qv7+0tNS65ZZbrOjoaCs6Otq6+eabrQceeKDa9+xQH7766quj9tiyfN9X4LA/v35cZWWlde+991qxsbFWaGiolZycbKWlpVXbTvv27a2pU6da1113nb9H999/f7XJ0SIip4NhWbU8gVFERE7azp076dixI998802tJ76KiIgciU6tERERERFpgBTkRUREREQaIJ1aIyIiIiLSANVq+cn09HTmzZvnXzf51xdmAXC73cyZM4ft27fjcDiYNGlSteXR8vLymDx5MmPH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3r17++/3eDx89NFHfPnll8yaNYuFCxdyzz33sGHDBmbMmOEf16dPH1avXq0gLyIijY7lrvSdy/7rwJ618/Cj7G07/hLaD139tDWGre6uaFrpNVmf7TvnfXVWMWUek6gQG8kJDpLbOeit8N6oNKogf6wj53Xlm2++4aqrrvKfXtKiRYsjjisuLiYnJ4dRo0YBEBYWBsDq1asZPXo0drudVq1aMWTIEL777jv69u3L3Xff7Q/aPXv2rLGW/fv3ExUV5b/dtm3bw0I8+AL/hRde6K/h/PPPr3b/xRdfDEDv3r3Jyso66vO1bNmSvXv31liXiIhIfeU/yp65s/rFlH59lD0kBOLbVw/sbTtgREYdY8unT4XHZN2vjryXe0wcITbOau878t47LpIgm8J7Y9SognxjNmTIEN59912+/PJLJk+ezC233MLYsWOP+ZigoCBM08Rm853zFhERcULPHRISAoDdbsfj8Rx1XHl5uf/NgIiISH1nuSsh+7dXP90BxUVVg5ytfCG975Bflnns4DuXvQ6Psh9JhcdkXbZvwmra7hJfeA+1c24HB8kJ0fSKjVB4bwIU5E9SZGQkxcXF/tvnnnsuzz77LGPGjPGfWnOko/JRUVG0bt2aTz/9lIsuuoiKigpM02Tw4MH8v//3/xg7diz79+9n1apVTJ8+naysLFq3bs21115LZWUl33//PWPHjiU4OBi3201wcPBhz9GpUyd+/vlnOnbseMzXMHDgQO6//35uv/12vF4vixcv5o9//OMxHxMVFVXtdQNs376dM84445iPExERqWuWZcH+gurrsmfugL27Dz/K3m+obxJquw6+vwN0lP1IKjwma7KLWf5zEWuziyn3WESH2jmvQzTJCQ56xUZgV3hvUhTkT5LT6WTgwIGMGDGC4cOHM336dDZt2sSoUaMIDg5mxIgRTJky5YiPfeGFF7j//vt5+umnCQoK4pVXXmHUqFGsXbuW888/H8MwePDBB4mJieHtt9/m5ZdfJigoiMjISJ5//nkArr32WlJSUujVq9dhk11HjhzJihUragzyffv25YILLiAlJYVWrVrRvXv3Iy5X+WvJycm8+OKLnH/++f7JrqmpqUd9rSIiInWh6ij7rwL77p1HPsreb2i9Osp+JOUek7W7i1m+q4g1u4up8Fo0C7MzrGMzkhMc9IxReG/KDMuyrJoGpaen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UVlZid1up0OHDoEut9HRvqmK9k3aN/2a9k3H7+2332bbtm307t2bTz/9lA8//JDS0lIAwsLCGDVqFO+8847/TVBj9utefPLJJ3z44YckJSXx0EMPYVkWU6ZMYdq0aaSkpPDZZ59RUlLSqHvSoF+ZaZrs3LmTK664gl69enH55ZcTGhrKRx995B9z9tlnEx4ezubNm8nIyOCbb74JYMWnz297ccUVVxASEsKiRYsICgoiPz+f9u3bA9CmTRv69+/fKD++jYiIYOjQocyfP5/IyEg+/PBD/32JiYmMHTsWl8sFQEJCAn369Gm0pzeEh4czdOhQJk6cSFJSEoMGDeKnn34iKCjI/5FkaWkp5eXluFwudu7cybfffhvgqhsH7ZuqaN/ko31TFe2bjo/H42HLli2MGzeOQYMGceWVV1JYWFitJ6NGjcI0TVavXk1eXh7r1q0LYMWnz297cdVVV1FQUMCSJUuIjo5m3759tGrVCoD27dvTsWNHysrKAlz16dVgg/yhd53NmjVjyZIlAMTFxTFo0CB2797N9u3b/WPPO+88Xn31VZ555hncbnegSj5tjtaLIUOGkJmZSWFhIS1atOAf//gH2dnZzJ8/n/379zfKiTGhoaH0798fgPHjx/Pee+/5z8s1DIPg4GDAtzN47bXXKCsro2XLlgGr93RyOp2MHDnSf7tLly6Ulpbidrv9Rye2b9+O2+3m7bff5h//+Ee1c5ildn57dmJT3jfVtheNfd90pDNWm+q+6Ui90L7p6H7bL9M0CQoKok2bNixfvhyArl27kpiYyK5du8jOzvaP/d3vfsesWbN4+OGHqy3B2FDVthedO3dm+/btFBUV0aZNG15++WXKy8t5++23KSoqIjo6OhDl15kGFeR/PbHh0JJCKSkp5Ofns337dmw2GzExMXTu3JmdO3cCsGfPHhYuXMg555zDc889x4gRIwJR+ilX214kJibyww8/MH78eNq0acO8efMAeOCBB4iIiAhI7afSr/twSHh4OJZl0a1bN84880z++c9/Avh/QaSlpTFt2jRsNht33XVXo1kC8Ei9OHTOKfjWqG7ZsqU/MIDvI+6dO3fi8Xh47LHHGDZsWF2U2qj8dnmzprxvOp5eNOZ909GWvGuK+6aj9UL7pto59LPRv39/8vLy2L17N0FBQSQkJBAREeE/XW/79u28++67pKSk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\n",
"text/plain": [
"<Figure size 864x432 with 2 Axes>"
]
......
......@@ -11,7 +11,7 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
......@@ -35,11 +35,11 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"freq = '20b'\n",
"freq = '10b'\n",
"universe = Universe('hs300')\n",
"batch = 8\n",
"neutralized_risk = industry_styles\n",
......@@ -66,7 +66,7 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
......@@ -86,8 +86,8 @@
"alpha_model = LinearRegression(features=features, fit_intercept=True)\n",
"composer = Composer(alpha_model=alpha_model, data_meta=data_meta)\n",
"\n",
"start_date = '2011-01-01'\n",
"end_date = '2019-01-15'"
"start_date = '2020-01-01'\n",
"end_date = '2020-02-21'"
]
},
{
......@@ -100,36 +100,36 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 4,
"metadata": {},
"outputs": [
{
"ename": "IndexError",
"evalue": "index -1 is out of bounds for axis 0 with size 0",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mIndexError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-8-e0aa51643d68>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[0mref_date\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m'2020-01-31'\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mref_date\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0madjustDateByCalendar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'china.sse'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mref_date\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrftime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'%Y-%m-%d'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 3\u001b[1;33m \u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mcomposer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtrain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;32mD:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\composer.py\u001b[0m in \u001b[0;36mtrain\u001b[1;34m(self, ref_date, x, y)\u001b[0m\n\u001b[0;32m 183\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 184\u001b[0m \u001b[1;32mdef\u001b[0m \u001b[0mtrain\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mref_date\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mstr\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;32mNone\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m->\u001b[0m \u001b[0mTuple\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mModelBase\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 185\u001b[1;33m \u001b[0mmodel\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtrain_model\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0malpha_model\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdata_meta\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 186\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmodels\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mmodel\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 187\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mis_updated\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;32mFalse\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\composer.py\u001b[0m in \u001b[0;36mtrain_model\u001b[1;34m(ref_date, alpha_model, data_meta, x_values, y_values)\u001b[0m\n\u001b[0;32m 152\u001b[0m \u001b[1;32mif\u001b[0m \u001b[1;32mnot\u001b[0m \u001b[0misinstance\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0malpha_model\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mConstLinearModel\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 153\u001b[0m \u001b[1;32mif\u001b[0m \u001b[0mx_values\u001b[0m \u001b[1;32mis\u001b[0m \u001b[1;32mNone\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 154\u001b[1;33m \u001b[0mtrain_data\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdata_meta\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mfetch_train_data\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0malpha_model\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 155\u001b[0m \u001b[0mx_values\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtrain_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'train'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'x'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 156\u001b[0m \u001b[0my_values\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mtrain_data\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'train'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'y'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;32mD:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\composer.py\u001b[0m in \u001b[0;36mfetch_train_data\u001b[1;34m(self, ref_date, alpha_model)\u001b[0m\n\u001b[0;32m 123\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mpost_process\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 124\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mwarm_start\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 125\u001b[1;33m fit_target=alpha_model.fit_target)\n\u001b[0m\u001b[0;32m 126\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 127\u001b[0m def fetch_predict_data(self,\n",
"\u001b[1;32mD:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py\u001b[0m in \u001b[0;36mfetch_train_phase\u001b[1;34m(engine, alpha_factors, ref_date, frequency, universe, batch, neutralized_risk, risk_model, pre_process, post_process, warm_start, fit_target)\u001b[0m\n\u001b[0;32m 339\u001b[0m neutralized_risk)\n\u001b[0;32m 340\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 341\u001b[1;33m \u001b[1;32mif\u001b[0m \u001b[0mdates\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mdt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrptime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'%Y-%m-%d'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 342\u001b[0m pyFinAssert(len(dates) >= 2, ValueError,\n\u001b[0;32m 343\u001b[0m \"No previous data for training for the date {0}\".format(ref_date))\n",
"\u001b[1;31mIndexError\u001b[0m: index -1 is out of bounds for axis 0 with size 0"
]
}
],
"outputs": [],
"source": [
"ref_date = '2020-01-31'\n",
"ref_date = \"2020-02-21\"\n",
"ref_date = adjustDateByCalendar('china.sse', ref_date).strftime('%Y-%m-%d')\n",
"model, x, y = composer.train(ref_date)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 5,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing IC: -0.1104\n"
]
}
],
"source": [
"print(\"Testing IC: {0:.4f}\".format(composer.ic(ref_date=ref_date)[0]))"
]
......@@ -144,7 +144,7 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
......@@ -157,20 +157,51 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"const_composer.train(ref_date)\n",
"regression_composer.train(ref_date)\n",
"pass"
"_ = regression_composer.train(ref_date)"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 8,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Const. Testing IC: -0.1104\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Regression Testing IC: -0.1104\n"
]
}
],
"source": [
"print(\"\\nConst. Testing IC: {0:.4f}\".format(const_composer.ic(ref_date=ref_date)[0]))\n",
"print(\"Regression Testing IC: {0:.4f}\".format(regression_composer.ic(ref_date=ref_date)[0]))"
......@@ -196,9 +227,78 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 9,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"2020-01-02 Const. Testing IC: 0.1702\n",
"2020-01-02 Regression Testing IC: 0.1703\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"2020-01-16 Const. Testing IC: 0.1982\n",
"2020-01-16 Regression Testing IC: -0.2011\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"2020-02-07 Const. Testing IC: 0.0492\n",
"2020-02-07 Regression Testing IC: 0.0469\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"D:\\ProgramData\\Anaconda3\\envs\\alpha-mind\\lib\\site-packages\\alpha_mind-0.2.3-py3.7-win-amd64.egg\\alphamind\\model\\data_preparing.py:412: FutureWarning: DataFrame.mean and DataFrame.median with numeric_only=None will include datetime64 and datetime64tz columns in a future version.\n",
" lambda x: x.fillna(x.median())).reset_index(\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"2020-02-21 Const. Testing IC: -0.1104\n",
"2020-02-21 Regression Testing IC: -0.1181\n"
]
}
],
"source": [
"model_dates = makeSchedule(start_date, end_date, freq, 'china.sse')\n",
"model_dates = [d.strftime(\"%Y-%m-%d\") for d in model_dates]\n",
......@@ -224,9 +324,60 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 10,
"metadata": {},
"outputs": [],
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>naive ic.</th>\n",
" <th>regress ic.</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>0.076805</td>\n",
" <td>-0.025496</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>0.140552</td>\n",
" <td>0.166313</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" naive ic. regress ic.\n",
"mean 0.076805 -0.025496\n",
"std 0.140552 0.166313"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model_df[['naive ic.', 'regress ic.']].agg(['mean', 'std'])"
]
......@@ -248,11 +399,11 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 11,
"metadata": {},
"outputs": [],
"source": [
"industry_name = 'sw_adj'\n",
"industry_name = 'sw'\n",
"industry_level = 1\n",
"\n",
"industry_names = industry_list(industry_name, industry_level)\n",
......@@ -265,19 +416,82 @@
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 12,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'dx_return_data' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-2-f2d6467b9b29>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdx_return_data\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhead\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[1;31mNameError\u001b[0m: name 'dx_return_data' is not defined"
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>trade_date</th>\n",
" <th>code</th>\n",
" <th>dx</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2020-01-02</td>\n",
" <td>2010000001</td>\n",
" <td>-0.021890</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2020-01-02</td>\n",
" <td>2010000005</td>\n",
" <td>0.006826</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>2020-01-02</td>\n",
" <td>2010000010</td>\n",
" <td>-0.051323</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>2020-01-02</td>\n",
" <td>2010000011</td>\n",
" <td>-0.015151</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>2020-01-02</td>\n",
" <td>2010000012</td>\n",
" <td>-0.017889</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" trade_date code dx\n",
"0 2020-01-02 2010000001 -0.021890\n",
"4 2020-01-02 2010000005 0.006826\n",
"8 2020-01-02 2010000010 -0.051323\n",
"12 2020-01-02 2010000011 -0.015151\n",
"16 2020-01-02 2010000012 -0.017889"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
......@@ -286,18 +500,21 @@
},
{
"cell_type": "code",
"execution_count": 3,
"execution_count": 17,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'model_dates' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-3-db557cb2ed68>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[0mrets2\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[1;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mref_date\u001b[0m \u001b[1;32min\u001b[0m \u001b[0menumerate\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mmodel_dates\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 5\u001b[0m \u001b[0mpy_ref_date\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mdt\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mdatetime\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrptime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mref_date\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'%Y-%m-%d'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 6\u001b[0m \u001b[0mindustry_matrix\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mindustry_total\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mindustry_total\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtrade_date\u001b[0m \u001b[1;33m==\u001b[0m \u001b[0mref_date\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mNameError\u001b[0m: name 'model_dates' is not defined"
"name": "stderr",
"output_type": "stream",
"text": [
"2020-11-22 01:31:22,196 - ALPHA_MIND - INFO - 2020-01-02 full re-balance: 300\n",
"2020-11-22 01:31:22,210 - ALPHA_MIND - INFO - 2020-01-02 is finished\n",
"2020-11-22 01:31:22,220 - ALPHA_MIND - INFO - 2020-01-16 full re-balance: 300\n",
"2020-11-22 01:31:22,239 - ALPHA_MIND - INFO - 2020-01-16 is finished\n",
"2020-11-22 01:31:22,252 - ALPHA_MIND - INFO - 2020-02-07 full re-balance: 300\n",
"2020-11-22 01:31:22,269 - ALPHA_MIND - INFO - 2020-02-07 is finished\n",
"2020-11-22 01:31:22,280 - ALPHA_MIND - INFO - 2020-02-21 full re-balance: 300\n",
"2020-11-22 01:31:22,297 - ALPHA_MIND - INFO - 2020-02-21 is finished\n"
]
}
],
......@@ -358,19 +575,30 @@
},
{
"cell_type": "code",
"execution_count": 4,
"execution_count": 18,
"metadata": {},
"outputs": [
{
"ename": "NameError",
"evalue": "name 'model_dates' is not defined",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m<ipython-input-4-efc1d8bee96a>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mret_df\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mpd\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mDataFrame\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m{\u001b[0m\u001b[1;34m'naive'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mrets1\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;34m'regress'\u001b[0m\u001b[1;33m:\u001b[0m \u001b[0mrets2\u001b[0m\u001b[1;33m}\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mindex\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmodel_dates\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m 2\u001b[0m \u001b[0mret_df\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0madvanceDateByCalendar\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'china.sse'\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmodel_dates\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m-\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mfreq\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstrftime\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'%Y-%m-%d'\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 3\u001b[0m \u001b[0mret_df\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mret_df\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshift\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 4\u001b[0m \u001b[0mret_df\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0miloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m0.\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 5\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n",
"\u001b[1;31mNameError\u001b[0m: name 'model_dates' is not defined"
"data": {
"text/plain": [
"<AxesSubplot:title={'center':'Fixed freq rebalanced: 10b'}>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAskAAAF1CAYAAAAa1Xd+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABVDUlEQVR4nO3dd3hUZfrG8e+bhCT0EpJQQy8h9ISiiCLdBhYUlbWs3d21Y8ECiKJixbY/F8ta1oLCKggKUlRsIKGTAgk9lAQChIQQUub9/TEDG2OABJKcmeT+XNdcTDlzzjMnw+SeJ+95j7HWIiIiIiIi/+PndAEiIiIiIt5GIVlEREREpAiFZBERERGRIhSSRURERESKUEgWERERESlCIVlEREREpAiFZBHxesaYLGNM6zJe5wBjTMpJHu9njEnybPvSstx2WTDGWGNM29N87lZjzOCyrul0nepnUcbb8qrXLiLeSyFZRLyGJ8Ac8QTTY5cm1tpa1trNFVzOJOANz7a/quBty0kYY54yxqwzxuQbYyYW8/i1xphtxpjDxpivjDENHChTRHycQrKIeJtLPMH02GWXQ3W0AOKKe8C4ldvnpzEmoLzWXUkkAw8Bc4s+YIyJAv4FXAeEA9nAPyu0OhGpFBSSRcTrHRtaYIwJNMasNsbc5bnf3xjzizFmvOd2E2PMTGPMXmPMFmPM3YXWUd0Y874x5oAxJh7odZLtbQJaA197utlBxpgfjDGTjTG/4A5erY0xHY0xC4wx+40xG4wxVxVaR4gxZrYx5pAx5ndP9/PnE2yvpec13myM2Q4s9tx/kzEmwVPzfGNMiyJPvdAYs9kYs88Y88Kx4G6MaWOMWWyMSfc89rExpt4Jtt3bGPObMeagMWa3MeYNY0xgkX1/h2foyUFjzJvGGFPo8Vs9NWYaY+KNMT3L8mdRHGvtB9bab4HMYh4eA3xtrV1irc0CngAuN8bULrRML0+tB4wx/zbGBJdm+yJSNSgki4jPsNbmAn8BJhljIoFHAH9gsicgfg2sAZoCg4B7jTHDPE+fALTxXIYBN5xkO22A7fyvq33U89B1wG1AbWAvsAD4BAgDrgb+aYzp5Fn2TSAHaAzc5LmcynlAJDDMGDMSeBS4HAgFfgI+LbL8ZUAM0BMYWWgbBngWaOJZX3Ng4gm2WQDcBzQEzsK93/5WZJmLcQfZrsBVuPcfxpgrPeu9HqgDjADSz/RnYYz5pzHmdLu/UZ7tAmCt3QTkAu0LLTPGs902nvsfP81tiUglppAsIt7mK0/H8qAx5quiD1pr1wNPA18BY4HrrLUFuENcqLV2krU21zOG+W3c4RXc4W6ytXa/tXYH8Npp1Pa+tTbOWpsPDAe2Wmv/ba3Nt9auAmYCVxpj/IErgPHW2sOemj8owfonepY/AtwBPGutTfBs7xmge5Fu8hTP69kOTAWu8eyjZGvtAmvtUWvtXuBl3AH8T6y1K6y1Sz2vYSvuoQpFl33OWnvQs53vge6e+28BnrfWLrduydbabZzhz8Ja+zdrbdGgXlK1gIwi92Xg/mJzzBvW2h3W2v3AZDz7TUSkMI17ExFvc6m1duEplvkAd7iZaa1N8tzXAmhijDlYaDl/3B1YcHdVdxR6bNtp1Fb4+S2APkW2FwB8hLvzG3Aa2yu6/leNMS8Vus/g7sxuK2b5bbhfI8aYcOBVoD/ucOgHHChug8aY9rhDdAxQw1P3iiKL7Sl0PRt3EAV3h3pTMautiJ/FiWTh7moXVoc/Ds0odr+JiBSmTrKI+KJ/AnNwD0s4x3PfDmCLtbZeoUtta+2Fnsd34w51x0ScxnZtoes7gB+LbK+WtfZO3EMx8k9je0XXf3uR9Ve31v5aaJmi6z92kOMznnV1sdbWwT1ExVC8/wMSgXaeZR89ybJF7cA9ZKG4+8v7Z3EicUC3YzeMe+rAIGBjoWVOtN9ERI5TSBYRn2KMuQ6IBm4E7gY+MMbUAn4HMo0xD3sODPM3xnQ2xhw7KOxzYJwxpr4xphlw1xmWMgdob4y5zhhTzXPpZYyJ9Az/+C8w0RhTwzNO+YRjoE/gLU+9UZ7XXdczBriwBz2vpzlwDzDdc39t3B3VDGNMU+DBk2ynNnAIyDLGdATuLEWN7wBjjTHRxq2tZzhIuf4sPPs6GPfvsABjTLBniAvAx8Alxpj+xpiauKfy+6+1tnAn+e/GmGbGPTXcY/xvv4mIHKeQLCI+wxgTgXvs7fXW2ixr7SdALPCKJ5hejHu87BZgH+4QV9fz9Cdx/2l9C/Ad7mERp80TuobiHme7C/eQhCm4u5YA/8A9LGEP8D7w71Ku/0vP+j4zxhwC1gMXFFlsFu6hEatxT4f2ruf+J3EfzJfhuf+/J9nUWOBa3MMR3qYUgdFa+wXuYS+feJ7/FdDgTH8Wxpi3jDFvnWTTbwNHcI8lfsxz/TpPTXG4x3N/DKTh/hJQdHzzJ57tbsY9XOTpkr5mEak6jLX21EuJiMgZMcbcCNxirT3nVMuKiIjz1EkWERERESlCIVlEREREpAgNtxARERERKUKdZBERERGRIhSSRURERESK8Loz7jVs2NC2bNnS6TJEREREpJJbsWLFPmttaHGPeV1IbtmyJbGxsU6XISIiIiKVnDFm24ke03ALEREREZEiFJJFRERERIpQSBYRERERKcLrxiSLiIiISOnk5eWRkpJCTk6O06V4peDgYJo1a0a1atVK/ByFZBEREREfl5KSQu3atWnZsiXGGKfL8SrWWtLT00lJSaFVq1Ylfp6GW4iIiIj4uJycHEJCQhSQi2GMISQkpNRddoVkERERkUpAAfnETmffKCSLiIiISIV76623+PDDD50u44Q0JllEREREKtwdd9zhdAknpU6yiIiIiJyxrVu3EhkZya233kpUVBRDhw7lyJEjvP322/Tq1Ytu3bpxxRVXkJ2dDcDEiRN58cUXSUxMpHfv3n9YT5cuXQBYsWIF5513HtHR0QwbNozdu3dX2OtRJ1lERESkEnny6zjidx0q03V2alKHCZdEnXK5pKQkPv30U95++22uuuoqZs6cyeWXX86tt94KwOOPP867777LXXfddfw5HTt2JDc3ly1bttCqVSumT5/O6NGjycvL46677mLWrFmEhoYyffp0HnvsMd57770yfW0nopAsIiIiJ5Sdm09SahaRjesQGKA/QMvJtWrViu7duwMQHR3N1q1bWb9+PY8//jgHDx4kKyuLYcOG/el5V111FdOnT+eRRx5h+vTpTJ8+nQ0bNrB+/XqGDBkCQEFBAY0bN66w16KQLCIiIn9irWXuut1MnpvA7owcagcFcF6HUIZ0CmdA+zDq1ij5SRmkYpWk41tegoKCjl/39/fnyJEj3HjjjXz11Vd069aN999/nx9++OFPzxs9ejRXXnkll19+OcYY2rVrx7p164iKiuK3336rwFfwPwrJIiIi8gdJqZlMmB3Hr5vS6dS4DvcObseKbQdYlJDGnLW7CfAz9G7VgMGR4QyODCcipIbTJYsXy8zMpHHjxuTl5fHxxx/TtGnTPy3Tpk0b/P39eeqppxg9ejQAHTp0YO/evfz222+cddZZ5OXlsXHjRqKiKuZLgEKy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\n",
"text/plain": [
"<Figure size 864x432 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
......@@ -383,20 +611,6 @@
" title='Fixed freq rebalanced: {0}'.format(freq))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment