{ "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 \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 \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 \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 \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 \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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
codedatecode_returnmktten_returnsmghmlumdrmwcma
012010-01-05-0.01730.006584-0.00620.005921-0.002548-0.0016890.0017280.000770
121422010-01-050.00240.006584-0.00620.005921-0.002548-0.0016890.0017280.000770
26000002010-01-050.00760.006584-0.00620.005921-0.002548-0.0016890.0017280.000770
36000152010-01-050.02520.006584-0.00620.005921-0.002548-0.0016890.0017280.000770
46000162010-01-050.01770.006584-0.00620.005921-0.002548-0.0016890.0017280.000770
.................................
460066013982021-12-31-0.00220.005888-0.0086-0.0048440.0032320.002873-0.0043710.004678
460076018182021-12-310.00000.005888-0.0086-0.0048440.0032320.002873-0.0043710.004678
460086019392021-12-31-0.00170.005888-0.0086-0.0048440.0032320.002873-0.0043710.004678
460096019882021-12-310.00000.005888-0.0086-0.0048440.0032320.002873-0.0043710.004678
460106019982021-12-310.00220.005888-0.0086-0.0048440.0032320.002873-0.0043710.004678
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n
01234567891011
00.0131480.005773-0.002174-0.011488-0.003769-0.0085020.000224-0.0050290.006808-0.007678-0.00327-0.041562
10.003110.006051-0.000892-0.0060170.00272-0.0027920.0061690.006310.002925-0.0073520.008641-0.038542
20.006210.006622-0.001221-0.0001780.0026320.0007580.009160.0079620.008392-0.001293-0.004359-0.010352
30.010930.011443-0.003068-0.0041010.0018810.0017770.0059780.0010630.004835-0.0024130.000799-0.004831
40.0035020.004323-0.0058250.0000910.00042-0.002892-0.0006860.001230.002731-0.004258-0.002813-0.006835
50.0084150.007548-0.005569-0.00101-0.002053-0.0040330.0011960.000351-0.0030220.00475-0.00051-0.028943
60.0115780.005271-0.005497-0.001595-0.000909-0.0067770.007020.000757-0.004006-0.0138870.000157-0.032707
70.0126470.007237-0.004455-0.006842-0.000847-0.0042330.0024750.0040290.002705-0.006041-0.000705-0.034017
80.0149490.006399-0.006739-0.003964-0.0016140.001471-0.004751-0.0005440.001677-0.004262-0.001848-0.002259
90.0079860.002128-0.003844-0.0045210.003023-0.0053430.0065510.0047290.0008910.001353-0.004274-0.005001
100.0018920.002028-0.0062510.001014-0.004072-0.0009990.0016180.000193-0.007897-0.002905-0.004985-0.009041
110.0051830.002499-0.0046340.003188-0.005132-0.0049650.0065150.001243-0.012194-0.010153-0.008684-0.017869
120.0008840.004752-0.0038890.0013680.0031770.0053020.0030470.001169-0.005335-0.005862-0.006693-0.001391
130.0070430.006164-0.008906-0.0058240.001187-0.00380.007970.0048330.002482-0.00693-0.004475-0.006643
140.0112560.003021-0.008492-0.002728-0.0047210.0001460.001244-0.001826-0.011347-0.002271-0.003724-0.005624
15-0.0025980.00713-0.00268-0.002117-0.0014-0.0021430.0073680.003498-0.00060.001028-0.005841-0.009565
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n
01234567891011
02.6722891.65195-0.584873-1.422226-0.679915-1.7136950.08846-0.8875680.642572-0.747215-0.552356-2.734635
10.6782861.692203-0.176714-1.4735190.581675-0.3595140.8377830.9497810.315842-0.8744581.209169-3.172067
21.6078032.091248-0.338955-0.0330240.4986310.1330491.9799661.8922921.470652-0.186103-1.553808-2.368739
31.9408563.025431-0.648008-0.9460930.3350580.346870.8344010.2939361.262213-0.5626260.281094-1.246859
41.0856031.450319-1.334740.0165540.066288-0.531891-0.1248880.3164340.630516-1.259602-1.052676-2.037289
51.5980232.408994-1.237503-0.186233-0.47784-0.7755240.222340.064866-0.3339260.667069-0.072881-2.340295
62.2635652.002715-1.12967-0.485346-0.149489-0.9357210.9139490.124861-0.562-1.7116750.039256-3.033372
72.5101932.194232-1.085532-1.116724-0.167024-0.6576690.532871.3387560.683224-0.783068-0.160481-2.897619
83.1562392.608247-1.773021-0.792807-0.3000020.227941-0.970723-0.1344260.391561-0.843345-0.826849-0.660071
91.9088881.020874-1.252643-1.2845190.497454-0.8368171.270971.5550120.2035860.223907-1.930875-1.255167
100.5613230.883705-2.4588340.414353-1.002247-0.2257030.4498290.048612-0.713581-0.459602-1.550026-2.076934
111.3624670.934725-1.5639371.1194-1.284628-0.9276561.3040060.329955-1.061675-1.275117-2.293483-3.000142
120.3058352.200871-1.5159570.5457740.484520.697310.7676910.31758-0.897544-1.397265-3.070039-0.571298
131.3695131.560162-2.678799-1.2191790.151721-0.4016581.0721730.8015460.32417-0.905452-1.320242-1.672305
142.5980021.386932-2.718241-0.893891-1.0228880.0339510.494426-0.454492-1.306354-0.38196-1.448341-1.798889
15-0.1964773.3033-0.800184-0.702422-0.236832-0.2960011.3636490.961712-0.1258350.116913-1.284976-1.702698
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n
01234567891011
00.0082140.0999210.5592190.1563210.4972250.0878980.9295860.3756770.5211280.4556780.581230.006721
10.4982690.091950.8598860.1419790.5613410.7195320.4030040.3431950.7524030.3827580.2278130.001721
20.1093060.037580.7349470.9736840.6185040.8942750.0489650.0596760.1427230.8525240.1215760.018659
30.0535770.0027590.5176150.3450940.7378780.7289980.4048990.7690650.2081230.5742230.7788850.213691
40.2787810.148320.1832750.9868070.9472040.5953020.9007190.7519530.528970.2090570.2935710.042742
50.1114350.016770.2171410.852430.6332050.4388230.8242420.9483360.7387330.5053790.9419620.020106
60.0245590.0463570.2597720.6278930.8812960.3503940.3616760.9007410.5746520.088270.968720.00269
70.012770.0291980.2788270.2652770.8674930.5113920.5946360.1819380.4951380.4343720.872640.004115
80.0018110.0096920.0775540.4287070.764440.8199190.332680.8931840.6957380.3998890.4091610.509855
90.0575490.3083680.2115970.2002530.619330.4035420.2049910.1212830.8388530.8230230.0547010.210665
100.5751380.3777620.0146670.6790020.3172460.8216280.6532470.9612690.4761940.6462250.1224810.038894
110.1744130.3508940.119190.2641370.2001770.3545340.1935020.7417270.2894730.2035220.0227040.002989
120.7600140.0287230.1308860.5857510.6284640.4862950.4434380.7510840.3703470.1636460.0023920.568344
130.172180.1201210.0079150.2240250.8795360.6883020.2847380.4236220.7460970.366150.1880390.095795
140.0107230.1667820.0070560.3723150.3074040.9729450.6214650.6498930.1927090.7028340.1488550.073319
150.8447410.0011070.4244160.4831260.8129920.7675020.1739830.3371790.899970.9070280.2000660.089947
\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 \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 \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 \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 \n
datecodegapprice
02010-01-011-6.894123e+105.502837e+10
12011-01-0119.845070e+087.987303e+10
22012-01-011-1.279340e+118.207607e+10
32013-01-011-8.280000e+101.000000e+11
42014-01-011-9.816000e+101.810000e+11
...............
1392017-01-01601998-1.191440e+127.367929e+10
1402018-01-01601998-1.148510e+126.111160e+10
1412019-01-01601998-1.075820e+126.936214e+10
1422020-01-01601998-7.523680e+116.024817e+10
1432021-01-01601998-9.567740e+115.621883e+10
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n
01234567891011
0-68941229000.0984507000.0-127934000000.0-82800000000.0-98160000000.0-157673000000.0-508704000000.0-315695000000.0-190340000000.0-556431000000.0-762220000000.0-824255000000.0
1-23688370000.0-30949262000.0-64387527000.0-96688319000.0-91045918000.0-285293000000.0-299220000000.0-451783000000.0-420995000000.0-443250000000.0-631523000000.0-731100000000.0
2-141328000000.0-122787000000.0-262943000000.0-373384000000.0-470193000000.0-984973000000.0-766507000000.0-981123000000.0-616548000000.0-817397000000.0-2091120000000.0-1822820000000.0
3-28462620000.0-20438980000.0-126522000000.05316000000.082059000000.0-328526000000.0-324292000000.0-289730000000.0119941000000.0-47074000000.0-466522000000.0-370309000000.0
4271833000000.02799100000000.03916390000000.0412611000000.0256403000000.0217277000000.0-63557000000.0-701791000000.0-325998000000.0-510123000000.0-1331160000000.01124930000000.0
5-208027000000.0-147414000000.0-355760000000.0-547428000000.0-492849000000.0-313807000000.0-772892000000.0-1394600000000.0-1358110000000.0-1521390000000.0-2165980000000.0-2331830000000.0
6-63128641000.0-79853308000.0-86416577000.0-88916343000.0-117734000000.0-128597000000.0-211613000000.0-208129000000.0-30603972000.088444896000.0-158145000000.0-139295000000.0
7-92230000000.0-150749000000.0-543959000000.0-580710000000.0-607199000000.0-1168380000000.0-1352810000000.0-984578000000.0-352581000000.0112035000000.0-457532000000.0-946785000000.0
863789908000.012461318000.0-41682796000.0-132729000000.0-71886000000.0-158707000000.0-197487000000.0-181977000000.0-57826000000.0-132071000000.0-266780000000.0-162072000000.0
9-1691760000000.0-1557840000000.0-1565400000000.0-1743650000000.0-1832790000000.0-2413880000000.0-3214940000000.0-2985350000000.0-3008970000000.0-3639710000000.0-7179610000000.0-5716900000000.0
10-503562000000.0-314163000000.0-125472000000.0-486960000000.0-196709000000.0-403539000000.0-608352000000.0-760441000000.0-272715000000.0-693684000000.0-1458520000000.0-1904070000000.0
11-4004470000000.0-1887040000000.0-1539590000000.0-1106780000000.0-1047440000000.0-1481480000000.0-1577450000000.0-951368000000.0-133897000000.0-1593790000000.0-6378860000000.0-6440090000000.0
12-69253228000.0-77212000000.0-285952000000.0-201175000000.0-117947000000.0-104669000000.0-200351000000.0-170217000000.098146000000.0236687000000.0538485000000.0301889000000.0
13-1981440000000.0-1770670000000.0-1755650000000.0-1963880000000.0-1691640000000.0-1981160000000.0-1839380000000.0-2375840000000.0-1019800000000.0-1696230000000.0-2864120000000.0-3954630000000.0
14548887000000.0628816000000.0645520000000.0671947000000.0703291000000.0755076000000.0950656000000.0694703000000.0442751000000.0718875000000.0965518000000.0940632000000.0
1535679000000.0118341000000.0-144273000000.0-154422000000.0-591972000000.0-529172000000.0-1174080000000.0-1191440000000.0-1148510000000.0-1075820000000.0-752368000000.0-956774000000.0
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n
01234567891011
055028367302.079873032985.082076073664.0100000000000.0181000000000.0172000000000.0156000000000.0228000000000.0161000000000.0319000000000.0375000000000.0320000000000.0
135759374560.026415796046.030741526839.026617663483.051119800748.060485806196.064892573508.090291932352.084482768312.0158000000000.0212000000000.0253000000000.0
2178000000000.0158000000000.0185000000000.0176000000000.0293000000000.0341000000000.0350000000000.0370000000000.0288000000000.0363000000000.0284000000000.0250000000000.0
3226000000000.0210000000000.0243000000000.0225000000000.0342000000000.0371000000000.0363000000000.0599000000000.0520000000000.0775000000000.0907000000000.01000000000000.0
4140000000000.0129000000000.0137000000000.0123000000000.0260000000000.0230000000000.0218000000000.0211000000000.0186000000000.0210000000000.0174000000000.0157000000000.0
5163000000000.0147000000000.0194000000000.0151000000000.0267000000000.0253000000000.0226000000000.0244000000000.0227000000000.0221000000000.0176000000000.0181000000000.0
6632000000000.0571000000000.0571000000000.0513000000000.0851000000000.0845000000000.0725000000000.0837000000000.0761000000000.0778000000000.0670000000000.0643000000000.0
7113000000000.0133000000000.0178000000000.0174000000000.0296000000000.0285000000000.0268000000000.0248000000000.0203000000000.0224000000000.0184000000000.0138000000000.0
854396758644.076922420464.051651968071.076312794872.0120000000000.0130000000000.0116000000000.0115000000000.094759654366.0118000000000.096170149894.086168454305.0
9788000000000.0770000000000.0823000000000.0729000000000.01090000000000.0950000000000.0912000000000.01130000000000.01150000000000.01180000000000.01000000000000.0939000000000.0
1071243307919.057791774256.081841483713.066089198138.0115000000000.0133000000000.0148000000000.0151000000000.0119000000000.0120000000000.0102000000000.093874850168.0
1129511195948.027551700040.027314185385.024018669539.043494871292.059577412810.065676524215.065652289332.054795063189.074388963493.080856697142.089663519653.0
12160000000000.0116000000000.0123000000000.0106000000000.0194000000000.0169000000000.0156000000000.0161000000000.0147000000000.0176000000000.0165000000000.0137000000000.0
13144000000000.0135000000000.0180000000000.0193000000000.0314000000000.0325000000000.0308000000000.0353000000000.0310000000000.0411000000000.0434000000000.0396000000000.0
141110000000000.01110000000000.01090000000000.0947000000000.01300000000000.01230000000000.01190000000000.01670000000000.01430000000000.01590000000000.01350000000000.01250000000000.0
1544034888412.043555205531.044130824988.039717742489.064565315688.055451340963.052189497377.073679290414.061111598950.069362144491.060248169766.056218833571.0
\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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012345678910
00.012326-1.558725-0.828-0.54232-0.916703-3.260923-1.384627-1.182236-1.744298-2.032587-2.575797
1-1.17162-2.09448-3.632487-1.78103-4.716693-4.611005-5.003581-4.983206-2.80538-2.978882-2.889723
2-0.777133-1.421314-2.1215-1.604754-2.888484-2.19002-2.651684-2.140792-2.251782-7.363099-7.29128
3-0.097328-0.5206670.0236270.239939-0.885515-0.893366-0.4836890.230656-0.060741-0.514357-0.370309
421.6984528.5867883.3545610.9861650.944683-0.291546-3.326024-1.752677-2.429157-7.6503457.165159
5-1.002816-1.833814-3.625351-1.845876-1.240344-3.419876-5.715574-5.982863-6.884118-12.306705-12.883039
6-0.139848-0.151343-0.173326-0.138348-0.152186-0.29188-0.248661-0.0402150.113682-0.236037-0.216633
7-1.133451-3.055949-3.337414-2.051348-4.099579-5.047799-3.970073-1.7368520.500156-2.486587-6.860761
80.161999-0.806993-1.739276-0.59905-1.220823-1.702474-1.582409-0.610239-1.119246-2.774042-1.880874
9-2.023169-1.902066-2.391838-1.681459-2.540926-3.525154-2.641903-2.616496-3.0845-7.17961-6.088285
10-5.43612-1.53311-7.368224-1.710513-3.034128-4.110486-5.036033-2.291723-5.7807-14.299216-20.283068
11-68.490873-56.36595-46.079988-24.08192-24.866471-24.018476-14.49101-2.443596-21.425087-78.89093-71.825086
12-0.665621-2.324813-1.897877-0.607974-0.619343-1.284301-1.0572480.667661.3448123.2635452.203569
13-13.116074-9.753611-10.175544-5.387389-6.095877-5.972013-6.730425-3.289677-4.12708-6.599355-9.986439
140.5665010.592220.7095530.5409930.6138830.7988710.415990.3096160.4521230.7151990.752506
152.717035-3.269211-3.887985-9.168576-9.542997-22.49648-16.170623-18.79365-15.510189-12.487815-17.018745
\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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012345678910
0-0.8631350.011995-1.27934-0.457459-0.570698-1.010724-2.231158-1.960839-0.596677-1.483816-2.381937
1-0.89675-1.006757-2.418977-1.891406-1.505244-4.396389-3.313917-5.347635-2.664525-2.090802-2.496138
2-0.894481-0.663714-1.493994-1.274348-1.378865-2.814209-2.071641-3.406677-1.698479-2.878158-8.36448
3-0.135536-0.084111-0.562320.0155440.221183-0.90503-0.541389-0.5571730.154763-0.051901-0.466522
42.10723320.43138731.8405691.5869651.1147960.996683-0.301218-3.77307-1.552371-2.931741-8.478726
5-1.41515-0.759866-2.356026-2.050292-1.94802-1.388527-3.16759-6.143612-6.145294-8.644261-11.96674
6-0.110558-0.139848-0.168453-0.104485-0.13933-0.177375-0.252823-0.273494-0.0393370.132007-0.245949
7-0.693459-0.846904-3.126201-1.961858-2.130523-4.359627-5.454879-4.850138-1.5740220.608886-3.315449
80.8292760.241255-0.54621-1.106075-0.552969-1.368164-1.717278-1.920406-0.490051-1.373306-3.096029
9-2.197091-1.89288-2.147325-1.599679-1.929253-2.646798-2.84508-2.595957-2.549975-3.63971-7.646017
10-8.713385-3.838677-1.898525-4.234435-1.479015-2.726615-4.028821-6.390261-2.272625-6.800824-15.536856
11-145.343844-69.086446-64.09972-25.446219-17.58116-22.557223-24.027342-17.362294-1.799958-19.711292-71.142199
12-0.597011-0.62774-2.69766-1.036985-0.697911-0.670955-1.244416-1.1579390.5576481.4344673.930547
13-14.677333-9.837056-9.096632-6.254395-5.205046-6.432338-5.210708-7.664-2.481265-3.908364-7.232626
140.4944930.5768950.6816470.5168820.5717810.6345180.5692550.4858060.278460.53250.772414
150.8191672.681595-3.632457-2.391718-10.675522-10.139435-15.935007-19.496135-16.558167-17.856476-13.382846
\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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
012345678910
00.005773-0.002174-0.011488-0.003769-0.0085020.000224-0.0050290.006808-0.007678-0.00327-0.041562
10.006051-0.000892-0.0060170.00272-0.0027920.0061690.006310.002925-0.0073520.008641-0.038542
20.006622-0.001221-0.0001780.0026320.0007580.009160.0079620.008392-0.001293-0.004359-0.010352
30.011443-0.003068-0.0041010.0018810.0017770.0059780.0010630.004835-0.0024130.000799-0.004831
40.004323-0.0058250.0000910.00042-0.002892-0.0006860.001230.002731-0.004258-0.002813-0.006835
50.007548-0.005569-0.00101-0.002053-0.0040330.0011960.000351-0.0030220.00475-0.00051-0.028943
60.005271-0.005497-0.001595-0.000909-0.0067770.007020.000757-0.004006-0.0138870.000157-0.032707
70.007237-0.004455-0.006842-0.000847-0.0042330.0024750.0040290.002705-0.006041-0.000705-0.034017
80.006399-0.006739-0.003964-0.0016140.001471-0.004751-0.0005440.001677-0.004262-0.001848-0.002259
90.002128-0.003844-0.0045210.003023-0.0053430.0065510.0047290.0008910.001353-0.004274-0.005001
100.002028-0.0062510.001014-0.004072-0.0009990.0016180.000193-0.007897-0.002905-0.004985-0.009041
110.002499-0.0046340.003188-0.005132-0.0049650.0065150.001243-0.012194-0.010153-0.008684-0.017869
120.004752-0.0038890.0013680.0031770.0053020.0030470.001169-0.005335-0.005862-0.006693-0.001391
130.006164-0.008906-0.0058240.001187-0.00380.007970.0048330.002482-0.00693-0.004475-0.006643
140.003021-0.008492-0.002728-0.0047210.0001460.001244-0.001826-0.011347-0.002271-0.003724-0.005624
150.00713-0.00268-0.002117-0.0014-0.0021430.0073680.003498-0.00060.001028-0.005841-0.009565
\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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \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 \n \n \n \n \n \n \n \n \n
yp1p2dummy-stock-0dummy-stock-1dummy-stock-2dummy-stock-3dummy-stock-4dummy-stock-5dummy-stock-6...dummy-year-0dummy-year-1dummy-year-2dummy-year-3dummy-year-4dummy-year-5dummy-year-6dummy-year-7dummy-year-8dummy-year-9
stockyear
000.005773-6.894123e+105.502837e+101.00.00.00.00.00.00.0...1.00.00.00.00.00.00.00.00.00.0
1-0.0021749.845070e+087.987303e+101.00.00.00.00.00.00.0...0.01.00.00.00.00.00.00.00.00.0
2-0.011488-1.279340e+118.207607e+101.00.00.00.00.00.00.0...0.00.01.00.00.00.00.00.00.00.0
3-0.003769-8.280000e+101.000000e+111.00.00.00.00.00.00.0...0.00.00.01.00.00.00.00.00.00.0
4-0.008502-9.816000e+101.810000e+111.00.00.00.00.00.00.0...0.00.00.00.01.00.00.00.00.00.0
.....................................................................
1560.003498-1.174080e+125.218950e+100.00.00.00.00.00.00.0...0.00.00.00.00.00.01.00.00.00.0
7-0.000600-1.191440e+127.367929e+100.00.00.00.00.00.00.0...0.00.00.00.00.00.00.01.00.00.0
80.001028-1.148510e+126.111160e+100.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.01.00.0
9-0.005841-1.075820e+126.936214e+100.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.01.0
10-0.009565-7.523680e+116.024817e+100.00.00.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
\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 }