{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"pycharm": {
"name": "#%%\n",
"is_executing": true
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import statsmodels.api as sm\n",
"from linearmodels import PanelOLS"
]
},
{
"cell_type": "code",
"execution_count": 166,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " code date code_return mkt ten_return smg \\\n0 1 2010-01-05 -0.0173 0.006584 -0.0062 0.005921 \n1 2142 2010-01-05 0.0024 0.006584 -0.0062 0.005921 \n2 600000 2010-01-05 0.0076 0.006584 -0.0062 0.005921 \n3 600015 2010-01-05 0.0252 0.006584 -0.0062 0.005921 \n4 600016 2010-01-05 0.0177 0.006584 -0.0062 0.005921 \n... ... ... ... ... ... ... \n46006 601398 2021-12-31 -0.0022 0.005888 -0.0086 -0.004844 \n46007 601818 2021-12-31 0.0000 0.005888 -0.0086 -0.004844 \n46008 601939 2021-12-31 -0.0017 0.005888 -0.0086 -0.004844 \n46009 601988 2021-12-31 0.0000 0.005888 -0.0086 -0.004844 \n46010 601998 2021-12-31 0.0022 0.005888 -0.0086 -0.004844 \n\n hml umd rmw cma \n0 -0.002548 -0.001689 0.001728 0.000770 \n1 -0.002548 -0.001689 0.001728 0.000770 \n2 -0.002548 -0.001689 0.001728 0.000770 \n3 -0.002548 -0.001689 0.001728 0.000770 \n4 -0.002548 -0.001689 0.001728 0.000770 \n... ... ... ... ... \n46006 0.003232 0.002873 -0.004371 0.004678 \n46007 0.003232 0.002873 -0.004371 0.004678 \n46008 0.003232 0.002873 -0.004371 0.004678 \n46009 0.003232 0.002873 -0.004371 0.004678 \n46010 0.003232 0.002873 -0.004371 0.004678 \n\n[46011 rows x 10 columns]",
"text/html": "
\n\n
\n \n \n | \n code | \n date | \n code_return | \n mkt | \n ten_return | \n smg | \n hml | \n umd | \n rmw | \n cma | \n
\n \n \n \n | 0 | \n 1 | \n 2010-01-05 | \n -0.0173 | \n 0.006584 | \n -0.0062 | \n 0.005921 | \n -0.002548 | \n -0.001689 | \n 0.001728 | \n 0.000770 | \n
\n \n | 1 | \n 2142 | \n 2010-01-05 | \n 0.0024 | \n 0.006584 | \n -0.0062 | \n 0.005921 | \n -0.002548 | \n -0.001689 | \n 0.001728 | \n 0.000770 | \n
\n \n | 2 | \n 600000 | \n 2010-01-05 | \n 0.0076 | \n 0.006584 | \n -0.0062 | \n 0.005921 | \n -0.002548 | \n -0.001689 | \n 0.001728 | \n 0.000770 | \n
\n \n | 3 | \n 600015 | \n 2010-01-05 | \n 0.0252 | \n 0.006584 | \n -0.0062 | \n 0.005921 | \n -0.002548 | \n -0.001689 | \n 0.001728 | \n 0.000770 | \n
\n \n | 4 | \n 600016 | \n 2010-01-05 | \n 0.0177 | \n 0.006584 | \n -0.0062 | \n 0.005921 | \n -0.002548 | \n -0.001689 | \n 0.001728 | \n 0.000770 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 46006 | \n 601398 | \n 2021-12-31 | \n -0.0022 | \n 0.005888 | \n -0.0086 | \n -0.004844 | \n 0.003232 | \n 0.002873 | \n -0.004371 | \n 0.004678 | \n
\n \n | 46007 | \n 601818 | \n 2021-12-31 | \n 0.0000 | \n 0.005888 | \n -0.0086 | \n -0.004844 | \n 0.003232 | \n 0.002873 | \n -0.004371 | \n 0.004678 | \n
\n \n | 46008 | \n 601939 | \n 2021-12-31 | \n -0.0017 | \n 0.005888 | \n -0.0086 | \n -0.004844 | \n 0.003232 | \n 0.002873 | \n -0.004371 | \n 0.004678 | \n
\n \n | 46009 | \n 601988 | \n 2021-12-31 | \n 0.0000 | \n 0.005888 | \n -0.0086 | \n -0.004844 | \n 0.003232 | \n 0.002873 | \n -0.004371 | \n 0.004678 | \n
\n \n | 46010 | \n 601998 | \n 2021-12-31 | \n 0.0022 | \n 0.005888 | \n -0.0086 | \n -0.004844 | \n 0.003232 | \n 0.002873 | \n -0.004371 | \n 0.004678 | \n
\n \n
\n
46011 rows × 10 columns
\n
"
},
"execution_count": 166,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv('data.csv', usecols=range(10))\n",
"data['date'] = pd.to_datetime(data['date'], format='%Y-%m-%d %H:%M:%S')\n",
"data.columns=['code','date','code_return','mkt','ten_return','smg','hml','umd','rmw','cma']\n",
"data"
]
},
{
"cell_type": "code",
"execution_count": 167,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 1 2142 600000 600015 600016 600036 601009 601166 601169 601288\n",
" 601328 601398 601818 601939 601988 601998]\n"
]
},
{
"data": {
"text/plain": "{'2010': code date code_return mkt ten_return smg \\\n 0 1 2010-01-05 -0.0173 0.006584 -0.0062 0.005921 \n 1 2142 2010-01-05 0.0024 0.006584 -0.0062 0.005921 \n 2 600000 2010-01-05 0.0076 0.006584 -0.0062 0.005921 \n 3 600015 2010-01-05 0.0252 0.006584 -0.0062 0.005921 \n 4 600016 2010-01-05 0.0177 0.006584 -0.0062 0.005921 \n ... ... ... ... ... ... ... \n 3423 601398 2010-12-31 0.0000 0.021355 0.2259 -0.001975 \n 3424 601818 2010-12-31 0.0128 0.021355 0.2259 -0.001975 \n 3425 601939 2010-12-31 0.0066 0.021355 0.2259 -0.001975 \n 3426 601988 2010-12-31 0.0031 0.021355 0.2259 -0.001975 \n 3427 601998 2010-12-31 0.0096 0.021355 0.2259 -0.001975 \n \n hml umd rmw cma \n 0 -0.002548 -0.001689 0.001728 0.00077 \n 1 -0.002548 -0.001689 0.001728 0.00077 \n 2 -0.002548 -0.001689 0.001728 0.00077 \n 3 -0.002548 -0.001689 0.001728 0.00077 \n 4 -0.002548 -0.001689 0.001728 0.00077 \n ... ... ... ... ... \n 3423 -0.006747 0.012053 -0.002152 0.00191 \n 3424 -0.006747 0.012053 -0.002152 0.00191 \n 3425 -0.006747 0.012053 -0.002152 0.00191 \n 3426 -0.006747 0.012053 -0.002152 0.00191 \n 3427 -0.006747 0.012053 -0.002152 0.00191 \n \n [3428 rows x 10 columns],\n '2011': code date code_return mkt ten_return smg \\\n 3428 1 2011-01-04 0.0146 0.017028 0.3170 0.000556 \n 3429 2142 2011-01-04 0.0282 0.017028 0.3170 0.000556 \n 3430 600000 2011-01-04 0.0178 0.017028 0.3170 0.000556 \n 3431 600015 2011-01-04 0.0211 0.017028 0.3170 0.000556 \n 3432 600016 2011-01-04 0.0100 0.017028 0.3170 0.000556 \n ... ... ... ... ... ... ... \n 7276 601398 2011-12-30 0.0095 0.013180 0.1924 0.001986 \n 7277 601818 2011-12-30 0.0213 0.013180 0.1924 0.001986 \n 7278 601939 2011-12-30 0.0067 0.013180 0.1924 0.001986 \n 7279 601988 2011-12-30 0.0034 0.013180 0.1924 0.001986 \n 7280 601998 2011-12-30 0.0151 0.013180 0.1924 0.001986 \n \n hml umd rmw cma \n 3428 0.003693 -0.003027 -0.004089 -0.000740 \n 3429 0.003693 -0.003027 -0.004089 -0.000740 \n 3430 0.003693 -0.003027 -0.004089 -0.000740 \n 3431 0.003693 -0.003027 -0.004089 -0.000740 \n 3432 0.003693 -0.003027 -0.004089 -0.000740 \n ... ... ... ... ... \n 7276 -0.007290 -0.006930 -0.004865 -0.004061 \n 7277 -0.007290 -0.006930 -0.004865 -0.004061 \n 7278 -0.007290 -0.006930 -0.004865 -0.004061 \n 7279 -0.007290 -0.006930 -0.004865 -0.004061 \n 7280 -0.007290 -0.006930 -0.004865 -0.004061 \n \n [3853 rows x 10 columns],\n '2012': code date code_return mkt ten_return smg \\\n 7281 1 2012-01-04 -0.0276 -0.018629 -0.0459 -0.002342 \n 7282 2142 2012-01-04 -0.0273 -0.018629 -0.0459 -0.002342 \n 7283 600000 2012-01-04 -0.0094 -0.018629 -0.0459 -0.002342 \n 7284 600015 2012-01-04 -0.0098 -0.018629 -0.0459 -0.002342 \n 7285 600016 2012-01-04 -0.0051 -0.018629 -0.0459 -0.002342 \n ... ... ... ... ... ... ... \n 11118 601398 2012-12-31 0.0122 0.011597 0.0155 -0.004285 \n 11119 601818 2012-12-31 0.0235 0.011597 0.0155 -0.004285 \n 11120 601939 2012-12-31 0.0155 0.011597 0.0155 -0.004285 \n 11121 601988 2012-12-31 0.0104 0.011597 0.0155 -0.004285 \n 11122 601998 2012-12-31 0.0239 0.011597 0.0155 -0.004285 \n \n hml umd rmw cma \n 7281 0.010385 0.010148 0.007820 0.005923 \n 7282 0.010385 0.010148 0.007820 0.005923 \n 7283 0.010385 0.010148 0.007820 0.005923 \n 7284 0.010385 0.010148 0.007820 0.005923 \n 7285 0.010385 0.010148 0.007820 0.005923 \n ... ... ... ... ... \n 11118 0.001947 0.001989 0.001233 -0.003117 \n 11119 0.001947 0.001989 0.001233 -0.003117 \n 11120 0.001947 0.001989 0.001233 -0.003117 \n 11121 0.001947 0.001989 0.001233 -0.003117 \n 11122 0.001947 0.001989 0.001233 -0.003117 \n \n [3842 rows x 10 columns],\n '2013': code date code_return mkt ten_return smg \\\n 11123 1 2013-01-04 -0.0019 -0.002649 -0.1471 -0.000036 \n 11124 2142 2013-01-04 -0.0103 -0.002649 -0.1471 -0.000036 \n 11125 600000 2013-01-04 0.0101 -0.002649 -0.1471 -0.000036 \n 11126 600015 2013-01-04 -0.0019 -0.002649 -0.1471 -0.000036 \n 11127 600016 2013-01-04 0.0153 -0.002649 -0.1471 -0.000036 \n ... ... ... ... ... ... ... \n 14919 601398 2013-12-31 0.0085 0.005728 0.0551 -0.009074 \n 14920 601818 2013-12-31 0.0114 0.005728 0.0551 -0.009074 \n 14921 601939 2013-12-31 0.0122 0.005728 0.0551 -0.009074 \n 14922 601988 2013-12-31 0.0038 0.005728 0.0551 -0.009074 \n 14923 601998 2013-12-31 0.0238 0.005728 0.0551 -0.009074 \n \n hml umd rmw cma \n 11123 0.010271 -0.004640 -0.001565 0.003320 \n 11124 0.010271 -0.004640 -0.001565 0.003320 \n 11125 0.010271 -0.004640 -0.001565 0.003320 \n 11126 0.010271 -0.004640 -0.001565 0.003320 \n 11127 0.010271 -0.004640 -0.001565 0.003320 \n ... ... ... ... ... \n 14919 -0.002442 -0.006581 0.005080 -0.005503 \n 14920 -0.002442 -0.006581 0.005080 -0.005503 \n 14921 -0.002442 -0.006581 0.005080 -0.005503 \n 14922 -0.002442 -0.006581 0.005080 -0.005503 \n 14923 -0.002442 -0.006581 0.005080 -0.005503 \n \n [3801 rows x 10 columns],\n '2014': code date code_return mkt ten_return smg \\\n 14924 1 2014-01-02 -0.0016 0.002230 -0.0918 0.010387 \n 14925 2142 2014-01-02 -0.0108 0.002230 -0.0918 0.010387 \n 14926 600000 2014-01-02 -0.0106 0.002230 -0.0918 0.010387 \n 14927 600015 2014-01-02 -0.0315 0.002230 -0.0918 0.010387 \n 14928 600016 2014-01-02 0.0013 0.002230 -0.0918 0.010387 \n ... ... ... ... ... ... ... \n 18834 601398 2014-12-31 0.0340 0.018676 -0.1972 -0.009086 \n 18835 601818 2014-12-31 0.0083 0.018676 -0.1972 -0.009086 \n 18836 601939 2014-12-31 0.0244 0.018676 -0.1972 -0.009086 \n 18837 601988 2014-12-31 0.0533 0.018676 -0.1972 -0.009086 \n 18838 601998 2014-12-31 0.0162 0.018676 -0.1972 -0.009086 \n \n hml umd rmw cma \n 14924 -0.006336 0.013168 -0.008146 -0.003061 \n 14925 -0.006336 0.013168 -0.008146 -0.003061 \n 14926 -0.006336 0.013168 -0.008146 -0.003061 \n 14927 -0.006336 0.013168 -0.008146 -0.003061 \n 14928 -0.006336 0.013168 -0.008146 -0.003061 \n ... ... ... ... ... \n 18834 0.007772 -0.004115 0.012705 -0.005498 \n 18835 0.007772 -0.004115 0.012705 -0.005498 \n 18836 0.007772 -0.004115 0.012705 -0.005498 \n 18837 0.007772 -0.004115 0.012705 -0.005498 \n 18838 0.007772 -0.004115 0.012705 -0.005498 \n \n [3915 rows x 10 columns],\n '2015': code date code_return mkt ten_return smg \\\n 18839 1 2015-01-05 0.0114 0.039612 0.2365 -0.029235 \n 18840 2142 2015-01-05 -0.0013 0.039612 0.2365 -0.029235 \n 18841 600000 2015-01-05 0.0242 0.039612 0.2365 -0.029235 \n 18842 600015 2015-01-05 0.0059 0.039612 0.2365 -0.029235 \n 18843 600016 2015-01-05 -0.0092 0.039612 0.2365 -0.029235 \n ... ... ... ... ... ... ... \n 22671 601398 2015-12-31 -0.0065 -0.013746 0.1485 -0.004086 \n 22672 601818 2015-12-31 -0.0047 -0.013746 0.1485 -0.004086 \n 22673 601939 2015-12-31 -0.0017 -0.013746 0.1485 -0.004086 \n 22674 601988 2015-12-31 -0.0050 -0.013746 0.1485 -0.004086 \n 22675 601998 2015-12-31 -0.0137 -0.013746 0.1485 -0.004086 \n \n hml umd rmw cma \n 18839 0.029515 0.014860 0.029674 0.001048 \n 18840 0.029515 0.014860 0.029674 0.001048 \n 18841 0.029515 0.014860 0.029674 0.001048 \n 18842 0.029515 0.014860 0.029674 0.001048 \n 18843 0.029515 0.014860 0.029674 0.001048 \n ... ... ... ... ... \n 22671 0.002671 -0.009198 0.007788 0.002567 \n 22672 0.002671 -0.009198 0.007788 0.002567 \n 22673 0.002671 -0.009198 0.007788 0.002567 \n 22674 0.002671 -0.009198 0.007788 0.002567 \n 22675 0.002671 -0.009198 0.007788 0.002567 \n \n [3837 rows x 10 columns],\n '2016': code date code_return mkt ten_return smg \\\n 22676 1 2016-01-04 -0.0550 -0.082439 -0.1033 -0.010223 \n 22677 2142 2016-01-04 -0.0722 -0.082439 -0.1033 -0.010223 \n 22678 600000 2016-01-04 -0.0257 -0.082439 -0.1033 -0.010223 \n 22679 600015 2016-01-04 -0.0585 -0.082439 -0.1033 -0.010223 \n 22680 600016 2016-01-04 -0.0633 -0.082439 -0.1033 -0.010223 \n ... ... ... ... ... ... ... \n 26550 601398 2016-12-30 0.0068 0.001458 0.4018 -0.002856 \n 26551 601818 2016-12-30 0.0051 0.001458 0.4018 -0.002856 \n 26552 601939 2016-12-30 0.0018 0.001458 0.4018 -0.002856 \n 26553 601988 2016-12-30 0.0058 0.001458 0.4018 -0.002856 \n 26554 601998 2016-12-30 0.0079 0.001458 0.4018 -0.002856 \n \n hml umd rmw cma \n 22676 0.004140 -0.017415 0.015976 0.015416 \n 22677 0.004140 -0.017415 0.015976 0.015416 \n 22678 0.004140 -0.017415 0.015976 0.015416 \n 22679 0.004140 -0.017415 0.015976 0.015416 \n 22680 0.004140 -0.017415 0.015976 0.015416 \n ... ... ... ... ... \n 26550 0.000766 0.002952 0.005182 -0.003431 \n 26551 0.000766 0.002952 0.005182 -0.003431 \n 26552 0.000766 0.002952 0.005182 -0.003431 \n 26553 0.000766 0.002952 0.005182 -0.003431 \n 26554 0.000766 0.002952 0.005182 -0.003431 \n \n [3879 rows x 10 columns],\n '2017': code date code_return mkt ten_return smg \\\n 26555 1 2017-01-03 0.0066 0.009260 -0.1594 0.003536 \n 26556 2142 2017-01-03 0.0457 0.009260 -0.1594 0.003536 \n 26557 600000 2017-01-03 0.0056 0.009260 -0.1594 0.003536 \n 26558 600015 2017-01-03 0.0267 0.009260 -0.1594 0.003536 \n 26559 600016 2017-01-03 0.0033 0.009260 -0.1594 0.003536 \n ... ... ... ... ... ... ... \n 30444 601398 2017-12-29 0.0098 0.005047 0.0149 0.004887 \n 30445 601818 2017-12-29 0.0000 0.005047 0.0149 0.004887 \n 30446 601939 2017-12-29 0.0172 0.005047 0.0149 0.004887 \n 30447 601988 2017-12-29 0.0102 0.005047 0.0149 0.004887 \n 30448 601998 2017-12-29 0.0032 0.005047 0.0149 0.004887 \n \n hml umd rmw cma \n 26555 0.003988 0.000802 -0.005529 0.003971 \n 26556 0.003988 0.000802 -0.005529 0.003971 \n 26557 0.003988 0.000802 -0.005529 0.003971 \n 26558 0.003988 0.000802 -0.005529 0.003971 \n 26559 0.003988 0.000802 -0.005529 0.003971 \n ... ... ... ... ... \n 30444 -0.003170 -0.005223 -0.002752 -0.000086 \n 30445 -0.003170 -0.005223 -0.002752 -0.000086 \n 30446 -0.003170 -0.005223 -0.002752 -0.000086 \n 30447 -0.003170 -0.005223 -0.002752 -0.000086 \n 30448 -0.003170 -0.005223 -0.002752 -0.000086 \n \n [3894 rows x 10 columns],\n '2018': code date code_return mkt ten_return smg \\\n 30449 1 2018-01-02 0.0301 0.014167 0.0403 -0.001160 \n 30450 2142 2018-01-02 0.0387 0.014167 0.0403 -0.001160 \n 30451 600000 2018-01-02 0.0103 0.014167 0.0403 -0.001160 \n 30452 600015 2018-01-02 0.0122 0.014167 0.0403 -0.001160 \n 30453 600016 2018-01-02 0.0155 0.014167 0.0403 -0.001160 \n ... ... ... ... ... ... ... \n 34332 601398 2018-12-28 0.0019 0.003514 0.1253 -0.004391 \n 34333 601818 2018-12-28 0.0137 0.003514 0.1253 -0.004391 \n 34334 601939 2018-12-28 0.0127 0.003514 0.1253 -0.004391 \n 34335 601988 2018-12-28 -0.0055 0.003514 0.1253 -0.004391 \n 34336 601998 2018-12-28 0.0149 0.003514 0.1253 -0.004391 \n \n hml umd rmw cma \n 30449 0.011184 0.006522 0.007271 0.005406 \n 30450 0.011184 0.006522 0.007271 0.005406 \n 30451 0.011184 0.006522 0.007271 0.005406 \n 30452 0.011184 0.006522 0.007271 0.005406 \n 30453 0.011184 0.006522 0.007271 0.005406 \n ... ... ... ... ... \n 34332 -0.000968 0.006954 0.002116 0.000542 \n 34333 -0.000968 0.006954 0.002116 0.000542 \n 34334 -0.000968 0.006954 0.002116 0.000542 \n 34335 -0.000968 0.006954 0.002116 0.000542 \n 34336 -0.000968 0.006954 0.002116 0.000542 \n \n [3888 rows x 10 columns],\n '2019': code date code_return mkt ten_return smg \\\n 34337 1 2019-01-02 -0.0203 -0.009177 0.3417 0.012049 \n 34338 2142 2019-01-02 -0.0142 -0.009177 0.3417 0.012049 \n 34339 600000 2019-01-02 -0.0102 -0.009177 0.3417 0.012049 \n 34340 600015 2019-01-02 -0.0108 -0.009177 0.3417 0.012049 \n 34341 600016 2019-01-02 -0.0140 -0.009177 0.3417 0.012049 \n ... ... ... ... ... ... ... \n 38236 601398 2019-12-31 -0.0017 0.006101 0.0911 -0.000255 \n 38237 601818 2019-12-31 0.0046 0.006101 0.0911 -0.000255 \n 38238 601939 2019-12-31 0.0000 0.006101 0.0911 -0.000255 \n 38239 601988 2019-12-31 -0.0054 0.006101 0.0911 -0.000255 \n 38240 601998 2019-12-31 0.0000 0.006101 0.0911 -0.000255 \n \n hml umd rmw cma \n 34337 0.000279 -0.002372 -0.012153 0.006228 \n 34338 0.000279 -0.002372 -0.012153 0.006228 \n 34339 0.000279 -0.002372 -0.012153 0.006228 \n 34340 0.000279 -0.002372 -0.012153 0.006228 \n 34341 0.000279 -0.002372 -0.012153 0.006228 \n ... ... ... ... ... \n 38236 0.000730 0.001421 0.000284 -0.002076 \n 38237 0.000730 0.001421 0.000284 -0.002076 \n 38238 0.000730 0.001421 0.000284 -0.002076 \n 38239 0.000730 0.001421 0.000284 -0.002076 \n 38240 0.000730 0.001421 0.000284 -0.002076 \n \n [3904 rows x 10 columns],\n '2020': code date code_return mkt ten_return smg \\\n 38241 1 2020-01-02 0.0255 0.014510 -0.0003 0.005617 \n 38242 2142 2020-01-02 0.0337 0.014510 -0.0003 0.005617 \n 38243 600000 2020-01-02 0.0081 0.014510 -0.0003 0.005617 \n 38244 600015 2020-01-02 0.0039 0.014510 -0.0003 0.005617 \n 38245 600016 2020-01-02 0.0079 0.014510 -0.0003 0.005617 \n ... ... ... ... ... ... ... \n 42124 601398 2020-12-31 0.0060 0.015867 -0.0748 -0.003778 \n 42125 601818 2020-12-31 0.0101 0.015867 -0.0748 -0.003778 \n 42126 601939 2020-12-31 0.0096 0.015867 -0.0748 -0.003778 \n 42127 601988 2020-12-31 0.0032 0.015867 -0.0748 -0.003778 \n 42128 601998 2020-12-31 0.0059 0.015867 -0.0748 -0.003778 \n \n hml umd rmw cma \n 38241 0.002060 -0.00219 -0.006972 0.007840 \n 38242 0.002060 -0.00219 -0.006972 0.007840 \n 38243 0.002060 -0.00219 -0.006972 0.007840 \n 38244 0.002060 -0.00219 -0.006972 0.007840 \n 38245 0.002060 -0.00219 -0.006972 0.007840 \n ... ... ... ... ... \n 42124 -0.007969 0.01043 0.001471 -0.008525 \n 42125 -0.007969 0.01043 0.001471 -0.008525 \n 42126 -0.007969 0.01043 0.001471 -0.008525 \n 42127 -0.007969 0.01043 0.001471 -0.008525 \n 42128 -0.007969 0.01043 0.001471 -0.008525 \n \n [3888 rows x 10 columns],\n '2021': code date code_return mkt ten_return smg \\\n 42129 1 2021-01-04 -0.0383 0.017862 -0.1330 -0.003693 \n 42130 2142 2021-01-04 -0.0113 0.017862 -0.1330 -0.003693 \n 42131 600000 2021-01-04 0.0010 0.017862 -0.1330 -0.003693 \n 42132 600015 2021-01-04 -0.0064 0.017862 -0.1330 -0.003693 \n 42133 600016 2021-01-04 0.0000 0.017862 -0.1330 -0.003693 \n ... ... ... ... ... ... ... \n 46006 601398 2021-12-31 -0.0022 0.005888 -0.0086 -0.004844 \n 46007 601818 2021-12-31 0.0000 0.005888 -0.0086 -0.004844 \n 46008 601939 2021-12-31 -0.0017 0.005888 -0.0086 -0.004844 \n 46009 601988 2021-12-31 0.0000 0.005888 -0.0086 -0.004844 \n 46010 601998 2021-12-31 0.0022 0.005888 -0.0086 -0.004844 \n \n hml umd rmw cma \n 42129 -0.008104 0.020164 0.004206 -0.005063 \n 42130 -0.008104 0.020164 0.004206 -0.005063 \n 42131 -0.008104 0.020164 0.004206 -0.005063 \n 42132 -0.008104 0.020164 0.004206 -0.005063 \n 42133 -0.008104 0.020164 0.004206 -0.005063 \n ... ... ... ... ... \n 46006 0.003232 0.002873 -0.004371 0.004678 \n 46007 0.003232 0.002873 -0.004371 0.004678 \n 46008 0.003232 0.002873 -0.004371 0.004678 \n 46009 0.003232 0.002873 -0.004371 0.004678 \n 46010 0.003232 0.002873 -0.004371 0.004678 \n \n [3882 rows x 10 columns]}"
},
"execution_count": 167,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#将年份分组\n",
"print(np.unique(data['code']))\n",
"grouped_df = {str(year): data.loc[data['date'].dt.year == year] for year in data['date'].dt.year.unique()}\n",
"grouped_df"
]
},
{
"cell_type": "code",
"execution_count": 168,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 6 \\\n0 0.013148 0.005773 -0.002174 -0.011488 -0.003769 -0.008502 0.000224 \n1 0.00311 0.006051 -0.000892 -0.006017 0.00272 -0.002792 0.006169 \n2 0.00621 0.006622 -0.001221 -0.000178 0.002632 0.000758 0.00916 \n3 0.01093 0.011443 -0.003068 -0.004101 0.001881 0.001777 0.005978 \n4 0.003502 0.004323 -0.005825 0.000091 0.00042 -0.002892 -0.000686 \n5 0.008415 0.007548 -0.005569 -0.00101 -0.002053 -0.004033 0.001196 \n6 0.011578 0.005271 -0.005497 -0.001595 -0.000909 -0.006777 0.00702 \n7 0.012647 0.007237 -0.004455 -0.006842 -0.000847 -0.004233 0.002475 \n8 0.014949 0.006399 -0.006739 -0.003964 -0.001614 0.001471 -0.004751 \n9 0.007986 0.002128 -0.003844 -0.004521 0.003023 -0.005343 0.006551 \n10 0.001892 0.002028 -0.006251 0.001014 -0.004072 -0.000999 0.001618 \n11 0.005183 0.002499 -0.004634 0.003188 -0.005132 -0.004965 0.006515 \n12 0.000884 0.004752 -0.003889 0.001368 0.003177 0.005302 0.003047 \n13 0.007043 0.006164 -0.008906 -0.005824 0.001187 -0.0038 0.00797 \n14 0.011256 0.003021 -0.008492 -0.002728 -0.004721 0.000146 0.001244 \n15 -0.002598 0.00713 -0.00268 -0.002117 -0.0014 -0.002143 0.007368 \n\n 7 8 9 10 11 \n0 -0.005029 0.006808 -0.007678 -0.00327 -0.041562 \n1 0.00631 0.002925 -0.007352 0.008641 -0.038542 \n2 0.007962 0.008392 -0.001293 -0.004359 -0.010352 \n3 0.001063 0.004835 -0.002413 0.000799 -0.004831 \n4 0.00123 0.002731 -0.004258 -0.002813 -0.006835 \n5 0.000351 -0.003022 0.00475 -0.00051 -0.028943 \n6 0.000757 -0.004006 -0.013887 0.000157 -0.032707 \n7 0.004029 0.002705 -0.006041 -0.000705 -0.034017 \n8 -0.000544 0.001677 -0.004262 -0.001848 -0.002259 \n9 0.004729 0.000891 0.001353 -0.004274 -0.005001 \n10 0.000193 -0.007897 -0.002905 -0.004985 -0.009041 \n11 0.001243 -0.012194 -0.010153 -0.008684 -0.017869 \n12 0.001169 -0.005335 -0.005862 -0.006693 -0.001391 \n13 0.004833 0.002482 -0.00693 -0.004475 -0.006643 \n14 -0.001826 -0.011347 -0.002271 -0.003724 -0.005624 \n15 0.003498 -0.0006 0.001028 -0.005841 -0.009565 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n 11 | \n
\n \n \n \n | 0 | \n 0.013148 | \n 0.005773 | \n -0.002174 | \n -0.011488 | \n -0.003769 | \n -0.008502 | \n 0.000224 | \n -0.005029 | \n 0.006808 | \n -0.007678 | \n -0.00327 | \n -0.041562 | \n
\n \n | 1 | \n 0.00311 | \n 0.006051 | \n -0.000892 | \n -0.006017 | \n 0.00272 | \n -0.002792 | \n 0.006169 | \n 0.00631 | \n 0.002925 | \n -0.007352 | \n 0.008641 | \n -0.038542 | \n
\n \n | 2 | \n 0.00621 | \n 0.006622 | \n -0.001221 | \n -0.000178 | \n 0.002632 | \n 0.000758 | \n 0.00916 | \n 0.007962 | \n 0.008392 | \n -0.001293 | \n -0.004359 | \n -0.010352 | \n
\n \n | 3 | \n 0.01093 | \n 0.011443 | \n -0.003068 | \n -0.004101 | \n 0.001881 | \n 0.001777 | \n 0.005978 | \n 0.001063 | \n 0.004835 | \n -0.002413 | \n 0.000799 | \n -0.004831 | \n
\n \n | 4 | \n 0.003502 | \n 0.004323 | \n -0.005825 | \n 0.000091 | \n 0.00042 | \n -0.002892 | \n -0.000686 | \n 0.00123 | \n 0.002731 | \n -0.004258 | \n -0.002813 | \n -0.006835 | \n
\n \n | 5 | \n 0.008415 | \n 0.007548 | \n -0.005569 | \n -0.00101 | \n -0.002053 | \n -0.004033 | \n 0.001196 | \n 0.000351 | \n -0.003022 | \n 0.00475 | \n -0.00051 | \n -0.028943 | \n
\n \n | 6 | \n 0.011578 | \n 0.005271 | \n -0.005497 | \n -0.001595 | \n -0.000909 | \n -0.006777 | \n 0.00702 | \n 0.000757 | \n -0.004006 | \n -0.013887 | \n 0.000157 | \n -0.032707 | \n
\n \n | 7 | \n 0.012647 | \n 0.007237 | \n -0.004455 | \n -0.006842 | \n -0.000847 | \n -0.004233 | \n 0.002475 | \n 0.004029 | \n 0.002705 | \n -0.006041 | \n -0.000705 | \n -0.034017 | \n
\n \n | 8 | \n 0.014949 | \n 0.006399 | \n -0.006739 | \n -0.003964 | \n -0.001614 | \n 0.001471 | \n -0.004751 | \n -0.000544 | \n 0.001677 | \n -0.004262 | \n -0.001848 | \n -0.002259 | \n
\n \n | 9 | \n 0.007986 | \n 0.002128 | \n -0.003844 | \n -0.004521 | \n 0.003023 | \n -0.005343 | \n 0.006551 | \n 0.004729 | \n 0.000891 | \n 0.001353 | \n -0.004274 | \n -0.005001 | \n
\n \n | 10 | \n 0.001892 | \n 0.002028 | \n -0.006251 | \n 0.001014 | \n -0.004072 | \n -0.000999 | \n 0.001618 | \n 0.000193 | \n -0.007897 | \n -0.002905 | \n -0.004985 | \n -0.009041 | \n
\n \n | 11 | \n 0.005183 | \n 0.002499 | \n -0.004634 | \n 0.003188 | \n -0.005132 | \n -0.004965 | \n 0.006515 | \n 0.001243 | \n -0.012194 | \n -0.010153 | \n -0.008684 | \n -0.017869 | \n
\n \n | 12 | \n 0.000884 | \n 0.004752 | \n -0.003889 | \n 0.001368 | \n 0.003177 | \n 0.005302 | \n 0.003047 | \n 0.001169 | \n -0.005335 | \n -0.005862 | \n -0.006693 | \n -0.001391 | \n
\n \n | 13 | \n 0.007043 | \n 0.006164 | \n -0.008906 | \n -0.005824 | \n 0.001187 | \n -0.0038 | \n 0.00797 | \n 0.004833 | \n 0.002482 | \n -0.00693 | \n -0.004475 | \n -0.006643 | \n
\n \n | 14 | \n 0.011256 | \n 0.003021 | \n -0.008492 | \n -0.002728 | \n -0.004721 | \n 0.000146 | \n 0.001244 | \n -0.001826 | \n -0.011347 | \n -0.002271 | \n -0.003724 | \n -0.005624 | \n
\n \n | 15 | \n -0.002598 | \n 0.00713 | \n -0.00268 | \n -0.002117 | \n -0.0014 | \n -0.002143 | \n 0.007368 | \n 0.003498 | \n -0.0006 | \n 0.001028 | \n -0.005841 | \n -0.009565 | \n
\n \n
\n
"
},
"execution_count": 168,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unique_stocks=data['code'].unique()\n",
"return_board=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)))\n",
"return_board_t=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)))\n",
"return_board_p=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)))\n",
"coef=[]\n",
"for i,(year,dt) in enumerate(grouped_df.items()):\n",
" for j,stock in enumerate(unique_stocks):\n",
" stock_data=dt[dt['code']==stock]\n",
" X=stock_data[['mkt','ten_return','smg','hml','umd','rmw','cma']]\n",
" X=sm.add_constant(X)\n",
" y=stock_data[['code_return']]\n",
" model= sm.OLS(y,X).fit()\n",
"\n",
" nobs, _ = X.shape\n",
" nw_lags = round(pow(nobs,0.25))\n",
" nw_model = model.get_robustcov_results(cov_type='HAC', maxlags=nw_lags)\n",
" return_board.iloc[j, i] = nw_model.params[2]\n",
" return_board_t.iloc[j,i]=nw_model.tvalues[2]\n",
" return_board_p.iloc[j,i]=nw_model.pvalues[2]\n",
"\n",
"\n",
"return_board"
]
},
{
"cell_type": "code",
"execution_count": 169,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 6 \\\n0 2.672289 1.65195 -0.584873 -1.422226 -0.679915 -1.713695 0.08846 \n1 0.678286 1.692203 -0.176714 -1.473519 0.581675 -0.359514 0.837783 \n2 1.607803 2.091248 -0.338955 -0.033024 0.498631 0.133049 1.979966 \n3 1.940856 3.025431 -0.648008 -0.946093 0.335058 0.34687 0.834401 \n4 1.085603 1.450319 -1.33474 0.016554 0.066288 -0.531891 -0.124888 \n5 1.598023 2.408994 -1.237503 -0.186233 -0.47784 -0.775524 0.22234 \n6 2.263565 2.002715 -1.12967 -0.485346 -0.149489 -0.935721 0.913949 \n7 2.510193 2.194232 -1.085532 -1.116724 -0.167024 -0.657669 0.53287 \n8 3.156239 2.608247 -1.773021 -0.792807 -0.300002 0.227941 -0.970723 \n9 1.908888 1.020874 -1.252643 -1.284519 0.497454 -0.836817 1.27097 \n10 0.561323 0.883705 -2.458834 0.414353 -1.002247 -0.225703 0.449829 \n11 1.362467 0.934725 -1.563937 1.1194 -1.284628 -0.927656 1.304006 \n12 0.305835 2.200871 -1.515957 0.545774 0.48452 0.69731 0.767691 \n13 1.369513 1.560162 -2.678799 -1.219179 0.151721 -0.401658 1.072173 \n14 2.598002 1.386932 -2.718241 -0.893891 -1.022888 0.033951 0.494426 \n15 -0.196477 3.3033 -0.800184 -0.702422 -0.236832 -0.296001 1.363649 \n\n 7 8 9 10 11 \n0 -0.887568 0.642572 -0.747215 -0.552356 -2.734635 \n1 0.949781 0.315842 -0.874458 1.209169 -3.172067 \n2 1.892292 1.470652 -0.186103 -1.553808 -2.368739 \n3 0.293936 1.262213 -0.562626 0.281094 -1.246859 \n4 0.316434 0.630516 -1.259602 -1.052676 -2.037289 \n5 0.064866 -0.333926 0.667069 -0.072881 -2.340295 \n6 0.124861 -0.562 -1.711675 0.039256 -3.033372 \n7 1.338756 0.683224 -0.783068 -0.160481 -2.897619 \n8 -0.134426 0.391561 -0.843345 -0.826849 -0.660071 \n9 1.555012 0.203586 0.223907 -1.930875 -1.255167 \n10 0.048612 -0.713581 -0.459602 -1.550026 -2.076934 \n11 0.329955 -1.061675 -1.275117 -2.293483 -3.000142 \n12 0.31758 -0.897544 -1.397265 -3.070039 -0.571298 \n13 0.801546 0.32417 -0.905452 -1.320242 -1.672305 \n14 -0.454492 -1.306354 -0.38196 -1.448341 -1.798889 \n15 0.961712 -0.125835 0.116913 -1.284976 -1.702698 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n 11 | \n
\n \n \n \n | 0 | \n 2.672289 | \n 1.65195 | \n -0.584873 | \n -1.422226 | \n -0.679915 | \n -1.713695 | \n 0.08846 | \n -0.887568 | \n 0.642572 | \n -0.747215 | \n -0.552356 | \n -2.734635 | \n
\n \n | 1 | \n 0.678286 | \n 1.692203 | \n -0.176714 | \n -1.473519 | \n 0.581675 | \n -0.359514 | \n 0.837783 | \n 0.949781 | \n 0.315842 | \n -0.874458 | \n 1.209169 | \n -3.172067 | \n
\n \n | 2 | \n 1.607803 | \n 2.091248 | \n -0.338955 | \n -0.033024 | \n 0.498631 | \n 0.133049 | \n 1.979966 | \n 1.892292 | \n 1.470652 | \n -0.186103 | \n -1.553808 | \n -2.368739 | \n
\n \n | 3 | \n 1.940856 | \n 3.025431 | \n -0.648008 | \n -0.946093 | \n 0.335058 | \n 0.34687 | \n 0.834401 | \n 0.293936 | \n 1.262213 | \n -0.562626 | \n 0.281094 | \n -1.246859 | \n
\n \n | 4 | \n 1.085603 | \n 1.450319 | \n -1.33474 | \n 0.016554 | \n 0.066288 | \n -0.531891 | \n -0.124888 | \n 0.316434 | \n 0.630516 | \n -1.259602 | \n -1.052676 | \n -2.037289 | \n
\n \n | 5 | \n 1.598023 | \n 2.408994 | \n -1.237503 | \n -0.186233 | \n -0.47784 | \n -0.775524 | \n 0.22234 | \n 0.064866 | \n -0.333926 | \n 0.667069 | \n -0.072881 | \n -2.340295 | \n
\n \n | 6 | \n 2.263565 | \n 2.002715 | \n -1.12967 | \n -0.485346 | \n -0.149489 | \n -0.935721 | \n 0.913949 | \n 0.124861 | \n -0.562 | \n -1.711675 | \n 0.039256 | \n -3.033372 | \n
\n \n | 7 | \n 2.510193 | \n 2.194232 | \n -1.085532 | \n -1.116724 | \n -0.167024 | \n -0.657669 | \n 0.53287 | \n 1.338756 | \n 0.683224 | \n -0.783068 | \n -0.160481 | \n -2.897619 | \n
\n \n | 8 | \n 3.156239 | \n 2.608247 | \n -1.773021 | \n -0.792807 | \n -0.300002 | \n 0.227941 | \n -0.970723 | \n -0.134426 | \n 0.391561 | \n -0.843345 | \n -0.826849 | \n -0.660071 | \n
\n \n | 9 | \n 1.908888 | \n 1.020874 | \n -1.252643 | \n -1.284519 | \n 0.497454 | \n -0.836817 | \n 1.27097 | \n 1.555012 | \n 0.203586 | \n 0.223907 | \n -1.930875 | \n -1.255167 | \n
\n \n | 10 | \n 0.561323 | \n 0.883705 | \n -2.458834 | \n 0.414353 | \n -1.002247 | \n -0.225703 | \n 0.449829 | \n 0.048612 | \n -0.713581 | \n -0.459602 | \n -1.550026 | \n -2.076934 | \n
\n \n | 11 | \n 1.362467 | \n 0.934725 | \n -1.563937 | \n 1.1194 | \n -1.284628 | \n -0.927656 | \n 1.304006 | \n 0.329955 | \n -1.061675 | \n -1.275117 | \n -2.293483 | \n -3.000142 | \n
\n \n | 12 | \n 0.305835 | \n 2.200871 | \n -1.515957 | \n 0.545774 | \n 0.48452 | \n 0.69731 | \n 0.767691 | \n 0.31758 | \n -0.897544 | \n -1.397265 | \n -3.070039 | \n -0.571298 | \n
\n \n | 13 | \n 1.369513 | \n 1.560162 | \n -2.678799 | \n -1.219179 | \n 0.151721 | \n -0.401658 | \n 1.072173 | \n 0.801546 | \n 0.32417 | \n -0.905452 | \n -1.320242 | \n -1.672305 | \n
\n \n | 14 | \n 2.598002 | \n 1.386932 | \n -2.718241 | \n -0.893891 | \n -1.022888 | \n 0.033951 | \n 0.494426 | \n -0.454492 | \n -1.306354 | \n -0.38196 | \n -1.448341 | \n -1.798889 | \n
\n \n | 15 | \n -0.196477 | \n 3.3033 | \n -0.800184 | \n -0.702422 | \n -0.236832 | \n -0.296001 | \n 1.363649 | \n 0.961712 | \n -0.125835 | \n 0.116913 | \n -1.284976 | \n -1.702698 | \n
\n \n
\n
"
},
"execution_count": 169,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"return_board_t"
]
},
{
"cell_type": "code",
"execution_count": 170,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 6 \\\n0 0.008214 0.099921 0.559219 0.156321 0.497225 0.087898 0.929586 \n1 0.498269 0.09195 0.859886 0.141979 0.561341 0.719532 0.403004 \n2 0.109306 0.03758 0.734947 0.973684 0.618504 0.894275 0.048965 \n3 0.053577 0.002759 0.517615 0.345094 0.737878 0.728998 0.404899 \n4 0.278781 0.14832 0.183275 0.986807 0.947204 0.595302 0.900719 \n5 0.111435 0.01677 0.217141 0.85243 0.633205 0.438823 0.824242 \n6 0.024559 0.046357 0.259772 0.627893 0.881296 0.350394 0.361676 \n7 0.01277 0.029198 0.278827 0.265277 0.867493 0.511392 0.594636 \n8 0.001811 0.009692 0.077554 0.428707 0.76444 0.819919 0.33268 \n9 0.057549 0.308368 0.211597 0.200253 0.61933 0.403542 0.204991 \n10 0.575138 0.377762 0.014667 0.679002 0.317246 0.821628 0.653247 \n11 0.174413 0.350894 0.11919 0.264137 0.200177 0.354534 0.193502 \n12 0.760014 0.028723 0.130886 0.585751 0.628464 0.486295 0.443438 \n13 0.17218 0.120121 0.007915 0.224025 0.879536 0.688302 0.284738 \n14 0.010723 0.166782 0.007056 0.372315 0.307404 0.972945 0.621465 \n15 0.844741 0.001107 0.424416 0.483126 0.812992 0.767502 0.173983 \n\n 7 8 9 10 11 \n0 0.375677 0.521128 0.455678 0.58123 0.006721 \n1 0.343195 0.752403 0.382758 0.227813 0.001721 \n2 0.059676 0.142723 0.852524 0.121576 0.018659 \n3 0.769065 0.208123 0.574223 0.778885 0.213691 \n4 0.751953 0.52897 0.209057 0.293571 0.042742 \n5 0.948336 0.738733 0.505379 0.941962 0.020106 \n6 0.900741 0.574652 0.08827 0.96872 0.00269 \n7 0.181938 0.495138 0.434372 0.87264 0.004115 \n8 0.893184 0.695738 0.399889 0.409161 0.509855 \n9 0.121283 0.838853 0.823023 0.054701 0.210665 \n10 0.961269 0.476194 0.646225 0.122481 0.038894 \n11 0.741727 0.289473 0.203522 0.022704 0.002989 \n12 0.751084 0.370347 0.163646 0.002392 0.568344 \n13 0.423622 0.746097 0.36615 0.188039 0.095795 \n14 0.649893 0.192709 0.702834 0.148855 0.073319 \n15 0.337179 0.89997 0.907028 0.200066 0.089947 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n 11 | \n
\n \n \n \n | 0 | \n 0.008214 | \n 0.099921 | \n 0.559219 | \n 0.156321 | \n 0.497225 | \n 0.087898 | \n 0.929586 | \n 0.375677 | \n 0.521128 | \n 0.455678 | \n 0.58123 | \n 0.006721 | \n
\n \n | 1 | \n 0.498269 | \n 0.09195 | \n 0.859886 | \n 0.141979 | \n 0.561341 | \n 0.719532 | \n 0.403004 | \n 0.343195 | \n 0.752403 | \n 0.382758 | \n 0.227813 | \n 0.001721 | \n
\n \n | 2 | \n 0.109306 | \n 0.03758 | \n 0.734947 | \n 0.973684 | \n 0.618504 | \n 0.894275 | \n 0.048965 | \n 0.059676 | \n 0.142723 | \n 0.852524 | \n 0.121576 | \n 0.018659 | \n
\n \n | 3 | \n 0.053577 | \n 0.002759 | \n 0.517615 | \n 0.345094 | \n 0.737878 | \n 0.728998 | \n 0.404899 | \n 0.769065 | \n 0.208123 | \n 0.574223 | \n 0.778885 | \n 0.213691 | \n
\n \n | 4 | \n 0.278781 | \n 0.14832 | \n 0.183275 | \n 0.986807 | \n 0.947204 | \n 0.595302 | \n 0.900719 | \n 0.751953 | \n 0.52897 | \n 0.209057 | \n 0.293571 | \n 0.042742 | \n
\n \n | 5 | \n 0.111435 | \n 0.01677 | \n 0.217141 | \n 0.85243 | \n 0.633205 | \n 0.438823 | \n 0.824242 | \n 0.948336 | \n 0.738733 | \n 0.505379 | \n 0.941962 | \n 0.020106 | \n
\n \n | 6 | \n 0.024559 | \n 0.046357 | \n 0.259772 | \n 0.627893 | \n 0.881296 | \n 0.350394 | \n 0.361676 | \n 0.900741 | \n 0.574652 | \n 0.08827 | \n 0.96872 | \n 0.00269 | \n
\n \n | 7 | \n 0.01277 | \n 0.029198 | \n 0.278827 | \n 0.265277 | \n 0.867493 | \n 0.511392 | \n 0.594636 | \n 0.181938 | \n 0.495138 | \n 0.434372 | \n 0.87264 | \n 0.004115 | \n
\n \n | 8 | \n 0.001811 | \n 0.009692 | \n 0.077554 | \n 0.428707 | \n 0.76444 | \n 0.819919 | \n 0.33268 | \n 0.893184 | \n 0.695738 | \n 0.399889 | \n 0.409161 | \n 0.509855 | \n
\n \n | 9 | \n 0.057549 | \n 0.308368 | \n 0.211597 | \n 0.200253 | \n 0.61933 | \n 0.403542 | \n 0.204991 | \n 0.121283 | \n 0.838853 | \n 0.823023 | \n 0.054701 | \n 0.210665 | \n
\n \n | 10 | \n 0.575138 | \n 0.377762 | \n 0.014667 | \n 0.679002 | \n 0.317246 | \n 0.821628 | \n 0.653247 | \n 0.961269 | \n 0.476194 | \n 0.646225 | \n 0.122481 | \n 0.038894 | \n
\n \n | 11 | \n 0.174413 | \n 0.350894 | \n 0.11919 | \n 0.264137 | \n 0.200177 | \n 0.354534 | \n 0.193502 | \n 0.741727 | \n 0.289473 | \n 0.203522 | \n 0.022704 | \n 0.002989 | \n
\n \n | 12 | \n 0.760014 | \n 0.028723 | \n 0.130886 | \n 0.585751 | \n 0.628464 | \n 0.486295 | \n 0.443438 | \n 0.751084 | \n 0.370347 | \n 0.163646 | \n 0.002392 | \n 0.568344 | \n
\n \n | 13 | \n 0.17218 | \n 0.120121 | \n 0.007915 | \n 0.224025 | \n 0.879536 | \n 0.688302 | \n 0.284738 | \n 0.423622 | \n 0.746097 | \n 0.36615 | \n 0.188039 | \n 0.095795 | \n
\n \n | 14 | \n 0.010723 | \n 0.166782 | \n 0.007056 | \n 0.372315 | \n 0.307404 | \n 0.972945 | \n 0.621465 | \n 0.649893 | \n 0.192709 | \n 0.702834 | \n 0.148855 | \n 0.073319 | \n
\n \n | 15 | \n 0.844741 | \n 0.001107 | \n 0.424416 | \n 0.483126 | \n 0.812992 | \n 0.767502 | \n 0.173983 | \n 0.337179 | \n 0.89997 | \n 0.907028 | \n 0.200066 | \n 0.089947 | \n
\n \n
\n
"
},
"execution_count": 170,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"return_board_p"
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " date code gap price\n0 2010-01-01 1 -6.894123e+10 5.502837e+10\n1 2011-01-01 1 9.845070e+08 7.987303e+10\n2 2012-01-01 1 -1.279340e+11 8.207607e+10\n3 2013-01-01 1 -8.280000e+10 1.000000e+11\n4 2014-01-01 1 -9.816000e+10 1.810000e+11\n.. ... ... ... ...\n139 2017-01-01 601998 -1.191440e+12 7.367929e+10\n140 2018-01-01 601998 -1.148510e+12 6.111160e+10\n141 2019-01-01 601998 -1.075820e+12 6.936214e+10\n142 2020-01-01 601998 -7.523680e+11 6.024817e+10\n143 2021-01-01 601998 -9.567740e+11 5.621883e+10\n\n[192 rows x 4 columns]",
"text/html": "\n\n
\n \n \n | \n date | \n code | \n gap | \n price | \n
\n \n \n \n | 0 | \n 2010-01-01 | \n 1 | \n -6.894123e+10 | \n 5.502837e+10 | \n
\n \n | 1 | \n 2011-01-01 | \n 1 | \n 9.845070e+08 | \n 7.987303e+10 | \n
\n \n | 2 | \n 2012-01-01 | \n 1 | \n -1.279340e+11 | \n 8.207607e+10 | \n
\n \n | 3 | \n 2013-01-01 | \n 1 | \n -8.280000e+10 | \n 1.000000e+11 | \n
\n \n | 4 | \n 2014-01-01 | \n 1 | \n -9.816000e+10 | \n 1.810000e+11 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 139 | \n 2017-01-01 | \n 601998 | \n -1.191440e+12 | \n 7.367929e+10 | \n
\n \n | 140 | \n 2018-01-01 | \n 601998 | \n -1.148510e+12 | \n 6.111160e+10 | \n
\n \n | 141 | \n 2019-01-01 | \n 601998 | \n -1.075820e+12 | \n 6.936214e+10 | \n
\n \n | 142 | \n 2020-01-01 | \n 601998 | \n -7.523680e+11 | \n 6.024817e+10 | \n
\n \n | 143 | \n 2021-01-01 | \n 601998 | \n -9.567740e+11 | \n 5.621883e+10 | \n
\n \n
\n
192 rows × 4 columns
\n
"
},
"execution_count": 171,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data2 = pd.read_csv('data2.csv', usecols=range(4))\n",
"data2.columns=['date','code','gap','price']\n",
"data2['date'] = pd.to_datetime(data2['date'], format='%Y')\n",
"data2 = data2.sort_values(by=['code','date'])\n",
"data2"
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 \\\n0 -68941229000.0 984507000.0 -127934000000.0 -82800000000.0 \n1 -23688370000.0 -30949262000.0 -64387527000.0 -96688319000.0 \n2 -141328000000.0 -122787000000.0 -262943000000.0 -373384000000.0 \n3 -28462620000.0 -20438980000.0 -126522000000.0 5316000000.0 \n4 271833000000.0 2799100000000.0 3916390000000.0 412611000000.0 \n5 -208027000000.0 -147414000000.0 -355760000000.0 -547428000000.0 \n6 -63128641000.0 -79853308000.0 -86416577000.0 -88916343000.0 \n7 -92230000000.0 -150749000000.0 -543959000000.0 -580710000000.0 \n8 63789908000.0 12461318000.0 -41682796000.0 -132729000000.0 \n9 -1691760000000.0 -1557840000000.0 -1565400000000.0 -1743650000000.0 \n10 -503562000000.0 -314163000000.0 -125472000000.0 -486960000000.0 \n11 -4004470000000.0 -1887040000000.0 -1539590000000.0 -1106780000000.0 \n12 -69253228000.0 -77212000000.0 -285952000000.0 -201175000000.0 \n13 -1981440000000.0 -1770670000000.0 -1755650000000.0 -1963880000000.0 \n14 548887000000.0 628816000000.0 645520000000.0 671947000000.0 \n15 35679000000.0 118341000000.0 -144273000000.0 -154422000000.0 \n\n 4 5 6 7 \\\n0 -98160000000.0 -157673000000.0 -508704000000.0 -315695000000.0 \n1 -91045918000.0 -285293000000.0 -299220000000.0 -451783000000.0 \n2 -470193000000.0 -984973000000.0 -766507000000.0 -981123000000.0 \n3 82059000000.0 -328526000000.0 -324292000000.0 -289730000000.0 \n4 256403000000.0 217277000000.0 -63557000000.0 -701791000000.0 \n5 -492849000000.0 -313807000000.0 -772892000000.0 -1394600000000.0 \n6 -117734000000.0 -128597000000.0 -211613000000.0 -208129000000.0 \n7 -607199000000.0 -1168380000000.0 -1352810000000.0 -984578000000.0 \n8 -71886000000.0 -158707000000.0 -197487000000.0 -181977000000.0 \n9 -1832790000000.0 -2413880000000.0 -3214940000000.0 -2985350000000.0 \n10 -196709000000.0 -403539000000.0 -608352000000.0 -760441000000.0 \n11 -1047440000000.0 -1481480000000.0 -1577450000000.0 -951368000000.0 \n12 -117947000000.0 -104669000000.0 -200351000000.0 -170217000000.0 \n13 -1691640000000.0 -1981160000000.0 -1839380000000.0 -2375840000000.0 \n14 703291000000.0 755076000000.0 950656000000.0 694703000000.0 \n15 -591972000000.0 -529172000000.0 -1174080000000.0 -1191440000000.0 \n\n 8 9 10 11 \n0 -190340000000.0 -556431000000.0 -762220000000.0 -824255000000.0 \n1 -420995000000.0 -443250000000.0 -631523000000.0 -731100000000.0 \n2 -616548000000.0 -817397000000.0 -2091120000000.0 -1822820000000.0 \n3 119941000000.0 -47074000000.0 -466522000000.0 -370309000000.0 \n4 -325998000000.0 -510123000000.0 -1331160000000.0 1124930000000.0 \n5 -1358110000000.0 -1521390000000.0 -2165980000000.0 -2331830000000.0 \n6 -30603972000.0 88444896000.0 -158145000000.0 -139295000000.0 \n7 -352581000000.0 112035000000.0 -457532000000.0 -946785000000.0 \n8 -57826000000.0 -132071000000.0 -266780000000.0 -162072000000.0 \n9 -3008970000000.0 -3639710000000.0 -7179610000000.0 -5716900000000.0 \n10 -272715000000.0 -693684000000.0 -1458520000000.0 -1904070000000.0 \n11 -133897000000.0 -1593790000000.0 -6378860000000.0 -6440090000000.0 \n12 98146000000.0 236687000000.0 538485000000.0 301889000000.0 \n13 -1019800000000.0 -1696230000000.0 -2864120000000.0 -3954630000000.0 \n14 442751000000.0 718875000000.0 965518000000.0 940632000000.0 \n15 -1148510000000.0 -1075820000000.0 -752368000000.0 -956774000000.0 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n 11 | \n
\n \n \n \n | 0 | \n -68941229000.0 | \n 984507000.0 | \n -127934000000.0 | \n -82800000000.0 | \n -98160000000.0 | \n -157673000000.0 | \n -508704000000.0 | \n -315695000000.0 | \n -190340000000.0 | \n -556431000000.0 | \n -762220000000.0 | \n -824255000000.0 | \n
\n \n | 1 | \n -23688370000.0 | \n -30949262000.0 | \n -64387527000.0 | \n -96688319000.0 | \n -91045918000.0 | \n -285293000000.0 | \n -299220000000.0 | \n -451783000000.0 | \n -420995000000.0 | \n -443250000000.0 | \n -631523000000.0 | \n -731100000000.0 | \n
\n \n | 2 | \n -141328000000.0 | \n -122787000000.0 | \n -262943000000.0 | \n -373384000000.0 | \n -470193000000.0 | \n -984973000000.0 | \n -766507000000.0 | \n -981123000000.0 | \n -616548000000.0 | \n -817397000000.0 | \n -2091120000000.0 | \n -1822820000000.0 | \n
\n \n | 3 | \n -28462620000.0 | \n -20438980000.0 | \n -126522000000.0 | \n 5316000000.0 | \n 82059000000.0 | \n -328526000000.0 | \n -324292000000.0 | \n -289730000000.0 | \n 119941000000.0 | \n -47074000000.0 | \n -466522000000.0 | \n -370309000000.0 | \n
\n \n | 4 | \n 271833000000.0 | \n 2799100000000.0 | \n 3916390000000.0 | \n 412611000000.0 | \n 256403000000.0 | \n 217277000000.0 | \n -63557000000.0 | \n -701791000000.0 | \n -325998000000.0 | \n -510123000000.0 | \n -1331160000000.0 | \n 1124930000000.0 | \n
\n \n | 5 | \n -208027000000.0 | \n -147414000000.0 | \n -355760000000.0 | \n -547428000000.0 | \n -492849000000.0 | \n -313807000000.0 | \n -772892000000.0 | \n -1394600000000.0 | \n -1358110000000.0 | \n -1521390000000.0 | \n -2165980000000.0 | \n -2331830000000.0 | \n
\n \n | 6 | \n -63128641000.0 | \n -79853308000.0 | \n -86416577000.0 | \n -88916343000.0 | \n -117734000000.0 | \n -128597000000.0 | \n -211613000000.0 | \n -208129000000.0 | \n -30603972000.0 | \n 88444896000.0 | \n -158145000000.0 | \n -139295000000.0 | \n
\n \n | 7 | \n -92230000000.0 | \n -150749000000.0 | \n -543959000000.0 | \n -580710000000.0 | \n -607199000000.0 | \n -1168380000000.0 | \n -1352810000000.0 | \n -984578000000.0 | \n -352581000000.0 | \n 112035000000.0 | \n -457532000000.0 | \n -946785000000.0 | \n
\n \n | 8 | \n 63789908000.0 | \n 12461318000.0 | \n -41682796000.0 | \n -132729000000.0 | \n -71886000000.0 | \n -158707000000.0 | \n -197487000000.0 | \n -181977000000.0 | \n -57826000000.0 | \n -132071000000.0 | \n -266780000000.0 | \n -162072000000.0 | \n
\n \n | 9 | \n -1691760000000.0 | \n -1557840000000.0 | \n -1565400000000.0 | \n -1743650000000.0 | \n -1832790000000.0 | \n -2413880000000.0 | \n -3214940000000.0 | \n -2985350000000.0 | \n -3008970000000.0 | \n -3639710000000.0 | \n -7179610000000.0 | \n -5716900000000.0 | \n
\n \n | 10 | \n -503562000000.0 | \n -314163000000.0 | \n -125472000000.0 | \n -486960000000.0 | \n -196709000000.0 | \n -403539000000.0 | \n -608352000000.0 | \n -760441000000.0 | \n -272715000000.0 | \n -693684000000.0 | \n -1458520000000.0 | \n -1904070000000.0 | \n
\n \n | 11 | \n -4004470000000.0 | \n -1887040000000.0 | \n -1539590000000.0 | \n -1106780000000.0 | \n -1047440000000.0 | \n -1481480000000.0 | \n -1577450000000.0 | \n -951368000000.0 | \n -133897000000.0 | \n -1593790000000.0 | \n -6378860000000.0 | \n -6440090000000.0 | \n
\n \n | 12 | \n -69253228000.0 | \n -77212000000.0 | \n -285952000000.0 | \n -201175000000.0 | \n -117947000000.0 | \n -104669000000.0 | \n -200351000000.0 | \n -170217000000.0 | \n 98146000000.0 | \n 236687000000.0 | \n 538485000000.0 | \n 301889000000.0 | \n
\n \n | 13 | \n -1981440000000.0 | \n -1770670000000.0 | \n -1755650000000.0 | \n -1963880000000.0 | \n -1691640000000.0 | \n -1981160000000.0 | \n -1839380000000.0 | \n -2375840000000.0 | \n -1019800000000.0 | \n -1696230000000.0 | \n -2864120000000.0 | \n -3954630000000.0 | \n
\n \n | 14 | \n 548887000000.0 | \n 628816000000.0 | \n 645520000000.0 | \n 671947000000.0 | \n 703291000000.0 | \n 755076000000.0 | \n 950656000000.0 | \n 694703000000.0 | \n 442751000000.0 | \n 718875000000.0 | \n 965518000000.0 | \n 940632000000.0 | \n
\n \n | 15 | \n 35679000000.0 | \n 118341000000.0 | \n -144273000000.0 | \n -154422000000.0 | \n -591972000000.0 | \n -529172000000.0 | \n -1174080000000.0 | \n -1191440000000.0 | \n -1148510000000.0 | \n -1075820000000.0 | \n -752368000000.0 | \n -956774000000.0 | \n
\n \n
\n
"
},
"execution_count": 172,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p1=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)))\n",
"p2=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)))\n",
"unique_stocks=data2['code'].unique()\n",
"unique_years=data2['date'].unique()\n",
"def to_panel(x):\n",
" global p1,p2\n",
" p1[np.where(unique_years == x[0])[0][0]][np.where(unique_stocks == x[1])[0][0]] =x[2]\n",
" p2[np.where(unique_years == x[0])[0][0]][np.where(unique_stocks == x[1])[0][0]] =x[3]\n",
"data2.apply(to_panel,axis=1)\n",
"p1"
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 \\\n0 55028367302.0 79873032985.0 82076073664.0 100000000000.0 \n1 35759374560.0 26415796046.0 30741526839.0 26617663483.0 \n2 178000000000.0 158000000000.0 185000000000.0 176000000000.0 \n3 226000000000.0 210000000000.0 243000000000.0 225000000000.0 \n4 140000000000.0 129000000000.0 137000000000.0 123000000000.0 \n5 163000000000.0 147000000000.0 194000000000.0 151000000000.0 \n6 632000000000.0 571000000000.0 571000000000.0 513000000000.0 \n7 113000000000.0 133000000000.0 178000000000.0 174000000000.0 \n8 54396758644.0 76922420464.0 51651968071.0 76312794872.0 \n9 788000000000.0 770000000000.0 823000000000.0 729000000000.0 \n10 71243307919.0 57791774256.0 81841483713.0 66089198138.0 \n11 29511195948.0 27551700040.0 27314185385.0 24018669539.0 \n12 160000000000.0 116000000000.0 123000000000.0 106000000000.0 \n13 144000000000.0 135000000000.0 180000000000.0 193000000000.0 \n14 1110000000000.0 1110000000000.0 1090000000000.0 947000000000.0 \n15 44034888412.0 43555205531.0 44130824988.0 39717742489.0 \n\n 4 5 6 7 \\\n0 181000000000.0 172000000000.0 156000000000.0 228000000000.0 \n1 51119800748.0 60485806196.0 64892573508.0 90291932352.0 \n2 293000000000.0 341000000000.0 350000000000.0 370000000000.0 \n3 342000000000.0 371000000000.0 363000000000.0 599000000000.0 \n4 260000000000.0 230000000000.0 218000000000.0 211000000000.0 \n5 267000000000.0 253000000000.0 226000000000.0 244000000000.0 \n6 851000000000.0 845000000000.0 725000000000.0 837000000000.0 \n7 296000000000.0 285000000000.0 268000000000.0 248000000000.0 \n8 120000000000.0 130000000000.0 116000000000.0 115000000000.0 \n9 1090000000000.0 950000000000.0 912000000000.0 1130000000000.0 \n10 115000000000.0 133000000000.0 148000000000.0 151000000000.0 \n11 43494871292.0 59577412810.0 65676524215.0 65652289332.0 \n12 194000000000.0 169000000000.0 156000000000.0 161000000000.0 \n13 314000000000.0 325000000000.0 308000000000.0 353000000000.0 \n14 1300000000000.0 1230000000000.0 1190000000000.0 1670000000000.0 \n15 64565315688.0 55451340963.0 52189497377.0 73679290414.0 \n\n 8 9 10 11 \n0 161000000000.0 319000000000.0 375000000000.0 320000000000.0 \n1 84482768312.0 158000000000.0 212000000000.0 253000000000.0 \n2 288000000000.0 363000000000.0 284000000000.0 250000000000.0 \n3 520000000000.0 775000000000.0 907000000000.0 1000000000000.0 \n4 186000000000.0 210000000000.0 174000000000.0 157000000000.0 \n5 227000000000.0 221000000000.0 176000000000.0 181000000000.0 \n6 761000000000.0 778000000000.0 670000000000.0 643000000000.0 \n7 203000000000.0 224000000000.0 184000000000.0 138000000000.0 \n8 94759654366.0 118000000000.0 96170149894.0 86168454305.0 \n9 1150000000000.0 1180000000000.0 1000000000000.0 939000000000.0 \n10 119000000000.0 120000000000.0 102000000000.0 93874850168.0 \n11 54795063189.0 74388963493.0 80856697142.0 89663519653.0 \n12 147000000000.0 176000000000.0 165000000000.0 137000000000.0 \n13 310000000000.0 411000000000.0 434000000000.0 396000000000.0 \n14 1430000000000.0 1590000000000.0 1350000000000.0 1250000000000.0 \n15 61111598950.0 69362144491.0 60248169766.0 56218833571.0 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n 11 | \n
\n \n \n \n | 0 | \n 55028367302.0 | \n 79873032985.0 | \n 82076073664.0 | \n 100000000000.0 | \n 181000000000.0 | \n 172000000000.0 | \n 156000000000.0 | \n 228000000000.0 | \n 161000000000.0 | \n 319000000000.0 | \n 375000000000.0 | \n 320000000000.0 | \n
\n \n | 1 | \n 35759374560.0 | \n 26415796046.0 | \n 30741526839.0 | \n 26617663483.0 | \n 51119800748.0 | \n 60485806196.0 | \n 64892573508.0 | \n 90291932352.0 | \n 84482768312.0 | \n 158000000000.0 | \n 212000000000.0 | \n 253000000000.0 | \n
\n \n | 2 | \n 178000000000.0 | \n 158000000000.0 | \n 185000000000.0 | \n 176000000000.0 | \n 293000000000.0 | \n 341000000000.0 | \n 350000000000.0 | \n 370000000000.0 | \n 288000000000.0 | \n 363000000000.0 | \n 284000000000.0 | \n 250000000000.0 | \n
\n \n | 3 | \n 226000000000.0 | \n 210000000000.0 | \n 243000000000.0 | \n 225000000000.0 | \n 342000000000.0 | \n 371000000000.0 | \n 363000000000.0 | \n 599000000000.0 | \n 520000000000.0 | \n 775000000000.0 | \n 907000000000.0 | \n 1000000000000.0 | \n
\n \n | 4 | \n 140000000000.0 | \n 129000000000.0 | \n 137000000000.0 | \n 123000000000.0 | \n 260000000000.0 | \n 230000000000.0 | \n 218000000000.0 | \n 211000000000.0 | \n 186000000000.0 | \n 210000000000.0 | \n 174000000000.0 | \n 157000000000.0 | \n
\n \n | 5 | \n 163000000000.0 | \n 147000000000.0 | \n 194000000000.0 | \n 151000000000.0 | \n 267000000000.0 | \n 253000000000.0 | \n 226000000000.0 | \n 244000000000.0 | \n 227000000000.0 | \n 221000000000.0 | \n 176000000000.0 | \n 181000000000.0 | \n
\n \n | 6 | \n 632000000000.0 | \n 571000000000.0 | \n 571000000000.0 | \n 513000000000.0 | \n 851000000000.0 | \n 845000000000.0 | \n 725000000000.0 | \n 837000000000.0 | \n 761000000000.0 | \n 778000000000.0 | \n 670000000000.0 | \n 643000000000.0 | \n
\n \n | 7 | \n 113000000000.0 | \n 133000000000.0 | \n 178000000000.0 | \n 174000000000.0 | \n 296000000000.0 | \n 285000000000.0 | \n 268000000000.0 | \n 248000000000.0 | \n 203000000000.0 | \n 224000000000.0 | \n 184000000000.0 | \n 138000000000.0 | \n
\n \n | 8 | \n 54396758644.0 | \n 76922420464.0 | \n 51651968071.0 | \n 76312794872.0 | \n 120000000000.0 | \n 130000000000.0 | \n 116000000000.0 | \n 115000000000.0 | \n 94759654366.0 | \n 118000000000.0 | \n 96170149894.0 | \n 86168454305.0 | \n
\n \n | 9 | \n 788000000000.0 | \n 770000000000.0 | \n 823000000000.0 | \n 729000000000.0 | \n 1090000000000.0 | \n 950000000000.0 | \n 912000000000.0 | \n 1130000000000.0 | \n 1150000000000.0 | \n 1180000000000.0 | \n 1000000000000.0 | \n 939000000000.0 | \n
\n \n | 10 | \n 71243307919.0 | \n 57791774256.0 | \n 81841483713.0 | \n 66089198138.0 | \n 115000000000.0 | \n 133000000000.0 | \n 148000000000.0 | \n 151000000000.0 | \n 119000000000.0 | \n 120000000000.0 | \n 102000000000.0 | \n 93874850168.0 | \n
\n \n | 11 | \n 29511195948.0 | \n 27551700040.0 | \n 27314185385.0 | \n 24018669539.0 | \n 43494871292.0 | \n 59577412810.0 | \n 65676524215.0 | \n 65652289332.0 | \n 54795063189.0 | \n 74388963493.0 | \n 80856697142.0 | \n 89663519653.0 | \n
\n \n | 12 | \n 160000000000.0 | \n 116000000000.0 | \n 123000000000.0 | \n 106000000000.0 | \n 194000000000.0 | \n 169000000000.0 | \n 156000000000.0 | \n 161000000000.0 | \n 147000000000.0 | \n 176000000000.0 | \n 165000000000.0 | \n 137000000000.0 | \n
\n \n | 13 | \n 144000000000.0 | \n 135000000000.0 | \n 180000000000.0 | \n 193000000000.0 | \n 314000000000.0 | \n 325000000000.0 | \n 308000000000.0 | \n 353000000000.0 | \n 310000000000.0 | \n 411000000000.0 | \n 434000000000.0 | \n 396000000000.0 | \n
\n \n | 14 | \n 1110000000000.0 | \n 1110000000000.0 | \n 1090000000000.0 | \n 947000000000.0 | \n 1300000000000.0 | \n 1230000000000.0 | \n 1190000000000.0 | \n 1670000000000.0 | \n 1430000000000.0 | \n 1590000000000.0 | \n 1350000000000.0 | \n 1250000000000.0 | \n
\n \n | 15 | \n 44034888412.0 | \n 43555205531.0 | \n 44130824988.0 | \n 39717742489.0 | \n 64565315688.0 | \n 55451340963.0 | \n 52189497377.0 | \n 73679290414.0 | \n 61111598950.0 | \n 69362144491.0 | \n 60248169766.0 | \n 56218833571.0 | \n
\n \n
\n
"
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p2"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 \\\n0 0.012326 -1.558725 -0.828 -0.54232 -0.916703 -3.260923 \n1 -1.17162 -2.09448 -3.632487 -1.78103 -4.716693 -4.611005 \n2 -0.777133 -1.421314 -2.1215 -1.604754 -2.888484 -2.19002 \n3 -0.097328 -0.520667 0.023627 0.239939 -0.885515 -0.893366 \n4 21.69845 28.586788 3.354561 0.986165 0.944683 -0.291546 \n5 -1.002816 -1.833814 -3.625351 -1.845876 -1.240344 -3.419876 \n6 -0.139848 -0.151343 -0.173326 -0.138348 -0.152186 -0.29188 \n7 -1.133451 -3.055949 -3.337414 -2.051348 -4.099579 -5.047799 \n8 0.161999 -0.806993 -1.739276 -0.59905 -1.220823 -1.702474 \n9 -2.023169 -1.902066 -2.391838 -1.681459 -2.540926 -3.525154 \n10 -5.43612 -1.53311 -7.368224 -1.710513 -3.034128 -4.110486 \n11 -68.490873 -56.36595 -46.079988 -24.08192 -24.866471 -24.018476 \n12 -0.665621 -2.324813 -1.897877 -0.607974 -0.619343 -1.284301 \n13 -13.116074 -9.753611 -10.175544 -5.387389 -6.095877 -5.972013 \n14 0.566501 0.59222 0.709553 0.540993 0.613883 0.798871 \n15 2.717035 -3.269211 -3.887985 -9.168576 -9.542997 -22.49648 \n\n 6 7 8 9 10 \n0 -1.384627 -1.182236 -1.744298 -2.032587 -2.575797 \n1 -5.003581 -4.983206 -2.80538 -2.978882 -2.889723 \n2 -2.651684 -2.140792 -2.251782 -7.363099 -7.29128 \n3 -0.483689 0.230656 -0.060741 -0.514357 -0.370309 \n4 -3.326024 -1.752677 -2.429157 -7.650345 7.165159 \n5 -5.715574 -5.982863 -6.884118 -12.306705 -12.883039 \n6 -0.248661 -0.040215 0.113682 -0.236037 -0.216633 \n7 -3.970073 -1.736852 0.500156 -2.486587 -6.860761 \n8 -1.582409 -0.610239 -1.119246 -2.774042 -1.880874 \n9 -2.641903 -2.616496 -3.0845 -7.17961 -6.088285 \n10 -5.036033 -2.291723 -5.7807 -14.299216 -20.283068 \n11 -14.49101 -2.443596 -21.425087 -78.89093 -71.825086 \n12 -1.057248 0.66766 1.344812 3.263545 2.203569 \n13 -6.730425 -3.289677 -4.12708 -6.599355 -9.986439 \n14 0.41599 0.309616 0.452123 0.715199 0.752506 \n15 -16.170623 -18.79365 -15.510189 -12.487815 -17.018745 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n
\n \n \n \n | 0 | \n 0.012326 | \n -1.558725 | \n -0.828 | \n -0.54232 | \n -0.916703 | \n -3.260923 | \n -1.384627 | \n -1.182236 | \n -1.744298 | \n -2.032587 | \n -2.575797 | \n
\n \n | 1 | \n -1.17162 | \n -2.09448 | \n -3.632487 | \n -1.78103 | \n -4.716693 | \n -4.611005 | \n -5.003581 | \n -4.983206 | \n -2.80538 | \n -2.978882 | \n -2.889723 | \n
\n \n | 2 | \n -0.777133 | \n -1.421314 | \n -2.1215 | \n -1.604754 | \n -2.888484 | \n -2.19002 | \n -2.651684 | \n -2.140792 | \n -2.251782 | \n -7.363099 | \n -7.29128 | \n
\n \n | 3 | \n -0.097328 | \n -0.520667 | \n 0.023627 | \n 0.239939 | \n -0.885515 | \n -0.893366 | \n -0.483689 | \n 0.230656 | \n -0.060741 | \n -0.514357 | \n -0.370309 | \n
\n \n | 4 | \n 21.69845 | \n 28.586788 | \n 3.354561 | \n 0.986165 | \n 0.944683 | \n -0.291546 | \n -3.326024 | \n -1.752677 | \n -2.429157 | \n -7.650345 | \n 7.165159 | \n
\n \n | 5 | \n -1.002816 | \n -1.833814 | \n -3.625351 | \n -1.845876 | \n -1.240344 | \n -3.419876 | \n -5.715574 | \n -5.982863 | \n -6.884118 | \n -12.306705 | \n -12.883039 | \n
\n \n | 6 | \n -0.139848 | \n -0.151343 | \n -0.173326 | \n -0.138348 | \n -0.152186 | \n -0.29188 | \n -0.248661 | \n -0.040215 | \n 0.113682 | \n -0.236037 | \n -0.216633 | \n
\n \n | 7 | \n -1.133451 | \n -3.055949 | \n -3.337414 | \n -2.051348 | \n -4.099579 | \n -5.047799 | \n -3.970073 | \n -1.736852 | \n 0.500156 | \n -2.486587 | \n -6.860761 | \n
\n \n | 8 | \n 0.161999 | \n -0.806993 | \n -1.739276 | \n -0.59905 | \n -1.220823 | \n -1.702474 | \n -1.582409 | \n -0.610239 | \n -1.119246 | \n -2.774042 | \n -1.880874 | \n
\n \n | 9 | \n -2.023169 | \n -1.902066 | \n -2.391838 | \n -1.681459 | \n -2.540926 | \n -3.525154 | \n -2.641903 | \n -2.616496 | \n -3.0845 | \n -7.17961 | \n -6.088285 | \n
\n \n | 10 | \n -5.43612 | \n -1.53311 | \n -7.368224 | \n -1.710513 | \n -3.034128 | \n -4.110486 | \n -5.036033 | \n -2.291723 | \n -5.7807 | \n -14.299216 | \n -20.283068 | \n
\n \n | 11 | \n -68.490873 | \n -56.36595 | \n -46.079988 | \n -24.08192 | \n -24.866471 | \n -24.018476 | \n -14.49101 | \n -2.443596 | \n -21.425087 | \n -78.89093 | \n -71.825086 | \n
\n \n | 12 | \n -0.665621 | \n -2.324813 | \n -1.897877 | \n -0.607974 | \n -0.619343 | \n -1.284301 | \n -1.057248 | \n 0.66766 | \n 1.344812 | \n 3.263545 | \n 2.203569 | \n
\n \n | 13 | \n -13.116074 | \n -9.753611 | \n -10.175544 | \n -5.387389 | \n -6.095877 | \n -5.972013 | \n -6.730425 | \n -3.289677 | \n -4.12708 | \n -6.599355 | \n -9.986439 | \n
\n \n | 14 | \n 0.566501 | \n 0.59222 | \n 0.709553 | \n 0.540993 | \n 0.613883 | \n 0.798871 | \n 0.41599 | \n 0.309616 | \n 0.452123 | \n 0.715199 | \n 0.752506 | \n
\n \n | 15 | \n 2.717035 | \n -3.269211 | \n -3.887985 | \n -9.168576 | \n -9.542997 | \n -22.49648 | \n -16.170623 | \n -18.79365 | \n -15.510189 | \n -12.487815 | \n -17.018745 | \n
\n \n
\n
"
},
"execution_count": 174,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"beta_1= p1.div(p2)\n",
"beta_1=beta_1.drop(beta_1.columns[0],axis=1)\n",
"beta_1.rename(columns=lambda x:int(x-1),inplace=True)\n",
"beta_1"
]
},
{
"cell_type": "code",
"execution_count": 175,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 \\\n0 -0.863135 0.011995 -1.27934 -0.457459 -0.570698 -1.010724 \n1 -0.89675 -1.006757 -2.418977 -1.891406 -1.505244 -4.396389 \n2 -0.894481 -0.663714 -1.493994 -1.274348 -1.378865 -2.814209 \n3 -0.135536 -0.084111 -0.56232 0.015544 0.221183 -0.90503 \n4 2.107233 20.431387 31.840569 1.586965 1.114796 0.996683 \n5 -1.41515 -0.759866 -2.356026 -2.050292 -1.94802 -1.388527 \n6 -0.110558 -0.139848 -0.168453 -0.104485 -0.13933 -0.177375 \n7 -0.693459 -0.846904 -3.126201 -1.961858 -2.130523 -4.359627 \n8 0.829276 0.241255 -0.54621 -1.106075 -0.552969 -1.368164 \n9 -2.197091 -1.89288 -2.147325 -1.599679 -1.929253 -2.646798 \n10 -8.713385 -3.838677 -1.898525 -4.234435 -1.479015 -2.726615 \n11 -145.343844 -69.086446 -64.09972 -25.446219 -17.58116 -22.557223 \n12 -0.597011 -0.62774 -2.69766 -1.036985 -0.697911 -0.670955 \n13 -14.677333 -9.837056 -9.096632 -6.254395 -5.205046 -6.432338 \n14 0.494493 0.576895 0.681647 0.516882 0.571781 0.634518 \n15 0.819167 2.681595 -3.632457 -2.391718 -10.675522 -10.139435 \n\n 6 7 8 9 10 \n0 -2.231158 -1.960839 -0.596677 -1.483816 -2.381937 \n1 -3.313917 -5.347635 -2.664525 -2.090802 -2.496138 \n2 -2.071641 -3.406677 -1.698479 -2.878158 -8.36448 \n3 -0.541389 -0.557173 0.154763 -0.051901 -0.466522 \n4 -0.301218 -3.77307 -1.552371 -2.931741 -8.478726 \n5 -3.16759 -6.143612 -6.145294 -8.644261 -11.96674 \n6 -0.252823 -0.273494 -0.039337 0.132007 -0.245949 \n7 -5.454879 -4.850138 -1.574022 0.608886 -3.315449 \n8 -1.717278 -1.920406 -0.490051 -1.373306 -3.096029 \n9 -2.84508 -2.595957 -2.549975 -3.63971 -7.646017 \n10 -4.028821 -6.390261 -2.272625 -6.800824 -15.536856 \n11 -24.027342 -17.362294 -1.799958 -19.711292 -71.142199 \n12 -1.244416 -1.157939 0.557648 1.434467 3.930547 \n13 -5.210708 -7.664 -2.481265 -3.908364 -7.232626 \n14 0.569255 0.485806 0.27846 0.5325 0.772414 \n15 -15.935007 -19.496135 -16.558167 -17.856476 -13.382846 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n
\n \n \n \n | 0 | \n -0.863135 | \n 0.011995 | \n -1.27934 | \n -0.457459 | \n -0.570698 | \n -1.010724 | \n -2.231158 | \n -1.960839 | \n -0.596677 | \n -1.483816 | \n -2.381937 | \n
\n \n | 1 | \n -0.89675 | \n -1.006757 | \n -2.418977 | \n -1.891406 | \n -1.505244 | \n -4.396389 | \n -3.313917 | \n -5.347635 | \n -2.664525 | \n -2.090802 | \n -2.496138 | \n
\n \n | 2 | \n -0.894481 | \n -0.663714 | \n -1.493994 | \n -1.274348 | \n -1.378865 | \n -2.814209 | \n -2.071641 | \n -3.406677 | \n -1.698479 | \n -2.878158 | \n -8.36448 | \n
\n \n | 3 | \n -0.135536 | \n -0.084111 | \n -0.56232 | \n 0.015544 | \n 0.221183 | \n -0.90503 | \n -0.541389 | \n -0.557173 | \n 0.154763 | \n -0.051901 | \n -0.466522 | \n
\n \n | 4 | \n 2.107233 | \n 20.431387 | \n 31.840569 | \n 1.586965 | \n 1.114796 | \n 0.996683 | \n -0.301218 | \n -3.77307 | \n -1.552371 | \n -2.931741 | \n -8.478726 | \n
\n \n | 5 | \n -1.41515 | \n -0.759866 | \n -2.356026 | \n -2.050292 | \n -1.94802 | \n -1.388527 | \n -3.16759 | \n -6.143612 | \n -6.145294 | \n -8.644261 | \n -11.96674 | \n
\n \n | 6 | \n -0.110558 | \n -0.139848 | \n -0.168453 | \n -0.104485 | \n -0.13933 | \n -0.177375 | \n -0.252823 | \n -0.273494 | \n -0.039337 | \n 0.132007 | \n -0.245949 | \n
\n \n | 7 | \n -0.693459 | \n -0.846904 | \n -3.126201 | \n -1.961858 | \n -2.130523 | \n -4.359627 | \n -5.454879 | \n -4.850138 | \n -1.574022 | \n 0.608886 | \n -3.315449 | \n
\n \n | 8 | \n 0.829276 | \n 0.241255 | \n -0.54621 | \n -1.106075 | \n -0.552969 | \n -1.368164 | \n -1.717278 | \n -1.920406 | \n -0.490051 | \n -1.373306 | \n -3.096029 | \n
\n \n | 9 | \n -2.197091 | \n -1.89288 | \n -2.147325 | \n -1.599679 | \n -1.929253 | \n -2.646798 | \n -2.84508 | \n -2.595957 | \n -2.549975 | \n -3.63971 | \n -7.646017 | \n
\n \n | 10 | \n -8.713385 | \n -3.838677 | \n -1.898525 | \n -4.234435 | \n -1.479015 | \n -2.726615 | \n -4.028821 | \n -6.390261 | \n -2.272625 | \n -6.800824 | \n -15.536856 | \n
\n \n | 11 | \n -145.343844 | \n -69.086446 | \n -64.09972 | \n -25.446219 | \n -17.58116 | \n -22.557223 | \n -24.027342 | \n -17.362294 | \n -1.799958 | \n -19.711292 | \n -71.142199 | \n
\n \n | 12 | \n -0.597011 | \n -0.62774 | \n -2.69766 | \n -1.036985 | \n -0.697911 | \n -0.670955 | \n -1.244416 | \n -1.157939 | \n 0.557648 | \n 1.434467 | \n 3.930547 | \n
\n \n | 13 | \n -14.677333 | \n -9.837056 | \n -9.096632 | \n -6.254395 | \n -5.205046 | \n -6.432338 | \n -5.210708 | \n -7.664 | \n -2.481265 | \n -3.908364 | \n -7.232626 | \n
\n \n | 14 | \n 0.494493 | \n 0.576895 | \n 0.681647 | \n 0.516882 | \n 0.571781 | \n 0.634518 | \n 0.569255 | \n 0.485806 | \n 0.27846 | \n 0.5325 | \n 0.772414 | \n
\n \n | 15 | \n 0.819167 | \n 2.681595 | \n -3.632457 | \n -2.391718 | \n -10.675522 | \n -10.139435 | \n -15.935007 | \n -19.496135 | \n -16.558167 | \n -17.856476 | \n -13.382846 | \n
\n \n
\n
"
},
"execution_count": 175,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"beta_2=pd.DataFrame(index=range(len(unique_stocks)),columns=range(len(grouped_df)-1))\n",
"for n in range(11):\n",
" beta_2[n]=p1.iloc[:,n].div(p2.iloc[:,n+1])\n",
"beta_2"
]
},
{
"cell_type": "code",
"execution_count": 176,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " 0 1 2 3 4 5 6 \\\n0 0.005773 -0.002174 -0.011488 -0.003769 -0.008502 0.000224 -0.005029 \n1 0.006051 -0.000892 -0.006017 0.00272 -0.002792 0.006169 0.00631 \n2 0.006622 -0.001221 -0.000178 0.002632 0.000758 0.00916 0.007962 \n3 0.011443 -0.003068 -0.004101 0.001881 0.001777 0.005978 0.001063 \n4 0.004323 -0.005825 0.000091 0.00042 -0.002892 -0.000686 0.00123 \n5 0.007548 -0.005569 -0.00101 -0.002053 -0.004033 0.001196 0.000351 \n6 0.005271 -0.005497 -0.001595 -0.000909 -0.006777 0.00702 0.000757 \n7 0.007237 -0.004455 -0.006842 -0.000847 -0.004233 0.002475 0.004029 \n8 0.006399 -0.006739 -0.003964 -0.001614 0.001471 -0.004751 -0.000544 \n9 0.002128 -0.003844 -0.004521 0.003023 -0.005343 0.006551 0.004729 \n10 0.002028 -0.006251 0.001014 -0.004072 -0.000999 0.001618 0.000193 \n11 0.002499 -0.004634 0.003188 -0.005132 -0.004965 0.006515 0.001243 \n12 0.004752 -0.003889 0.001368 0.003177 0.005302 0.003047 0.001169 \n13 0.006164 -0.008906 -0.005824 0.001187 -0.0038 0.00797 0.004833 \n14 0.003021 -0.008492 -0.002728 -0.004721 0.000146 0.001244 -0.001826 \n15 0.00713 -0.00268 -0.002117 -0.0014 -0.002143 0.007368 0.003498 \n\n 7 8 9 10 \n0 0.006808 -0.007678 -0.00327 -0.041562 \n1 0.002925 -0.007352 0.008641 -0.038542 \n2 0.008392 -0.001293 -0.004359 -0.010352 \n3 0.004835 -0.002413 0.000799 -0.004831 \n4 0.002731 -0.004258 -0.002813 -0.006835 \n5 -0.003022 0.00475 -0.00051 -0.028943 \n6 -0.004006 -0.013887 0.000157 -0.032707 \n7 0.002705 -0.006041 -0.000705 -0.034017 \n8 0.001677 -0.004262 -0.001848 -0.002259 \n9 0.000891 0.001353 -0.004274 -0.005001 \n10 -0.007897 -0.002905 -0.004985 -0.009041 \n11 -0.012194 -0.010153 -0.008684 -0.017869 \n12 -0.005335 -0.005862 -0.006693 -0.001391 \n13 0.002482 -0.00693 -0.004475 -0.006643 \n14 -0.011347 -0.002271 -0.003724 -0.005624 \n15 -0.0006 0.001028 -0.005841 -0.009565 ",
"text/html": "\n\n
\n \n \n | \n 0 | \n 1 | \n 2 | \n 3 | \n 4 | \n 5 | \n 6 | \n 7 | \n 8 | \n 9 | \n 10 | \n
\n \n \n \n | 0 | \n 0.005773 | \n -0.002174 | \n -0.011488 | \n -0.003769 | \n -0.008502 | \n 0.000224 | \n -0.005029 | \n 0.006808 | \n -0.007678 | \n -0.00327 | \n -0.041562 | \n
\n \n | 1 | \n 0.006051 | \n -0.000892 | \n -0.006017 | \n 0.00272 | \n -0.002792 | \n 0.006169 | \n 0.00631 | \n 0.002925 | \n -0.007352 | \n 0.008641 | \n -0.038542 | \n
\n \n | 2 | \n 0.006622 | \n -0.001221 | \n -0.000178 | \n 0.002632 | \n 0.000758 | \n 0.00916 | \n 0.007962 | \n 0.008392 | \n -0.001293 | \n -0.004359 | \n -0.010352 | \n
\n \n | 3 | \n 0.011443 | \n -0.003068 | \n -0.004101 | \n 0.001881 | \n 0.001777 | \n 0.005978 | \n 0.001063 | \n 0.004835 | \n -0.002413 | \n 0.000799 | \n -0.004831 | \n
\n \n | 4 | \n 0.004323 | \n -0.005825 | \n 0.000091 | \n 0.00042 | \n -0.002892 | \n -0.000686 | \n 0.00123 | \n 0.002731 | \n -0.004258 | \n -0.002813 | \n -0.006835 | \n
\n \n | 5 | \n 0.007548 | \n -0.005569 | \n -0.00101 | \n -0.002053 | \n -0.004033 | \n 0.001196 | \n 0.000351 | \n -0.003022 | \n 0.00475 | \n -0.00051 | \n -0.028943 | \n
\n \n | 6 | \n 0.005271 | \n -0.005497 | \n -0.001595 | \n -0.000909 | \n -0.006777 | \n 0.00702 | \n 0.000757 | \n -0.004006 | \n -0.013887 | \n 0.000157 | \n -0.032707 | \n
\n \n | 7 | \n 0.007237 | \n -0.004455 | \n -0.006842 | \n -0.000847 | \n -0.004233 | \n 0.002475 | \n 0.004029 | \n 0.002705 | \n -0.006041 | \n -0.000705 | \n -0.034017 | \n
\n \n | 8 | \n 0.006399 | \n -0.006739 | \n -0.003964 | \n -0.001614 | \n 0.001471 | \n -0.004751 | \n -0.000544 | \n 0.001677 | \n -0.004262 | \n -0.001848 | \n -0.002259 | \n
\n \n | 9 | \n 0.002128 | \n -0.003844 | \n -0.004521 | \n 0.003023 | \n -0.005343 | \n 0.006551 | \n 0.004729 | \n 0.000891 | \n 0.001353 | \n -0.004274 | \n -0.005001 | \n
\n \n | 10 | \n 0.002028 | \n -0.006251 | \n 0.001014 | \n -0.004072 | \n -0.000999 | \n 0.001618 | \n 0.000193 | \n -0.007897 | \n -0.002905 | \n -0.004985 | \n -0.009041 | \n
\n \n | 11 | \n 0.002499 | \n -0.004634 | \n 0.003188 | \n -0.005132 | \n -0.004965 | \n 0.006515 | \n 0.001243 | \n -0.012194 | \n -0.010153 | \n -0.008684 | \n -0.017869 | \n
\n \n | 12 | \n 0.004752 | \n -0.003889 | \n 0.001368 | \n 0.003177 | \n 0.005302 | \n 0.003047 | \n 0.001169 | \n -0.005335 | \n -0.005862 | \n -0.006693 | \n -0.001391 | \n
\n \n | 13 | \n 0.006164 | \n -0.008906 | \n -0.005824 | \n 0.001187 | \n -0.0038 | \n 0.00797 | \n 0.004833 | \n 0.002482 | \n -0.00693 | \n -0.004475 | \n -0.006643 | \n
\n \n | 14 | \n 0.003021 | \n -0.008492 | \n -0.002728 | \n -0.004721 | \n 0.000146 | \n 0.001244 | \n -0.001826 | \n -0.011347 | \n -0.002271 | \n -0.003724 | \n -0.005624 | \n
\n \n | 15 | \n 0.00713 | \n -0.00268 | \n -0.002117 | \n -0.0014 | \n -0.002143 | \n 0.007368 | \n 0.003498 | \n -0.0006 | \n 0.001028 | \n -0.005841 | \n -0.009565 | \n
\n \n
\n
"
},
"execution_count": 176,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_panel=return_board.drop(return_board.columns[0],axis=1)\n",
"y_panel.rename(columns=lambda x:int(x-1),inplace=True)\n",
"y_panel"
]
},
{
"cell_type": "code",
"execution_count": 177,
"metadata": {
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": " y p1 p2 dummy-stock-0 \\\nstock year \n0 0 0.005773 -6.894123e+10 5.502837e+10 1.0 \n 1 -0.002174 9.845070e+08 7.987303e+10 1.0 \n 2 -0.011488 -1.279340e+11 8.207607e+10 1.0 \n 3 -0.003769 -8.280000e+10 1.000000e+11 1.0 \n 4 -0.008502 -9.816000e+10 1.810000e+11 1.0 \n... ... ... ... ... \n15 6 0.003498 -1.174080e+12 5.218950e+10 0.0 \n 7 -0.000600 -1.191440e+12 7.367929e+10 0.0 \n 8 0.001028 -1.148510e+12 6.111160e+10 0.0 \n 9 -0.005841 -1.075820e+12 6.936214e+10 0.0 \n 10 -0.009565 -7.523680e+11 6.024817e+10 0.0 \n\n dummy-stock-1 dummy-stock-2 dummy-stock-3 dummy-stock-4 \\\nstock year \n0 0 0.0 0.0 0.0 0.0 \n 1 0.0 0.0 0.0 0.0 \n 2 0.0 0.0 0.0 0.0 \n 3 0.0 0.0 0.0 0.0 \n 4 0.0 0.0 0.0 0.0 \n... ... ... ... ... \n15 6 0.0 0.0 0.0 0.0 \n 7 0.0 0.0 0.0 0.0 \n 8 0.0 0.0 0.0 0.0 \n 9 0.0 0.0 0.0 0.0 \n 10 0.0 0.0 0.0 0.0 \n\n dummy-stock-5 dummy-stock-6 ... dummy-year-0 dummy-year-1 \\\nstock year ... \n0 0 0.0 0.0 ... 1.0 0.0 \n 1 0.0 0.0 ... 0.0 1.0 \n 2 0.0 0.0 ... 0.0 0.0 \n 3 0.0 0.0 ... 0.0 0.0 \n 4 0.0 0.0 ... 0.0 0.0 \n... ... ... ... ... ... \n15 6 0.0 0.0 ... 0.0 0.0 \n 7 0.0 0.0 ... 0.0 0.0 \n 8 0.0 0.0 ... 0.0 0.0 \n 9 0.0 0.0 ... 0.0 0.0 \n 10 0.0 0.0 ... 0.0 0.0 \n\n dummy-year-2 dummy-year-3 dummy-year-4 dummy-year-5 \\\nstock year \n0 0 0.0 0.0 0.0 0.0 \n 1 0.0 0.0 0.0 0.0 \n 2 1.0 0.0 0.0 0.0 \n 3 0.0 1.0 0.0 0.0 \n 4 0.0 0.0 1.0 0.0 \n... ... ... ... ... \n15 6 0.0 0.0 0.0 0.0 \n 7 0.0 0.0 0.0 0.0 \n 8 0.0 0.0 0.0 0.0 \n 9 0.0 0.0 0.0 0.0 \n 10 0.0 0.0 0.0 0.0 \n\n dummy-year-6 dummy-year-7 dummy-year-8 dummy-year-9 \nstock year \n0 0 0.0 0.0 0.0 0.0 \n 1 0.0 0.0 0.0 0.0 \n 2 0.0 0.0 0.0 0.0 \n 3 0.0 0.0 0.0 0.0 \n 4 0.0 0.0 0.0 0.0 \n... ... ... ... ... \n15 6 1.0 0.0 0.0 0.0 \n 7 0.0 1.0 0.0 0.0 \n 8 0.0 0.0 1.0 0.0 \n 9 0.0 0.0 0.0 1.0 \n 10 0.0 0.0 0.0 0.0 \n\n[176 rows x 28 columns]",
"text/html": "\n\n
\n \n \n | \n | \n y | \n p1 | \n p2 | \n dummy-stock-0 | \n dummy-stock-1 | \n dummy-stock-2 | \n dummy-stock-3 | \n dummy-stock-4 | \n dummy-stock-5 | \n dummy-stock-6 | \n ... | \n dummy-year-0 | \n dummy-year-1 | \n dummy-year-2 | \n dummy-year-3 | \n dummy-year-4 | \n dummy-year-5 | \n dummy-year-6 | \n dummy-year-7 | \n dummy-year-8 | \n dummy-year-9 | \n
\n \n | stock | \n year | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n
\n \n \n \n | 0 | \n 0 | \n 0.005773 | \n -6.894123e+10 | \n 5.502837e+10 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | 1 | \n -0.002174 | \n 9.845070e+08 | \n 7.987303e+10 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | 2 | \n -0.011488 | \n -1.279340e+11 | \n 8.207607e+10 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | 3 | \n -0.003769 | \n -8.280000e+10 | \n 1.000000e+11 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | 4 | \n -0.008502 | \n -9.816000e+10 | \n 1.810000e+11 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 15 | \n 6 | \n 0.003498 | \n -1.174080e+12 | \n 5.218950e+10 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n | 7 | \n -0.000600 | \n -1.191440e+12 | \n 7.367929e+10 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n 0.0 | \n
\n \n | 8 | \n 0.001028 | \n -1.148510e+12 | \n 6.111160e+10 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n 0.0 | \n
\n \n | 9 | \n -0.005841 | \n -1.075820e+12 | \n 6.936214e+10 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 1.0 | \n
\n \n | 10 | \n -0.009565 | \n -7.523680e+11 | \n 6.024817e+10 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n ... | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n 0.0 | \n
\n \n
\n
176 rows × 28 columns
\n
"
},
"execution_count": 177,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"years = y_panel.columns\n",
"stocks = y_panel.index\n",
"\n",
"# 创建多索引数据框\n",
"multi_index = pd.MultiIndex.from_product([stocks, years], names=['stock', 'year'])\n",
"\n",
"# 初始化面板数据框\n",
"panel_data = pd.DataFrame(index=multi_index, columns=['y', 'p1', 'p2'])\n",
"\n",
"# 填充面板数据框\n",
"for stock in stocks:\n",
" for year in years:\n",
" panel_data.loc[(stock, year), 'y'] = y_panel.loc[stock, year]\n",
" panel_data.loc[(stock, year), 'p1'] = p1.loc[stock, year]\n",
" panel_data.loc[(stock, year), 'p2'] = p2.loc[stock, year]\n",
" for i in range(len(y_panel.index)-1):\n",
" panel_data.loc[(stock,year),'dummy-stock-'+str(i)] = 1 if i==stock else 0\n",
" for i in range(len(y_panel.columns)-1):\n",
" panel_data.loc[(stock,year),'dummy-year-'+str(i)] = 1 if i==year else 0\n",
"# 转换为linearmodels库可识别的格式\n",
"panel_data = panel_data.astype(np.float64)\n",
"panel_data = panel_data.reset_index().set_index(['stock', 'year'])\n",
"panel_data"
]
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [
"dummy1=['dummy-stock-'+str(i) for i in range(len(y_panel.index)-1)]\n",
"dummy2=['dummy-year-'+str(i) for i in range(len(y_panel.columns)-1)]\n",
"\n",
"const_col = pd.DataFrame(np.ones((len(panel_data), 1)), index=panel_data.index, columns=['const'])\n",
"panel_data = pd.concat([const_col,panel_data], axis=1)\n",
"\n",
"col_names = ['const','p1', 'p2'] + list(dummy1+dummy2)\n",
"mod = PanelOLS(panel_data.y, panel_data[col_names],check_rank=False)\n",
"res = mod.fit()\n",
"\n",
"# 输出回归结果\n",
"print(res)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "code",
"execution_count": 178,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
}
},
"nbformat": 4,
"nbformat_minor": 1
}