{
"cells": [
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": " code date close tshare monret pe\n0 1 2000-01-28 18.53 1.071634e+09 0.0619 51.79\n1 1 2000-02-29 18.32 1.071634e+09 -0.0113 51.20\n2 1 2000-03-31 18.37 1.071634e+09 0.0027 51.34\n3 1 2000-04-28 19.05 1.071634e+09 0.0370 56.44\n4 1 2000-05-31 18.00 1.071634e+09 -0.0551 53.33\n... ... ... ... ... ... ...\n92793 990018 2006-05-29 15.47 1.804400e+09 0.4365 52.96\n92794 990018 2006-06-30 17.15 1.804400e+09 0.1086 58.71\n92795 990018 2006-07-31 16.96 1.804400e+09 -0.0111 34.15\n92796 990018 2006-08-31 16.32 1.804400e+09 -0.0377 32.86\n92797 990018 2006-09-25 16.37 1.804400e+09 0.0031 32.96\n\n[592798 rows x 6 columns]",
"text/html": "
\n\n
\n \n \n | \n code | \n date | \n close | \n tshare | \n monret | \n pe | \n
\n \n \n \n | 0 | \n 1 | \n 2000-01-28 | \n 18.53 | \n 1.071634e+09 | \n 0.0619 | \n 51.79 | \n
\n \n | 1 | \n 1 | \n 2000-02-29 | \n 18.32 | \n 1.071634e+09 | \n -0.0113 | \n 51.20 | \n
\n \n | 2 | \n 1 | \n 2000-03-31 | \n 18.37 | \n 1.071634e+09 | \n 0.0027 | \n 51.34 | \n
\n \n | 3 | \n 1 | \n 2000-04-28 | \n 19.05 | \n 1.071634e+09 | \n 0.0370 | \n 56.44 | \n
\n \n | 4 | \n 1 | \n 2000-05-31 | \n 18.00 | \n 1.071634e+09 | \n -0.0551 | \n 53.33 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 92793 | \n 990018 | \n 2006-05-29 | \n 15.47 | \n 1.804400e+09 | \n 0.4365 | \n 52.96 | \n
\n \n | 92794 | \n 990018 | \n 2006-06-30 | \n 17.15 | \n 1.804400e+09 | \n 0.1086 | \n 58.71 | \n
\n \n | 92795 | \n 990018 | \n 2006-07-31 | \n 16.96 | \n 1.804400e+09 | \n -0.0111 | \n 34.15 | \n
\n \n | 92796 | \n 990018 | \n 2006-08-31 | \n 16.32 | \n 1.804400e+09 | \n -0.0377 | \n 32.86 | \n
\n \n | 92797 | \n 990018 | \n 2006-09-25 | \n 16.37 | \n 1.804400e+09 | \n 0.0031 | \n 32.96 | \n
\n \n
\n
592798 rows × 6 columns
\n
"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data=pd.read_csv('RESSET_MRESSTK_1.csv',usecols=[0,2,3,4,5,6],encoding='GB2312')\n",
"data.columns=['code','date','close','tshare','monret','pe']\n",
"for i in range(2,7):\n",
" filename='RESSET_MRESSTK_'+str(i)+'.csv'\n",
" trans=pd.read_csv(filename,usecols=[0,2,3,4,5,6],encoding='utf-8')\n",
" trans.columns=['code','date','close','tshare','monret','pe']\n",
" data=pd.concat([data,trans])\n",
"data"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 55,
"outputs": [
{
"data": {
"text/plain": " code date close tshare monret pe yearmonth \\\n0 1 2000-01-28 18.53 1.071634e+09 0.0619 51.79 200001 \n1 1 2000-02-29 18.32 1.071634e+09 -0.0113 51.20 200002 \n2 1 2000-03-31 18.37 1.071634e+09 0.0027 51.34 200003 \n3 1 2000-04-28 19.05 1.071634e+09 0.0370 56.44 200004 \n4 1 2000-05-31 18.00 1.071634e+09 -0.0551 53.33 200005 \n... ... ... ... ... ... ... ... \n92793 990018 2006-05-29 15.47 1.804400e+09 0.4365 52.96 200605 \n92794 990018 2006-06-30 17.15 1.804400e+09 0.1086 58.71 200606 \n92795 990018 2006-07-31 16.96 1.804400e+09 -0.0111 34.15 200607 \n92796 990018 2006-08-31 16.32 1.804400e+09 -0.0377 32.86 200608 \n92797 990018 2006-09-25 16.37 1.804400e+09 0.0031 32.96 200609 \n\n tstksize stkep \n0 1.985739e+10 0.019309 \n1 1.963234e+10 0.019531 \n2 1.968592e+10 0.019478 \n3 2.041464e+10 0.017718 \n4 1.928942e+10 0.018751 \n... ... ... \n92793 2.791407e+10 0.018882 \n92794 3.094546e+10 0.017033 \n92795 3.060262e+10 0.029283 \n92796 2.944781e+10 0.030432 \n92797 2.953803e+10 0.030340 \n\n[571553 rows x 9 columns]",
"text/html": "\n\n
\n \n \n | \n code | \n date | \n close | \n tshare | \n monret | \n pe | \n yearmonth | \n tstksize | \n stkep | \n
\n \n \n \n | 0 | \n 1 | \n 2000-01-28 | \n 18.53 | \n 1.071634e+09 | \n 0.0619 | \n 51.79 | \n 200001 | \n 1.985739e+10 | \n 0.019309 | \n
\n \n | 1 | \n 1 | \n 2000-02-29 | \n 18.32 | \n 1.071634e+09 | \n -0.0113 | \n 51.20 | \n 200002 | \n 1.963234e+10 | \n 0.019531 | \n
\n \n | 2 | \n 1 | \n 2000-03-31 | \n 18.37 | \n 1.071634e+09 | \n 0.0027 | \n 51.34 | \n 200003 | \n 1.968592e+10 | \n 0.019478 | \n
\n \n | 3 | \n 1 | \n 2000-04-28 | \n 19.05 | \n 1.071634e+09 | \n 0.0370 | \n 56.44 | \n 200004 | \n 2.041464e+10 | \n 0.017718 | \n
\n \n | 4 | \n 1 | \n 2000-05-31 | \n 18.00 | \n 1.071634e+09 | \n -0.0551 | \n 53.33 | \n 200005 | \n 1.928942e+10 | \n 0.018751 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 92793 | \n 990018 | \n 2006-05-29 | \n 15.47 | \n 1.804400e+09 | \n 0.4365 | \n 52.96 | \n 200605 | \n 2.791407e+10 | \n 0.018882 | \n
\n \n | 92794 | \n 990018 | \n 2006-06-30 | \n 17.15 | \n 1.804400e+09 | \n 0.1086 | \n 58.71 | \n 200606 | \n 3.094546e+10 | \n 0.017033 | \n
\n \n | 92795 | \n 990018 | \n 2006-07-31 | \n 16.96 | \n 1.804400e+09 | \n -0.0111 | \n 34.15 | \n 200607 | \n 3.060262e+10 | \n 0.029283 | \n
\n \n | 92796 | \n 990018 | \n 2006-08-31 | \n 16.32 | \n 1.804400e+09 | \n -0.0377 | \n 32.86 | \n 200608 | \n 2.944781e+10 | \n 0.030432 | \n
\n \n | 92797 | \n 990018 | \n 2006-09-25 | \n 16.37 | \n 1.804400e+09 | \n 0.0031 | \n 32.96 | \n 200609 | \n 2.953803e+10 | \n 0.030340 | \n
\n \n
\n
571553 rows × 9 columns
\n
"
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data['date'] = pd.to_datetime(data['date'])\n",
"data['yearmonth'] = data['date'].dt.strftime('%Y%m').astype(int)\n",
"data['tstksize'] = data['close']*data['tshare']\n",
"data['stkep'] = 1/data['pe']\n",
"#data.dropna(inplace = True, subset=['tstksize', 'stkep'])##直接全部drop不是更好? 597685行 和下面这代码不一样结果\n",
"##data.dropna(inplace = True)\n",
"data.dropna(inplace = True)\n",
"data"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "markdown",
"source": [],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 56,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"264\n",
"[2, 3]\n"
]
}
],
"source": [
"uym = np.unique(data['yearmonth'].values)##有没有可能有些code不全有date。这没什么关系,因为后面是根据每个时点作为一组,在其中进行排序划分\n",
"print(len(uym))\n",
"uym"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 63,
"outputs": [],
"source": [
"class sort_portfolio:\n",
"\n",
" def __init__(self, data, months, gnum):\n",
" self.data = data\n",
" self.months = months\n",
" self.gnum = gnum\n",
"\n",
" def data_months(self):\n",
" dm = self.data.loc[self.data['yearmonth'] == self.months[0], ['code', 'tstksize', 'stkep']]\n",
" dm.dropna(inplace = True)\n",
" for i in range(1, len(self.months)):\n",
" ind = self.data['yearmonth'] == self.months[i]\n",
" dm = pd.merge(left = dm,\n",
" right = self.data.loc[ind, ['code', 'monret']],\n",
" on='code',\n",
" how='left',\n",
" sort=True)\n",
" dm.columns = ['stk', 'size6', 'ep6', 'ret7', 'ret8', 'ret9', 'ret10', 'ret11',\n",
" 'ret12', 'retn1', 'retn2', 'retn3', 'retn4', 'retn5', 'retn6']\n",
" return dm\n",
" def sort_single_ind(self):\n",
" L = np.sum(self.data['yearmonth'] == self.months[0])##算出有多少个股票\n",
" n = np.fix(L/self.gnum).astype(int)\n",
" x = np.ones(L)\n",
" i = 0\n",
" while i < self.gnum:\n",
" if i == self.gnum-1:\n",
" x[i*n:] = x[i*n:]*i##当i == self.gnum-1,就说明到最后一组了,很有可能后面不够了。但是其实没有关系,因为就算超过最大值了,也只会取到最后的值\n",
" else:\n",
" x[i*n:(i+1)*n] = x[i*n:(i+1)*n]*i\n",
" i = i+1\n",
" ssi = x.astype(int)\n",
" return ssi\n",
"\n",
" def sort_double_ind(self):\n",
" L = np.sum(self.data['yearmonth'] == self.months[0])\n",
" l = np.fix(L/self.gnum).astype(int)\n",
" n = np.fix(L/(self.gnum**2)).astype(int)\n",
" x = np.ones(L)\n",
" i = 0\n",
" while i < self.gnum:\n",
" j = 0\n",
" while j < self.gnum:\n",
" if j == self.gnum-1:\n",
" if i == self.gnum-1:\n",
" x[(i*l+j*n):] = x[(i*l+j*n):]*j\n",
" else:\n",
" x[(i*l+j*n):((i+1)*l)] = x[(i*l+j*n):((i+1)*l)]*j\n",
" else:\n",
" x[(i*l+j*n):(i*l+(j+1)*n)] = x[(i*l+j*n):(i*l+(j+1)*n)]*j\n",
" j=j+1\n",
" i=i+1\n",
" sdi = x.astype(int)\n",
" return sdi\n",
"\n",
" def sequence_sort(self):\n",
" dm = self.data_months()\n",
" ssi = self.sort_single_ind()\n",
" sdi = self.sort_double_ind()\n",
" dm.sort_values(by=['size6'], ascending=True, inplace=True)\n",
" dm['sinsort'] = ssi\n",
" dm.sort_values(by=['sinsort', 'ep6'], ascending=[True, True], inplace=True)\n",
" dm['dousort'] = sdi\n",
" return dm\n",
"\n",
"\n",
" def sequence_sort_mreturn(self):\n",
" sp = self.sequence_sort()\n",
" spmreturn = sp.loc[:, ['ret7', 'sinsort', 'dousort']].dropna().groupby(\n",
" by=['sinsort', 'dousort'])['ret7'].mean()\n",
" lret = ['ret8', 'ret9', 'ret10', 'ret11', 'ret12', 'retn1', 'retn2', 'retn3', 'retn4', 'retn5', 'retn6']\n",
" for i in lret:\n",
" a = sp.loc[:, [i, 'sinsort', 'dousort']].dropna().groupby(\n",
" by=['sinsort', 'dousort'])[i].mean()\n",
" spmreturn = pd.concat([spmreturn, a], axis=1)\n",
" spmreturn['mret'] = spmreturn.apply(lambda x: x.mean(), axis=1)\n",
" return spmreturn"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 64,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[200006 200007 200008 200009 200010 200011 200012 200101 200102 200103\n",
" 200104 200105 200106]\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"E:\\Python37\\lib\\site-packages\\ipykernel_launcher.py:17: FutureWarning: Passing 'suffixes' which cause duplicate columns {'monret_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
" app.launch_new_instance()\n"
]
},
{
"data": {
"text/plain": " stk size6 ep6 ret7 ret8 ret9 ret10 ret11 \\\n0 1 1.942873e+10 0.018619 0.0210 -0.0411 -0.0445 0.0348 -0.0081 \n1 2 5.386597e+09 0.031437 0.0274 -0.0483 -0.0528 0.0671 0.0606 \n2 4 9.068779e+08 0.005057 0.2618 0.1707 0.0068 -0.1572 0.1719 \n3 5 2.547178e+09 0.013019 -0.0357 -0.0064 -0.1565 0.0592 0.0522 \n4 6 2.122505e+09 0.024839 0.0468 -0.1137 -0.1154 0.0429 0.0691 \n.. ... ... ... ... ... ... ... ... \n945 900950 2.544366e+07 -0.016466 0.1579 0.1273 0.1048 0.0730 0.0544 \n946 900951 1.500000e+07 -0.020859 0.3333 0.4000 -0.1714 0.2155 0.0071 \n947 900952 4.173600e+07 0.065833 0.0372 -0.1436 -0.0299 0.0864 0.1023 \n948 900953 5.376000e+07 0.055279 0.1518 -0.0233 0.0317 0.1000 0.0350 \n949 900956 2.875000e+07 -0.012514 0.1280 -0.0780 -0.0231 0.1181 0.0423 \n\n ret12 retn1 retn2 retn3 retn4 retn5 retn6 \n0 -0.0626 0.0317 -0.0594 0.1512 -0.0425 0.0431 -0.0549 \n1 -0.0007 0.0672 -0.0777 0.0988 -0.0364 -0.0261 0.0430 \n2 0.0319 -0.1515 -0.1071 0.1432 0.0101 -0.0031 0.0083 \n3 -0.0371 0.1177 -0.0938 0.1137 NaN NaN NaN \n4 0.0810 0.0379 -0.0452 0.0695 0.0236 -0.0265 -0.0007 \n.. ... ... ... ... ... ... ... \n945 0.1677 -0.0387 -0.0632 0.8405 0.3567 0.4079 -0.0881 \n946 0.3028 -0.0081 0.0054 0.8943 0.2203 0.3916 -0.0110 \n947 0.3041 -0.0316 0.0857 0.9718 0.3060 0.3022 -0.0767 \n948 0.2230 -0.0608 0.0794 0.8801 0.2768 0.2622 -0.0468 \n949 0.2838 -0.0895 0.0462 1.0912 0.2312 0.2918 0.0233 \n\n[950 rows x 15 columns]",
"text/html": "\n\n
\n \n \n | \n stk | \n size6 | \n ep6 | \n ret7 | \n ret8 | \n ret9 | \n ret10 | \n ret11 | \n ret12 | \n retn1 | \n retn2 | \n retn3 | \n retn4 | \n retn5 | \n retn6 | \n
\n \n \n \n | 0 | \n 1 | \n 1.942873e+10 | \n 0.018619 | \n 0.0210 | \n -0.0411 | \n -0.0445 | \n 0.0348 | \n -0.0081 | \n -0.0626 | \n 0.0317 | \n -0.0594 | \n 0.1512 | \n -0.0425 | \n 0.0431 | \n -0.0549 | \n
\n \n | 1 | \n 2 | \n 5.386597e+09 | \n 0.031437 | \n 0.0274 | \n -0.0483 | \n -0.0528 | \n 0.0671 | \n 0.0606 | \n -0.0007 | \n 0.0672 | \n -0.0777 | \n 0.0988 | \n -0.0364 | \n -0.0261 | \n 0.0430 | \n
\n \n | 2 | \n 4 | \n 9.068779e+08 | \n 0.005057 | \n 0.2618 | \n 0.1707 | \n 0.0068 | \n -0.1572 | \n 0.1719 | \n 0.0319 | \n -0.1515 | \n -0.1071 | \n 0.1432 | \n 0.0101 | \n -0.0031 | \n 0.0083 | \n
\n \n | 3 | \n 5 | \n 2.547178e+09 | \n 0.013019 | \n -0.0357 | \n -0.0064 | \n -0.1565 | \n 0.0592 | \n 0.0522 | \n -0.0371 | \n 0.1177 | \n -0.0938 | \n 0.1137 | \n NaN | \n NaN | \n NaN | \n
\n \n | 4 | \n 6 | \n 2.122505e+09 | \n 0.024839 | \n 0.0468 | \n -0.1137 | \n -0.1154 | \n 0.0429 | \n 0.0691 | \n 0.0810 | \n 0.0379 | \n -0.0452 | \n 0.0695 | \n 0.0236 | \n -0.0265 | \n -0.0007 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 945 | \n 900950 | \n 2.544366e+07 | \n -0.016466 | \n 0.1579 | \n 0.1273 | \n 0.1048 | \n 0.0730 | \n 0.0544 | \n 0.1677 | \n -0.0387 | \n -0.0632 | \n 0.8405 | \n 0.3567 | \n 0.4079 | \n -0.0881 | \n
\n \n | 946 | \n 900951 | \n 1.500000e+07 | \n -0.020859 | \n 0.3333 | \n 0.4000 | \n -0.1714 | \n 0.2155 | \n 0.0071 | \n 0.3028 | \n -0.0081 | \n 0.0054 | \n 0.8943 | \n 0.2203 | \n 0.3916 | \n -0.0110 | \n
\n \n | 947 | \n 900952 | \n 4.173600e+07 | \n 0.065833 | \n 0.0372 | \n -0.1436 | \n -0.0299 | \n 0.0864 | \n 0.1023 | \n 0.3041 | \n -0.0316 | \n 0.0857 | \n 0.9718 | \n 0.3060 | \n 0.3022 | \n -0.0767 | \n
\n \n | 948 | \n 900953 | \n 5.376000e+07 | \n 0.055279 | \n 0.1518 | \n -0.0233 | \n 0.0317 | \n 0.1000 | \n 0.0350 | \n 0.2230 | \n -0.0608 | \n 0.0794 | \n 0.8801 | \n 0.2768 | \n 0.2622 | \n -0.0468 | \n
\n \n | 949 | \n 900956 | \n 2.875000e+07 | \n -0.012514 | \n 0.1280 | \n -0.0780 | \n -0.0231 | \n 0.1181 | \n 0.0423 | \n 0.2838 | \n -0.0895 | \n 0.0462 | \n 1.0912 | \n 0.2312 | \n 0.2918 | \n 0.0233 | \n
\n \n
\n
950 rows × 15 columns
\n
"
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"print(uym[5:5+13])\n",
"sp = sort_portfolio(data, uym[5:5+13], 5)\n",
"sp.data_months()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 65,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"E:\\Python37\\lib\\site-packages\\ipykernel_launcher.py:17: FutureWarning: Passing 'suffixes' which cause duplicate columns {'monret_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
" app.launch_new_instance()\n"
]
},
{
"data": {
"text/plain": " stk size6 ep6 ret7 ret8 ret9 ret10 ret11 \\\n915 900915 8.142000e+06 -0.990099 0.3051 0.3506 0.0192 0.0943 0.2759 \n925 900926 1.038400e+07 -0.719424 0.3898 0.6707 0.0438 -0.0280 0.2014 \n907 900906 1.585584e+07 -0.469484 0.2424 0.3049 -0.0280 0.0865 0.2566 \n434 200025 4.752000e+07 -0.315457 0.0000 0.0944 -0.0761 -0.0055 0.0000 \n927 900928 1.992906e+07 -0.243902 0.1183 0.2500 0.0615 0.1232 0.0258 \n.. ... ... ... ... ... ... ... ... \n322 825 2.463750e+09 0.047237 0.0898 -0.0363 -0.0565 0.0046 0.0015 \n190 629 2.122584e+09 0.049554 0.1596 -0.0749 -0.0972 0.0942 0.0219 \n241 709 2.180531e+09 0.053248 0.0851 -0.0229 -0.0642 0.0106 0.0705 \n302 800 3.341520e+09 0.054645 0.1879 -0.0934 -0.0923 -0.0051 0.0988 \n475 600006 1.836000e+09 0.056243 0.1732 0.0028 -0.1125 -0.0047 0.1887 \n\n ret12 retn1 retn2 retn3 retn4 retn5 retn6 sinsort dousort \n915 0.2635 -0.0909 -0.0471 0.5833 -0.0351 NaN NaN 0 0 \n925 0.4910 -0.0542 0.0276 1.1736 0.1711 0.1031 0.1001 0 0 \n907 0.2535 -0.0787 -0.0366 0.7184 0.3904 0.3921 -0.1047 0 0 \n434 0.2707 -0.0174 -0.1018 1.4877 0.3366 0.6800 -0.0741 0 0 \n927 0.3396 -0.1127 0.0238 0.6744 0.1713 0.3926 -0.1126 0 0 \n.. ... ... ... ... ... ... ... ... ... \n322 -0.0107 0.0498 -0.0134 0.0571 0.0213 -0.0128 0.0086 4 4 \n190 -0.0294 0.1143 0.0198 0.0703 -0.0838 -0.0235 0.0468 4 4 \n241 -0.0244 0.0350 0.0217 0.0567 -0.0604 -0.0155 0.0411 4 4 \n302 0.0031 0.0912 -0.0212 0.0810 -0.0643 0.0014 -0.0271 4 4 \n475 -0.0040 0.1262 0.0554 0.0190 0.0351 0.0689 0.0525 4 4 \n\n[950 rows x 17 columns]",
"text/html": "\n\n
\n \n \n | \n stk | \n size6 | \n ep6 | \n ret7 | \n ret8 | \n ret9 | \n ret10 | \n ret11 | \n ret12 | \n retn1 | \n retn2 | \n retn3 | \n retn4 | \n retn5 | \n retn6 | \n sinsort | \n dousort | \n
\n \n \n \n | 915 | \n 900915 | \n 8.142000e+06 | \n -0.990099 | \n 0.3051 | \n 0.3506 | \n 0.0192 | \n 0.0943 | \n 0.2759 | \n 0.2635 | \n -0.0909 | \n -0.0471 | \n 0.5833 | \n -0.0351 | \n NaN | \n NaN | \n 0 | \n 0 | \n
\n \n | 925 | \n 900926 | \n 1.038400e+07 | \n -0.719424 | \n 0.3898 | \n 0.6707 | \n 0.0438 | \n -0.0280 | \n 0.2014 | \n 0.4910 | \n -0.0542 | \n 0.0276 | \n 1.1736 | \n 0.1711 | \n 0.1031 | \n 0.1001 | \n 0 | \n 0 | \n
\n \n | 907 | \n 900906 | \n 1.585584e+07 | \n -0.469484 | \n 0.2424 | \n 0.3049 | \n -0.0280 | \n 0.0865 | \n 0.2566 | \n 0.2535 | \n -0.0787 | \n -0.0366 | \n 0.7184 | \n 0.3904 | \n 0.3921 | \n -0.1047 | \n 0 | \n 0 | \n
\n \n | 434 | \n 200025 | \n 4.752000e+07 | \n -0.315457 | \n 0.0000 | \n 0.0944 | \n -0.0761 | \n -0.0055 | \n 0.0000 | \n 0.2707 | \n -0.0174 | \n -0.1018 | \n 1.4877 | \n 0.3366 | \n 0.6800 | \n -0.0741 | \n 0 | \n 0 | \n
\n \n | 927 | \n 900928 | \n 1.992906e+07 | \n -0.243902 | \n 0.1183 | \n 0.2500 | \n 0.0615 | \n 0.1232 | \n 0.0258 | \n 0.3396 | \n -0.1127 | \n 0.0238 | \n 0.6744 | \n 0.1713 | \n 0.3926 | \n -0.1126 | \n 0 | \n 0 | \n
\n \n | ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n ... | \n
\n \n | 322 | \n 825 | \n 2.463750e+09 | \n 0.047237 | \n 0.0898 | \n -0.0363 | \n -0.0565 | \n 0.0046 | \n 0.0015 | \n -0.0107 | \n 0.0498 | \n -0.0134 | \n 0.0571 | \n 0.0213 | \n -0.0128 | \n 0.0086 | \n 4 | \n 4 | \n
\n \n | 190 | \n 629 | \n 2.122584e+09 | \n 0.049554 | \n 0.1596 | \n -0.0749 | \n -0.0972 | \n 0.0942 | \n 0.0219 | \n -0.0294 | \n 0.1143 | \n 0.0198 | \n 0.0703 | \n -0.0838 | \n -0.0235 | \n 0.0468 | \n 4 | \n 4 | \n
\n \n | 241 | \n 709 | \n 2.180531e+09 | \n 0.053248 | \n 0.0851 | \n -0.0229 | \n -0.0642 | \n 0.0106 | \n 0.0705 | \n -0.0244 | \n 0.0350 | \n 0.0217 | \n 0.0567 | \n -0.0604 | \n -0.0155 | \n 0.0411 | \n 4 | \n 4 | \n
\n \n | 302 | \n 800 | \n 3.341520e+09 | \n 0.054645 | \n 0.1879 | \n -0.0934 | \n -0.0923 | \n -0.0051 | \n 0.0988 | \n 0.0031 | \n 0.0912 | \n -0.0212 | \n 0.0810 | \n -0.0643 | \n 0.0014 | \n -0.0271 | \n 4 | \n 4 | \n
\n \n | 475 | \n 600006 | \n 1.836000e+09 | \n 0.056243 | \n 0.1732 | \n 0.0028 | \n -0.1125 | \n -0.0047 | \n 0.1887 | \n -0.0040 | \n 0.1262 | \n 0.0554 | \n 0.0190 | \n 0.0351 | \n 0.0689 | \n 0.0525 | \n 4 | \n 4 | \n
\n \n
\n
950 rows × 17 columns
\n
"
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sp.sequence_sort()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 66,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"E:\\Python37\\lib\\site-packages\\ipykernel_launcher.py:17: FutureWarning: Passing 'suffixes' which cause duplicate columns {'monret_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
" app.launch_new_instance()\n"
]
},
{
"data": {
"text/plain": " ret7 ret8 ret9 ret10 ret11 ret12 \\\nsinsort dousort \n0 0 0.151432 0.133645 0.009450 0.061500 0.070413 0.082708 \n 1 0.067492 0.045516 -0.040279 0.070713 0.063850 0.044595 \n 2 0.029908 0.026773 -0.023862 0.077095 0.062868 0.075029 \n 3 0.058742 0.033461 -0.028766 0.074634 0.069924 0.127318 \n 4 0.044184 0.020995 -0.077255 0.084105 0.064945 0.172776 \n1 0 0.139982 0.052213 -0.037438 0.066354 0.051376 -0.022311 \n 1 0.052395 0.032505 -0.016979 0.044368 0.078127 -0.007886 \n 2 0.047634 0.017376 -0.034524 0.058347 0.049937 0.020853 \n 3 0.041529 0.012916 -0.026413 0.048668 0.093179 0.020676 \n 4 0.051768 -0.014042 -0.051671 0.058637 0.063911 0.029542 \n2 0 0.032176 0.068400 -0.013695 0.051521 0.064137 -0.012266 \n 1 0.031382 -0.005650 -0.040224 0.022126 0.077345 -0.017071 \n 2 0.042134 0.005171 -0.035189 0.038395 0.057742 0.016495 \n 3 0.040089 -0.000326 -0.042395 0.032884 0.063253 0.013545 \n 4 0.086755 -0.036142 -0.047718 0.040624 0.067139 0.025971 \n3 0 0.049642 -0.009334 -0.058713 0.040889 0.066166 -0.011626 \n 1 0.023366 -0.014982 -0.042455 0.008218 0.059326 0.008421 \n 2 0.041445 -0.008721 -0.045053 0.048074 0.058126 0.004484 \n 3 0.033587 -0.018963 -0.069684 0.036171 0.066550 0.012876 \n 4 0.052789 -0.031113 -0.067166 0.018845 0.071355 0.023074 \n4 0 0.019876 -0.022721 -0.040434 0.009903 0.035026 -0.036408 \n 1 0.023032 -0.045750 -0.045716 -0.002313 0.057205 -0.004137 \n 2 0.038424 0.008182 -0.032032 0.001118 0.043308 -0.018629 \n 3 0.035005 -0.024808 -0.057897 0.007382 0.040566 -0.003797 \n 4 0.078050 -0.019332 -0.082408 0.015800 0.071679 0.001063 \n\n retn1 retn2 retn3 retn4 retn5 retn6 \\\nsinsort dousort \n0 0 -0.044237 -0.067926 0.427571 0.114558 0.205778 -0.021728 \n 1 -0.044616 -0.054645 0.240392 0.076316 0.153997 -0.035558 \n 2 -0.038147 -0.043892 0.315939 0.064513 0.141132 -0.021161 \n 3 -0.032697 -0.012624 0.551766 0.075342 0.196279 -0.041282 \n 4 -0.010937 0.045863 1.081932 0.138605 0.244211 -0.098176 \n1 0 -0.012237 -0.100247 0.182011 0.027332 0.117717 -0.011750 \n 1 -0.026987 -0.065621 0.101492 0.022968 0.079986 0.009749 \n 2 0.000324 -0.074274 0.079034 0.015847 0.071192 0.018216 \n 3 -0.007818 -0.049808 0.105650 0.010700 0.073211 0.011624 \n 4 -0.000474 -0.036134 0.284471 0.013747 0.106308 -0.011876 \n2 0 -0.027361 -0.089711 0.100082 0.021726 0.059781 -0.009105 \n 1 -0.000982 -0.081176 0.081416 -0.006308 0.070637 0.006239 \n 2 -0.016908 -0.059616 0.068332 -0.005037 0.058579 0.028647 \n 3 0.006795 -0.062853 0.095271 -0.013061 0.045989 0.018905 \n 4 0.004642 -0.034387 0.068987 -0.019026 0.049703 0.028918 \n3 0 0.004497 -0.054484 0.080282 -0.010816 0.041984 -0.003674 \n 1 -0.016442 -0.053763 0.066024 0.006371 0.038779 -0.014021 \n 2 0.005274 -0.063479 0.064268 -0.014379 0.054295 0.006526 \n 3 0.010989 -0.051245 0.069721 -0.025503 0.027750 0.007626 \n 4 0.013471 -0.038239 0.080908 -0.034516 0.023505 0.030884 \n4 0 -0.015047 -0.048200 0.046708 -0.022529 -0.004724 0.014103 \n 1 -0.029434 -0.081808 0.071092 0.004408 -0.012157 -0.004884 \n 2 -0.024082 -0.063508 0.065739 -0.026851 -0.000722 -0.009881 \n 3 0.002613 -0.048608 0.058455 -0.023943 -0.006168 0.005962 \n 4 0.015276 -0.024208 0.069542 -0.026895 0.005439 -0.000539 \n\n mret \nsinsort dousort \n0 0 0.093597 \n 1 0.048981 \n 2 0.055516 \n 3 0.089341 \n 4 0.142604 \n1 0 0.037750 \n 1 0.025343 \n 2 0.022497 \n 3 0.027843 \n 4 0.041182 \n2 0 0.020474 \n 1 0.011478 \n 2 0.016562 \n 3 0.016508 \n 4 0.019622 \n3 0 0.011234 \n 1 0.005737 \n 2 0.012572 \n 3 0.008323 \n 4 0.011983 \n4 0 -0.005371 \n 1 -0.005872 \n 2 -0.001578 \n 3 -0.001270 \n 4 0.008622 ",
"text/html": "\n\n
\n \n \n | \n | \n ret7 | \n ret8 | \n ret9 | \n ret10 | \n ret11 | \n ret12 | \n retn1 | \n retn2 | \n retn3 | \n retn4 | \n retn5 | \n retn6 | \n mret | \n
\n \n | sinsort | \n dousort | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n | \n
\n \n \n \n | 0 | \n 0 | \n 0.151432 | \n 0.133645 | \n 0.009450 | \n 0.061500 | \n 0.070413 | \n 0.082708 | \n -0.044237 | \n -0.067926 | \n 0.427571 | \n 0.114558 | \n 0.205778 | \n -0.021728 | \n 0.093597 | \n
\n \n | 1 | \n 0.067492 | \n 0.045516 | \n -0.040279 | \n 0.070713 | \n 0.063850 | \n 0.044595 | \n -0.044616 | \n -0.054645 | \n 0.240392 | \n 0.076316 | \n 0.153997 | \n -0.035558 | \n 0.048981 | \n
\n \n | 2 | \n 0.029908 | \n 0.026773 | \n -0.023862 | \n 0.077095 | \n 0.062868 | \n 0.075029 | \n -0.038147 | \n -0.043892 | \n 0.315939 | \n 0.064513 | \n 0.141132 | \n -0.021161 | \n 0.055516 | \n
\n \n | 3 | \n 0.058742 | \n 0.033461 | \n -0.028766 | \n 0.074634 | \n 0.069924 | \n 0.127318 | \n -0.032697 | \n -0.012624 | \n 0.551766 | \n 0.075342 | \n 0.196279 | \n -0.041282 | \n 0.089341 | \n
\n \n | 4 | \n 0.044184 | \n 0.020995 | \n -0.077255 | \n 0.084105 | \n 0.064945 | \n 0.172776 | \n -0.010937 | \n 0.045863 | \n 1.081932 | \n 0.138605 | \n 0.244211 | \n -0.098176 | \n 0.142604 | \n
\n \n | 1 | \n 0 | \n 0.139982 | \n 0.052213 | \n -0.037438 | \n 0.066354 | \n 0.051376 | \n -0.022311 | \n -0.012237 | \n -0.100247 | \n 0.182011 | \n 0.027332 | \n 0.117717 | \n -0.011750 | \n 0.037750 | \n
\n \n | 1 | \n 0.052395 | \n 0.032505 | \n -0.016979 | \n 0.044368 | \n 0.078127 | \n -0.007886 | \n -0.026987 | \n -0.065621 | \n 0.101492 | \n 0.022968 | \n 0.079986 | \n 0.009749 | \n 0.025343 | \n
\n \n | 2 | \n 0.047634 | \n 0.017376 | \n -0.034524 | \n 0.058347 | \n 0.049937 | \n 0.020853 | \n 0.000324 | \n -0.074274 | \n 0.079034 | \n 0.015847 | \n 0.071192 | \n 0.018216 | \n 0.022497 | \n
\n \n | 3 | \n 0.041529 | \n 0.012916 | \n -0.026413 | \n 0.048668 | \n 0.093179 | \n 0.020676 | \n -0.007818 | \n -0.049808 | \n 0.105650 | \n 0.010700 | \n 0.073211 | \n 0.011624 | \n 0.027843 | \n
\n \n | 4 | \n 0.051768 | \n -0.014042 | \n -0.051671 | \n 0.058637 | \n 0.063911 | \n 0.029542 | \n -0.000474 | \n -0.036134 | \n 0.284471 | \n 0.013747 | \n 0.106308 | \n -0.011876 | \n 0.041182 | \n
\n \n | 2 | \n 0 | \n 0.032176 | \n 0.068400 | \n -0.013695 | \n 0.051521 | \n 0.064137 | \n -0.012266 | \n -0.027361 | \n -0.089711 | \n 0.100082 | \n 0.021726 | \n 0.059781 | \n -0.009105 | \n 0.020474 | \n
\n \n | 1 | \n 0.031382 | \n -0.005650 | \n -0.040224 | \n 0.022126 | \n 0.077345 | \n -0.017071 | \n -0.000982 | \n -0.081176 | \n 0.081416 | \n -0.006308 | \n 0.070637 | \n 0.006239 | \n 0.011478 | \n
\n \n | 2 | \n 0.042134 | \n 0.005171 | \n -0.035189 | \n 0.038395 | \n 0.057742 | \n 0.016495 | \n -0.016908 | \n -0.059616 | \n 0.068332 | \n -0.005037 | \n 0.058579 | \n 0.028647 | \n 0.016562 | \n
\n \n | 3 | \n 0.040089 | \n -0.000326 | \n -0.042395 | \n 0.032884 | \n 0.063253 | \n 0.013545 | \n 0.006795 | \n -0.062853 | \n 0.095271 | \n -0.013061 | \n 0.045989 | \n 0.018905 | \n 0.016508 | \n
\n \n | 4 | \n 0.086755 | \n -0.036142 | \n -0.047718 | \n 0.040624 | \n 0.067139 | \n 0.025971 | \n 0.004642 | \n -0.034387 | \n 0.068987 | \n -0.019026 | \n 0.049703 | \n 0.028918 | \n 0.019622 | \n
\n \n | 3 | \n 0 | \n 0.049642 | \n -0.009334 | \n -0.058713 | \n 0.040889 | \n 0.066166 | \n -0.011626 | \n 0.004497 | \n -0.054484 | \n 0.080282 | \n -0.010816 | \n 0.041984 | \n -0.003674 | \n 0.011234 | \n
\n \n | 1 | \n 0.023366 | \n -0.014982 | \n -0.042455 | \n 0.008218 | \n 0.059326 | \n 0.008421 | \n -0.016442 | \n -0.053763 | \n 0.066024 | \n 0.006371 | \n 0.038779 | \n -0.014021 | \n 0.005737 | \n
\n \n | 2 | \n 0.041445 | \n -0.008721 | \n -0.045053 | \n 0.048074 | \n 0.058126 | \n 0.004484 | \n 0.005274 | \n -0.063479 | \n 0.064268 | \n -0.014379 | \n 0.054295 | \n 0.006526 | \n 0.012572 | \n
\n \n | 3 | \n 0.033587 | \n -0.018963 | \n -0.069684 | \n 0.036171 | \n 0.066550 | \n 0.012876 | \n 0.010989 | \n -0.051245 | \n 0.069721 | \n -0.025503 | \n 0.027750 | \n 0.007626 | \n 0.008323 | \n
\n \n | 4 | \n 0.052789 | \n -0.031113 | \n -0.067166 | \n 0.018845 | \n 0.071355 | \n 0.023074 | \n 0.013471 | \n -0.038239 | \n 0.080908 | \n -0.034516 | \n 0.023505 | \n 0.030884 | \n 0.011983 | \n
\n \n | 4 | \n 0 | \n 0.019876 | \n -0.022721 | \n -0.040434 | \n 0.009903 | \n 0.035026 | \n -0.036408 | \n -0.015047 | \n -0.048200 | \n 0.046708 | \n -0.022529 | \n -0.004724 | \n 0.014103 | \n -0.005371 | \n
\n \n | 1 | \n 0.023032 | \n -0.045750 | \n -0.045716 | \n -0.002313 | \n 0.057205 | \n -0.004137 | \n -0.029434 | \n -0.081808 | \n 0.071092 | \n 0.004408 | \n -0.012157 | \n -0.004884 | \n -0.005872 | \n
\n \n | 2 | \n 0.038424 | \n 0.008182 | \n -0.032032 | \n 0.001118 | \n 0.043308 | \n -0.018629 | \n -0.024082 | \n -0.063508 | \n 0.065739 | \n -0.026851 | \n -0.000722 | \n -0.009881 | \n -0.001578 | \n
\n \n | 3 | \n 0.035005 | \n -0.024808 | \n -0.057897 | \n 0.007382 | \n 0.040566 | \n -0.003797 | \n 0.002613 | \n -0.048608 | \n 0.058455 | \n -0.023943 | \n -0.006168 | \n 0.005962 | \n -0.001270 | \n
\n \n | 4 | \n 0.078050 | \n -0.019332 | \n -0.082408 | \n 0.015800 | \n 0.071679 | \n 0.001063 | \n 0.015276 | \n -0.024208 | \n 0.069542 | \n -0.026895 | \n 0.005439 | \n -0.000539 | \n 0.008622 | \n
\n \n
\n
"
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sp.sequence_sort_mreturn()"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 68,
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"E:\\Python37\\lib\\site-packages\\ipykernel_launcher.py:17: FutureWarning: Passing 'suffixes' which cause duplicate columns {'monret_x'} in the result is deprecated and will raise a MergeError in a future version.\n",
" app.launch_new_instance()\n"
]
},
{
"data": {
"text/plain": " 200006 200106 200206 200306 200406 200506 \\\nsinsort dousort \n0 0 0.093597 -0.021995 -0.026883 -0.023502 -0.037301 0.046782 \n 1 0.048981 -0.023297 -0.023558 -0.019235 -0.031713 0.042067 \n 2 0.055516 -0.023141 -0.025105 -0.020707 -0.033495 0.043425 \n 3 0.089341 -0.019015 -0.022886 -0.016855 -0.029608 0.038498 \n 4 0.142604 -0.022905 -0.019197 -0.011121 -0.022004 0.034566 \n1 0 0.037750 -0.021207 -0.025861 -0.022200 -0.045921 0.043654 \n 1 0.025343 -0.019438 -0.027229 -0.017842 -0.031102 0.039372 \n 2 0.022497 -0.017301 -0.024836 -0.018014 -0.037441 0.039598 \n 3 0.027843 -0.019848 -0.022047 -0.012902 -0.026114 0.038767 \n 4 0.041182 -0.017743 -0.017486 -0.006732 -0.016443 0.045876 \n2 0 0.020474 -0.020476 -0.026063 -0.023374 -0.042902 0.036110 \n 1 0.011478 -0.022425 -0.021050 -0.018822 -0.028126 0.042113 \n 2 0.016562 -0.023573 -0.020560 -0.018332 -0.027272 0.035675 \n 3 0.016508 -0.018726 -0.017442 -0.009355 -0.020101 0.050329 \n 4 0.019622 -0.018544 -0.013345 -0.001332 -0.015303 0.040701 \n3 0 0.011234 -0.015985 -0.028253 -0.017372 -0.028746 0.033861 \n 1 0.005737 -0.022469 -0.019021 -0.014911 -0.031290 0.044497 \n 2 0.012572 -0.017929 -0.020070 -0.011735 -0.032414 0.048638 \n 3 0.008323 -0.018186 -0.020186 -0.005392 -0.018992 0.040353 \n 4 0.011983 -0.014322 -0.006049 -0.000020 -0.018392 0.033529 \n4 0 -0.005371 -0.019442 -0.018912 -0.024081 -0.028089 0.037185 \n 1 -0.005872 -0.018993 -0.022213 -0.010271 -0.020710 0.042642 \n 2 -0.001578 -0.012820 -0.014503 -0.007793 -0.016512 0.036348 \n 3 -0.001270 -0.011244 -0.008988 -0.000310 -0.009637 0.034580 \n 4 0.008622 -0.009237 -0.004910 0.006356 -0.009874 0.027724 \n\n 200606 200706 200806 200906 ... 201106 \\\nsinsort dousort ... \n0 0 0.109080 -0.001380 0.055228 0.015534 ... -0.007321 \n 1 0.111025 -0.004689 0.046802 0.022339 ... -0.009218 \n 2 0.097414 0.000050 0.050527 0.024425 ... -0.008531 \n 3 0.074116 0.003206 0.052264 0.023590 ... -0.010284 \n 4 0.094213 -0.002541 0.027980 0.018361 ... -0.010843 \n1 0 0.089824 -0.002921 0.047789 0.004571 ... -0.021244 \n 1 0.091156 -0.005369 0.045643 0.017066 ... -0.018245 \n 2 0.075056 -0.001729 0.046631 0.018329 ... -0.011660 \n 3 0.079919 -0.001796 0.049728 0.028495 ... -0.009038 \n 4 0.073499 0.003251 0.045131 0.017298 ... -0.013687 \n2 0 0.090917 -0.008944 0.045795 0.008929 ... -0.026264 \n 1 0.076479 -0.007201 0.039690 0.007526 ... -0.015175 \n 2 0.074638 -0.002289 0.037931 0.020604 ... -0.011911 \n 3 0.087001 -0.001589 0.042958 0.026219 ... -0.015023 \n 4 0.083209 -0.001780 0.045418 0.020147 ... -0.017455 \n3 0 0.080814 -0.018624 0.030866 0.004419 ... -0.025258 \n 1 0.082026 -0.022995 0.023195 0.011340 ... -0.017042 \n 2 0.066871 -0.010255 0.025126 0.008861 ... -0.016899 \n 3 0.079886 -0.004730 0.040476 0.018073 ... -0.015669 \n 4 0.086323 -0.004943 0.034018 0.010521 ... -0.019293 \n4 0 0.082050 -0.026597 0.023287 -0.003168 ... -0.022930 \n 1 0.082713 -0.012998 0.019979 -0.008540 ... -0.013615 \n 2 0.092741 -0.018992 0.028091 -0.003400 ... -0.016747 \n 3 0.092762 -0.007688 0.027638 -0.002109 ... -0.020722 \n 4 0.097038 -0.005838 0.030277 -0.006996 ... -0.015691 \n\n 201206 201306 201406 201506 201606 201706 \\\nsinsort dousort \n0 0 0.010891 0.036775 0.113586 0.017423 0.006463 -0.030198 \n 1 0.009172 0.047927 0.106607 0.020378 -0.001408 -0.022253 \n 2 0.008561 0.056765 0.111732 0.025078 -0.001234 -0.015474 \n 3 0.005694 0.054561 0.107367 0.027272 0.001102 -0.021313 \n 4 0.008322 0.032417 0.089103 0.002821 0.003965 -0.014647 \n1 0 0.003572 0.027279 0.093833 0.006454 -0.001997 -0.032155 \n 1 0.007589 0.035100 0.098438 0.012684 -0.010841 -0.021364 \n 2 0.010642 0.041267 0.099608 0.011118 -0.008809 -0.027149 \n 3 0.003293 0.036716 0.090635 0.009738 -0.003796 -0.023231 \n 4 0.003750 0.033717 0.091796 0.003072 0.008736 -0.020418 \n2 0 -0.002330 0.021983 0.098084 -0.009467 -0.010930 -0.029837 \n 1 0.010125 0.032692 0.090901 -0.005144 -0.020027 -0.021314 \n 2 0.011379 0.032260 0.086088 0.001075 -0.011005 -0.018716 \n 3 0.002504 0.033928 0.089358 -0.002117 -0.003467 -0.025867 \n 4 0.000116 0.020262 0.086168 -0.007031 0.006039 -0.019023 \n3 0 0.000615 0.020126 0.087632 -0.015810 -0.016450 -0.026822 \n 1 0.004923 0.026736 0.083365 -0.010454 -0.023300 -0.017318 \n 2 0.005924 0.023576 0.074725 -0.009536 -0.014268 -0.018444 \n 3 -0.005721 0.022956 0.082773 -0.013498 -0.005488 -0.014846 \n 4 -0.001819 0.016038 0.086383 -0.011930 0.006112 -0.014682 \n4 0 -0.002051 0.012358 0.080821 -0.030371 -0.009400 -0.014001 \n 1 0.002058 0.013196 0.064010 -0.021488 -0.008390 -0.011615 \n 2 -0.007535 0.013181 0.067881 -0.018477 0.004493 -0.011855 \n 3 -0.012325 0.005212 0.077520 -0.021724 0.014148 -0.014493 \n 4 -0.010740 0.004661 0.082476 -0.022516 0.015251 -0.003408 \n\n 201806 201906 202006 \nsinsort dousort \n0 0 0.020380 0.000430 0.042120 \n 1 0.015578 0.014785 0.019865 \n 2 0.012164 0.016280 0.018867 \n 3 0.010888 0.013034 0.013943 \n 4 0.009188 -0.001042 0.024060 \n1 0 0.010752 0.000111 0.025345 \n 1 0.005353 0.004959 0.008971 \n 2 0.009593 0.015867 0.016366 \n 3 0.007482 0.008727 0.018016 \n 4 0.009894 0.013024 0.015358 \n2 0 -0.000504 0.001706 0.014113 \n 1 0.002847 0.011204 0.004453 \n 2 0.002361 0.015967 0.010434 \n 3 0.003568 0.019744 0.017134 \n 4 0.003815 0.006889 0.019325 \n3 0 0.002152 0.003493 0.012674 \n 1 -0.001890 0.016999 0.005768 \n 2 0.003652 0.017540 0.013213 \n 3 0.001517 0.013102 0.018284 \n 4 0.003706 0.004469 0.020785 \n4 0 0.001937 0.020241 0.020146 \n 1 0.003490 0.028266 0.008926 \n 2 -0.001843 0.016943 0.007685 \n 3 0.004813 0.003660 0.018783 \n 4 0.006861 -0.006125 0.020109 \n\n[25 rows x 21 columns]",
"text/html": "\n\n
\n \n \n | \n | \n 200006 | \n 200106 | \n 200206 | \n 200306 | \n 200406 | \n 200506 | \n 200606 | \n 200706 | \n 200806 | \n 200906 | \n ... | \n 201106 | \n 201206 | \n 201306 | \n 201406 | \n 201506 | \n 201606 | \n 201706 | \n 201806 | \n 201906 | \n 202006 | \n
\n \n | sinsort | \n dousort | \n | \n | \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.093597 | \n -0.021995 | \n -0.026883 | \n -0.023502 | \n -0.037301 | \n 0.046782 | \n 0.109080 | \n -0.001380 | \n 0.055228 | \n 0.015534 | \n ... | \n -0.007321 | \n 0.010891 | \n 0.036775 | \n 0.113586 | \n 0.017423 | \n 0.006463 | \n -0.030198 | \n 0.020380 | \n 0.000430 | \n 0.042120 | \n
\n \n | 1 | \n 0.048981 | \n -0.023297 | \n -0.023558 | \n -0.019235 | \n -0.031713 | \n 0.042067 | \n 0.111025 | \n -0.004689 | \n 0.046802 | \n 0.022339 | \n ... | \n -0.009218 | \n 0.009172 | \n 0.047927 | \n 0.106607 | \n 0.020378 | \n -0.001408 | \n -0.022253 | \n 0.015578 | \n 0.014785 | \n 0.019865 | \n
\n \n | 2 | \n 0.055516 | \n -0.023141 | \n -0.025105 | \n -0.020707 | \n -0.033495 | \n 0.043425 | \n 0.097414 | \n 0.000050 | \n 0.050527 | \n 0.024425 | \n ... | \n -0.008531 | \n 0.008561 | \n 0.056765 | \n 0.111732 | \n 0.025078 | \n -0.001234 | \n -0.015474 | \n 0.012164 | \n 0.016280 | \n 0.018867 | \n
\n \n | 3 | \n 0.089341 | \n -0.019015 | \n -0.022886 | \n -0.016855 | \n -0.029608 | \n 0.038498 | \n 0.074116 | \n 0.003206 | \n 0.052264 | \n 0.023590 | \n ... | \n -0.010284 | \n 0.005694 | \n 0.054561 | \n 0.107367 | \n 0.027272 | \n 0.001102 | \n -0.021313 | \n 0.010888 | \n 0.013034 | \n 0.013943 | \n
\n \n | 4 | \n 0.142604 | \n -0.022905 | \n -0.019197 | \n -0.011121 | \n -0.022004 | \n 0.034566 | \n 0.094213 | \n -0.002541 | \n 0.027980 | \n 0.018361 | \n ... | \n -0.010843 | \n 0.008322 | \n 0.032417 | \n 0.089103 | \n 0.002821 | \n 0.003965 | \n -0.014647 | \n 0.009188 | \n -0.001042 | \n 0.024060 | \n
\n \n | 1 | \n 0 | \n 0.037750 | \n -0.021207 | \n -0.025861 | \n -0.022200 | \n -0.045921 | \n 0.043654 | \n 0.089824 | \n -0.002921 | \n 0.047789 | \n 0.004571 | \n ... | \n -0.021244 | \n 0.003572 | \n 0.027279 | \n 0.093833 | \n 0.006454 | \n -0.001997 | \n -0.032155 | \n 0.010752 | \n 0.000111 | \n 0.025345 | \n
\n \n | 1 | \n 0.025343 | \n -0.019438 | \n -0.027229 | \n -0.017842 | \n -0.031102 | \n 0.039372 | \n 0.091156 | \n -0.005369 | \n 0.045643 | \n 0.017066 | \n ... | \n -0.018245 | \n 0.007589 | \n 0.035100 | \n 0.098438 | \n 0.012684 | \n -0.010841 | \n -0.021364 | \n 0.005353 | \n 0.004959 | \n 0.008971 | \n
\n \n | 2 | \n 0.022497 | \n -0.017301 | \n -0.024836 | \n -0.018014 | \n -0.037441 | \n 0.039598 | \n 0.075056 | \n -0.001729 | \n 0.046631 | \n 0.018329 | \n ... | \n -0.011660 | \n 0.010642 | \n 0.041267 | \n 0.099608 | \n 0.011118 | \n -0.008809 | \n -0.027149 | \n 0.009593 | \n 0.015867 | \n 0.016366 | \n
\n \n | 3 | \n 0.027843 | \n -0.019848 | \n -0.022047 | \n -0.012902 | \n -0.026114 | \n 0.038767 | \n 0.079919 | \n -0.001796 | \n 0.049728 | \n 0.028495 | \n ... | \n -0.009038 | \n 0.003293 | \n 0.036716 | \n 0.090635 | \n 0.009738 | \n -0.003796 | \n -0.023231 | \n 0.007482 | \n 0.008727 | \n 0.018016 | \n
\n \n | 4 | \n 0.041182 | \n -0.017743 | \n -0.017486 | \n -0.006732 | \n -0.016443 | \n 0.045876 | \n 0.073499 | \n 0.003251 | \n 0.045131 | \n 0.017298 | \n ... | \n -0.013687 | \n 0.003750 | \n 0.033717 | \n 0.091796 | \n 0.003072 | \n 0.008736 | \n -0.020418 | \n 0.009894 | \n 0.013024 | \n 0.015358 | \n
\n \n | 2 | \n 0 | \n 0.020474 | \n -0.020476 | \n -0.026063 | \n -0.023374 | \n -0.042902 | \n 0.036110 | \n 0.090917 | \n -0.008944 | \n 0.045795 | \n 0.008929 | \n ... | \n -0.026264 | \n -0.002330 | \n 0.021983 | \n 0.098084 | \n -0.009467 | \n -0.010930 | \n -0.029837 | \n -0.000504 | \n 0.001706 | \n 0.014113 | \n
\n \n | 1 | \n 0.011478 | \n -0.022425 | \n -0.021050 | \n -0.018822 | \n -0.028126 | \n 0.042113 | \n 0.076479 | \n -0.007201 | \n 0.039690 | \n 0.007526 | \n ... | \n -0.015175 | \n 0.010125 | \n 0.032692 | \n 0.090901 | \n -0.005144 | \n -0.020027 | \n -0.021314 | \n 0.002847 | \n 0.011204 | \n 0.004453 | \n
\n \n | 2 | \n 0.016562 | \n -0.023573 | \n -0.020560 | \n -0.018332 | \n -0.027272 | \n 0.035675 | \n 0.074638 | \n -0.002289 | \n 0.037931 | \n 0.020604 | \n ... | \n -0.011911 | \n 0.011379 | \n 0.032260 | \n 0.086088 | \n 0.001075 | \n -0.011005 | \n -0.018716 | \n 0.002361 | \n 0.015967 | \n 0.010434 | \n
\n \n | 3 | \n 0.016508 | \n -0.018726 | \n -0.017442 | \n -0.009355 | \n -0.020101 | \n 0.050329 | \n 0.087001 | \n -0.001589 | \n 0.042958 | \n 0.026219 | \n ... | \n -0.015023 | \n 0.002504 | \n 0.033928 | \n 0.089358 | \n -0.002117 | \n -0.003467 | \n -0.025867 | \n 0.003568 | \n 0.019744 | \n 0.017134 | \n
\n \n | 4 | \n 0.019622 | \n -0.018544 | \n -0.013345 | \n -0.001332 | \n -0.015303 | \n 0.040701 | \n 0.083209 | \n -0.001780 | \n 0.045418 | \n 0.020147 | \n ... | \n -0.017455 | \n 0.000116 | \n 0.020262 | \n 0.086168 | \n -0.007031 | \n 0.006039 | \n -0.019023 | \n 0.003815 | \n 0.006889 | \n 0.019325 | \n
\n \n | 3 | \n 0 | \n 0.011234 | \n -0.015985 | \n -0.028253 | \n -0.017372 | \n -0.028746 | \n 0.033861 | \n 0.080814 | \n -0.018624 | \n 0.030866 | \n 0.004419 | \n ... | \n -0.025258 | \n 0.000615 | \n 0.020126 | \n 0.087632 | \n -0.015810 | \n -0.016450 | \n -0.026822 | \n 0.002152 | \n 0.003493 | \n 0.012674 | \n
\n \n | 1 | \n 0.005737 | \n -0.022469 | \n -0.019021 | \n -0.014911 | \n -0.031290 | \n 0.044497 | \n 0.082026 | \n -0.022995 | \n 0.023195 | \n 0.011340 | \n ... | \n -0.017042 | \n 0.004923 | \n 0.026736 | \n 0.083365 | \n -0.010454 | \n -0.023300 | \n -0.017318 | \n -0.001890 | \n 0.016999 | \n 0.005768 | \n
\n \n | 2 | \n 0.012572 | \n -0.017929 | \n -0.020070 | \n -0.011735 | \n -0.032414 | \n 0.048638 | \n 0.066871 | \n -0.010255 | \n 0.025126 | \n 0.008861 | \n ... | \n -0.016899 | \n 0.005924 | \n 0.023576 | \n 0.074725 | \n -0.009536 | \n -0.014268 | \n -0.018444 | \n 0.003652 | \n 0.017540 | \n 0.013213 | \n
\n \n | 3 | \n 0.008323 | \n -0.018186 | \n -0.020186 | \n -0.005392 | \n -0.018992 | \n 0.040353 | \n 0.079886 | \n -0.004730 | \n 0.040476 | \n 0.018073 | \n ... | \n -0.015669 | \n -0.005721 | \n 0.022956 | \n 0.082773 | \n -0.013498 | \n -0.005488 | \n -0.014846 | \n 0.001517 | \n 0.013102 | \n 0.018284 | \n
\n \n | 4 | \n 0.011983 | \n -0.014322 | \n -0.006049 | \n -0.000020 | \n -0.018392 | \n 0.033529 | \n 0.086323 | \n -0.004943 | \n 0.034018 | \n 0.010521 | \n ... | \n -0.019293 | \n -0.001819 | \n 0.016038 | \n 0.086383 | \n -0.011930 | \n 0.006112 | \n -0.014682 | \n 0.003706 | \n 0.004469 | \n 0.020785 | \n
\n \n | 4 | \n 0 | \n -0.005371 | \n -0.019442 | \n -0.018912 | \n -0.024081 | \n -0.028089 | \n 0.037185 | \n 0.082050 | \n -0.026597 | \n 0.023287 | \n -0.003168 | \n ... | \n -0.022930 | \n -0.002051 | \n 0.012358 | \n 0.080821 | \n -0.030371 | \n -0.009400 | \n -0.014001 | \n 0.001937 | \n 0.020241 | \n 0.020146 | \n
\n \n | 1 | \n -0.005872 | \n -0.018993 | \n -0.022213 | \n -0.010271 | \n -0.020710 | \n 0.042642 | \n 0.082713 | \n -0.012998 | \n 0.019979 | \n -0.008540 | \n ... | \n -0.013615 | \n 0.002058 | \n 0.013196 | \n 0.064010 | \n -0.021488 | \n -0.008390 | \n -0.011615 | \n 0.003490 | \n 0.028266 | \n 0.008926 | \n
\n \n | 2 | \n -0.001578 | \n -0.012820 | \n -0.014503 | \n -0.007793 | \n -0.016512 | \n 0.036348 | \n 0.092741 | \n -0.018992 | \n 0.028091 | \n -0.003400 | \n ... | \n -0.016747 | \n -0.007535 | \n 0.013181 | \n 0.067881 | \n -0.018477 | \n 0.004493 | \n -0.011855 | \n -0.001843 | \n 0.016943 | \n 0.007685 | \n
\n \n | 3 | \n -0.001270 | \n -0.011244 | \n -0.008988 | \n -0.000310 | \n -0.009637 | \n 0.034580 | \n 0.092762 | \n -0.007688 | \n 0.027638 | \n -0.002109 | \n ... | \n -0.020722 | \n -0.012325 | \n 0.005212 | \n 0.077520 | \n -0.021724 | \n 0.014148 | \n -0.014493 | \n 0.004813 | \n 0.003660 | \n 0.018783 | \n
\n \n | 4 | \n 0.008622 | \n -0.009237 | \n -0.004910 | \n 0.006356 | \n -0.009874 | \n 0.027724 | \n 0.097038 | \n -0.005838 | \n 0.030277 | \n -0.006996 | \n ... | \n -0.015691 | \n -0.010740 | \n 0.004661 | \n 0.082476 | \n -0.022516 | \n 0.015251 | \n -0.003408 | \n 0.006861 | \n -0.006125 | \n 0.020109 | \n
\n \n
\n
25 rows × 21 columns
\n
"
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"meanret = []\n",
"lcname = []\n",
"for i in range(5, 258, 12):\n",
" if len(uym[i:i+13]) == 13:\n",
" lcname.append(str(uym[i]))\n",
" sp = sort_portfolio(data, uym[i:i+13], 5)\n",
" spmreturn = sp.sequence_sort_mreturn()\n",
" if len(meanret) == 0:\n",
" meanret = spmreturn['mret']\n",
" else:\n",
" meanret = pd.concat([meanret, spmreturn['mret']], axis=1)\n",
"meanret.columns = lcname\n",
"meanret"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 69,
"outputs": [
{
"data": {
"text/plain": "array([[0.02168166, 0.01944209, 0.02049765, 0.02059922, 0.01964971],\n [0.01182647, 0.01264529, 0.01344856, 0.01472884, 0.01635444],\n [0.00771147, 0.00891601, 0.01123481, 0.01430282, 0.01360664],\n [0.00567476, 0.00669084, 0.00797399, 0.01060283, 0.01184845],\n [0.00431894, 0.00621612, 0.00723364, 0.00927496, 0.01075246]])"
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"meanret['meanreturn'] = meanret.apply(lambda x: x.mean(), axis=1)\n",
"a = meanret['meanreturn'].values.reshape((5,5))\n",
"a"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 70,
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" EP1, EP2, EP3, EP4, EP5\n",
" SIZE1 0.02168, 0.01944, 0.02050, 0.02060, 0.01965\n",
" SIZE2 0.01183, 0.01265, 0.01345, 0.01473, 0.01635\n",
" SIZE3 0.00771, 0.00892, 0.01123, 0.01430, 0.01361\n",
" SIZE4 0.00567, 0.00669, 0.00797, 0.01060, 0.01185\n",
" SIZE5 0.00432, 0.00622, 0.00723, 0.00927, 0.01075\n"
]
}
],
"source": [
"print('{:>10s} {:>10s}, {:>10s}, {:>10s}, {:>10s}, {:>10s}'.format('', 'EP1', 'EP2', 'EP3', 'EP4', 'EP5'))\n",
"for i in range(5):\n",
" print('{:>10s} {:10.5f}, {:10.5f}, {:10.5f}, {:10.5f}, {:10.5f}'.format('SIZE'+str(i+1),\n",
" a[i, 0],\n",
" a[i, 1],\n",
" a[i, 2],\n",
" a[i, 3],\n",
" a[i, 4]))"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 12,
"outputs": [
{
"data": {
"text/plain": " a b\n0 5\n1 2 6\n2 3 8",
"text/html": "\n\n
\n \n \n | \n a | \n b | \n
\n \n \n \n | 0 | \n <NA> | \n 5 | \n
\n \n | 1 | \n 2 | \n 6 | \n
\n \n | 2 | \n 3 | \n 8 | \n
\n \n
\n
"
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"m=pd.DataFrame({'a':[pd.NA,2,3],'b':[5,6,8]})\n",
"m"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 14,
"outputs": [
{
"data": {
"text/plain": " a b\n1 2 6\n2 3 8",
"text/html": "\n\n
\n \n \n | \n a | \n b | \n
\n \n \n \n | 1 | \n 2 | \n 6 | \n
\n \n | 2 | \n 3 | \n 8 | \n
\n \n
\n
"
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"l=m.dropna()\n",
"l"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": null,
"outputs": [],
"source": [],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"language": "python",
"display_name": "Python 3 (ipykernel)"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}