{ "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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
codedateclosetsharemonretpe
012000-01-2818.531.071634e+090.061951.79
112000-02-2918.321.071634e+09-0.011351.20
212000-03-3118.371.071634e+090.002751.34
312000-04-2819.051.071634e+090.037056.44
412000-05-3118.001.071634e+09-0.055153.33
.....................
927939900182006-05-2915.471.804400e+090.436552.96
927949900182006-06-3017.151.804400e+090.108658.71
927959900182006-07-3116.961.804400e+09-0.011134.15
927969900182006-08-3116.321.804400e+09-0.037732.86
927979900182006-09-2516.371.804400e+090.003132.96
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
codedateclosetsharemonretpeyearmonthtstksizestkep
012000-01-2818.531.071634e+090.061951.792000011.985739e+100.019309
112000-02-2918.321.071634e+09-0.011351.202000021.963234e+100.019531
212000-03-3118.371.071634e+090.002751.342000031.968592e+100.019478
312000-04-2819.051.071634e+090.037056.442000042.041464e+100.017718
412000-05-3118.001.071634e+09-0.055153.332000051.928942e+100.018751
..............................
927939900182006-05-2915.471.804400e+090.436552.962006052.791407e+100.018882
927949900182006-06-3017.151.804400e+090.108658.712006063.094546e+100.017033
927959900182006-07-3116.961.804400e+09-0.011134.152006073.060262e+100.029283
927969900182006-08-3116.321.804400e+09-0.037732.862006082.944781e+100.030432
927979900182006-09-2516.371.804400e+090.003132.962006092.953803e+100.030340
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stksize6ep6ret7ret8ret9ret10ret11ret12retn1retn2retn3retn4retn5retn6
011.942873e+100.0186190.0210-0.0411-0.04450.0348-0.0081-0.06260.0317-0.05940.1512-0.04250.0431-0.0549
125.386597e+090.0314370.0274-0.0483-0.05280.06710.0606-0.00070.0672-0.07770.0988-0.0364-0.02610.0430
249.068779e+080.0050570.26180.17070.0068-0.15720.17190.0319-0.1515-0.10710.14320.0101-0.00310.0083
352.547178e+090.013019-0.0357-0.0064-0.15650.05920.0522-0.03710.1177-0.09380.1137NaNNaNNaN
462.122505e+090.0248390.0468-0.1137-0.11540.04290.06910.08100.0379-0.04520.06950.0236-0.0265-0.0007
................................................
9459009502.544366e+07-0.0164660.15790.12730.10480.07300.05440.1677-0.0387-0.06320.84050.35670.4079-0.0881
9469009511.500000e+07-0.0208590.33330.4000-0.17140.21550.00710.3028-0.00810.00540.89430.22030.3916-0.0110
9479009524.173600e+070.0658330.0372-0.1436-0.02990.08640.10230.3041-0.03160.08570.97180.30600.3022-0.0767
9489009535.376000e+070.0552790.1518-0.02330.03170.10000.03500.2230-0.06080.07940.88010.27680.2622-0.0468
9499009562.875000e+07-0.0125140.1280-0.0780-0.02310.11810.04230.2838-0.08950.04621.09120.23120.29180.0233
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
stksize6ep6ret7ret8ret9ret10ret11ret12retn1retn2retn3retn4retn5retn6sinsortdousort
9159009158.142000e+06-0.9900990.30510.35060.01920.09430.27590.2635-0.0909-0.04710.5833-0.0351NaNNaN00
9259009261.038400e+07-0.7194240.38980.67070.0438-0.02800.20140.4910-0.05420.02761.17360.17110.10310.100100
9079009061.585584e+07-0.4694840.24240.3049-0.02800.08650.25660.2535-0.0787-0.03660.71840.39040.3921-0.104700
4342000254.752000e+07-0.3154570.00000.0944-0.0761-0.00550.00000.2707-0.0174-0.10181.48770.33660.6800-0.074100
9279009281.992906e+07-0.2439020.11830.25000.06150.12320.02580.3396-0.11270.02380.67440.17130.3926-0.112600
......................................................
3228252.463750e+090.0472370.0898-0.0363-0.05650.00460.0015-0.01070.0498-0.01340.05710.0213-0.01280.008644
1906292.122584e+090.0495540.1596-0.0749-0.09720.09420.0219-0.02940.11430.01980.0703-0.0838-0.02350.046844
2417092.180531e+090.0532480.0851-0.0229-0.06420.01060.0705-0.02440.03500.02170.0567-0.0604-0.01550.041144
3028003.341520e+090.0546450.1879-0.0934-0.0923-0.00510.09880.00310.0912-0.02120.0810-0.06430.0014-0.027144
4756000061.836000e+090.0562430.17320.0028-0.1125-0.00470.1887-0.00400.12620.05540.01900.03510.06890.052544
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ret7ret8ret9ret10ret11ret12retn1retn2retn3retn4retn5retn6mret
sinsortdousort
000.1514320.1336450.0094500.0615000.0704130.082708-0.044237-0.0679260.4275710.1145580.205778-0.0217280.093597
10.0674920.045516-0.0402790.0707130.0638500.044595-0.044616-0.0546450.2403920.0763160.153997-0.0355580.048981
20.0299080.026773-0.0238620.0770950.0628680.075029-0.038147-0.0438920.3159390.0645130.141132-0.0211610.055516
30.0587420.033461-0.0287660.0746340.0699240.127318-0.032697-0.0126240.5517660.0753420.196279-0.0412820.089341
40.0441840.020995-0.0772550.0841050.0649450.172776-0.0109370.0458631.0819320.1386050.244211-0.0981760.142604
100.1399820.052213-0.0374380.0663540.051376-0.022311-0.012237-0.1002470.1820110.0273320.117717-0.0117500.037750
10.0523950.032505-0.0169790.0443680.078127-0.007886-0.026987-0.0656210.1014920.0229680.0799860.0097490.025343
20.0476340.017376-0.0345240.0583470.0499370.0208530.000324-0.0742740.0790340.0158470.0711920.0182160.022497
30.0415290.012916-0.0264130.0486680.0931790.020676-0.007818-0.0498080.1056500.0107000.0732110.0116240.027843
40.051768-0.014042-0.0516710.0586370.0639110.029542-0.000474-0.0361340.2844710.0137470.106308-0.0118760.041182
200.0321760.068400-0.0136950.0515210.064137-0.012266-0.027361-0.0897110.1000820.0217260.059781-0.0091050.020474
10.031382-0.005650-0.0402240.0221260.077345-0.017071-0.000982-0.0811760.081416-0.0063080.0706370.0062390.011478
20.0421340.005171-0.0351890.0383950.0577420.016495-0.016908-0.0596160.068332-0.0050370.0585790.0286470.016562
30.040089-0.000326-0.0423950.0328840.0632530.0135450.006795-0.0628530.095271-0.0130610.0459890.0189050.016508
40.086755-0.036142-0.0477180.0406240.0671390.0259710.004642-0.0343870.068987-0.0190260.0497030.0289180.019622
300.049642-0.009334-0.0587130.0408890.066166-0.0116260.004497-0.0544840.080282-0.0108160.041984-0.0036740.011234
10.023366-0.014982-0.0424550.0082180.0593260.008421-0.016442-0.0537630.0660240.0063710.038779-0.0140210.005737
20.041445-0.008721-0.0450530.0480740.0581260.0044840.005274-0.0634790.064268-0.0143790.0542950.0065260.012572
30.033587-0.018963-0.0696840.0361710.0665500.0128760.010989-0.0512450.069721-0.0255030.0277500.0076260.008323
40.052789-0.031113-0.0671660.0188450.0713550.0230740.013471-0.0382390.080908-0.0345160.0235050.0308840.011983
400.019876-0.022721-0.0404340.0099030.035026-0.036408-0.015047-0.0482000.046708-0.022529-0.0047240.014103-0.005371
10.023032-0.045750-0.045716-0.0023130.057205-0.004137-0.029434-0.0818080.0710920.004408-0.012157-0.004884-0.005872
20.0384240.008182-0.0320320.0011180.043308-0.018629-0.024082-0.0635080.065739-0.026851-0.000722-0.009881-0.001578
30.035005-0.024808-0.0578970.0073820.040566-0.0037970.002613-0.0486080.058455-0.023943-0.0061680.005962-0.001270
40.078050-0.019332-0.0824080.0158000.0716790.0010630.015276-0.0242080.069542-0.0268950.005439-0.0005390.008622
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
200006200106200206200306200406200506200606200706200806200906...201106201206201306201406201506201606201706201806201906202006
sinsortdousort
000.093597-0.021995-0.026883-0.023502-0.0373010.0467820.109080-0.0013800.0552280.015534...-0.0073210.0108910.0367750.1135860.0174230.006463-0.0301980.0203800.0004300.042120
10.048981-0.023297-0.023558-0.019235-0.0317130.0420670.111025-0.0046890.0468020.022339...-0.0092180.0091720.0479270.1066070.020378-0.001408-0.0222530.0155780.0147850.019865
20.055516-0.023141-0.025105-0.020707-0.0334950.0434250.0974140.0000500.0505270.024425...-0.0085310.0085610.0567650.1117320.025078-0.001234-0.0154740.0121640.0162800.018867
30.089341-0.019015-0.022886-0.016855-0.0296080.0384980.0741160.0032060.0522640.023590...-0.0102840.0056940.0545610.1073670.0272720.001102-0.0213130.0108880.0130340.013943
40.142604-0.022905-0.019197-0.011121-0.0220040.0345660.094213-0.0025410.0279800.018361...-0.0108430.0083220.0324170.0891030.0028210.003965-0.0146470.009188-0.0010420.024060
100.037750-0.021207-0.025861-0.022200-0.0459210.0436540.089824-0.0029210.0477890.004571...-0.0212440.0035720.0272790.0938330.006454-0.001997-0.0321550.0107520.0001110.025345
10.025343-0.019438-0.027229-0.017842-0.0311020.0393720.091156-0.0053690.0456430.017066...-0.0182450.0075890.0351000.0984380.012684-0.010841-0.0213640.0053530.0049590.008971
20.022497-0.017301-0.024836-0.018014-0.0374410.0395980.075056-0.0017290.0466310.018329...-0.0116600.0106420.0412670.0996080.011118-0.008809-0.0271490.0095930.0158670.016366
30.027843-0.019848-0.022047-0.012902-0.0261140.0387670.079919-0.0017960.0497280.028495...-0.0090380.0032930.0367160.0906350.009738-0.003796-0.0232310.0074820.0087270.018016
40.041182-0.017743-0.017486-0.006732-0.0164430.0458760.0734990.0032510.0451310.017298...-0.0136870.0037500.0337170.0917960.0030720.008736-0.0204180.0098940.0130240.015358
200.020474-0.020476-0.026063-0.023374-0.0429020.0361100.090917-0.0089440.0457950.008929...-0.026264-0.0023300.0219830.098084-0.009467-0.010930-0.029837-0.0005040.0017060.014113
10.011478-0.022425-0.021050-0.018822-0.0281260.0421130.076479-0.0072010.0396900.007526...-0.0151750.0101250.0326920.090901-0.005144-0.020027-0.0213140.0028470.0112040.004453
20.016562-0.023573-0.020560-0.018332-0.0272720.0356750.074638-0.0022890.0379310.020604...-0.0119110.0113790.0322600.0860880.001075-0.011005-0.0187160.0023610.0159670.010434
30.016508-0.018726-0.017442-0.009355-0.0201010.0503290.087001-0.0015890.0429580.026219...-0.0150230.0025040.0339280.089358-0.002117-0.003467-0.0258670.0035680.0197440.017134
40.019622-0.018544-0.013345-0.001332-0.0153030.0407010.083209-0.0017800.0454180.020147...-0.0174550.0001160.0202620.086168-0.0070310.006039-0.0190230.0038150.0068890.019325
300.011234-0.015985-0.028253-0.017372-0.0287460.0338610.080814-0.0186240.0308660.004419...-0.0252580.0006150.0201260.087632-0.015810-0.016450-0.0268220.0021520.0034930.012674
10.005737-0.022469-0.019021-0.014911-0.0312900.0444970.082026-0.0229950.0231950.011340...-0.0170420.0049230.0267360.083365-0.010454-0.023300-0.017318-0.0018900.0169990.005768
20.012572-0.017929-0.020070-0.011735-0.0324140.0486380.066871-0.0102550.0251260.008861...-0.0168990.0059240.0235760.074725-0.009536-0.014268-0.0184440.0036520.0175400.013213
30.008323-0.018186-0.020186-0.005392-0.0189920.0403530.079886-0.0047300.0404760.018073...-0.015669-0.0057210.0229560.082773-0.013498-0.005488-0.0148460.0015170.0131020.018284
40.011983-0.014322-0.006049-0.000020-0.0183920.0335290.086323-0.0049430.0340180.010521...-0.019293-0.0018190.0160380.086383-0.0119300.006112-0.0146820.0037060.0044690.020785
40-0.005371-0.019442-0.018912-0.024081-0.0280890.0371850.082050-0.0265970.023287-0.003168...-0.022930-0.0020510.0123580.080821-0.030371-0.009400-0.0140010.0019370.0202410.020146
1-0.005872-0.018993-0.022213-0.010271-0.0207100.0426420.082713-0.0129980.019979-0.008540...-0.0136150.0020580.0131960.064010-0.021488-0.008390-0.0116150.0034900.0282660.008926
2-0.001578-0.012820-0.014503-0.007793-0.0165120.0363480.092741-0.0189920.028091-0.003400...-0.016747-0.0075350.0131810.067881-0.0184770.004493-0.011855-0.0018430.0169430.007685
3-0.001270-0.011244-0.008988-0.000310-0.0096370.0345800.092762-0.0076880.027638-0.002109...-0.020722-0.0123250.0052120.077520-0.0217240.014148-0.0144930.0048130.0036600.018783
40.008622-0.009237-0.0049100.006356-0.0098740.0277240.097038-0.0058380.030277-0.006996...-0.015691-0.0107400.0046610.082476-0.0225160.015251-0.0034080.006861-0.0061250.020109
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
0<NA>5
126
238
\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 \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
ab
126
238
\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 }