In [1]:
#!/Tsan/bin/python
# -*- coding: utf-8 -*-

In [2]:
# Libraries to use
from __future__ import division 
import numpy as np
import pandas as pd
import statsmodels.api as sm
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime
import statsmodels
import cvxopt as cv
from cvxopt import solvers

In [3]:
# Import My own library for factor testing
from SingleFactorTest import factorFilterFunctions as ff

from BarraModel import barraRiskModel as brm
#from config import *

In [4]:
# basic stocl pool
ZZ500Weight = 'LZ_GPA_INDEX_CSI500WEIGHT.csv'
HS300Weight = 'LZ_GPA_INDEX_HS300WEIGHT.csv'

In [5]:
# Files to use 
filenamePrice='Own_Factor_AdjustedPriceForward-1d.csv'
filenameST='LZ_GPA_SLCIND_ST_FLAG.csv'
filenameTradeday='LZ_GPA_SLCIND_TRADEDAYCOUNT.csv'
filenameStopFlag='LZ_GPA_SLCIND_STOP_FLAG.csv'
filenameIndu='LZ_GPA_INDU_ZX.csv'
filenameFCAP='LZ_GPA_VAL_A_FCAP.csv'
filenameAdjustFactor='LZ_GPA_CMFTR_CUM_FACTOR.csv'
filenameBENCH = 'LZ_GPA_INDXQUOTE_CLOSE.csv'

In [6]:
# Factors
# Value factor
filenamePE='LZ_GPA_VAL_PE.csv'  # 市盈率
filenamePB='LZ_GPA_VAL_PB.csv'  # 市净率
filenamePS = 'LZ_GPA_VAL_PS.csv' # 市销率
filenamePCF = 'LZ_GPA_VAL_PC.csv' # 市现率
filenameADJPB ='Own_Factor_AdjustedPB-1d.csv' # 市值调整市净率

# Growth factor
filenameYOYGR = 'LZ_GPA_FIN_IND_QFA_YOYGR.csv'  # 单季度.营业总收入同比增长率(%)
filenameYOYNETPROFIT = 'LZ_GPA_FIN_IND_QFA_YOYNETPROFIT.csv' # 单季度.归属母公司股东的净利润同比增长率(%)
filenameYOYOCF = 'LZ_GPA_FIN_IND_YOYOCF.csv' # 同比增长率-经营活动产生的现金流量净额(%)
filenameYOYROE = 'LZ_GPA_FIN_IND_YOYROE.csv' # 同比增长率-净资产收益率(摊薄)(%)
filenameYOYBPS = 'LZ_GPA_FIN_IND_YOYBPS.csv' # 相对年初增长率-每股净资产(%)

# Financial factor
filenameCAPITALIZEDTODA = 'LZ_GPA_FIN_IND_CAPITALIZEDTODA.csv'  # 资本支出/折旧和摊销
filenameCASHRATIO = 'LZ_GPA_FIN_IND_CASHRATIO.csv' # 保守速动比率
filenameCASHTOLIQDEBT = 'LZ_GPA_FIN_IND_CASHTOLIQDEBT.csv' # 货币资金/流动负债
filenameOCFTODEBT = 'LZ_GPA_FIN_IND_OCFTODEBT.csv' # 经营活动产生的现金流量净额/负债合计
filenamePROFITTOOP = 'LZ_GPA_FIN_IND_PROFITTOOP.csv' # 利润总额/营业收入
filenamePROFITTOOPTTM ='LZ_GPA_FIN_DERI_COMBO_EBTTOOR_TTM.csv' # # 利润总额/营业收入(TTM)

# Momentum factor
filenameTRUEMOM = 'LZ_GPA_USR_MOM.csv' # 真动量
filenameMOM1M = 'LZ_GPA_DERI_Momentum_1M.csv' # 一月反转
filenameMOM3M = 'LZ_GPA_TURNOVER_TurnoverAvg_3M.csv' # 三月反转
filenamePVO = 'LZ_GPA_DERI_PVO.csv' # 一年偏度

filenameABNORMALVOLUME = 'LZ_GPA_DERI_NormalizedAbormalVolume.csv' # 归一化异常交易量
filenameSKEW = 'LZ_GPA_DERI_TSKEW.csv'# 偏度
filenameMACD = 'LZ_GPA_DERI_MACD.csv'  # MACD

# Liquidity factor
filenameTURNOVER1M = 'LZ_GPA_TURNOVER_TurnoverAvg_1M.csv' # 一月换手率均值
filenameAMOUNTAVG1M = 'LZ_GPA_DERI_AmountAvg_1M.csv'      #  日均成交量
filenameILLIQ = 'LZ_GPA_DERI_ILLIQ.csv'                   # 非流动性因子
filenameVOLUME = 'LZ_GPA_QUOTE_TVOLUME.csv'               # 成交量

filenameOWNILLIQ ='Own_Factor_ILLQ-1d.csv'            # 非流动性因子(自算)
filenameADJTURNOVER = 'LZ_GPA_DERI_adjustedTurnOver_20.csv' #市值调整换手率
filenameDDA = 'Own_Factor_DDA-1d.csv' # 股票每日成交额(前复权)

# Volatility factor
filenameRV1Y = 'LZ_GPA_DERI_RealizedVolatility_1Y.csv' # 一年收益波动
filenameOwnVol = 'Own_Factor_Volatility_90d.csv'   # 90天收益波动率
filenameAbove20 = 'Own_Factor_Above20MA_20d.csv'  # 高于20天MA的价格平均
filenameADJTOV20 = 'Own_Factor_ADJ_Turnover_Volatility_20D.csv'# 20天换手率波动率(市值调整)

In [7]:
filenameLMAO = 'Own_Factor_LMAO.csv'  # 市值对数

In [8]:
filenameAroon = 'Aroon_Allstocks.csv' 
filenameDDA20 = 'Own_Factor_DDA-20d.csv' # DDA二十天均值   2012-2016 Cum return 2.2(group0), - 0.6(group9) monotonicity: Perfect
filenameIDIVOL = 'Own_Factor_Idiosyncratic_Volatility.csv' # 特异常波动率
filenamePPO ='LZ_GPA_DERI_PPO.csv' #

In [9]:
# some useful parameters
startTime =  datetime.strptime('20120101', '%Y%m%d')
endTime = datetime.strptime('20161231', '%Y%m%d')
facNum = 5 # factor Num
path = ff.data_path # path
timeStampNum = 2500 # Number of time period
thresholdNum = 0.05  # thresholdNum to filter stocks by Nan's amount
HS300Index ='000300.SH' # HS300 index code
ZZ500Index = '000905.SH' #   ZZ500 index code

In [10]:
stockPool = pd.read_csv(path+ZZ500Weight,infer_datetime_format=True,parse_dates=[0],index_col=0).loc[startTime:endTime]
#stockPool = stockPool.iloc[-1].dropna(how='any').index.tolist()  # get today's ZX500 stock pool
stockPool1 = pd.read_csv(path+HS300Weight,infer_datetime_format=True,parse_dates=[0],index_col=0).loc[startTime:endTime]
stockPool = stockPool.dropna(how = 'all',axis =1).columns.tolist() # stock pool
stockPool1 = stockPool1.dropna(how = 'all',axis =1).columns.tolist()
stockPool = list((set(stockPool1)|set(stockPool)))

In [11]:
filename7factor = {'PB':filenamePB,'YOYGR':filenameYOYGR,'OCFTODEBT':filenameOCFTODEBT,'MOM_1M':filenameMOM1M,
                  'VOLATILITY':filenameOwnVol,'DDA20':filenameDDA20,'OWNILLIQ':filenameOWNILLIQ,
                  'IDIVOL':filenameIDIVOL,'ADJTOV20':filenameADJTOV20,'LMAO':filenameLMAO}

In [12]:
def PreProcess(filename,start,end ):
    df = pd.read_csv(path+filename, infer_datetime_format=True, parse_dates=[0], index_col=0).loc[start:end]
    return df

In [13]:
def newToFilter(data, threshold=0.2, length=None):
    if length:
        #print 1
        df = data.loc[:, data.isnull().sum() < (len(data) * threshold)].iloc[-length:]
    else:
        #print 2
        df = data.loc[:, data.isnull().sum() < (len(data) * threshold)]
    stkList = df.iloc[0].dropna().index.tolist()
    df = df[stkList].fillna(method='ffill')
    return df

In [ ]:
filename7factor

In [14]:
filename7factor.values()[:4]


Out[14]:
['LZ_GPA_VAL_PB.csv',
 'Own_Factor_LMAO.csv',
 'Own_Factor_ILLQ-1d.csv',
 'LZ_GPA_FIN_IND_OCFTODEBT.csv']

In [15]:
filename7factor.keys()


Out[15]:
['PB',
 'LMAO',
 'OWNILLIQ',
 'OCFTODEBT',
 'MOM_1M',
 'IDIVOL',
 'VOLATILITY',
 'ADJTOV20',
 'DDA20',
 'YOYGR']

In [16]:
factorList = [PreProcess(i,startTime,endTime) for i in filename7factor.values()]

In [81]:
factorNameList = [i.index.name for i in factorList]

In [83]:
toUseNameDict = dict(zip(factorNameList,filename7factor.keys()))

In [84]:
toUseNameDict


Out[84]:
{'LZ_GPA_DERI_Momentum_1M-f': 'MOM_1M',
 'LZ_GPA_FIN_IND_OCFTODEBT-d': 'OCFTODEBT',
 'LZ_GPA_FIN_IND_QFA_YOYGR-d': 'YOYGR',
 'LZ_GPA_VAL_PB-d': 'PB',
 'Own_Factor_ADJ_Turnover_Volatility_20D': 'ADJTOV20',
 'Own_Factor_DDA-20d': 'DDA20',
 'Own_Factor_ILLQ-1d': 'OWNILLIQ',
 'Own_Factor_LMAO': 'LMAO',
 'Own_Factor_Volatility_90d': 'VOLATILITY',
 'idiosyncratic volatility': 'IDIVOL'}

In [17]:
factorList = [newToFilter(i[stockPool], threshold=0.2, length=None) for i in factorList]

In [18]:
stkList = map(lambda x: x.columns.tolist(), factorList)  # get the stk List of each data
stkList = reduce(lambda x, y: list(set(x) & set(y)), stkList) # Calc intersections of all data's columns
factorList = map(lambda x: x[stkList], factorList)

In [19]:
#%timeit ff.adjBoxplot(factorList[0])

In [20]:
factorListNor = [ ff.adjBoxplot(i) for i in factorList]

In [21]:
factorListNor[0]


Out[21]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_VAL_PB-d
2012-01-04 1.260804 0.853994 0.545979 -0.052680 -0.151373 0.303183 -0.264694 -0.694107 -0.498245 0.972395 ... -0.965805 -0.275564 -0.360340 -0.949195 -0.631935 4.545753 -0.628735 -0.979519 -0.452785 1.140371
2012-01-05 1.307592 0.898254 0.592392 -0.059159 -0.169566 0.207315 -0.306544 -0.709280 -0.462721 0.999199 ... -0.986921 -0.331959 -0.404299 -0.962552 -0.613066 4.359528 -0.653389 -1.002325 -0.486100 1.089913
2012-01-06 1.314157 0.995628 0.596897 -0.042213 -0.156721 0.081552 -0.254270 -0.704047 -0.418329 1.035368 ... -0.990153 -0.318896 -0.378922 -0.966154 -0.582610 4.313835 -0.682209 -1.003898 -0.506566 1.159243
2012-01-09 1.289860 1.098600 0.610544 -0.046624 -0.147963 0.066454 -0.223012 -0.699595 -0.442475 1.094138 ... -0.988530 -0.304009 -0.329504 -0.970844 -0.578126 4.527740 -0.676916 -1.000959 -0.497500 1.048248
2012-01-10 1.279887 1.048587 0.576716 -0.051096 -0.145716 0.161812 -0.192642 -0.700476 -0.465181 1.109038 ... -0.996068 -0.286084 -0.313082 -0.972912 -0.601194 4.460619 -0.651501 -1.006109 -0.485468 1.109499
2012-01-11 1.310881 1.000491 0.528993 -0.072447 -0.143458 0.188453 -0.224520 -0.702616 -0.478669 1.098151 ... -0.995393 -0.299744 -0.325834 -0.966206 -0.610235 4.435787 -0.660893 -1.002600 -0.488110 1.362096
2012-01-12 1.271949 0.978893 0.488108 -0.076580 -0.132221 0.153610 -0.212848 -0.693699 -0.475650 1.146518 ... -0.991270 -0.263673 -0.329248 -0.958407 -0.606750 4.643805 -0.655568 -0.987457 -0.482373 1.295279
2012-01-13 1.313726 0.881163 0.386719 -0.073091 -0.144004 0.182291 -0.223076 -0.696278 -0.469786 1.166049 ... -0.980702 -0.223025 -0.336682 -0.943398 -0.588060 4.815623 -0.667389 -0.964590 -0.529462 1.179801
2012-01-16 1.304309 0.909028 0.406899 -0.077744 -0.151983 0.232740 -0.220667 -0.703110 -0.472310 1.226221 ... -0.991707 -0.248823 -0.346049 -0.954092 -0.570415 4.526510 -0.692277 -0.988352 -0.559746 1.210988
2012-01-17 1.303490 0.943775 0.373382 -0.072577 -0.160079 0.235676 -0.183686 -0.705397 -0.481499 1.318809 ... -0.997649 -0.244434 -0.321183 -0.958147 -0.565802 4.467340 -0.692911 -0.994974 -0.556149 1.280723
2012-01-18 1.343681 0.917392 0.237544 -0.078948 -0.099424 0.222872 -0.136184 -0.695916 -0.463747 1.371896 ... -0.993545 -0.264522 -0.319608 -0.954796 -0.563440 4.571426 -0.694626 -0.983656 -0.569782 1.232540
2012-01-19 1.336945 0.993555 0.260630 -0.071170 -0.104000 0.204189 -0.141358 -0.695957 -0.464586 1.390960 ... -0.994173 -0.232138 -0.293107 -0.962421 -0.552455 4.429029 -0.705445 -0.995790 -0.668788 1.234844
2012-01-20 1.297751 1.054266 0.279561 -0.048747 -0.111339 0.247292 -0.126317 -0.689911 -0.463717 1.308682 ... -0.993834 -0.243514 -0.258597 -0.956310 -0.541971 4.617662 -0.689544 -0.988106 -0.645135 1.182604
2012-01-30 1.257225 1.046146 0.272346 -0.032653 -0.105173 0.239880 -0.170105 -0.683916 -0.468726 1.299810 ... -0.993605 -0.245788 -0.287687 -0.955447 -0.543196 4.590475 -0.691137 -0.989547 -0.642543 1.185917
2012-01-31 1.186032 1.067184 0.208718 -0.040947 -0.087886 0.227265 -0.171608 -0.674513 -0.451529 1.235976 ... -0.978317 -0.303771 -0.269060 -0.954382 -0.539863 4.775788 -0.690211 -0.978576 -0.640267 1.156398
2012-02-01 1.225909 1.110423 0.236829 -0.054105 -0.102603 0.251040 -0.207893 -0.666931 -0.436963 1.212120 ... -0.986868 -0.317462 -0.294850 -0.961087 -0.550758 4.624307 -0.687323 -0.982853 -0.638561 1.175192
2012-02-02 1.209297 1.115534 0.303141 -0.069942 -0.105674 0.235567 -0.200111 -0.665454 -0.438669 1.228123 ... -0.990567 -0.315708 -0.290037 -0.965052 -0.557481 3.809057 -0.687339 -0.984966 -0.630967 1.192028
2012-02-03 1.230791 1.077796 0.290315 -0.078080 -0.109845 0.205710 -0.222634 -0.645352 -0.451180 1.257339 ... -0.994002 -0.302431 -0.286932 -0.972877 -0.575837 3.999378 -0.649393 -0.983926 -0.614917 1.213246
2012-02-06 1.259119 1.049297 0.352696 -0.081181 -0.120513 0.220467 -0.200350 -0.659173 -0.465880 1.250956 ... -0.986737 -0.257487 -0.292074 -0.981584 -0.575408 4.160406 -0.659939 -0.983370 -0.587039 1.209023
2012-02-07 1.230301 1.029177 0.329936 -0.097109 -0.125323 0.212894 -0.220222 -0.663288 -0.452367 1.187750 ... -0.986607 -0.260223 -0.307366 -0.964413 -0.595175 4.122471 -0.666349 -0.976862 -0.584971 1.160403
2012-02-08 1.187232 1.026501 0.314158 -0.094965 -0.125139 0.183109 -0.206244 -0.653726 -0.457990 1.200100 ... -0.977061 -0.247068 -0.309289 -0.963256 -0.586081 4.083194 -0.657030 -0.969764 -0.574051 1.200149
2012-02-09 1.179811 1.005832 0.292905 -0.078583 -0.137361 0.171233 -0.205158 -0.649248 -0.448748 1.239079 ... -0.977009 -0.261484 -0.299918 -0.965244 -0.598609 4.094267 -0.635522 -0.964166 -0.578265 1.092895
2012-02-10 1.195636 0.988363 0.268568 -0.089614 -0.134215 0.193236 -0.199744 -0.654530 -0.447600 1.208674 ... -0.984873 -0.249590 -0.302131 -0.964337 -0.595421 4.063445 -0.646835 -0.909296 -0.576894 1.085751
2012-02-13 1.164702 0.974978 0.344175 -0.074317 -0.132185 0.158409 -0.227795 -0.623458 -0.455936 1.185503 ... -0.978484 -0.263751 -0.271280 -0.966804 -0.599423 3.996559 -0.635717 -0.915935 -0.559606 1.085646
2012-02-14 1.207921 1.011790 0.416470 -0.077248 -0.118203 0.150656 -0.210277 -0.644036 -0.445105 1.228841 ... -0.998291 -0.283053 -0.234389 -0.987193 -0.614376 4.024971 -0.650322 -0.937546 -0.582849 1.096449
2012-02-15 1.201026 0.994352 0.415742 -0.097937 -0.107587 0.132208 -0.215967 -0.624612 -0.456150 1.304606 ... -0.990486 -0.272364 -0.242153 -0.983794 -0.594789 3.920329 -0.623157 -0.944806 -0.572822 1.099095
2012-02-16 1.236466 1.040317 0.367288 -0.093838 -0.110479 0.162130 -0.225884 -0.636791 -0.438083 1.280481 ... -0.998711 -0.236863 -0.219877 -0.997332 -0.609614 3.943551 -0.636250 -0.956369 -0.585391 1.113824
2012-02-17 1.230570 1.027095 0.337686 -0.104269 -0.084449 0.135987 -0.239951 -0.650254 -0.431593 1.250636 ... -1.001589 -0.218849 -0.224174 -0.996905 -0.590991 3.968876 -0.650056 -0.966238 -0.597795 1.057663
2012-02-20 1.209469 1.028013 0.265413 -0.092302 -0.093837 0.132117 -0.235893 -0.659488 -0.453333 1.241988 ... -1.008640 -0.238170 -0.222380 -1.003344 -0.608012 4.163153 -0.654588 -0.967756 -0.596528 1.065977
2012-02-21 1.185766 1.014540 0.264875 -0.043117 -0.103864 0.118025 -0.240385 -0.657779 -0.446806 1.233933 ... -1.012714 -0.243077 -0.234658 -1.006057 -0.604375 4.167688 -0.656164 -0.959897 -0.587145 1.109747
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 -0.361087 1.158182 0.219231 -0.565796 -0.021699 -0.321572 -0.581784 0.021840 -0.354721 -0.476265 ... -0.749942 -0.447654 -0.521488 -0.748698 -0.748332 0.380290 0.248501 -0.463277 0.068965 0.063587
2016-11-22 -0.365699 1.198680 0.229791 -0.572053 -0.019934 -0.317460 -0.600638 0.008907 -0.358269 -0.484028 ... -0.754213 -0.400836 -0.525607 -0.725592 -0.720248 0.363054 0.252081 -0.471035 0.053267 0.031819
2016-11-23 -0.390947 1.152441 0.208690 -0.563111 -0.000375 -0.325587 -0.597054 0.008896 -0.361224 -0.475604 ... -0.709053 -0.416521 -0.521991 -0.702741 -0.715654 0.354921 0.225752 -0.455116 0.054850 0.020835
2016-11-24 -0.383041 1.161141 0.203955 -0.550430 0.005406 -0.338683 -0.601020 0.040269 -0.364125 -0.477587 ... -0.724087 -0.445436 -0.542181 -0.695162 -0.678189 0.326179 0.204102 -0.447709 0.097862 -0.030301
2016-11-25 -0.393290 1.150048 0.194777 -0.554099 -0.008747 -0.347560 -0.603383 0.005539 -0.370999 -0.475274 ... -0.716631 -0.449465 -0.535828 -0.683967 -0.678618 0.311722 0.176937 -0.456178 0.107337 -0.023321
2016-11-28 -0.413637 1.162505 0.211835 -0.560749 -0.025942 -0.349246 -0.604223 -0.018107 -0.340464 -0.482255 ... -0.727284 -0.449130 -0.540087 -0.689713 -0.691426 0.337301 0.166612 -0.466731 0.102949 -0.037640
2016-11-29 -0.405675 1.200512 0.209497 -0.553648 0.036291 -0.359850 -0.625147 -0.043976 -0.348762 -0.478133 ... -0.725822 -0.466861 -0.548601 -0.707883 -0.698858 0.343729 0.157631 -0.470249 0.092798 -0.046407
2016-11-30 -0.432521 1.245857 0.264766 -0.551771 0.032239 -0.354005 -0.632094 -0.029837 -0.359681 -0.472370 ... -0.720232 -0.478636 -0.550260 -0.711201 -0.688309 0.343504 0.159377 -0.480111 0.103383 -0.014134
2016-12-01 -0.432863 1.227047 0.253768 -0.560766 0.026699 -0.354468 -0.630713 -0.030115 -0.371179 -0.479752 ... -0.727813 -0.478977 -0.554015 -0.707596 -0.696159 0.338951 0.168179 -0.483589 0.090079 -0.022220
2016-12-02 -0.436019 1.228620 0.227128 -0.567935 0.002099 -0.356223 -0.628684 -0.042357 -0.356409 -0.464478 ... -0.714619 -0.484939 -0.528166 -0.707736 -0.681770 0.374370 0.152763 -0.468347 0.070958 -0.030824
2016-12-05 -0.453735 1.221026 0.196846 -0.550574 0.007717 -0.346552 -0.616453 -0.044774 -0.347836 -0.451607 ... -0.698253 -0.476441 -0.521779 -0.698143 -0.731743 0.400611 0.159211 -0.456743 0.062189 -0.010917
2016-12-06 -0.455036 1.187792 0.192042 -0.558332 -0.017567 -0.339855 -0.606428 -0.017825 -0.355752 -0.452902 ... -0.700340 -0.475497 -0.531579 -0.697985 -0.740120 0.429397 0.180008 -0.458054 0.092463 0.005653
2016-12-07 -0.435340 1.171261 0.196879 -0.560554 -0.026840 -0.337236 -0.590756 -0.031425 -0.362817 -0.461649 ... -0.706327 -0.475913 -0.532170 -0.684203 -0.742934 0.418377 0.188473 -0.462886 0.075195 0.003727
2016-12-08 -0.435722 1.140519 0.175184 -0.550227 -0.052030 -0.336334 -0.595253 -0.032245 -0.336155 -0.454106 ... -0.683977 -0.477266 -0.522794 -0.682397 -0.737369 0.385414 0.169978 -0.452778 0.064126 -0.003449
2016-12-09 -0.432694 1.138872 0.169764 -0.547292 -0.048041 -0.337285 -0.607556 -0.041465 -0.332470 -0.451848 ... -0.693981 -0.488718 -0.526881 -0.673785 -0.732648 0.381963 0.174903 -0.456879 0.067276 -0.000822
2016-12-12 -0.435601 1.033690 0.131067 -0.545481 -0.043354 -0.351530 -0.613307 -0.084057 -0.312469 -0.408843 ... -0.644592 -0.486817 -0.519818 -0.656383 -0.732715 0.431686 0.152532 -0.439762 -0.021123 -0.040945
2016-12-13 -0.441303 1.026492 0.139673 -0.543547 -0.019361 -0.341948 -0.600226 -0.096600 -0.320277 -0.418076 ... -0.681688 -0.504242 -0.535323 -0.660313 -0.740811 0.389726 0.160603 -0.415372 -0.038439 -0.037031
2016-12-14 -0.434605 0.962636 0.126431 -0.529548 0.013601 -0.358300 -0.592795 -0.100159 -0.329932 -0.405378 ... -0.686987 -0.488587 -0.524862 -0.652287 -0.724835 0.482127 0.166461 -0.400262 -0.032582 -0.055513
2016-12-15 -0.412088 1.017528 0.130916 -0.537571 0.024560 -0.354669 -0.601414 -0.075553 -0.291188 -0.413820 ... -0.690844 -0.493181 -0.525337 -0.652011 -0.736425 0.494374 0.193748 -0.404834 0.003159 -0.043686
2016-12-16 -0.408067 1.029297 0.137454 -0.529692 0.032518 -0.311369 -0.595626 -0.079795 -0.267855 -0.418095 ... -0.682475 -0.487790 -0.523389 -0.656617 -0.725309 0.460819 0.208724 -0.391450 0.008594 -0.019842
2016-12-19 -0.419845 0.984353 0.116970 -0.528122 0.034939 -0.298463 -0.590460 -0.102452 -0.267719 -0.416303 ... -0.664380 -0.485229 -0.508889 -0.639338 -0.723388 0.460289 0.207927 -0.373658 -0.012239 -0.038273
2016-12-20 -0.410865 1.000019 0.128951 -0.534268 0.025294 -0.318420 -0.602575 -0.071579 -0.276500 -0.414078 ... -0.659170 -0.489206 -0.513665 -0.641103 -0.727870 0.423996 0.228216 -0.372337 0.004691 -0.025517
2016-12-21 -0.418494 1.026513 0.137612 -0.542960 0.050941 -0.315240 -0.617311 -0.071447 -0.285937 -0.426366 ... -0.664291 -0.504217 -0.523461 -0.647052 -0.740830 0.451820 0.231426 -0.390211 0.007861 -0.024322
2016-12-22 -0.420476 1.015799 0.130877 -0.539428 0.024624 -0.325248 -0.577818 -0.090872 -0.262988 -0.425279 ... -0.666896 -0.504168 -0.520397 -0.614824 -0.739854 0.510987 0.229270 -0.398206 -0.013584 -0.048808
2016-12-23 -0.435855 1.013608 0.133864 -0.523596 0.033616 -0.341063 -0.592259 -0.078101 -0.248126 -0.416481 ... -0.671240 -0.503962 -0.527456 -0.609814 -0.744506 0.558352 0.228620 -0.369159 -0.017826 -0.046887
2016-12-26 -0.549703 1.024180 0.148204 -0.518756 0.044484 -0.334760 -0.591604 -0.081668 -0.253547 -0.422275 ... -0.688159 -0.502363 -0.528771 -0.633542 -0.753167 0.549618 0.250199 -0.347927 -0.023862 -0.020786
2016-12-27 -0.551680 1.014731 0.149212 -0.514309 0.048778 -0.323650 -0.590746 -0.072000 -0.225665 -0.423707 ... -0.693893 -0.510128 -0.529717 -0.640436 -0.758538 0.557918 0.274509 -0.339698 -0.010519 -0.029468
2016-12-28 -0.543882 0.980552 0.135144 -0.512427 0.056098 -0.317974 -0.592142 -0.066374 -0.236251 -0.417580 ... -0.685279 -0.501682 -0.527820 -0.633747 -0.753356 0.534647 0.296358 -0.338646 -0.040013 -0.032911
2016-12-29 -0.526468 0.996494 0.153062 -0.510048 0.059654 -0.311850 -0.583453 -0.085328 -0.260761 -0.418730 ... -0.675928 -0.486575 -0.529379 -0.608606 -0.741646 0.537031 0.277444 -0.339503 -0.034276 -0.029313
2016-12-30 -0.533275 0.995941 0.142285 -0.505414 0.037435 -0.300864 -0.601409 -0.098092 -0.255923 -0.415532 ... -0.664652 -0.461732 -0.511453 -0.604039 -0.739863 0.533342 0.293632 -0.348658 -0.046223 -0.048779

1214 rows × 896 columns


In [ ]:


In [22]:
# daily return
PriceDF = pd.read_csv(path+filenamePrice,infer_datetime_format=True,parse_dates=[0],index_col=0)[stkList].loc[startTime:endTime]
PriceDF = newToFilter(PriceDF, threshold=0.2, length=None)
returnDF = PriceDF.pct_change()[1:]

benchmarkData = pd.read_csv(path+filenameBENCH,infer_datetime_format=True,parse_dates=[0],index_col=0)[ZZ500Index].loc[startTime:endTime]
returnOfBench = benchmarkData.pct_change()[1:]

activeReturnDF = returnDF .apply(lambda x: x - returnOfBench )
activeReturnDF.head().iloc[:,2].values


Out[22]:
array([ 0.00309076, -0.0027402 ,  0.00772788, -0.01769505, -0.01813368])

In [23]:
returnDF


Out[23]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_DERI_AdjustedPriceForward_20-d
2012-01-05 -0.044705 -0.040231 -0.033832 -0.049603 -0.055557 -0.100074 -0.071032 -0.038362 0.000000 -0.048410 ... -0.029555 -0.081740 -0.072221 -0.018382 -0.005748 -0.007800 -0.050967 -0.031249 -0.062620 -0.076971
2012-01-06 0.000000 0.037725 0.001546 0.013570 0.012313 -0.069194 0.045400 0.015959 0.045752 0.012333 ... 0.012690 0.015096 0.026946 0.011236 0.039637 0.006918 -0.022222 0.016129 -0.012397 0.024017
2012-01-09 0.033498 0.083670 0.048329 0.038106 0.047298 0.031859 0.065143 0.044500 0.018748 0.065482 ... 0.040099 0.052820 0.083090 0.029630 0.044480 0.008744 0.045455 0.042328 0.048815 0.000000
2012-01-10 0.035271 0.019702 0.023541 0.037698 0.042580 0.100343 0.064378 0.042607 0.021473 0.044783 ... 0.033735 0.056016 0.055182 0.043165 0.019012 0.021362 0.072464 0.038071 0.053856 0.063191
2012-01-11 0.016574 -0.013053 -0.017730 -0.011472 0.003713 0.018706 -0.021169 -0.004806 -0.012012 0.001368 ... -0.006991 -0.009225 -0.008928 0.003448 -0.010448 0.009094 -0.011824 -0.002445 -0.002523 0.099879
2012-01-12 -0.008605 -0.004233 -0.017073 -0.003869 0.006166 -0.019128 0.006179 0.000000 -0.003039 0.022769 ... -0.014086 0.025139 -0.006436 -0.006873 -0.004525 -0.014418 -0.003419 0.004901 -0.000633 -0.017828
2012-01-13 -0.014162 -0.066950 -0.079404 -0.032039 -0.042893 -0.016381 -0.042989 -0.045895 -0.033537 -0.021816 ... -0.035714 -0.005448 -0.042747 -0.027682 -0.021970 -0.032307 -0.054889 -0.014634 -0.081646 -0.068065
2012-01-16 -0.054680 -0.038157 -0.034501 -0.040120 -0.040974 -0.014275 -0.032086 -0.022783 -0.028393 -0.030041 ... -0.007408 -0.052055 -0.037889 -0.010676 -0.003873 -0.099213 -0.043557 -0.029705 -0.051688 -0.040170
2012-01-17 0.051470 0.066905 0.035734 0.058515 0.049399 0.055511 0.083978 0.056993 0.048701 0.086344 ... 0.054727 0.059248 0.077357 0.057554 0.062985 0.021678 0.058824 0.053571 0.061773 0.077995
2012-01-18 -0.010723 -0.034407 -0.091645 -0.028627 0.016540 -0.031250 0.008155 -0.014704 -0.009285 -0.006479 ... -0.018869 -0.039109 -0.023498 -0.020408 -0.022677 -0.070499 -0.026882 -0.007263 -0.037645 -0.040587
2012-01-19 0.000943 0.034484 0.019584 0.014228 0.006258 -0.003147 0.006067 0.017412 0.012500 0.009565 ... 0.026444 0.035021 0.032085 0.013889 0.025450 0.064433 0.005525 0.007316 -0.081081 0.004289
2012-01-20 0.006592 0.043332 0.027357 0.030060 0.009950 0.041041 0.025126 0.014671 0.012345 -0.007752 ... 0.000000 0.005487 0.040156 0.010274 0.020438 0.017294 0.025641 0.012107 0.034055 0.001223
2012-01-30 -0.018709 -0.007986 -0.009632 0.003890 -0.002463 -0.009855 -0.036275 -0.002410 -0.012195 -0.007813 ... -0.011709 -0.008640 -0.028643 -0.010169 -0.009299 -0.005780 -0.010714 -0.014354 -0.005987 -0.003658
2012-01-31 -0.016206 0.016639 -0.029748 -0.002907 0.013581 -0.002297 0.000000 0.002416 0.012345 -0.013124 ... 0.004738 -0.043578 0.014103 -0.017123 -0.001444 -0.008550 -0.007220 -0.002427 -0.004519 -0.001836
2012-02-01 0.000000 0.002111 0.004126 -0.018464 -0.019489 0.001535 -0.034588 0.004818 0.006096 -0.022606 ... -0.009434 -0.018705 -0.027813 -0.006969 -0.015908 -0.004829 0.000000 -0.002433 -0.002268 -0.007360
2012-02-02 0.013082 0.021076 0.056371 0.008911 0.017392 0.010727 0.025290 0.021583 0.018183 0.024943 ... 0.014287 0.021016 0.023407 0.014035 0.013225 0.006586 0.020000 0.017072 0.028051 0.025327
2012-02-03 0.022956 0.001031 0.008894 0.010795 0.013430 -0.000758 0.000000 0.039906 0.005951 0.025664 ... 0.014084 0.027286 0.019060 0.006920 -0.000725 0.050275 0.060606 0.021583 0.034660 0.022891
2012-02-06 0.014492 -0.006185 0.038569 0.003884 -0.001205 0.013657 0.022611 -0.006771 -0.005916 0.002157 ... 0.023148 0.041473 0.002494 -0.003436 0.007983 0.032459 -0.003361 0.011737 0.036351 0.002943
2012-02-07 -0.018433 -0.016599 -0.023873 -0.026113 -0.019301 -0.017216 -0.031156 -0.029546 -0.008929 -0.030564 ... -0.038462 -0.019686 -0.029851 -0.010345 -0.042476 -0.010797 -0.032040 -0.027841 -0.021320 -0.025836
2012-02-08 0.015493 0.030065 0.021195 0.029792 0.028291 0.012186 0.038382 0.035128 0.021021 0.035968 ... 0.035296 0.037882 0.025641 0.020906 0.034586 0.026004 0.034843 0.031025 0.036542 0.027726
2012-02-09 0.003236 -0.002050 -0.005321 0.017357 -0.002393 -0.000752 0.006993 0.011313 0.014705 0.020146 ... 0.006817 -0.004838 0.013750 0.003413 -0.006541 0.007822 0.030303 0.016203 0.002034 0.017597
2012-02-10 0.007834 -0.004618 -0.010165 -0.003791 0.005996 0.015813 0.007937 0.000000 0.005798 -0.008824 ... -0.004514 0.013257 0.002466 0.010204 0.008778 -0.004347 -0.006536 0.100229 0.006766 -0.000577
2012-02-13 0.000915 0.006702 0.052432 0.019981 0.010727 -0.009637 -0.011811 0.040269 0.000000 0.003815 ... 0.011338 -0.002181 0.033210 -0.003367 0.002175 0.001871 0.018092 -0.008282 0.024194 0.012113
2012-02-14 0.007309 0.006655 0.032871 -0.002799 0.009435 -0.007485 0.013944 -0.012904 0.014408 0.007179 ... -0.008969 -0.013110 0.029761 -0.010135 -0.007235 -0.007781 -0.006462 -0.012526 -0.015748 -0.003989
2012-02-15 0.011338 0.007122 0.013924 0.000936 0.022195 0.003771 0.010806 0.037037 0.005683 0.041090 ... 0.031674 0.023471 0.009250 0.023891 0.036443 -0.005646 0.045528 0.006343 0.026000 0.014875
2012-02-16 0.004036 0.009596 -0.001963 0.000000 -0.004571 0.012772 -0.008746 -0.008403 0.016947 -0.016915 ... 0.002195 0.025530 0.014890 -0.006667 -0.011252 -0.007571 -0.009331 -0.004203 -0.009098 -0.002820
2012-02-17 -0.004020 -0.007005 -0.017199 -0.009346 0.014926 -0.017063 -0.012745 -0.016949 0.002780 -0.012290 ... -0.008753 0.010548 -0.005643 -0.003356 0.015648 0.002861 -0.017268 -0.018988 -0.015081 -0.022610
2012-02-20 -0.008969 -0.001007 -0.037500 0.008491 -0.005656 -0.002264 0.003972 -0.006465 -0.016622 -0.004562 ... -0.004416 -0.012944 0.002270 -0.003367 -0.014006 0.032013 -0.001597 0.004302 0.003994 0.001735
2012-02-21 0.002715 0.006051 0.010910 0.043966 0.004550 0.003026 0.007913 0.013014 0.016903 0.008333 ... 0.004436 0.007616 0.002264 0.006757 0.014915 0.011978 0.009600 0.023554 0.020558 0.027714
2012-02-22 0.020307 0.047119 0.021068 0.006272 0.039638 0.016591 0.017664 0.010707 0.011080 0.021488 ... 0.019868 0.041141 0.025989 0.010067 0.020294 0.013353 0.020602 0.008369 0.054580 0.030897
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 -0.008527 -0.013761 0.005352 0.001959 0.017758 -0.001645 -0.006679 0.005894 -0.001395 0.000000 ... -0.001709 0.033289 0.007822 0.014981 0.011393 -0.017316 0.001393 0.000000 0.020254 0.019857
2016-11-22 0.003127 0.019027 0.011535 0.001955 0.007088 0.011532 -0.014409 -0.003906 0.004190 0.000000 ... 0.005993 0.060567 0.004434 0.051661 0.059908 -0.005664 0.006954 0.000000 -0.005720 -0.017134
2016-11-23 -0.032736 -0.012033 -0.012281 -0.000976 0.013535 -0.013844 -0.008772 -0.000980 -0.009736 0.000000 ... 0.055319 -0.024301 -0.006622 0.017544 -0.011594 -0.002532 -0.015193 0.008772 0.000677 -0.008716
2016-11-24 0.008864 -0.006300 -0.008881 0.020508 0.000000 -0.013212 0.000000 0.018646 -0.002809 0.000000 ... -0.014516 -0.029888 -0.021111 0.020690 0.068915 -0.023477 -0.019635 0.010145 0.025702 -0.041567
2016-11-25 -0.011182 0.008453 0.001792 -0.009569 -0.004808 -0.008368 -0.009833 -0.019268 -0.007042 0.000000 ... 0.000000 -0.006418 0.003406 0.006757 -0.010517 0.000000 -0.010014 -0.011478 0.013518 0.010842
2016-11-28 -0.015347 -0.002096 0.008945 0.001932 -0.012882 0.003376 0.010924 -0.017682 0.036879 0.000000 ... 0.000000 0.007752 0.004525 0.006711 -0.004159 0.012346 -0.008671 -0.004354 -0.020936 -0.010726
2016-11-29 0.003281 0.006300 -0.008865 0.004822 0.039695 -0.015980 -0.031434 -0.026000 -0.013680 0.000000 ... 0.000000 -0.024359 -0.014640 -0.030000 -0.013921 -0.003851 -0.013120 -0.008746 -0.014033 -0.013344
2016-11-30 -0.034342 0.015025 0.031306 -0.004798 -0.007322 0.000000 -0.017241 0.006160 -0.016644 0.000000 ... 0.000000 -0.019711 -0.009142 -0.013746 0.007529 -0.003866 -0.002954 -0.017647 0.003050 0.028740
2016-12-01 0.007621 -0.004934 -0.002602 -0.001929 0.001054 0.006838 0.012384 0.005102 -0.004231 0.000000 ... 0.000000 0.008043 0.004613 0.017422 -0.000467 0.001294 0.010370 0.004491 -0.004392 -0.000822
2016-12-02 -0.020168 -0.010744 -0.029565 -0.027053 -0.031579 -0.017827 -0.016310 -0.023350 -0.001416 0.000000 ... 0.000000 -0.023936 0.013778 -0.020548 0.001402 0.007752 -0.023460 0.000000 -0.026807 -0.020559
2016-12-05 -0.033448 0.001253 -0.021505 0.003972 -0.000543 -0.001729 -0.004145 -0.007277 -0.002837 0.000000 ... 0.000000 -0.005450 -0.009061 -0.010490 -0.099860 0.014744 0.001502 -0.001490 -0.010112 0.010076
2016-12-06 0.000000 -0.014602 -0.003663 -0.007913 -0.019032 0.007792 0.016649 0.020942 -0.007112 0.000000 ... 0.000000 0.002740 -0.010286 0.003534 -0.010368 0.015793 0.013493 0.000000 0.021486 0.012469
2016-12-07 0.032831 0.004234 0.013787 0.006979 0.003326 0.012887 0.031730 0.000000 0.002865 0.000000 ... 0.000000 0.009563 0.009238 0.031690 0.004715 0.004353 0.016272 0.004478 -0.001724 0.009031
2016-12-08 -0.008591 -0.006745 -0.013599 0.001980 -0.020994 -0.005089 -0.018849 -0.002051 0.021429 0.000000 ... 0.018822 -0.010825 0.001144 -0.013652 -0.009906 -0.016718 -0.011645 0.002972 -0.008290 -0.006509
2016-12-09 0.000867 -0.002122 -0.005515 0.000988 0.001129 -0.003410 -0.020222 -0.009250 0.001399 0.000000 ... -0.019277 -0.016416 -0.008000 0.010381 0.004739 -0.003778 0.001473 -0.007407 0.000348 0.000000
2016-12-12 -0.051948 -0.069758 -0.060998 -0.051333 -0.034949 -0.059880 -0.065015 -0.071577 -0.025140 0.000000 ... 0.016380 -0.048679 -0.043779 -0.034247 -0.066038 -0.003793 -0.050000 -0.029851 -0.099930 -0.067977
2016-12-13 0.004566 -0.008230 0.006890 0.017690 0.022196 0.019108 0.037528 -0.006704 0.000000 0.000000 ... -0.037873 -0.008772 -0.006024 0.014184 0.010662 -0.026015 0.006192 0.040000 -0.010832 0.006151
2016-12-14 -0.008182 -0.011987 -0.004888 -0.004090 0.027429 -0.028571 -0.017021 -0.004499 -0.020057 0.000000 ... -0.045226 0.000000 -0.008484 -0.020979 -0.014436 0.065798 0.009231 0.002959 0.005084 -0.014847
2016-12-15 0.037580 0.022865 0.005894 0.002053 0.012236 0.012868 0.002165 0.025989 0.049708 0.000000 ... 0.012281 0.005900 0.012225 0.017857 -0.000563 0.007335 0.021341 0.004425 0.033074 0.014184
2016-12-16 0.009717 0.011861 0.010742 0.015369 0.012088 0.052632 0.012959 0.002203 0.029248 0.000000 ... 0.018198 0.011730 0.007246 -0.003509 0.024239 -0.012743 0.016418 0.020558 0.010169 0.025350
2016-12-19 -0.015748 -0.013526 -0.011594 -0.002018 0.004343 0.012931 0.002132 -0.017582 0.000000 0.000000 ... 0.022979 0.000000 0.015588 0.021127 -0.006054 0.004302 0.002937 0.018705 -0.014169 -0.012788
2016-12-20 0.008000 0.000914 0.003910 -0.010111 -0.011892 -0.023830 -0.019149 0.022371 -0.012179 0.000000 ... 0.008319 -0.007246 -0.008265 -0.003448 -0.007752 -0.026316 0.008785 -0.001412 0.009077 0.006045
2016-12-21 0.005291 0.004110 0.006816 0.008172 0.021882 0.013949 0.002169 0.004376 0.000000 0.000000 ... 0.019802 -0.001460 0.005952 0.017301 0.010603 0.013199 0.001451 -0.007072 0.005247 0.004292
2016-12-22 -0.003509 -0.004093 -0.004836 0.003040 -0.019807 -0.011178 0.056277 -0.016340 0.021918 0.000000 ... -0.006472 -0.001462 0.002368 0.047619 -0.001104 0.034119 -0.001449 -0.009972 -0.016779 -0.019658
2016-12-23 -0.027289 -0.016895 -0.011662 0.012121 -0.006554 -0.026957 -0.027664 -0.002215 0.002681 0.000000 ... -0.013029 -0.008785 -0.017710 0.000000 -0.012714 0.010798 -0.014514 0.021583 -0.016306 -0.011334
2016-12-26 0.013575 0.000464 0.009833 0.014970 0.008796 0.011618 0.011591 -0.001110 -0.001337 0.000000 ... -0.013201 0.010340 0.007211 -0.022727 0.001120 -0.007122 0.013255 0.028169 -0.003470 0.022046
2016-12-27 0.000000 -0.006035 0.000000 0.007866 0.002725 0.012367 0.004167 0.007778 0.026774 0.000000 ... -0.005017 -0.007310 0.001193 -0.006645 -0.004474 0.002989 0.014535 0.009589 0.010058 -0.006903
2016-12-28 0.000000 -0.009341 -0.008763 -0.006829 0.005435 0.000873 -0.013485 0.003308 -0.013038 0.000000 ... -0.001681 0.001473 -0.007151 -0.003344 -0.009551 -0.008939 0.015759 -0.004071 -0.023363 -0.003475
2016-12-29 0.012500 -0.001886 0.006876 0.004912 0.002162 0.004359 0.002103 -0.015385 -0.022457 0.000000 ... 0.018519 0.020588 -0.007203 0.040268 0.025525 0.000000 -0.012694 0.000000 -0.005490 -0.008718
2016-12-30 -0.001764 0.009920 -0.001951 0.000978 -0.016181 0.011285 -0.018888 -0.011161 0.002703 0.000000 ... 0.009917 0.025937 0.025393 0.000000 -0.006637 0.000000 0.011429 -0.012262 0.000000 -0.004398

1213 rows × 896 columns


In [24]:
# set weight for WLS
weightdf = pd.read_csv(path+filenameFCAP,infer_datetime_format=True,parse_dates=[0],index_col=0)[stkList].loc[startTime:endTime]
weightdf = newToFilter(weightdf, threshold=0.2, length=None)
# the square root is the weight
weight = np.sqrt(weightdf)
weight


Out[24]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_VAL_A_FCAP-d
2012-01-04 574.155505 595.273736 525.024377 780.268345 399.585194 634.964954 639.330922 514.907060 469.382573 842.662942 ... 628.192800 354.288018 501.019104 676.953174 1289.269776 1834.775229 544.524875 578.054772 352.022727 378.226706
2012-01-05 561.174702 583.176927 516.066956 760.670330 388.327007 602.355839 616.206172 504.933738 469.382573 822.012946 ... 618.839531 339.499632 482.587723 670.702318 1285.559640 1827.605310 530.467120 568.950979 340.822534 363.379142
2012-01-06 561.174702 594.075140 516.465412 765.814063 390.710216 581.142989 630.038866 508.946520 480.000000 827.066352 ... 622.753798 342.052628 489.046433 674.459784 1310.789708 1833.916319 524.539927 573.520939 338.703410 367.716712
2012-01-09 570.496268 618.429064 528.798302 780.268345 399.843240 590.327556 650.236390 520.147979 484.479102 853.716074 ... 635.117363 350.970084 508.958585 684.378842 1339.624353 1841.917238 536.328813 585.533153 346.871734 367.716712
2012-01-10 580.470263 624.491435 534.986304 794.839725 408.267291 619.237301 670.840310 531.113246 489.652938 872.622798 ... 645.741329 360.666051 522.812628 698.993562 1352.298471 1861.487006 555.421189 596.574977 356.089876 379.157155
2012-01-11 585.261021 620.401729 530.222765 790.267263 409.024511 625.002241 663.701699 529.834993 486.703195 873.219463 ... 643.479531 358.998607 520.473410 700.197686 1345.215676 1869.931720 552.127684 595.845221 355.640268 397.641227
2012-01-12 582.737473 619.087317 525.676986 788.737219 410.283438 618.995930 665.749113 529.834993 485.962962 883.104536 ... 638.931916 363.483150 518.796082 697.787360 1342.168751 1856.401738 551.183068 597.303841 355.527777 394.080853
2012-01-13 578.596478 598.004364 504.374819 775.999250 401.388036 613.905217 651.282067 517.534153 477.744702 873.418261 ... 627.418686 362.491379 507.586727 688.061625 1327.343351 1826.167948 535.842788 592.917217 340.705151 380.432806
2012-01-16 562.555208 586.485018 495.597643 760.273217 393.078976 609.507909 640.748509 511.604222 470.914005 860.199061 ... 674.819546 352.930588 497.877888 684.378842 1324.770480 1733.212720 524.042968 584.045137 331.783062 372.713416
2012-01-17 576.851085 605.786360 504.374819 782.201141 402.670839 626.196590 667.110565 525.981597 482.244751 896.566974 ... 693.038809 363.235461 516.776103 703.797698 1365.854428 1751.898565 539.235766 599.485116 341.877171 386.975651
2012-01-18 573.750075 595.273736 480.708047 770.923477 405.987158 616.334610 669.825166 522.099761 480.000000 893.657609 ... 686.469572 356.061792 510.668226 696.579069 1350.278606 1689.015885 531.938599 597.303841 335.380381 379.040974
2012-01-19 574.020394 605.450093 485.392452 776.388319 407.255475 615.364004 671.853920 526.625787 482.990683 897.921451 ... 695.486275 362.243012 518.796082 701.399743 1367.352350 1742.580689 533.406019 599.485116 321.496501 379.853495
2012-01-20 575.909067 618.429064 491.987189 787.971082 409.276606 627.864862 680.241934 530.474505 485.962962 894.434365 ... 695.486275 363.235461 529.109806 704.993617 1381.254619 1757.585105 540.201274 603.103043 326.925068 380.085325
2012-01-30 570.496268 615.954347 489.612113 789.502611 408.772260 624.763098 667.790250 529.834993 482.990683 890.933630 ... 691.402351 361.662826 521.477217 701.399743 1374.817477 1752.498017 537.299545 619.444173 325.944781 379.389410
2012-01-31 565.854680 621.057892 482.274571 788.354243 411.538514 624.045116 667.790250 530.474505 485.962962 885.068302 ... 693.038809 353.694784 525.141426 695.368679 1373.824470 1744.990066 535.356322 618.691963 325.207626 379.040974
2012-02-01 565.854680 621.713362 483.268806 781.042037 407.508664 624.523862 656.139859 531.751220 487.442304 875.007018 ... 689.762011 350.371232 517.787078 692.941556 1362.853646 1740.771468 535.356322 617.938838 324.838421 377.644012
2012-02-02 569.543739 628.230452 496.703272 784.514210 411.036944 627.864862 664.384872 537.458910 491.853637 885.852589 ... 694.671411 354.033897 523.811952 697.787360 1371.836301 1746.494238 540.683381 623.191600 329.363022 382.395896
2012-02-03 576.043736 628.554532 498.907180 788.737219 413.788058 627.626809 664.384872 548.077951 493.315315 897.147715 ... 699.546358 358.831437 528.780245 700.197686 1371.338808 1789.858798 556.826728 629.880790 335.022387 386.747951
2012-02-06 580.202950 626.607534 508.436964 790.267263 413.538713 631.898043 671.853920 546.219004 491.853637 898.114782 ... 707.596639 366.196668 529.439162 698.993562 1376.801342 1818.675354 555.890097 633.566490 341.057180 387.316949
2012-02-07 574.830585 621.385713 502.331428 779.881211 409.528546 626.435187 661.305039 538.089361 489.652938 884.283319 ... 693.855590 362.574130 521.477217 695.368679 1347.243131 1808.830518 546.912106 624.684277 337.401838 382.280699
2012-02-08 579.266383 630.656998 507.627135 791.412855 415.280985 630.240447 673.876565 547.459003 494.772675 900.045798 ... 705.993926 369.377855 528.120507 702.599744 1370.343281 1832.197290 556.358609 634.301060 343.511281 384.497282
2012-02-09 580.202950 630.010833 506.274543 798.251884 414.783940 630.003292 676.228672 550.546783 498.397432 909.066634 ... 708.396635 368.483378 531.738939 703.797698 1365.854428 1839.349309 564.725374 639.419422 343.860437 387.865205
2012-02-10 582.471201 628.554532 503.694610 796.737173 416.025439 634.964954 678.906816 550.546783 499.839974 905.047160 ... 706.795737 370.917781 532.394194 707.379389 1371.836301 1835.347612 562.876841 670.698182 345.021738 387.753412
2012-02-13 582.737473 630.656998 516.730879 804.657595 418.250851 631.898043 674.885615 561.522217 499.839974 906.771973 ... 710.791222 370.513158 541.162483 706.187511 1373.327698 1837.063693 567.945830 667.915190 349.170445 390.094334
2012-02-14 584.863290 632.752477 525.154963 803.530886 420.219101 629.528713 679.574703 557.887731 503.428247 910.021035 ... 707.596639 368.076079 549.156453 702.599744 1368.350053 1829.902740 566.107812 663.718822 346.410162 389.315591
2012-02-15 588.169496 636.686234 528.798302 803.906631 424.857152 630.714490 683.236410 568.125057 504.856415 928.529271 ... 718.715561 372.370783 551.690061 710.943036 1393.060429 1824.729454 578.851385 665.820312 350.884596 392.200271
2012-02-16 589.355190 639.733748 528.279364 803.906631 423.884937 634.729564 680.241934 565.732941 509.116882 920.642732 ... 719.503195 377.094153 555.782539 708.569263 1385.201069 1817.808837 576.144349 664.420058 349.284984 391.647175
2012-02-17 588.169496 637.489623 523.716717 800.141240 427.036542 629.291289 675.893158 560.918105 509.823499 914.967872 ... 716.347464 379.077828 554.212085 707.379389 1395.996281 1820.407151 571.148127 658.082043 346.641025 387.193964
2012-02-20 585.526025 637.168389 513.803202 803.530886 425.827147 628.578480 677.234217 559.101851 505.568986 912.878251 ... 714.764373 376.616516 554.840800 706.187511 1386.185926 1849.315668 570.691756 659.495754 347.332694 387.529730
2012-02-21 586.320318 639.093373 516.598163 821.005033 426.794937 629.528713 679.908400 562.728496 509.823499 916.674019 ... 716.347464 378.047616 555.468804 708.569263 1396.484990 1860.358148 573.424534 667.217628 350.884596 392.862959
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 1189.283040 1892.243947 833.365440 909.461500 863.842881 602.350800 888.376057 869.364089 1026.692281 768.517084 ... 1158.069459 1155.146511 659.020804 1024.855559 1632.567999 1872.149159 629.073049 806.268248 1455.095136 1025.895512
2016-11-22 1191.141296 1910.161439 838.158114 910.350081 866.899077 605.814037 881.952429 867.664451 1028.840925 768.517084 ... 1161.534518 1189.614168 660.480431 1050.994505 1680.758555 1866.839760 631.256579 806.268248 1450.927557 1017.068714
2016-11-23 1171.482605 1898.633983 832.995630 909.905899 872.746297 601.606084 878.075696 867.239021 1023.820409 768.517084 ... 1193.229632 1175.070660 658.289776 1060.173671 1670.986620 1864.475175 626.442767 809.796791 1451.418481 1012.626463
2016-11-24 1176.663056 1892.643957 829.288466 919.188638 872.746297 597.618593 878.075696 875.286833 1022.381448 768.517084 ... 1184.537434 1157.377244 651.304097 1071.084837 1727.605385 1842.458899 620.262067 813.894091 1469.952129 991.357301
2016-11-25 1170.065774 1900.626463 830.031224 914.780034 870.645822 595.112844 873.748042 866.813382 1018.775153 768.517084 ... 1184.537434 1153.656960 652.412071 1074.697275 1718.497030 1842.458899 617.148505 809.209769 1479.854162 1032.221270
2016-11-28 1161.052362 1898.633983 833.735085 915.663453 865.019619 596.116408 878.507289 859.115825 1037.390996 768.517084 ... 1184.537434 1246.817471 653.886451 1078.297611 1714.919722 1853.797214 614.467181 807.446142 1460.226901 1026.670505
2016-11-29 1162.955728 1904.605171 830.031224 917.868280 882.021226 591.334311 864.589462 847.873764 1030.270864 768.517084 ... 1184.537434 1231.538254 649.082473 1061.999984 1702.941091 1850.224200 610.423112 803.907282 1449.945209 1019.797320
2016-11-30 1142.812290 1918.860211 842.923539 915.663453 878.786136 591.334311 857.103698 850.481276 1021.661207 768.517084 ... 1184.537434 1219.340479 646.108425 1054.675758 1709.340141 1846.644272 609.520786 796.782409 1452.154557 1034.348248
2016-12-01 1147.158518 1914.120327 841.826220 914.780034 879.249020 593.352523 862.394512 852.648110 1019.497433 768.517084 ... 1184.537434 1224.234173 647.597156 1063.823161 1708.940902 1847.838352 612.673113 798.569587 1448.962195 1033.923202
2016-12-02 1135.531611 1903.810095 829.288466 902.321359 865.254774 588.039944 855.332821 842.634535 1018.775153 768.517084 ... 1184.537434 1209.493693 652.042956 1052.836741 1710.138338 1854.986690 605.443678 798.569587 1429.409157 1023.239684
2016-12-05 1116.379650 1905.002585 820.322922 904.111680 865.019619 587.531479 853.558269 839.563220 1017.329056 768.517084 ... 1184.537434 1206.193567 649.082473 1047.300313 1622.505851 1868.611236 605.898045 797.974306 1422.164006 1028.381624
2016-12-06 1116.379650 1891.043412 818.819121 900.527477 856.748513 589.816121 860.634521 848.308906 1013.704787 768.517084 ... 1184.537434 1207.844757 645.735706 1049.149035 1614.072811 1883.308735 609.972116 797.974306 1437.361425 1034.773119
2016-12-07 1134.557324 1895.042239 824.444233 903.664433 858.172078 593.604317 874.181772 848.308906 1015.156047 768.517084 ... 1184.537434 1213.606230 648.711463 1065.643219 1617.873118 1887.403525 614.914881 799.758820 1436.121786 1039.435237
2016-12-08 1129.673283 1888.640051 818.819121 904.558707 849.115857 592.091947 865.903761 847.438399 1025.975067 768.517084 ... 1195.632916 1207.019444 649.082473 1058.344207 1609.839725 1871.559970 611.324106 800.946287 1430.156561 1036.046686
2016-12-09 1130.162637 1886.634912 816.558226 905.005513 849.594907 591.081550 857.103698 843.510000 1026.692281 768.517084 ... 1184.052664 1197.071312 646.480930 1063.823161 1613.650002 1868.020931 611.774106 797.974306 1430.405609 1036.046686
2016-12-12 1100.416295 1819.641964 791.262132 881.471340 834.616513 573.111330 828.772972 812.761712 1013.704787 768.517084 ... 1193.710676 1167.571885 632.171484 1045.448321 1559.459167 1864.475175 596.283639 785.974008 1357.054409 1000.213300
2016-12-13 1102.925800 1812.138253 793.983258 889.233734 843.828359 578.561006 844.180677 810.032789 1013.704787 768.517084 ... 1170.887988 1162.439676 630.264477 1052.836741 1567.750739 1840.062982 598.126870 801.539361 1349.684780 1003.284811
2016-12-14 1098.404564 1801.244376 792.040551 887.413397 855.322578 570.235953 836.965325 808.208389 1003.487199 768.517084 ... 1144.104287 1162.439676 627.584931 1041.734461 1556.393242 1899.634937 600.881114 802.724195 1353.111385 995.808993
2016-12-15 1118.853351 1821.720842 794.371229 888.324032 860.539454 573.893024 837.870642 818.643170 1028.125209 768.517084 ... 1151.108051 1165.863659 631.409372 1050.994505 1555.954759 1906.589084 607.259106 804.498173 1375.305720 1002.846600
2016-12-16 1124.276333 1832.492995 798.626474 895.124264 865.724893 588.801819 843.282134 819.544264 1043.052108 768.517084 ... 1161.534518 1172.681634 633.692958 1049.149035 1574.699252 1894.402574 612.223774 812.725541 1382.281111 1015.477956
2016-12-19 1115.388634 1820.057929 793.983258 894.220554 867.602824 592.596499 844.180677 812.307528 1043.052108 768.517084 ... 1174.804012 1172.681634 638.612714 1060.173671 1569.925453 1898.473436 613.122122 820.291356 1372.453730 1008.964239
2016-12-20 1119.841301 1820.889576 795.534008 889.688236 862.428676 585.493202 836.059028 821.343485 1036.681184 768.517084 ... 1179.680762 1168.425062 635.968344 1058.344207 1563.828632 1873.326982 615.809303 819.711849 1378.668647 1012.009191
2016-12-21 1122.799936 1824.627293 798.240571 893.315930 871.813377 589.562709 836.965325 823.138773 1036.681184 768.517084 ... 1191.303513 1167.571885 637.858299 1067.460174 1572.097159 1885.649704 616.256027 816.808150 1382.281111 1014.178559
2016-12-22 1120.828380 1820.889576 796.308250 894.672523 863.136068 586.258387 860.193961 816.386085 1047.980495 768.517084 ... 1187.441903 1166.718085 638.612714 1092.580321 1571.228837 1917.548240 615.809303 812.725541 1370.635738 1004.160660
2016-12-23 1105.429607 1805.442108 791.651437 900.078448 860.303010 578.302662 848.212340 815.481502 1049.384354 768.517084 ... 1179.680762 1161.582104 632.932678 1092.580321 1561.208420 1927.873134 611.324106 821.449142 1359.414733 998.453908
2016-12-26 1112.907232 1805.861344 795.534008 906.790536 864.078356 581.652182 853.114055 815.028834 1048.682660 768.517084 ... 1171.868221 1167.571885 635.210788 1080.093278 1562.082312 1920.996038 615.362254 832.938500 1357.054409 1009.399795
2016-12-27 1112.907232 1800.403655 795.534008 910.350081 865.254774 585.237919 854.889528 818.192251 1062.628520 768.517084 ... 1168.925056 1163.296617 635.589679 1076.498948 1558.583803 1923.864482 619.818230 836.922512 1363.861979 1005.910070
2016-12-28 1112.907232 1791.974752 792.040551 907.236243 867.602824 585.493202 849.105666 819.544264 1055.678619 768.517084 ... 1167.942353 1164.152927 633.312932 1074.697275 1551.123272 1915.246261 624.683093 835.217405 1347.836077 1004.160660
2016-12-29 1126.732697 1796.615542 796.695089 909.461500 868.540266 587.531479 855.332821 813.215642 1043.757588 768.517084 ... 1178.707026 1176.075799 633.312932 1096.121919 1570.794496 1915.246261 620.705587 835.217405 1350.740046 1005.473003
2016-12-30 1118.853351 1799.141837 793.983258 909.905899 861.484583 590.069424 841.932522 808.664875 1045.167120 768.517084 ... 1184.537434 1191.229870 638.989588 1096.121919 1565.573004 1915.246261 624.242399 830.081069 1344.131042 997.573049

1214 rows × 896 columns


In [25]:
factorDictNor = dict(zip(filename7factor.keys(),factorListNor))

In [26]:
spRdf,facRdf,facPdf,Rsqdf = brm.multiFactorReg(activeReturnDF, factorDictNor, WLS = True, weightdf = weight)

In [27]:
spRdf


Out[27]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_DERI_AdjustedPriceForward_20-d
2012-01-05 -0.009226 0.007680 0.016317 -0.013925 -0.005659 -0.068776 -0.027313 -0.006677 0.036304 -0.010021 ... 0.003251 -0.014662 -0.026897 0.001223 0.008543 0.012346 -0.013822 -0.001175 -0.007533 -0.029023
2012-01-06 -0.007063 0.038404 0.002303 0.002138 0.005989 -0.075779 0.025970 0.005484 0.035895 -0.008315 ... 0.004857 0.015574 0.024927 0.003443 0.015762 0.015032 -0.021864 0.007519 -0.016356 0.018537
2012-01-09 0.003356 0.040599 0.018253 -0.007155 -0.001839 -0.022790 0.015877 0.003991 -0.021393 0.014817 ... -0.003179 -0.000268 0.039023 -0.002495 0.000013 -0.011650 0.001402 0.004030 -0.001434 -0.043701
2012-01-10 0.006614 -0.025448 -0.013231 -0.005706 -0.003586 0.048764 0.026982 0.005398 -0.015609 0.002567 ... -0.005755 0.006862 0.013609 0.012510 -0.015338 -0.015134 0.026469 0.002609 0.003438 0.018272
2012-01-11 0.013469 -0.021891 -0.018925 -0.007129 0.001575 0.007917 -0.023999 0.001618 -0.009624 0.001828 ... -0.000723 -0.018482 -0.009761 0.012696 -0.000893 -0.003972 -0.009970 0.006385 -0.007783 0.083374
2012-01-12 -0.008770 -0.003792 -0.008215 -0.005682 0.006497 -0.023321 0.003129 -0.000388 -0.003301 0.020145 ... -0.015040 0.027772 -0.006111 -0.007954 -0.007216 -0.022338 -0.004437 0.004749 0.000945 -0.014246
2012-01-13 0.008628 -0.024613 -0.029414 0.007277 0.003738 0.018567 -0.013880 -0.008932 0.000186 0.013531 ... 0.000554 0.042882 -0.004101 -0.000551 0.004060 -0.034230 -0.017958 0.017530 -0.024053 -0.029248
2012-01-16 -0.025887 0.005634 0.010525 -0.007777 -0.008236 0.031064 -0.002595 -0.004096 0.000200 0.003905 ... 0.015217 -0.007787 -0.007859 0.004915 0.026962 -0.056430 -0.017083 -0.013373 -0.007230 -0.001952
2012-01-17 0.001190 0.012383 -0.002313 -0.001269 -0.011542 -0.003854 0.000256 -0.003044 0.001208 0.005974 ... -0.005697 -0.002432 0.017362 0.008104 -0.007566 -0.003947 0.007875 -0.002786 0.009138 0.025253
2012-01-18 0.006405 -0.001156 -0.039641 -0.005844 0.029470 -0.009729 0.014262 -0.003434 0.007020 -0.002071 ... -0.008567 -0.000277 -0.009178 -0.012675 -0.021088 -0.033299 -0.008602 -0.001523 0.007295 -0.000028
2012-01-19 -0.013438 0.026224 0.012225 0.003921 -0.003549 -0.006598 -0.005689 0.006762 -0.001724 -0.003005 ... 0.014124 0.029773 0.020182 -0.000476 0.006023 0.057847 -0.000941 -0.006605 -0.074506 0.004410
2012-01-20 -0.008781 0.026781 -0.002112 0.013955 0.000281 0.031297 0.024663 0.003653 -0.003225 -0.014782 ... -0.009746 -0.007190 0.031975 -0.001411 0.011829 -0.004495 0.013726 0.002182 0.017172 -0.013589
2012-01-30 -0.016685 -0.006976 -0.010920 0.013953 0.003813 -0.008539 -0.030185 0.009060 -0.007821 0.000483 ... 0.000839 -0.012509 -0.021420 0.002891 0.007423 -0.007682 -0.002555 -0.001667 -0.014959 -0.012768
2012-01-31 -0.013208 0.015503 -0.019859 -0.000847 0.012095 -0.004838 -0.011351 0.003093 0.014811 -0.021893 ... 0.004276 -0.043252 0.009917 -0.014386 -0.006659 -0.011803 -0.006732 -0.001314 -0.001546 -0.004235
2012-02-01 0.002871 0.008482 -0.000279 -0.007747 -0.013200 0.013607 -0.020086 0.012636 0.010889 -0.008012 ... 0.004260 -0.012847 -0.016401 0.002437 0.006468 -0.007340 0.008541 0.002583 -0.000774 -0.004314
2012-02-02 0.001909 0.002868 0.044229 -0.007282 -0.001413 -0.011431 -0.003619 0.004627 0.002914 -0.002257 ... -0.004438 -0.001879 0.002310 0.001754 -0.012371 -0.002591 0.002728 0.001058 0.001842 0.002231
2012-02-03 0.010141 -0.019132 -0.014547 -0.004325 -0.009262 -0.019625 -0.018384 0.023423 -0.007427 0.017279 ... 0.001396 0.005728 0.001073 -0.002434 -0.002897 0.039359 0.042764 0.004496 0.013100 0.004969
2012-02-06 0.007141 -0.015230 0.023226 -0.001268 -0.009976 0.008629 0.008946 -0.016287 -0.014622 -0.010583 ... 0.019548 0.028896 -0.004414 -0.006386 0.003232 0.021160 -0.011286 0.001879 0.022012 -0.014249
2012-02-07 -0.005731 -0.003736 -0.005737 -0.004550 -0.000150 0.002245 -0.010882 -0.010118 0.010497 -0.015101 ... -0.015606 -0.005168 -0.011084 0.009695 -0.021630 -0.010729 -0.011492 -0.010937 -0.003837 -0.012034
2012-02-08 -0.005754 -0.003340 0.006535 0.006517 0.001498 -0.015794 0.004806 0.008641 -0.004695 -0.003805 ... 0.008563 0.004669 -0.005607 -0.000513 -0.001315 0.002984 0.008581 0.008167 0.014438 -0.002846
2012-02-09 0.003271 -0.007768 -0.018560 0.011998 -0.014885 -0.008081 -0.002201 0.001980 0.007072 0.021244 ... 0.002470 -0.012897 0.007611 -0.000840 -0.005664 0.008083 0.020590 0.001484 -0.009142 0.015257
2012-02-10 0.008995 -0.012975 -0.013409 -0.005925 -0.004649 0.014956 0.000698 -0.010207 -0.002987 -0.005961 ... -0.006197 0.006591 -0.005883 0.006639 0.012972 -0.003410 -0.012960 0.079543 0.009364 -0.001095
2012-02-13 -0.006678 -0.002317 0.039987 0.013876 0.003240 -0.020581 -0.023505 0.027212 -0.001254 -0.007226 ... 0.004529 -0.018866 0.020335 -0.006477 0.005159 -0.002040 0.007301 -0.020679 0.000982 -0.013307
2012-02-14 0.008635 0.008418 0.033021 -0.001501 0.006020 -0.007562 0.014394 -0.018132 0.012437 0.007926 ... -0.008031 -0.014224 0.027115 -0.011346 -0.002696 -0.004848 -0.009371 -0.022627 -0.014222 -0.003916
2012-02-15 0.001613 -0.010070 0.004635 -0.012672 0.003106 -0.012933 -0.002813 0.016809 -0.005342 0.030226 ... 0.014575 0.005526 -0.011388 0.011791 0.028691 -0.008439 0.026243 -0.013140 0.013560 -0.001530
2012-02-16 0.003995 0.006925 0.001509 0.001390 -0.007845 0.016614 -0.001366 -0.013326 0.013269 -0.008153 ... 0.000616 0.025333 0.009807 -0.008968 -0.003920 0.001203 -0.012043 -0.009877 0.002783 0.005260
2012-02-17 -0.000221 -0.004839 -0.010694 -0.003667 0.017829 -0.011944 -0.007653 -0.014001 -0.000068 -0.006764 ... -0.003779 0.010114 -0.005133 0.001996 0.016006 0.005358 -0.011587 -0.022170 -0.007628 -0.011725
2012-02-20 -0.002240 -0.003927 -0.045285 0.008776 -0.014420 -0.000845 -0.001655 -0.014456 -0.022576 -0.004214 ... -0.003747 -0.011645 -0.002299 -0.001583 -0.012980 0.037781 -0.007630 -0.007712 0.007913 0.005438
2012-02-21 -0.004008 -0.008257 0.000628 0.031217 -0.006128 -0.005571 -0.003954 -0.000714 0.009426 -0.003576 ... -0.005828 -0.004716 -0.014273 0.002323 0.005685 -0.001024 -0.004875 0.010047 0.008187 0.015077
2012-02-22 0.006797 0.024109 0.004267 -0.013034 0.019390 0.003808 0.003169 -0.011867 -0.007630 0.011693 ... -0.000642 0.016026 -0.000049 -0.003732 0.005993 -0.000031 -0.002988 -0.014820 0.028587 0.012100
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 -0.021367 -0.010175 0.003120 0.000873 0.011782 -0.007538 -0.019942 0.004240 -0.001695 -0.002585 ... -0.002627 0.024215 0.011764 0.008328 0.007405 -0.013895 -0.009098 0.001591 0.022985 0.012995
2016-11-22 -0.015298 0.017221 0.004415 -0.003393 -0.002559 0.000262 -0.029611 -0.011596 -0.004124 -0.000322 ... -0.003450 0.041958 0.000285 0.038361 0.046262 -0.009427 -0.008082 -0.005158 -0.012134 -0.025022
2016-11-23 -0.033565 -0.003323 -0.008062 0.007541 0.017056 -0.009865 -0.008818 0.008540 -0.002092 0.009203 ... 0.056952 -0.029634 0.007937 0.015934 -0.009789 0.005033 -0.013579 0.016073 0.005284 -0.004958
2016-11-24 0.000219 0.000839 -0.005191 0.024987 0.000132 -0.009799 -0.006284 0.023240 0.007885 0.004310 ... -0.015915 -0.034203 -0.005887 0.008822 0.062475 -0.012520 -0.020645 0.016001 0.022418 -0.035910
2016-11-25 -0.021086 0.003421 0.003393 -0.010200 -0.010636 -0.007090 -0.014654 -0.017888 -0.002273 0.002498 ... -0.003277 -0.013606 0.014766 -0.004719 -0.017941 0.000826 -0.013009 -0.009159 0.005353 0.009880
2016-11-28 -0.023766 -0.004072 0.006189 0.000080 -0.018069 0.001343 0.002784 -0.014206 0.034907 0.002596 ... -0.001643 0.000889 0.005644 -0.006268 -0.011759 0.012198 -0.013572 -0.005286 -0.021128 -0.009508
2016-11-29 0.015996 0.006070 -0.000639 0.013607 0.049158 0.001203 -0.017569 -0.004971 -0.001649 0.005608 ... 0.007636 -0.009878 0.006261 -0.022275 -0.004134 0.001868 0.004250 0.003576 -0.003023 -0.001931
2016-11-30 -0.021693 0.014170 0.034941 -0.000753 -0.003518 0.003051 -0.006052 0.017413 -0.011724 0.003028 ... 0.007704 -0.008693 -0.000430 -0.004461 0.019758 -0.000262 0.002099 -0.012869 0.008885 0.035654
2016-12-01 -0.003100 -0.004905 -0.006028 -0.005811 -0.009580 -0.001829 0.000432 0.003780 -0.009201 -0.001777 ... -0.008652 0.002246 0.003351 0.003412 -0.013200 -0.003270 0.007804 0.001246 -0.005740 -0.001583
2016-12-02 -0.001643 0.003087 -0.013277 -0.012083 -0.014615 0.001989 -0.000370 0.001916 0.013783 0.015839 ... 0.010430 -0.006919 0.035722 -0.014820 0.014954 0.015853 -0.003118 0.015278 -0.007157 -0.001842
2016-12-05 -0.028814 0.001378 -0.015625 0.007656 -0.000827 0.002346 -0.001364 0.003543 0.007461 0.000974 ... 0.003306 -0.002167 0.002775 -0.011185 -0.082682 0.014048 0.007398 0.006376 -0.002244 0.015830
2016-12-06 -0.000086 -0.010215 -0.010498 -0.007121 -0.021626 0.002166 0.011168 0.018236 -0.006431 -0.006798 ... -0.000050 0.003021 -0.013774 0.002111 -0.007913 0.018075 0.008136 -0.001855 0.021571 0.010397
2016-12-07 0.024536 0.004871 0.010881 -0.000756 -0.010404 0.000130 0.007700 -0.005335 -0.000108 -0.001113 ... -0.016978 -0.003645 -0.005782 0.009372 -0.010042 -0.007833 0.004075 -0.002819 -0.008188 0.000556
2016-12-08 0.001051 0.001671 -0.008128 0.010694 -0.015294 0.000564 -0.019076 0.006515 0.026545 0.007350 ... 0.017051 -0.005452 0.007383 -0.013213 -0.004948 -0.015647 -0.003847 0.008549 -0.001935 -0.003701
2016-12-09 0.006163 0.003392 -0.000162 0.000729 0.000099 -0.002011 -0.022071 -0.003625 0.004071 0.001282 ... -0.021732 -0.014100 -0.007629 0.003846 0.004307 -0.002189 0.002993 -0.006240 0.004354 0.002690
2016-12-12 0.003080 -0.029881 -0.007357 -0.012187 0.007448 -0.001360 -0.014228 -0.008551 0.014715 0.025690 ... 0.033909 -0.007971 0.007816 -0.012314 -0.009762 0.013465 0.005547 0.013747 -0.047285 -0.027482
2016-12-13 0.009032 -0.002315 0.005527 0.011540 0.013606 0.013740 0.033505 -0.003814 -0.003095 -0.009214 ... -0.052504 -0.006611 -0.012468 -0.001986 0.010328 -0.031135 0.002085 0.030696 -0.005402 0.000245
2016-12-14 0.000316 0.006178 0.002007 0.001524 0.027489 -0.019439 -0.014572 0.003349 -0.009519 0.003356 ... -0.042258 0.007247 -0.005057 -0.022890 -0.003607 0.073114 0.013021 0.005443 0.016163 -0.007194
2016-12-15 0.031174 0.024105 0.003261 -0.005485 -0.000101 0.000610 -0.006271 0.018925 0.038019 -0.000858 ... -0.000763 -0.000003 0.000689 0.006607 -0.006747 -0.001548 0.013190 -0.006219 0.029825 0.009444
2016-12-16 0.001981 0.009873 0.004746 0.009063 0.001478 0.038963 0.004111 -0.006296 0.022730 -0.006040 ... 0.017429 0.006431 -0.001445 -0.007819 0.022706 -0.017686 0.006757 0.010531 0.002622 0.022019
2016-12-19 -0.009668 0.001342 -0.008479 -0.004878 -0.005095 0.006311 0.001352 -0.013226 -0.007369 -0.005200 ... 0.013358 0.001449 0.011142 0.005165 -0.000703 0.003897 0.001050 0.006929 -0.009303 -0.009403
2016-12-20 0.009731 0.000238 0.005106 -0.007982 -0.010546 -0.023246 -0.013676 0.022513 -0.007911 -0.000328 ... 0.020334 -0.004208 -0.007018 0.003857 0.003060 -0.021710 0.006418 0.000143 0.011128 0.010938
2016-12-21 -0.003216 -0.003478 0.000625 0.000561 0.013801 0.005191 -0.005191 -0.002995 -0.007197 -0.008735 ... 0.016204 -0.009478 -0.000973 0.011570 0.004334 0.005135 -0.005593 -0.014803 -0.002710 -0.000217
2016-12-22 -0.001946 -0.001213 0.001356 0.001715 -0.021310 -0.005892 0.055692 -0.012966 0.022110 -0.000356 ... -0.004675 0.003328 0.002769 0.041150 0.005071 0.030665 -0.002697 -0.012067 -0.013164 -0.015452
2016-12-23 -0.012509 -0.010634 -0.003797 0.020071 0.003514 -0.012609 -0.012721 0.014314 0.006794 -0.001321 ... -0.002491 0.005793 -0.005010 0.006294 0.011506 0.011020 -0.007481 0.027657 -0.001592 -0.003888
2016-12-26 0.012990 0.002928 0.006491 0.011878 0.002088 0.005295 0.009212 -0.000396 -0.008212 -0.004640 ... -0.013221 0.013787 0.003692 -0.023143 0.009576 -0.015290 0.007414 0.021195 -0.000824 0.020451
2016-12-27 -0.000460 0.004094 -0.000891 0.009199 0.000424 0.009639 -0.001100 0.005902 0.027961 -0.002027 ... -0.002864 -0.004617 -0.002188 -0.007374 0.000274 0.004919 0.010783 0.006429 0.012005 -0.006362
2016-12-28 0.002115 -0.004673 -0.001979 -0.006811 0.006947 0.002374 -0.010454 0.005383 -0.013298 0.003890 ... 0.000843 0.004684 -0.006055 -0.002861 -0.002070 -0.008987 0.014241 -0.006421 -0.018751 -0.000847
2016-12-29 0.014111 0.003009 0.012806 0.007317 0.004783 0.007730 0.004343 -0.011688 -0.020863 0.003935 ... 0.020879 0.023057 -0.004145 0.040264 0.030519 0.000152 -0.010980 -0.000209 -0.001491 -0.004788
2016-12-30 -0.004664 0.008200 -0.004031 -0.004530 -0.020287 0.007424 -0.020114 -0.011097 -0.000447 -0.009724 ... 0.011109 0.020472 0.022869 -0.004890 0.001871 -0.003202 0.003416 -0.019680 -0.000211 -0.007181

1213 rows × 896 columns


In [28]:
facRdf.describe()


Out[28]:
OCFTODEBT YOYGR OWNILLIQ PB MOM_1M IDIVOL VOLATILITY ADJTOV20 DDA20 LMAO
count 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000 1213.000000
mean -0.000055 -0.000048 0.000133 -0.000047 0.005030 0.000804 0.000235 -0.001232 -0.001095 0.001059
std 0.001009 0.001067 0.001973 0.002441 0.004168 0.002790 0.004622 0.002102 0.003127 0.003155
min -0.004729 -0.004173 -0.008659 -0.011168 -0.011099 -0.017220 -0.036592 -0.009011 -0.023596 -0.016576
25% -0.000679 -0.000759 -0.000988 -0.001380 0.002612 -0.000578 -0.001764 -0.002469 -0.002757 -0.000468
50% -0.000087 -0.000038 0.000253 -0.000063 0.004460 0.000972 0.000331 -0.001126 -0.000915 0.000854
75% 0.000545 0.000603 0.001328 0.001244 0.006959 0.002418 0.002322 0.000182 0.000697 0.002462
max 0.006206 0.004979 0.012873 0.012233 0.027178 0.021376 0.041812 0.005873 0.011319 0.033595

In [29]:
facPdf.describe()


Out[29]:
OCFTODEBT YOYGR OWNILLIQ PB MOM_1M IDIVOL VOLATILITY ADJTOV20 DDA20 LMAO
count 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03 1.213000e+03
mean 3.895309e-01 3.708092e-01 2.476814e-01 2.278012e-01 4.298095e-02 1.973727e-01 1.854545e-01 2.477450e-01 2.886036e-01 2.559220e-01
std 3.074595e-01 3.102959e-01 2.995277e-01 2.899320e-01 1.567776e-01 2.801702e-01 2.824165e-01 2.915795e-01 3.092338e-01 3.013253e-01
min 9.672660e-08 1.974388e-07 7.948037e-24 1.833418e-26 1.389795e-90 9.296564e-38 2.107253e-93 3.923049e-19 1.259952e-13 9.262465e-30
25% 1.010098e-01 7.980842e-02 5.349956e-03 2.372292e-03 7.884507e-17 4.972404e-04 2.503751e-05 6.446085e-03 1.438397e-02 5.639044e-03
50% 3.358035e-01 3.068744e-01 9.857306e-02 7.789999e-02 6.003944e-09 3.190406e-02 1.582879e-02 1.045327e-01 1.581875e-01 1.077712e-01
75% 6.536558e-01 6.325001e-01 4.491502e-01 3.748651e-01 2.123031e-04 3.141957e-01 2.870895e-01 4.336321e-01 5.173211e-01 4.652266e-01
max 9.982631e-01 9.987096e-01 9.957474e-01 9.976553e-01 9.911794e-01 9.984274e-01 9.984889e-01 9.996448e-01 9.999076e-01 9.938044e-01

In [30]:
Rsqdf


Out[30]:
R-Square
LZ_GPA_DERI_AdjustedPriceForward_20-d
2012-01-05 0.359875
2012-01-06 0.091608
2012-01-09 0.237580
2012-01-10 0.149149
2012-01-11 0.135889
2012-01-12 0.074262
2012-01-13 0.365547
2012-01-16 0.227957
2012-01-17 0.306839
2012-01-18 0.370858
2012-01-19 0.039399
2012-01-20 0.103278
2012-01-30 0.163955
2012-01-31 0.070599
2012-02-01 0.121581
2012-02-02 0.171896
2012-02-03 0.132512
2012-02-06 0.073560
2012-02-07 0.105585
2012-02-08 0.264937
2012-02-09 0.087079
2012-02-10 0.120929
2012-02-13 0.120236
2012-02-14 0.052747
2012-02-15 0.095659
2012-02-16 0.060414
2012-02-17 0.058430
2012-02-20 0.109528
2012-02-21 0.107730
2012-02-22 0.149457
... ...
2016-11-21 0.105124
2016-11-22 0.111635
2016-11-23 0.118873
2016-11-24 0.178203
2016-11-25 0.141986
2016-11-28 0.087476
2016-11-29 0.187768
2016-11-30 0.079251
2016-12-01 0.142593
2016-12-02 0.148548
2016-12-05 0.120643
2016-12-06 0.044909
2016-12-07 0.285670
2016-12-08 0.106688
2016-12-09 0.091470
2016-12-12 0.445581
2016-12-13 0.211691
2016-12-14 0.117294
2016-12-15 0.173735
2016-12-16 0.054752
2016-12-19 0.235527
2016-12-20 0.112562
2016-12-21 0.026911
2016-12-22 0.059937
2016-12-23 0.161361
2016-12-26 0.090286
2016-12-27 0.074076
2016-12-28 0.033900
2016-12-29 0.005999
2016-12-30 0.143169

1213 rows × 1 columns


In [31]:
olsresult = brm.multiFactorReg(returnDF,factorDictNor,WLS = False)

In [32]:
#correlationDF = ff.showCorrelation(factorListNor[4],factorListNor[3],MOM1Mresi.index,filterdic = None).astype(float)
#correlationDF.describe()

In [33]:
baseList = [factorListNor[4]] # choose idiosyncratic volatility as base factor to commit orthogonalize
orthoList = factorListNor[:4]+factorListNor[5:]
for i in orthoList:
    print i.index.name
    print len(baseList)
    orthogolizedDF = brm.orthoFactor(i, baseList, WLS =False, weightdf = None)
    baseList.append(orthogolizedDF)


LZ_GPA_VAL_PB-d
1
Own_Factor_LMAO
2
Own_Factor_ILLQ-1d
3
LZ_GPA_FIN_IND_OCFTODEBT-d
4
idiosyncratic volatility
5
Own_Factor_Volatility_90d
6
Own_Factor_ADJ_Turnover_Volatility_20D
7
Own_Factor_DDA-20d
8
LZ_GPA_FIN_IND_QFA_YOYGR-d
9

In [65]:
baseList[4]


Out[65]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_FIN_IND_OCFTODEBT-d
2012-01-04 -0.558808 -1.467101 2.116249 -0.039734 -0.361128 -0.669250 1.743051 0.924260 0.092957 2.212273 ... -0.142846 -0.287732 -0.712050 -0.092812 0.115117 -1.028304 0.423991 0.285355 2.124718 2.366725
2012-01-05 -0.592508 -1.455350 2.145725 -0.037751 -0.346348 -0.696483 1.726717 0.916144 0.085062 2.198664 ... -0.136186 -0.272429 -0.692556 -0.102959 0.100671 -1.072460 0.439418 0.280055 2.137090 2.308372
2012-01-06 -0.612187 -1.475342 2.115703 -0.027716 -0.327359 -0.653273 1.723392 0.916442 0.073698 2.218723 ... -0.112999 -0.243697 -0.687006 -0.100728 0.082214 -1.067837 0.473767 0.286640 2.169978 2.262670
2012-01-09 -0.621351 -1.513476 2.105069 -0.016893 -0.333940 -0.654969 1.693589 0.916014 0.083862 2.194305 ... -0.119592 -0.255596 -0.717982 -0.100048 0.073159 -1.084335 0.475023 0.281363 2.166884 2.297277
2012-01-10 -0.630593 -1.490605 2.077052 0.001705 -0.327492 -0.681425 1.663538 0.912613 0.093987 2.191339 ... -0.122260 -0.277960 -0.739911 -0.111480 0.079820 -1.067670 0.461722 0.279428 2.161672 2.282335
2012-01-11 -0.612149 -1.488342 2.184054 -0.016365 -0.324757 -0.701705 1.653597 0.908956 0.079461 2.170556 ... -0.136664 -0.281102 -0.742826 -0.127924 0.078110 -1.065679 0.446893 0.269836 2.171615 2.182721
2012-01-12 -0.600052 -1.501324 2.123595 -0.015976 -0.341141 -0.672914 1.687383 0.923594 0.075073 2.191376 ... -0.125703 -0.294181 -0.738252 -0.102927 0.100460 -1.027726 0.439942 0.276260 2.169983 2.173795
2012-01-13 -0.604141 -1.488007 2.129637 -0.026925 -0.349137 -0.686597 1.711076 0.917043 0.084525 2.180285 ... -0.137823 -0.298042 -0.724979 -0.103012 0.106509 -1.067887 0.425174 0.274765 2.144265 2.231377
2012-01-16 -0.586689 -1.489541 2.131253 -0.047849 -0.361721 -0.720693 1.702494 0.906473 0.048999 2.157265 ... -0.172827 -0.323138 -0.728487 -0.113591 0.100174 -1.069840 0.410464 0.269378 2.133502 2.308533
2012-01-17 -0.594264 -1.512758 2.150312 -0.062021 -0.369320 -0.710073 1.706639 0.899605 0.034616 2.211149 ... -0.167706 -0.331782 -0.727099 -0.110145 0.108198 -1.066274 0.398428 0.275381 2.100731 2.340549
2012-01-18 -0.600259 -1.519672 2.095617 -0.068413 -0.357432 -0.703375 1.731659 0.902887 0.047400 2.227024 ... -0.165524 -0.334010 -0.720350 -0.104195 0.112597 -1.073457 0.399236 0.284121 2.085080 2.361512
2012-01-19 -0.605344 -1.530737 2.117938 -0.071255 -0.376961 -0.717195 1.695157 0.879085 0.028549 2.268643 ... -0.166607 -0.357893 -0.730995 -0.113386 0.107091 -1.076454 0.391705 0.273179 2.076174 2.402810
2012-01-20 -0.609475 -1.527062 2.089467 -0.063968 -0.368633 -0.716792 1.677905 0.883685 0.019570 2.267936 ... -0.168457 -0.360869 -0.733089 -0.114149 0.104386 -1.088714 0.389687 0.264399 2.093644 2.417949
2012-01-30 -0.628875 -1.529098 2.109483 -0.056021 -0.342904 -0.705644 1.702180 0.891874 0.022181 2.288506 ... -0.158330 -0.333981 -0.721876 -0.113929 0.110892 -1.074208 0.395765 0.263354 2.103700 2.428829
2012-01-31 -0.614845 -1.528489 2.088506 -0.053111 -0.332288 -0.713188 1.711255 0.895289 0.029051 2.318431 ... -0.173914 -0.339646 -0.715076 -0.115053 0.123515 -1.081714 0.399977 0.266183 2.110780 2.453260
2012-02-01 -0.648308 -1.523340 2.165384 -0.062719 -0.355163 -0.726979 1.689528 0.891325 0.025712 2.309589 ... -0.173795 -0.365278 -0.732129 -0.118186 0.140768 -1.090634 0.395351 0.269989 2.101004 2.445269
2012-02-02 -0.649808 -1.512911 2.130300 -0.077721 -0.345413 -0.755904 1.687654 0.913055 0.059053 2.269845 ... -0.167319 -0.349999 -0.717120 -0.117423 0.165950 0.012430 0.397698 0.276895 2.070138 2.375558
2012-02-03 -0.651153 -1.478182 2.204842 -0.079228 -0.355797 -0.754143 1.672437 0.904637 0.042105 2.262105 ... -0.171287 -0.370329 -0.725360 -0.126365 0.149352 -0.004992 0.397570 0.265032 2.054561 2.345274
2012-02-06 -0.658427 -1.493731 2.238955 -0.051431 -0.369685 -0.723659 1.659371 0.888755 0.043304 2.221331 ... -0.177399 -0.370504 -0.750475 -0.118768 0.113525 0.009150 0.391665 0.255943 2.114931 2.342208
2012-02-07 -0.674453 -1.454804 2.181033 -0.071092 -0.363109 -0.733964 1.662366 0.897780 0.067080 2.250960 ... -0.182143 -0.351593 -0.758874 -0.112781 0.132600 0.008999 0.393023 0.264643 2.081906 2.333424
2012-02-08 -0.620347 -1.465644 2.121319 -0.068856 -0.354073 -0.732433 1.670525 0.896793 0.072249 2.229748 ... -0.172900 -0.332933 -0.730373 -0.109666 0.127317 0.023786 0.397645 0.265667 2.071864 2.286674
2012-02-09 -0.615776 -1.471444 2.167212 -0.074414 -0.357801 -0.764419 1.672735 0.899591 0.074400 2.222482 ... -0.179580 -0.337356 -0.721744 -0.113726 0.118649 -0.010252 0.373203 0.265448 2.057948 2.306791
2012-02-10 -0.638576 -1.469897 2.085650 -0.079162 -0.356638 -0.737597 1.716239 0.912096 0.040176 2.269928 ... -0.192170 -0.287585 -0.676245 -0.131266 0.112517 -0.050676 0.375691 0.352964 2.022175 2.349474
2012-02-13 -0.628430 -1.512949 2.068514 -0.069371 -0.363152 -0.662766 1.674843 0.923298 0.034895 2.264762 ... -0.177195 -0.280570 -0.693670 -0.127502 0.086254 -0.046484 0.410477 0.322748 2.060203 2.340541
2012-02-14 -0.657277 -1.574621 2.101447 -0.074268 -0.368353 -0.663346 1.650606 0.910111 0.038714 2.302081 ... -0.188441 -0.322054 -0.681273 -0.141364 0.075608 -0.062038 0.397293 0.327096 1.995398 2.399521
2012-02-15 -0.656413 -1.546389 2.043030 -0.090404 -0.359322 -0.731154 1.615685 0.957084 0.043542 2.343285 ... -0.177836 -0.338710 -0.692225 -0.164379 0.110906 -0.054665 0.389225 0.360482 1.946209 2.408764
2012-02-16 -0.688983 -1.526701 2.076697 -0.075442 -0.363615 -0.748723 1.630486 0.974120 0.086224 2.353392 ... -0.165543 -0.298931 -0.641476 -0.193779 0.111770 -0.068220 0.406017 0.384215 1.910328 2.284585
2012-02-17 -0.692994 -1.549397 1.980575 -0.104006 -0.333759 -0.757435 1.584920 0.981150 0.124288 2.312880 ... -0.139998 -0.304538 -0.584756 -0.210312 0.168652 -0.092961 0.378615 0.399176 1.816747 2.193292
2012-02-20 -0.837414 -1.461691 2.028392 -0.086667 -0.343573 -0.823098 1.603976 0.985675 0.044418 2.287561 ... -0.147997 -0.462137 -0.545518 -0.252094 0.130373 -0.010174 0.412616 0.352728 1.900774 2.231611
2012-02-21 -0.809636 -1.479380 2.100705 -0.003864 -0.350667 -0.880697 1.592523 0.960145 0.042442 2.269716 ... -0.201598 -0.428954 -0.551928 -0.280126 0.096416 0.093387 0.434906 0.378267 1.946688 2.264397
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 -0.527801 -1.423100 2.905099 -1.399173 -0.799430 -0.073442 1.366875 -0.096117 -0.754596 2.436519 ... -0.268719 -0.529728 -0.365826 -0.116203 -0.266878 -1.080613 -0.147393 -0.184360 -0.136767 0.842318
2016-11-22 -0.481448 -1.426134 2.901633 -1.390526 -0.813766 -0.014964 1.347709 -0.096227 -0.746555 2.423345 ... -0.262028 -0.503986 -0.364331 -0.123573 -0.255216 -1.052523 -0.121596 -0.195622 -0.113842 0.851867
2016-11-23 -0.512512 -1.442078 2.886870 -1.368368 -0.793865 -0.036488 1.331488 -0.054098 -0.751845 2.409493 ... -0.268228 -0.510970 -0.343318 -0.089308 -0.220056 -1.074072 -0.100913 -0.196484 -0.105188 0.876325
2016-11-24 -0.570565 -1.446438 2.854207 -1.350776 -0.745547 0.091469 1.322245 -0.101241 -0.748234 2.444092 ... -0.292125 -0.573038 -0.362794 -0.108357 -0.239102 -1.068085 -0.165037 -0.201069 -0.023914 0.835758
2016-11-25 -0.537552 -1.440612 2.824055 -1.390697 -0.652231 0.103477 1.345539 -0.104634 -0.793895 2.443437 ... -0.314695 -0.564995 -0.392732 -0.094648 -0.225071 -1.101206 -0.102583 -0.218929 0.032178 0.790053
2016-11-28 -0.639399 -1.446849 2.841889 -1.350287 -0.678116 0.099486 1.332490 -0.128435 -0.793843 2.460058 ... -0.316524 -0.587154 -0.360264 -0.122106 -0.236277 -1.033130 -0.141674 -0.191960 -0.021395 0.766718
2016-11-29 -0.614571 -1.453324 2.840217 -1.358457 -0.705755 0.119666 1.286265 -0.150138 -0.812219 2.501117 ... -0.317432 -0.593042 -0.394569 -0.113707 -0.222792 -1.035263 -0.154679 -0.205688 -0.059828 0.753887
2016-11-30 -0.595952 -1.444042 2.864911 -1.375729 -0.655817 0.179675 1.259906 -0.186049 -0.833192 2.514534 ... -0.315925 -0.612251 -0.438871 -0.089115 -0.208505 -1.046125 -0.097409 -0.226664 -0.074507 0.757180
2016-12-01 -0.577353 -1.452018 2.890644 -1.352377 -0.653587 0.172908 1.211000 -0.175452 -0.835792 2.503419 ... -0.310594 -0.587871 -0.427692 -0.077228 -0.199215 -1.036731 -0.094295 -0.263867 -0.064617 0.753245
2016-12-02 -0.623236 -1.438219 2.865956 -1.367956 -0.753531 0.093864 1.192653 -0.163969 -0.792437 2.571233 ... -0.298812 -0.607161 -0.381763 -0.103827 -0.220285 -1.004849 -0.109355 -0.175614 -0.088363 0.775700
2016-12-05 -0.594684 -1.437661 2.853242 -1.385560 -0.687927 0.093905 1.218638 -0.145930 -0.797379 2.598310 ... -0.306985 -0.595127 -0.378297 -0.127453 -0.238309 -1.022480 -0.123622 -0.189770 -0.008360 0.772129
2016-12-06 -0.610316 -1.434510 2.858004 -1.387314 -0.748090 0.116640 1.193396 -0.163288 -0.783378 2.597475 ... -0.333113 -0.578411 -0.376043 -0.166702 -0.228674 -1.042519 -0.153705 -0.160277 0.037074 0.764366
2016-12-07 -0.607507 -1.461838 2.817944 -1.404465 -0.710473 0.073071 1.264229 -0.169692 -0.819727 2.621188 ... -0.309323 -0.577207 -0.389385 -0.136251 -0.240720 -1.021223 -0.176480 -0.203769 0.027132 0.774934
2016-12-08 -0.589832 -1.455790 2.795404 -1.391668 -0.767579 0.086414 1.249882 -0.125218 -0.792791 2.630365 ... -0.312852 -0.587945 -0.361981 -0.155433 -0.235744 -1.041400 -0.184446 -0.162074 -0.004075 0.776574
2016-12-09 -0.591824 -1.453051 2.788156 -1.368870 -0.720345 0.138372 1.223686 -0.138893 -0.803204 2.608679 ... -0.308663 -0.599950 -0.380999 -0.155838 -0.240234 -1.035122 -0.160052 -0.207731 0.043305 0.787394
2016-12-12 -0.547768 -1.435957 2.822285 -1.381862 -0.754163 0.109011 1.209452 -0.094896 -0.793665 2.624398 ... -0.355371 -0.614436 -0.392487 -0.192777 -0.213199 -1.040936 -0.124066 -0.193033 0.003874 0.782778
2016-12-13 -0.515603 -1.402375 2.835724 -1.403219 -0.800452 0.066176 1.201304 -0.034197 -0.773157 2.614849 ... -0.336007 -0.567485 -0.357550 -0.223320 -0.202998 -1.033070 -0.088238 -0.272640 0.037042 0.803631
2016-12-14 -0.507572 -1.377460 2.875478 -1.372299 -0.931140 0.108968 1.201349 -0.011126 -0.756576 2.608661 ... -0.290523 -0.566670 -0.324381 -0.201406 -0.195570 -1.052631 -0.059417 -0.258214 0.021598 0.830346
2016-12-15 -0.584186 -1.437684 2.868869 -1.369071 -0.831128 0.078216 1.241683 -0.104753 -0.815916 2.640949 ... -0.324596 -0.584976 -0.385250 -0.203028 -0.213400 -1.044582 -0.071709 -0.264122 -0.029072 0.814114
2016-12-16 -0.569720 -1.438179 2.855105 -1.384744 -0.836643 0.029612 1.269124 -0.081078 -0.840922 2.648591 ... -0.352829 -0.581975 -0.354863 -0.190525 -0.232623 -1.036130 -0.093815 -0.270951 -0.051525 0.793017
2016-12-19 -0.555241 -1.450968 2.850991 -1.341863 -0.859633 0.061278 1.329667 -0.073501 -0.831233 2.605708 ... -0.400146 -0.545906 -0.383410 -0.208458 -0.218078 -1.034935 -0.075397 -0.300291 0.020906 0.811224
2016-12-20 -0.551322 -1.436742 2.843266 -1.356036 -0.784761 0.068335 1.375520 -0.105151 -0.826867 2.586653 ... -0.418864 -0.548074 -0.370023 -0.203173 -0.201730 -1.029622 -0.084856 -0.241426 0.003839 0.831493
2016-12-21 -0.558252 -1.433773 2.836360 -1.400875 -0.759915 0.106801 1.383135 -0.135582 -0.827519 2.585671 ... -0.415065 -0.521358 -0.384258 -0.195672 -0.172128 -1.044040 -0.074656 -0.248566 0.014811 0.821691
2016-12-22 -0.557396 -1.431089 2.778907 -1.419603 -0.810766 0.152838 1.289643 -0.087185 -0.816726 2.575595 ... -0.357709 -0.496238 -0.347595 -0.198618 -0.178750 -1.054322 -0.003308 -0.208354 0.033781 0.815229
2016-12-23 -0.579460 -1.456907 2.789511 -1.401713 -0.809437 0.166706 1.294796 -0.040178 -0.819733 2.581029 ... -0.352018 -0.480468 -0.379306 -0.190012 -0.135569 -1.085374 -0.006556 -0.203149 -0.024181 0.804293
2016-12-26 -0.609297 -1.393802 2.742459 -1.441182 -0.880022 0.098357 1.252187 -0.035487 -0.821572 2.575838 ... -0.325528 -0.515711 -0.391271 -0.157609 -0.135558 -1.088016 -0.038796 -0.211564 -0.014997 0.769717
2016-12-27 -0.597420 -1.434068 2.777105 -1.401944 -0.866567 0.123348 1.283414 -0.048391 -0.851703 2.578010 ... -0.331711 -0.484872 -0.405351 -0.162284 -0.120432 -1.093277 -0.102393 -0.267458 0.005136 0.745643
2016-12-28 -0.588831 -1.441727 2.743306 -1.359425 -0.809993 0.126383 1.246600 -0.053149 -0.814817 2.590625 ... -0.307215 -0.505484 -0.421976 -0.145220 -0.178032 -1.044533 -0.118908 -0.212469 -0.134733 0.739858
2016-12-29 -0.587620 -1.391120 2.817492 -1.347574 -0.762882 0.143530 1.285469 -0.036380 -0.812995 2.584803 ... -0.332713 -0.586251 -0.434143 -0.192261 -0.192427 -1.060659 -0.164204 -0.227607 -0.046941 0.778192
2016-12-30 -0.533518 -1.368787 2.848992 -1.362043 -0.871931 0.163145 1.287647 -0.073950 -0.828818 2.541232 ... -0.349016 -0.640769 -0.481799 -0.186159 -0.171849 -1.065081 -0.216628 -0.205765 0.040450 0.798943

1214 rows × 896 columns


In [78]:
filename7factor.keys()


Out[78]:
['PB',
 'LMAO',
 'OWNILLIQ',
 'OCFTODEBT',
 'MOM_1M',
 'IDIVOL',
 'VOLATILITY',
 'ADJTOV20',
 'DDA20',
 'YOYGR']

In [85]:
baseListName = [toUseNameDict[i.index.name] for i in baseList]

In [86]:
baseListName


Out[86]:
['MOM_1M',
 'PB',
 'LMAO',
 'OWNILLIQ',
 'OCFTODEBT',
 'IDIVOL',
 'VOLATILITY',
 'ADJTOV20',
 'DDA20',
 'YOYGR']

In [87]:
secDic = dict(zip(baseListName,baseList))

In [89]:
#for i in range(7):
sd = brm.multiFactorReg(returnDF ,{baseList[4].index.name:baseList[4]},WLS = True, weightdf = weight)
sd[3].describe()


Out[89]:
R-Square
count 1213.000000
mean 0.000607
std 0.002536
min -0.001117
25% -0.000927
50% -0.000367
75% 0.001097
max 0.022541

In [90]:
result = brm.multiFactorReg(returnDF ,secDic,WLS = True, weightdf = weight)

In [91]:
result[3].describe()


Out[91]:
R-Square
count 1213.000000
mean 0.146087
std 0.075850
min -0.000935
25% 0.090528
50% 0.135257
75% 0.191963
max 0.421844

In [122]:
baseDate = datetime.strptime('20161230', '%Y%m%d')

In [132]:
factorReturn = result[1]
specificReturn = result[0]
compara = 1/0.94 - 1
factorCov = factorReturn.loc[:baseDate].ewm(ignore_na=True, min_periods=0, com=compara).cov(pairwise = True).iloc[-1]

In [142]:
factorCov


Out[142]:
OCFTODEBT YOYGR OWNILLIQ PB MOM_1M IDIVOL VOLATILITY ADJTOV20 DDA20 LMAO
OCFTODEBT 3.867860e-07 3.427259e-07 6.732383e-07 4.695824e-07 1.469851e-07 -2.022746e-06 -5.024461e-07 -1.371894e-06 -1.573042e-06 -1.135455e-06
YOYGR 3.427259e-07 3.197047e-07 6.273763e-07 4.364218e-07 1.489391e-07 -1.909824e-06 -4.744795e-07 -1.279002e-06 -1.478403e-06 -1.067356e-06
OWNILLIQ 6.732383e-07 6.273763e-07 1.237241e-06 8.596097e-07 2.994755e-07 -3.760477e-06 -9.282367e-07 -2.522795e-06 -2.912429e-06 -2.119702e-06
PB 4.695824e-07 4.364218e-07 8.596097e-07 5.976550e-07 2.061421e-07 -2.611242e-06 -6.454996e-07 -1.752012e-06 -2.022295e-06 -1.469067e-06
MOM_1M 1.469851e-07 1.489391e-07 2.994755e-07 2.061421e-07 8.742651e-08 -9.230027e-07 -2.217591e-07 -6.114547e-07 -7.110135e-07 -5.348987e-07
IDIVOL -2.022746e-06 -1.909824e-06 -3.760477e-06 -2.611242e-06 -9.230027e-07 1.147340e-05 2.837716e-06 7.671095e-06 8.876210e-06 6.445268e-06
VOLATILITY -5.024461e-07 -4.744795e-07 -9.282367e-07 -6.454996e-07 -2.217591e-07 2.837716e-06 7.079388e-07 1.893674e-06 2.194495e-06 1.576375e-06
ADJTOV20 -1.371894e-06 -1.279002e-06 -2.522795e-06 -1.752012e-06 -6.114547e-07 7.671095e-06 1.893674e-06 5.147210e-06 5.942578e-06 4.325156e-06
DDA20 -1.573042e-06 -1.478403e-06 -2.912429e-06 -2.022295e-06 -7.110135e-07 8.876210e-06 2.194495e-06 5.942578e-06 6.870956e-06 4.991837e-06
LMAO -1.135455e-06 -1.067356e-06 -2.119702e-06 -1.469067e-06 -5.348987e-07 6.445268e-06 1.576375e-06 4.325156e-06 4.991837e-06 3.674919e-06

In [94]:
specificReturn


Out[94]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_DERI_AdjustedPriceForward_20-d
2012-01-05 -0.037224 -0.019818 -0.009698 -0.054578 -0.019886 -0.102905 -0.066143 -0.030264 0.016382 -0.056433 ... -0.028931 -0.028128 -0.048888 -0.032830 -0.055513 -0.055842 -0.038409 -0.029246 -0.017399 -0.039831
2012-01-06 -0.003832 0.041683 0.005316 0.006875 0.007620 -0.072032 0.030591 0.008241 0.038290 -0.002927 ... 0.008594 0.017164 0.027541 0.007395 0.023291 0.022933 -0.019081 0.010798 -0.015289 0.019855
2012-01-09 0.034066 0.072406 0.047580 0.037144 0.013856 0.013094 0.061227 0.030117 0.000906 0.067417 ... 0.032212 0.012182 0.064887 0.034423 0.073090 0.062036 0.027795 0.035112 0.009227 -0.032123
2012-01-10 0.037478 0.006142 0.016599 0.038947 0.012276 0.086534 0.073578 0.031845 0.006853 0.056805 ... 0.029974 0.019594 0.040285 0.050021 0.059436 0.059857 0.054275 0.034133 0.014724 0.029892
2012-01-11 0.013771 -0.021584 -0.018649 -0.006695 0.001730 0.008290 -0.023546 0.001877 -0.009406 0.002357 ... -0.000374 -0.018361 -0.009502 0.013065 -0.000164 -0.003239 -0.009697 0.006695 -0.007673 0.083537
2012-01-12 -0.008978 -0.004005 -0.008408 -0.005979 0.006388 -0.023574 0.002822 -0.000567 -0.003452 0.019771 ... -0.015280 0.027684 -0.006289 -0.008206 -0.007715 -0.022837 -0.004625 0.004536 0.000872 -0.014363
2012-01-13 -0.016850 -0.049337 -0.052148 -0.028530 -0.009126 -0.011467 -0.050563 -0.030209 -0.017602 -0.031673 ... -0.028210 0.032060 -0.024968 -0.031070 -0.056184 -0.094560 -0.040186 -0.008516 -0.032397 -0.042294
2012-01-16 -0.049580 -0.017532 -0.011754 -0.041859 -0.020608 0.002087 -0.037915 -0.024708 -0.017345 -0.039308 ... -0.015048 -0.018409 -0.027658 -0.024587 -0.030593 -0.112807 -0.038233 -0.038296 -0.015131 -0.013023
2012-01-17 0.042023 0.053636 0.035547 0.058731 0.010051 0.047009 0.061889 0.032655 0.032301 0.082175 ... 0.046551 0.016325 0.052172 0.059400 0.093455 0.094851 0.045020 0.040338 0.023672 0.044488
2012-01-18 -0.008587 -0.016229 -0.052859 -0.027694 0.021495 -0.027958 -0.007828 -0.016458 -0.004337 -0.030019 ... -0.027582 -0.006412 -0.021819 -0.031379 -0.057986 -0.069052 -0.022071 -0.017325 0.002282 -0.006381
2012-01-19 -0.006044 0.033853 0.019061 0.014909 0.000494 0.002542 0.005411 0.013370 0.003993 0.011129 ... 0.023696 0.033044 0.026586 0.008901 0.024762 0.075836 0.005771 0.001294 -0.071303 0.007627
2012-01-20 0.001155 0.037141 0.007330 0.028864 0.005629 0.043712 0.039693 0.012536 0.004484 0.004199 ... 0.003085 -0.002770 0.040700 0.011171 0.037176 0.019687 0.022837 0.012837 0.021631 -0.009341
2012-01-30 -0.021805 -0.012305 -0.015607 0.006347 0.001108 -0.014879 -0.037733 0.004546 -0.011750 -0.009135 ... -0.005663 -0.014704 -0.025834 -0.003518 -0.005461 -0.020006 -0.007196 -0.007305 -0.017175 -0.014914
2012-01-31 -0.012746 0.015990 -0.019447 -0.000157 0.012348 -0.004261 -0.010690 0.003507 0.015168 -0.021029 ... 0.004872 -0.043060 0.010318 -0.013806 -0.005500 -0.010689 -0.006313 -0.000801 -0.001356 -0.004042
2012-02-01 -0.003339 0.001952 -0.005947 -0.016890 -0.016572 0.005763 -0.028694 0.007114 0.005909 -0.019493 ... -0.003611 -0.015372 -0.021698 -0.005307 -0.009086 -0.022750 0.002777 -0.004373 -0.003195 -0.006885
2012-02-02 0.015592 0.017129 0.056764 0.012874 0.006015 0.006039 0.015608 0.016771 0.013801 0.023270 ... 0.012945 0.003637 0.014103 0.018876 0.022086 0.031701 0.015471 0.016436 0.007337 0.007989
2012-02-03 0.022135 -0.007186 -0.003869 0.013020 -0.002928 -0.004739 -0.002031 0.034113 0.001962 0.039473 ... 0.016416 0.010691 0.011308 0.012368 0.026901 0.069309 0.054008 0.017862 0.018162 0.010222
2012-02-06 0.013539 -0.009021 0.028921 0.007824 -0.006603 0.016479 0.017606 -0.010654 -0.009726 0.001094 ... 0.027615 0.031663 0.001028 0.001417 0.018845 0.036982 -0.005372 0.008911 0.024846 -0.011408
2012-02-07 -0.017858 -0.015338 -0.016515 -0.021608 -0.006490 -0.012381 -0.026935 -0.020664 0.001355 -0.036890 ... -0.030668 -0.010399 -0.021333 -0.004903 -0.050808 -0.040285 -0.022573 -0.024112 -0.009346 -0.017487
2012-02-08 0.013370 0.015779 0.024079 0.034185 0.011670 0.007554 0.030669 0.025832 0.010092 0.031335 ... 0.032887 0.013004 0.010763 0.023125 0.046026 0.050951 0.026510 0.029609 0.023274 0.005822
2012-02-09 0.008322 -0.002652 -0.013985 0.019433 -0.012218 -0.001829 0.004663 0.006531 0.010963 0.030653 ... 0.008969 -0.010757 0.011958 0.005449 0.006876 0.021102 0.025508 0.007209 -0.006817 0.017529
2012-02-10 0.012791 -0.009126 -0.009899 -0.000388 -0.002661 0.019595 0.005820 -0.006799 0.000001 0.001051 ... -0.001303 0.008173 -0.002663 0.011392 0.022351 0.006302 -0.009301 0.083976 0.011190 0.000606
2012-02-13 -0.000255 0.004410 0.046165 0.023389 0.006626 -0.012968 -0.014712 0.033145 0.003809 0.004750 ... 0.012891 -0.016250 0.025936 0.001622 0.021127 0.014709 0.013465 -0.012874 0.004059 -0.010403
2012-02-14 0.009599 0.009437 0.033950 -0.000094 0.006521 -0.006457 0.015692 -0.017244 0.013190 0.009707 ... -0.006786 -0.013815 0.027969 -0.010135 -0.000352 -0.002378 -0.008454 -0.021457 -0.013746 -0.003490
2012-02-15 0.012473 0.001237 0.015177 0.003117 0.008780 -0.000466 0.011752 0.026839 0.003073 0.050328 ... 0.028660 0.010209 -0.001640 0.025585 0.055243 0.019202 0.036798 -0.000071 0.018925 0.002857
2012-02-16 0.003802 0.006727 0.001327 0.001116 -0.007946 0.016390 -0.001617 -0.013502 0.013120 -0.008499 ... 0.000368 0.025248 0.009637 -0.009210 -0.004381 0.000725 -0.012227 -0.010105 0.002685 0.005179
2012-02-17 -0.002618 -0.007325 -0.012996 -0.007103 0.016555 -0.014701 -0.010787 -0.016195 -0.001919 -0.011119 ... -0.006866 0.009041 -0.007250 -0.001039 0.010200 -0.000665 -0.013879 -0.025020 -0.008812 -0.012728
2012-02-20 -0.000332 -0.002035 -0.043632 0.011416 -0.013445 0.001273 0.000730 -0.012756 -0.021138 -0.000855 ... -0.001356 -0.010785 -0.000649 0.000758 -0.008504 0.042417 -0.005877 -0.005493 0.008741 0.006196
2012-02-21 0.004950 0.000720 0.008327 0.044102 -0.001556 0.004601 0.007453 0.007384 0.016301 0.012407 ... 0.005610 -0.000627 -0.006541 0.013495 0.027145 0.020924 0.003432 0.020683 0.012225 0.018783
2012-02-22 0.021025 0.038936 0.016051 0.007399 0.026629 0.019764 0.020769 0.000859 0.003076 0.036710 ... 0.017545 0.022639 0.012361 0.013884 0.040036 0.034923 0.010139 0.001947 0.035241 0.018117
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 -0.019986 -0.008101 0.003908 0.001862 0.012666 -0.007200 -0.019021 0.005126 -0.000555 -0.001850 ... -0.001335 0.025505 0.012243 0.009461 0.009238 -0.011881 -0.008681 0.002348 0.024609 0.014156
2016-11-22 -0.007877 0.028457 0.008682 0.001877 0.002194 0.002073 -0.024750 -0.006913 0.001948 0.003595 ... 0.003472 0.049186 0.002799 0.044671 0.056455 0.001309 -0.005814 -0.001139 -0.003450 -0.018893
2016-11-23 -0.037946 -0.010052 -0.010603 0.004392 0.014131 -0.010940 -0.011725 0.005722 -0.005685 0.006828 ... 0.052519 -0.033908 0.006422 0.012077 -0.015869 -0.001378 -0.014918 0.013619 0.000061 -0.008627
2016-11-24 -0.000969 -0.000986 -0.005874 0.024117 -0.000649 -0.010083 -0.007064 0.022455 0.006911 0.003673 ... -0.017106 -0.035326 -0.006271 0.007766 0.060764 -0.014255 -0.020979 0.015326 0.020979 -0.036869
2016-11-25 -0.016786 0.010116 0.005910 -0.007031 -0.007809 -0.006087 -0.011839 -0.015093 0.001275 0.004844 ... 0.001070 -0.009514 0.016181 -0.000847 -0.011697 0.007180 -0.011826 -0.006716 0.010633 0.013591
2016-11-28 -0.021213 -0.000057 0.007710 0.001973 -0.016402 0.001991 0.004476 -0.012568 0.037102 0.004010 ... 0.000958 0.003555 0.006509 -0.003952 -0.008013 0.016002 -0.012881 -0.003835 -0.017992 -0.007305
2016-11-29 0.008886 -0.005063 -0.004854 0.008315 0.044253 -0.000376 -0.022182 -0.009418 -0.007680 0.001583 ... 0.000438 -0.017124 0.003872 -0.028547 -0.014476 -0.008623 0.002328 -0.000443 -0.011687 -0.007976
2016-11-30 -0.026643 0.006194 0.031806 -0.004515 -0.006966 0.001958 -0.009332 0.014152 -0.015983 0.000174 ... 0.002583 -0.013814 -0.002165 -0.008877 0.012352 -0.007701 0.000760 -0.015694 0.002697 0.031258
2016-12-01 0.002448 0.003948 -0.002691 -0.001668 -0.005771 -0.000577 0.004149 0.007409 -0.004400 0.001345 ... -0.002973 0.008013 0.005262 0.008404 -0.004975 0.005120 0.009331 0.004454 0.001130 0.003291
2016-12-02 -0.016394 -0.020371 -0.022057 -0.022953 -0.024795 -0.001447 -0.010231 -0.007663 0.001126 0.007613 ... -0.004634 -0.022172 0.030543 -0.027960 -0.006929 -0.006400 -0.007145 0.006859 -0.025329 -0.014659
2016-12-05 -0.033764 -0.006670 -0.018636 0.003896 -0.004276 0.001151 -0.004726 0.000277 0.003090 -0.001845 ... -0.001852 -0.007389 0.001017 -0.015663 -0.089943 0.006376 0.005970 0.003460 -0.008437 0.011413
2016-12-06 0.000607 -0.009088 -0.010074 -0.006594 -0.021142 0.002338 0.011646 0.018692 -0.005826 -0.006399 ... 0.000670 0.003751 -0.013534 0.002746 -0.006899 0.019156 0.008341 -0.001448 0.022440 0.011019
2016-12-07 0.034176 0.020348 0.016726 0.006469 -0.003779 0.002556 0.014293 0.000969 0.008160 0.004238 ... -0.007104 0.006431 -0.002520 0.018106 0.003926 0.007019 0.006974 0.002760 0.003750 0.009084
2016-12-08 -0.003290 -0.005307 -0.010783 0.007430 -0.018264 -0.000515 -0.022003 0.003711 0.022774 0.004918 ... 0.012556 -0.009970 0.005886 -0.017161 -0.011238 -0.022339 -0.005145 0.006028 -0.007322 -0.007526
2016-12-09 0.004248 0.000289 -0.001344 -0.000712 -0.001206 -0.002479 -0.023379 -0.004873 0.002405 0.000201 ... -0.023708 -0.016107 -0.008300 0.002075 0.001499 -0.005152 0.002408 -0.007357 0.001958 0.000993
2016-12-12 -0.033855 -0.090143 -0.029533 -0.040030 -0.018372 -0.011709 -0.039260 -0.031922 -0.017977 0.004047 ... -0.006060 -0.047215 -0.005012 -0.047289 -0.064371 -0.045698 -0.005423 -0.008057 -0.093341 -0.059801
2016-12-13 0.013261 0.004534 0.008059 0.014762 0.016626 0.014985 0.036448 -0.001179 0.000628 -0.006746 ... -0.048056 -0.002153 -0.011028 0.002029 0.016609 -0.024442 0.003365 0.033298 -0.000162 0.003911
2016-12-14 -0.005239 -0.002859 -0.001326 -0.002740 0.023367 -0.021037 -0.018392 -0.000155 -0.014420 0.000053 ... -0.048004 0.001375 -0.006970 -0.028156 -0.011874 0.064028 0.011323 0.001969 0.009208 -0.012044
2016-12-15 0.037205 0.033771 0.006816 -0.000965 0.004283 0.002342 -0.002225 0.022764 0.043353 0.002626 ... 0.005386 0.006257 0.002790 0.012225 0.002050 0.008090 0.015078 -0.002522 0.037332 0.014626
2016-12-16 0.007580 0.018842 0.008055 0.013275 0.005532 0.040619 0.007852 -0.002761 0.027744 -0.002850 ... 0.023178 0.012240 0.000488 -0.002655 0.030916 -0.008763 0.008528 0.013990 0.009595 0.026872
2016-12-19 -0.009348 0.001855 -0.008287 -0.004636 -0.004861 0.006399 0.001566 -0.013024 -0.007078 -0.005012 ... 0.013695 0.001782 0.011258 0.005467 -0.000234 0.004412 0.001154 0.007133 -0.008908 -0.009126
2016-12-20 0.006804 -0.004414 0.003360 -0.010172 -0.012620 -0.024098 -0.015600 0.020632 -0.010552 -0.002021 ... 0.017251 -0.007242 -0.008064 0.001122 -0.001184 -0.026374 0.005463 -0.001702 0.007507 0.008398
2016-12-21 0.003644 0.007380 0.004710 0.005693 0.018688 0.007197 -0.000714 0.001409 -0.001031 -0.004833 ... 0.023427 -0.002378 0.001463 0.018008 0.014279 0.016101 -0.003395 -0.010548 0.005754 0.005687
2016-12-22 -0.002787 -0.002546 0.000853 0.001081 -0.021905 -0.006136 0.055116 -0.013502 0.021339 -0.000838 ... -0.005560 0.002456 0.002465 0.040340 0.003860 0.029297 -0.002967 -0.012587 -0.014196 -0.016177
2016-12-23 -0.021112 -0.024298 -0.008947 0.013443 -0.002623 -0.015069 -0.018596 0.008763 -0.001237 -0.006343 ... -0.011582 -0.003149 -0.008129 -0.002114 -0.000864 -0.003197 -0.010240 0.022157 -0.012200 -0.011310
2016-12-26 0.014858 0.005862 0.007607 0.013318 0.003423 0.005841 0.010481 0.000784 -0.006488 -0.003567 ... -0.011265 0.015721 0.004362 -0.021358 0.012214 -0.012221 0.008009 0.022388 0.001454 0.022068
2016-12-27 -0.001322 0.002742 -0.001407 0.008533 -0.000195 0.009406 -0.001684 0.005355 0.027149 -0.002522 ... -0.003769 -0.005504 -0.002497 -0.008191 -0.000932 0.003494 0.010500 0.005870 0.010950 -0.007107
2016-12-28 -0.000614 -0.008929 -0.003600 -0.008892 0.005003 0.001573 -0.012283 0.003652 -0.015854 0.002350 ... -0.002030 0.001870 -0.007008 -0.005437 -0.005866 -0.013506 0.013330 -0.008181 -0.022094 -0.003205
2016-12-29 0.011480 -0.001015 0.011263 0.005325 0.002941 0.007007 0.002594 -0.013311 -0.023279 0.002448 ... 0.018108 0.020340 -0.005062 0.037743 0.026895 -0.004151 -0.011858 -0.001905 -0.004643 -0.007024
2016-12-30 -0.003027 0.010719 -0.003080 -0.003277 -0.019140 0.007858 -0.019054 -0.010086 0.001085 -0.008791 ... 0.012872 0.022213 0.023470 -0.003306 0.004122 -0.000502 0.003988 -0.018617 0.001742 -0.005796

1213 rows × 896 columns


In [95]:
benchmarkWeight = pd.read_csv(path+ZZ500Weight,infer_datetime_format=True,parse_dates=[0],index_col=0)[stkList].loc[startTime:endTime].iloc[1:].fillna(0)

In [96]:
benchmarkWeight


Out[96]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
LZ_GPA_INDEX_CSI500WEIGHT-d
2012-01-05 0.0000 0.0 0.0000 0.2701 0.1272 0.1702 0.2268 0.1492 0.0000 0.3497 ... 0.2588 0.0000 0.1413 0.0000 0.0 0.0 0.1763 0.2054 0.0000 0.0
2012-01-06 0.0000 0.0 0.0000 0.2666 0.1247 0.1590 0.2188 0.1490 0.0000 0.3455 ... 0.2608 0.0000 0.1361 0.0000 0.0 0.0 0.1737 0.2066 0.0000 0.0
2012-01-09 0.0000 0.0 0.0000 0.2690 0.1257 0.1474 0.2278 0.1507 0.0000 0.3483 ... 0.2630 0.0000 0.1392 0.0000 0.0 0.0 0.1691 0.2090 0.0000 0.0
2012-01-10 0.0000 0.0 0.0000 0.2684 0.1265 0.1461 0.2331 0.1513 0.0000 0.3566 ... 0.2629 0.0000 0.1449 0.0000 0.0 0.0 0.1699 0.2094 0.0000 0.0
2012-01-11 0.0000 0.0 0.0000 0.2675 0.1267 0.1544 0.2383 0.1515 0.0000 0.3578 ... 0.2610 0.0000 0.1468 0.0000 0.0 0.0 0.1750 0.2087 0.0000 0.0
2012-01-12 0.0000 0.0 0.0000 0.2643 0.1271 0.1573 0.2332 0.1507 0.0000 0.3582 ... 0.2590 0.0000 0.1454 0.0000 0.0 0.0 0.1728 0.2082 0.0000 0.0
2012-01-13 0.0000 0.0 0.0000 0.2633 0.1279 0.1543 0.2347 0.1507 0.0000 0.3664 ... 0.2555 0.0000 0.1446 0.0000 0.0 0.0 0.1723 0.2092 0.0000 0.0
2012-01-16 0.0000 0.0 0.0000 0.2637 0.1267 0.1570 0.2324 0.1488 0.0000 0.3708 ... 0.2549 0.0000 0.1432 0.0000 0.0 0.0 0.1685 0.2133 0.0000 0.0
2012-01-17 0.0000 0.0 0.0000 0.2615 0.1255 0.1599 0.2323 0.1502 0.0000 0.3716 ... 0.2613 0.0000 0.1423 0.0000 0.0 0.0 0.1665 0.2138 0.0000 0.0
2012-01-18 0.0000 0.0 0.0000 0.2622 0.1247 0.1599 0.2385 0.1504 0.0000 0.3823 ... 0.2611 0.0000 0.1452 0.0000 0.0 0.0 0.1670 0.2134 0.0000 0.0
2012-01-19 0.0000 0.0 0.0000 0.2600 0.1294 0.1581 0.2455 0.1512 0.0000 0.3877 ... 0.2615 0.0000 0.1447 0.0000 0.0 0.0 0.1658 0.2162 0.0000 0.0
2012-01-20 0.0000 0.0 0.0000 0.2610 0.1289 0.1560 0.2445 0.1523 0.0000 0.3875 ... 0.2657 0.0000 0.1479 0.0000 0.0 0.0 0.1651 0.2156 0.0000 0.0
2012-01-30 0.0000 0.0 0.0000 0.2652 0.1285 0.1602 0.2472 0.1525 0.0000 0.3793 ... 0.2621 0.0000 0.1517 0.0000 0.0 0.0 0.1670 0.2153 0.0000 0.0
2012-01-31 0.0000 0.0 0.0000 0.2681 0.1290 0.1597 0.2399 0.1532 0.0000 0.3790 ... 0.2608 0.0000 0.1484 0.0000 0.0 0.0 0.1664 0.2137 0.0000 0.0
2012-02-01 0.0000 0.0 0.0000 0.2672 0.1307 0.1593 0.2398 0.1535 0.0000 0.3738 ... 0.2619 0.0000 0.1504 0.0000 0.0 0.0 0.1651 0.2130 0.0000 0.0
2012-02-02 0.0000 0.0 0.0000 0.2645 0.1293 0.1609 0.2335 0.1555 0.0000 0.3685 ... 0.2617 0.0000 0.1475 0.0000 0.0 0.0 0.1665 0.2143 0.0000 0.0
2012-02-03 0.0000 0.0 0.0000 0.2615 0.1289 0.1593 0.2346 0.1557 0.0000 0.3701 ... 0.2601 0.0000 0.1479 0.0000 0.0 0.0 0.1664 0.2136 0.0000 0.0
2012-02-06 0.0000 0.0 0.0000 0.2600 0.1285 0.1566 0.2308 0.1593 0.0000 0.3734 ... 0.2595 0.0000 0.1483 0.0000 0.0 0.0 0.1736 0.2147 0.0000 0.0
2012-02-07 0.0000 0.0 0.0000 0.2588 0.1272 0.1574 0.2340 0.1568 0.0000 0.3710 ... 0.2632 0.0000 0.1474 0.0000 0.0 0.0 0.1716 0.2153 0.0000 0.0
2012-02-08 0.0000 0.0 0.0000 0.2562 0.1268 0.1573 0.2304 0.1547 0.0000 0.3656 ... 0.2573 0.0000 0.1453 0.0000 0.0 0.0 0.1688 0.2128 0.0000 0.0
2012-02-09 0.0000 0.0 0.0000 0.2570 0.1271 0.1551 0.2331 0.1560 0.0000 0.3690 ... 0.2595 0.0000 0.1452 0.0000 0.0 0.0 0.1702 0.2137 0.0000 0.0
2012-02-10 0.0000 0.0 0.0000 0.2597 0.1259 0.1539 0.2331 0.1567 0.0000 0.3738 ... 0.2594 0.0000 0.1462 0.0000 0.0 0.0 0.1741 0.2157 0.0000 0.0
2012-02-13 0.0000 0.0 0.0000 0.2573 0.1260 0.1555 0.2337 0.1559 0.0000 0.3685 ... 0.2569 0.0000 0.1458 0.0000 0.0 0.0 0.1721 0.2360 0.0000 0.0
2012-02-14 0.0000 0.0 0.0000 0.2601 0.1262 0.1526 0.2289 0.1607 0.0000 0.3666 ... 0.2575 0.0000 0.1493 0.0000 0.0 0.0 0.1736 0.2320 0.0000 0.0
2012-02-15 0.0000 0.0 0.0000 0.2590 0.1272 0.1513 0.2317 0.1584 0.0000 0.3688 ... 0.2548 0.0000 0.1535 0.0000 0.0 0.0 0.1723 0.2288 0.0000 0.0
2012-02-16 0.0000 0.0 0.0000 0.2554 0.1281 0.1496 0.2307 0.1618 0.0000 0.3782 ... 0.2589 0.0000 0.1526 0.0000 0.0 0.0 0.1774 0.2268 0.0000 0.0
2012-02-17 0.0000 0.0 0.0000 0.2555 0.1275 0.1515 0.2288 0.1605 0.0000 0.3719 ... 0.2596 0.0000 0.1549 0.0000 0.0 0.0 0.1758 0.2259 0.0000 0.0
2012-02-20 0.0000 0.0 0.0000 0.2539 0.1298 0.1494 0.2266 0.1583 0.0000 0.3685 ... 0.2582 0.0000 0.1546 0.0000 0.0 0.0 0.1733 0.2223 0.0000 0.0
2012-02-21 0.0000 0.0 0.0000 0.2555 0.1288 0.1487 0.2270 0.1569 0.0000 0.3660 ... 0.2564 0.0000 0.1546 0.0000 0.0 0.0 0.1727 0.2228 0.0000 0.0
2012-02-22 0.0000 0.0 0.0000 0.2635 0.1278 0.1474 0.2260 0.1570 0.0000 0.3646 ... 0.2545 0.0000 0.1530 0.0000 0.0 0.0 0.1722 0.2253 0.0000 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2016-11-21 0.1798 0.0 0.1389 0.1233 0.0000 0.0000 0.0934 0.0000 0.2512 0.0000 ... 0.2679 0.1120 0.0000 0.1317 0.0 0.0 0.0000 0.0000 0.2782 0.0
2016-11-22 0.1780 0.0 0.1394 0.1234 0.0000 0.0000 0.0926 0.0000 0.2505 0.0000 ... 0.2671 0.1156 0.0000 0.1334 0.0 0.0 0.0000 0.0000 0.2835 0.0
2016-11-23 0.1773 0.0 0.1400 0.1227 0.0000 0.0000 0.0906 0.0000 0.2497 0.0000 ... 0.2667 0.1217 0.0000 0.1393 0.0 0.0 0.0000 0.0000 0.2798 0.0
2016-11-24 0.1722 0.0 0.1389 0.1231 0.0000 0.0000 0.0902 0.0000 0.2484 0.0000 ... 0.2827 0.1192 0.0000 0.1424 0.0 0.0 0.0000 0.0000 0.2812 0.0
2016-11-25 0.1740 0.0 0.1378 0.1258 0.0000 0.0000 0.0903 0.0000 0.2480 0.0000 ... 0.2790 0.1158 0.0000 0.1455 0.0 0.0 0.0000 0.0000 0.2888 0.0
2016-11-28 0.1713 0.0 0.1375 0.1240 0.0000 0.0000 0.0890 0.0000 0.2451 0.0000 ... 0.2777 0.1146 0.0000 0.1458 0.0 0.0 0.0000 0.0000 0.2898 0.0
2016-11-29 0.1682 0.0 0.1383 0.1239 0.0000 0.0000 0.0897 0.0000 0.2535 0.0000 ... 0.2770 0.1151 0.0000 0.1464 0.0 0.0 0.0000 0.0000 0.2830 0.0
2016-11-30 0.1700 0.0 0.1381 0.1255 0.0000 0.0000 0.0876 0.0000 0.2519 0.0000 ... 0.2790 0.1132 0.0000 0.1431 0.0 0.0 0.0000 0.0000 0.2811 0.0
2016-12-01 0.1650 0.0 0.1432 0.1255 0.0000 0.0000 0.0865 0.0000 0.2490 0.0000 ... 0.2805 0.1115 0.0000 0.1419 0.0 0.0 0.0000 0.0000 0.2835 0.0
2016-12-02 0.1653 0.0 0.1420 0.1245 0.0000 0.0000 0.0871 0.0000 0.2465 0.0000 ... 0.2789 0.1118 0.0000 0.1435 0.0 0.0 0.0000 0.0000 0.2805 0.0
2016-12-05 0.1644 0.0 0.1399 0.1230 0.0000 0.0000 0.0870 0.0000 0.2499 0.0000 ... 0.2831 0.1108 0.0000 0.1427 0.0 0.0 0.0000 0.0000 0.2772 0.0
2016-12-06 0.1598 0.0 0.1376 0.1242 0.0000 0.0000 0.0871 0.0000 0.2505 0.0000 ... 0.2846 0.1108 0.0000 0.1420 0.0 0.0 0.0000 0.0000 0.2758 0.0
2016-12-07 0.1597 0.0 0.1370 0.1231 0.0000 0.0000 0.0885 0.0000 0.2486 0.0000 ... 0.2844 0.1110 0.0000 0.1423 0.0 0.0 0.0000 0.0000 0.2816 0.0
2016-12-08 0.1632 0.0 0.1375 0.1227 0.0000 0.0000 0.0903 0.0000 0.2467 0.0000 ... 0.2815 0.1109 0.0000 0.1454 0.0 0.0 0.0000 0.0000 0.2782 0.0
2016-12-09 0.1625 0.0 0.1362 0.1235 0.0000 0.0000 0.0890 0.0000 0.2531 0.0000 ... 0.2880 0.1101 0.0000 0.1440 0.0 0.0 0.0000 0.0000 0.2771 0.0
2016-12-12 0.1578 0.0 0.1314 0.1199 0.0000 0.0000 0.0846 0.0000 0.2535 0.0000 ... 0.2740 0.1051 0.0000 0.1411 0.0 0.0 0.0000 0.0000 0.2689 0.0
2016-12-13 0.1559 0.0 0.1286 0.1186 0.0000 0.0000 0.0824 0.0000 0.2576 0.0000 ... 0.2903 0.1042 0.0000 0.1421 0.0 0.0 0.0000 0.0000 0.2523 0.0
2016-12-14 0.1559 0.0 0.1289 0.1201 0.0000 0.0000 0.0851 0.0000 0.2564 0.0000 ... 0.2780 0.1028 0.0000 0.1434 0.0 0.0 0.0000 0.0000 0.2484 0.0
2016-12-15 0.1556 0.0 0.1290 0.1203 0.0000 0.0000 0.0842 0.0000 0.2528 0.0000 ... 0.2671 0.1035 0.0000 0.1413 0.0 0.0 0.0000 0.0000 0.2512 0.0
2016-12-16 0.1604 0.0 0.1289 0.1198 0.0000 0.0000 0.0838 0.0000 0.2637 0.0000 ... 0.2686 0.1034 0.0000 0.1429 0.0 0.0 0.0000 0.0000 0.2578 0.0
2016-12-19 0.1610 0.0 0.1295 0.1209 0.0000 0.0000 0.0844 0.0000 0.2697 0.0000 ... 0.2719 0.1040 0.0000 0.1415 0.0 0.0 0.0000 0.0000 0.2588 0.0
2016-12-20 0.1584 0.0 0.1280 0.1206 0.0000 0.0000 0.0846 0.0000 0.2696 0.0000 ... 0.2780 0.1039 0.0000 0.1444 0.0 0.0 0.0000 0.0000 0.2551 0.0
2016-12-21 0.1601 0.0 0.1289 0.1198 0.0000 0.0000 0.0832 0.0000 0.2671 0.0000 ... 0.2811 0.1035 0.0000 0.1444 0.0 0.0 0.0000 0.0000 0.2582 0.0
2016-12-22 0.1598 0.0 0.1288 0.1199 0.0000 0.0000 0.0828 0.0000 0.2653 0.0000 ... 0.2847 0.1026 0.0000 0.1458 0.0 0.0 0.0000 0.0000 0.2577 0.0
2016-12-23 0.1594 0.0 0.1283 0.1203 0.0000 0.0000 0.0875 0.0000 0.2713 0.0000 ... 0.2831 0.1025 0.0000 0.1529 0.0 0.0 0.0000 0.0000 0.2536 0.0
2016-12-26 0.1434 0.0 0.1280 0.1230 0.0000 0.0000 0.0859 0.0000 0.2746 0.0000 ... 0.2821 0.1026 0.0000 0.1544 0.0 0.0 0.0000 0.0000 0.2518 0.0
2016-12-27 0.1451 0.0 0.1291 0.1246 0.0000 0.0000 0.0868 0.0000 0.2738 0.0000 ... 0.2779 0.1035 0.0000 0.1506 0.0 0.0 0.0000 0.0000 0.2505 0.0
2016-12-28 0.1453 0.0 0.1292 0.1257 0.0000 0.0000 0.0872 0.0000 0.2814 0.0000 ... 0.2768 0.1029 0.0000 0.1497 0.0 0.0 0.0000 0.0000 0.2533 0.0
2016-12-29 0.1457 0.0 0.1285 0.1252 0.0000 0.0000 0.0863 0.0000 0.2786 0.0000 ... 0.2771 0.1033 0.0000 0.1497 0.0 0.0 0.0000 0.0000 0.2481 0.0
2016-12-30 0.1479 0.0 0.1297 0.1262 0.0000 0.0000 0.0867 0.0000 0.2731 0.0000 ... 0.2830 0.1057 0.0000 0.1561 0.0 0.0 0.0000 0.0000 0.2474 0.0

1213 rows × 896 columns


In [ ]:


In [113]:
riskExposureDF = pd.concat(map(lambda x: x.loc[baseDate], secDic.values()), axis=1)  

riskExposureDF.columns = secDic.keys()
riskExposureDF.head()


Out[113]:
OCFTODEBT YOYGR OWNILLIQ PB MOM_1M IDIVOL VOLATILITY ADJTOV20 DDA20 LMAO
002344.SZ -0.533518 -0.423901 -0.346512 -0.533776 0.006471 -0.372335 0.704913 -0.137755 -0.119188 -0.212872
300024.SZ -1.368787 -0.400260 -0.511388 1.072236 -0.985791 -0.566310 -0.603903 0.160879 -0.203172 0.945332
300039.SZ 2.848992 0.235734 0.013041 0.211676 -0.896589 -0.574328 -0.031449 0.399761 0.312352 -0.995383
600059.SH -1.362043 -0.307219 -0.381602 -0.549090 0.564325 -0.979525 -0.400975 -0.171430 0.191574 -0.629969
600501.SH -0.871931 0.180188 1.207533 0.027033 0.134395 0.026227 -0.586483 -0.384902 0.393204 -0.731978

In [143]:
spEwmMatrix = brm.calEWMcovariance(specificReturn.loc[:baseDate].iloc[-200:],decay=0.94)
tempo = spEwmMatrix .copy()
digVal = np.diag(spEwmMatrix)
a = np.fill_diagonal(tempo.values ,0)
finalSpMat = spEwmMatrix -tempo

In [144]:
finalSpMat


Out[144]:
002344.SZ 300024.SZ 300039.SZ 600059.SH 600501.SH 000713.SZ 002233.SZ 600360.SH 600565.SH 600636.SH ... 600122.SH 601908.SH 000837.SZ 600282.SH 600739.SH 600406.SH 600866.SH 600227.SH 300134.SZ 002195.SZ
002344.SZ 0.000306 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
300024.SZ 0.000000 0.000359 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
300039.SZ 0.000000 0.000000 0.000108 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600059.SH 0.000000 0.000000 0.000000 0.000113 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600501.SH 0.000000 0.000000 0.000000 0.000000 0.000187 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000713.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000146 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002233.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000384 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600360.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000196 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600565.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000272 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600636.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000023 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000911.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000063.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601018.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002557.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600199.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601558.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000685.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002431.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600478.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000636.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600598.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000513.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601601.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601618.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
300085.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600797.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600640.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000926.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000960.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600522.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
600518.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600967.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600195.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600387.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000998.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600795.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002327.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600362.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002570.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000012.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600022.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002437.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600276.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000627.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600073.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
002241.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600547.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601727.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600269.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000002.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600122.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000305 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
601908.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00026 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
000837.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000133 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600282.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000361 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
600739.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000492 0.000000 0.000000 0.000000 0.000000 0.000000
600406.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000389 0.000000 0.000000 0.000000 0.000000
600866.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000099 0.000000 0.000000 0.000000
600227.SH 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000152 0.000000 0.000000
300134.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000413 0.000000
002195.SZ 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 ... 0.000000 0.00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000267

896 rows × 896 columns


In [145]:
adjFinalCov = brm.calFinlCov(factorCov,benchmarkWeight.loc[baseDate],returnOfBench,riskExposureDF,finalSpMat)

In [146]:
adjFinalCov


Out[146]:
OCFTODEBT YOYGR OWNILLIQ PB MOM_1M IDIVOL VOLATILITY ADJTOV20 DDA20 LMAO
OCFTODEBT 3.879863e-07 3.438485e-07 6.754543e-07 4.711212e-07 1.475267e-07 -2.029487e-06 -5.041079e-07 -1.376414e-06 -1.578262e-06 -1.139260e-06
YOYGR 3.438485e-07 3.207547e-07 6.294490e-07 4.378611e-07 1.494457e-07 -1.916129e-06 -4.760338e-07 -1.283230e-06 -1.483285e-06 -1.070915e-06
OWNILLIQ 6.754543e-07 6.294490e-07 1.241332e-06 8.624507e-07 3.004754e-07 -3.772922e-06 -9.313048e-07 -2.531140e-06 -2.922066e-06 -2.126727e-06
PB 4.711212e-07 4.378611e-07 8.624507e-07 5.996278e-07 2.068364e-07 -2.619884e-06 -6.476301e-07 -1.757806e-06 -2.028987e-06 -1.473945e-06
MOM_1M 1.475267e-07 1.494457e-07 3.004754e-07 2.068364e-07 8.767089e-08 -9.260441e-07 -2.225090e-07 -6.134941e-07 -7.133687e-07 -5.366155e-07
IDIVOL -2.029487e-06 -1.916129e-06 -3.772922e-06 -2.619884e-06 -9.260441e-07 1.151125e-05 2.847049e-06 7.696477e-06 8.905522e-06 6.466635e-06
VOLATILITY -5.041079e-07 -4.760338e-07 -9.313048e-07 -6.476301e-07 -2.225090e-07 2.847049e-06 7.102396e-07 1.899932e-06 2.201721e-06 1.581643e-06
ADJTOV20 -1.376414e-06 -1.283230e-06 -2.531140e-06 -1.757806e-06 -6.134941e-07 7.696477e-06 1.899932e-06 5.164230e-06 5.962233e-06 4.339483e-06
DDA20 -1.578262e-06 -1.483285e-06 -2.922066e-06 -2.028987e-06 -7.133687e-07 8.905522e-06 2.201721e-06 5.962233e-06 6.893655e-06 5.008383e-06
LMAO -1.139260e-06 -1.070915e-06 -2.126727e-06 -1.473945e-06 -5.366155e-07 6.466635e-06 1.581643e-06 4.339483e-06 5.008383e-06 3.686980e-06

In [148]:
stocks = pd.read_csv(path+ZZ500Weight,infer_datetime_format=True,parse_dates=[0],index_col=0)[stkList].loc[startTime:endTime].loc[baseDate].dropna()

optStkPool = stocks.index.tolist() # make sure the stock pool is ZZ500

riskExposureDFSlice = riskExposureDF.loc[optStkPool]

toOptCov = reduce(lambda x,y: x.dot(y),[riskExposureDFSlice,adjFinalCov,riskExposureDFSlice.T])

In [151]:
# Optimize
factorNum = riskExposureDFSlice.shape[1]
stkNum = toOptCov.shape[1]
P = cv.matrix(toOptCov.values)
q = cv.matrix(0.0, (stkNum, 1))
G = cv.matrix(np.concatenate((riskExposureDFSlice.T.values, np.diag(np.ones(stkNum)), - np.diag(np.ones(stkNum)))))
h = cv.matrix(reduce(lambda x,y : np.append(x,y),[0.01 * np.ones(factorNum),0.005 * np.ones(stkNum), np.zeros(stkNum)]))
A = cv.matrix(np.ones(stkNum)).T
b = cv.matrix(1.0).T
sol = solvers.qp(P, q, G, h, A, b)
print sol['x']


     pcost       dcost       gap    pres   dres
 0:  1.1804e-09 -1.9238e+00  8e+02  3e+01  5e+01
 1:  2.1210e-05 -2.6383e+00  6e+01  2e+00  4e+00
 2:  3.8276e-07 -1.8819e+00  4e+00  6e-02  1e-01
 3:  3.6568e-07 -4.3178e-01  4e-01  3e-16  5e-15
 4:  3.6565e-07 -4.3344e-03  4e-03  1e-16  1e-15
 5:  3.6274e-07 -5.9839e-05  6e-05  2e-16  2e-17
 6:  2.2874e-07 -9.7449e-06  1e-05  2e-16  2e-18
 7:  3.0216e-08 -7.5285e-07  8e-07  2e-16  4e-20
 8:  3.9154e-09 -1.0306e-07  1e-07  2e-16  1e-20
 9:  1.0484e-09 -1.6245e-08  2e-08  7e-16  7e-21
Optimal solution found.
[ 3.58e-03]
[ 9.31e-04]
[ 3.55e-03]
[ 2.17e-03]
[ 2.41e-03]
[ 3.86e-03]
[ 3.32e-03]
[ 1.68e-03]
[ 2.11e-03]
[ 5.27e-04]
[ 9.87e-04]
[ 3.20e-03]
[ 3.53e-03]
[ 4.08e-03]
[ 3.19e-03]
[ 2.61e-03]
[ 3.58e-03]
[ 2.43e-03]
[ 2.46e-03]
[ 2.30e-03]
[ 7.41e-04]
[ 3.78e-03]
[ 1.69e-03]
[ 3.83e-03]
[ 1.53e-03]
[ 2.24e-03]
[ 1.24e-03]
[ 1.65e-03]
[ 1.74e-03]
[ 1.88e-03]
[ 1.85e-03]
[ 2.04e-03]
[ 3.67e-03]
[ 4.30e-03]
[ 3.08e-03]
[ 2.20e-03]
[ 1.45e-03]
[ 4.05e-03]
[ 3.11e-03]
[ 3.05e-03]
[ 1.72e-03]
[ 2.42e-03]
[ 3.49e-03]
[ 2.56e-03]
[ 3.92e-03]
[ 2.69e-03]
[ 4.07e-03]
[ 3.27e-03]
[ 3.49e-03]
[ 2.87e-03]
[ 1.14e-03]
[ 1.67e-03]
[ 1.04e-03]
[ 1.51e-03]
[ 1.24e-03]
[ 2.03e-03]
[ 3.76e-03]
[ 1.21e-03]
[ 2.21e-03]
[ 1.16e-03]
[ 1.40e-03]
[ 3.77e-03]
[ 3.90e-03]
[ 4.30e-03]
[ 1.90e-03]
[ 1.96e-03]
[ 2.36e-03]
[ 1.12e-03]
[ 1.65e-03]
[ 4.37e-03]
[ 8.32e-04]
[ 3.87e-03]
[ 9.82e-04]
[ 5.22e-04]
[ 6.32e-04]
[ 2.07e-03]
[ 3.85e-03]
[ 1.23e-03]
[ 8.42e-04]
[ 1.52e-03]
[ 3.90e-03]
[ 2.42e-03]
[ 6.10e-04]
[ 1.93e-03]
[ 4.19e-03]
[ 5.05e-04]
[ 3.84e-03]
[ 2.86e-03]
[ 3.02e-03]
[ 3.44e-03]
[ 3.53e-03]
[ 3.31e-03]
[ 4.02e-03]
[ 2.09e-03]
[ 1.82e-03]
[ 1.72e-03]
[ 3.28e-03]
[ 4.23e-03]
[ 9.11e-04]
[ 4.17e-03]
[ 8.67e-04]
[ 4.11e-03]
[ 3.95e-03]
[ 3.96e-03]
[ 2.71e-03]
[ 1.79e-03]
[ 3.07e-03]
[ 3.54e-03]
[ 3.75e-03]
[ 1.47e-03]
[ 1.11e-03]
[ 3.97e-03]
[ 3.14e-03]
[ 1.20e-03]
[ 3.18e-03]
[ 3.98e-03]
[ 3.26e-03]
[ 2.41e-03]
[ 3.01e-03]
[ 3.24e-03]
[ 3.00e-03]
[ 2.72e-03]
[ 3.62e-03]
[ 3.51e-03]
[ 4.05e-03]
[ 9.28e-04]
[ 2.50e-03]
[ 3.20e-03]
[ 3.25e-03]
[ 2.22e-03]
[ 2.09e-03]
[ 1.77e-03]
[ 8.69e-04]
[ 1.08e-03]
[ 3.92e-03]
[ 3.60e-03]
[ 1.15e-03]
[ 2.79e-03]
[ 1.90e-03]
[ 3.54e-03]
[ 1.17e-03]
[ 3.56e-03]
[ 3.93e-03]
[ 3.63e-03]
[ 3.91e-03]
[ 2.21e-03]
[ 1.92e-03]
[ 1.92e-03]
[ 4.36e-03]
[ 1.84e-03]
[ 3.79e-03]
[ 3.13e-03]
[ 1.71e-03]
[ 1.38e-03]
[ 9.25e-04]
[ 3.05e-03]
[ 2.10e-03]
[ 1.88e-03]
[ 6.14e-04]
[ 3.63e-03]
[ 3.19e-03]
[ 1.35e-03]
[ 5.97e-04]
[ 1.69e-03]
[ 2.00e-03]
[ 2.66e-03]
[ 1.08e-03]
[ 4.43e-04]
[ 1.93e-03]
[ 3.76e-03]
[ 3.81e-03]
[ 2.36e-03]
[ 1.95e-03]
[ 3.17e-03]
[ 3.94e-03]
[ 3.83e-03]
[ 4.08e-03]
[ 1.80e-03]
[ 2.76e-03]
[ 2.00e-03]
[ 2.16e-03]
[ 3.55e-03]
[ 5.97e-04]
[ 2.24e-03]
[ 1.17e-03]
[ 2.35e-03]
[ 1.62e-03]
[ 1.27e-03]
[ 1.18e-03]
[ 8.64e-04]
[ 3.70e-03]
[ 3.17e-03]
[ 4.02e-03]
[ 4.39e-03]
[ 2.56e-03]
[ 3.34e-03]
[ 3.68e-03]
[ 4.08e-03]
[ 4.21e-03]
[ 2.33e-03]
[ 2.82e-03]
[ 3.91e-03]
[ 1.40e-03]
[ 6.27e-04]
[ 4.01e-03]
[ 3.91e-03]
[ 2.58e-03]
[ 3.19e-03]
[ 2.52e-03]
[ 1.63e-03]
[ 2.24e-03]
[ 2.28e-03]
[ 3.10e-03]
[ 2.29e-03]
[ 2.40e-03]
[ 3.11e-03]
[ 3.68e-03]
[ 1.97e-03]
[ 3.98e-03]
[ 3.24e-03]
[ 2.42e-03]
[ 3.62e-03]
[ 3.38e-03]
[ 4.02e-03]
[ 3.79e-03]
[ 2.32e-03]
[ 3.61e-03]
[ 4.03e-03]
[ 2.41e-04]
[ 3.16e-03]
[ 9.42e-04]
[ 3.81e-03]
[ 3.89e-03]
[ 3.80e-03]
[ 3.47e-03]
[ 1.45e-03]
[ 3.75e-03]
[ 4.14e-03]
[ 1.63e-03]
[ 9.17e-04]
[ 2.96e-03]
[ 2.61e-03]
[ 2.20e-03]
[ 3.39e-03]
[ 3.36e-03]
[ 4.12e-03]
[ 1.09e-03]
[ 3.18e-03]
[ 4.04e-03]
[ 1.42e-03]
[ 2.77e-03]
[ 3.57e-03]
[ 3.42e-03]
[ 3.89e-03]
[ 3.60e-03]
[ 8.30e-04]
[ 3.57e-03]
[ 1.58e-03]
[ 3.21e-03]
[ 1.43e-03]
[ 3.66e-03]
[ 3.84e-03]
[ 1.69e-03]
[ 3.47e-03]
[ 1.61e-03]
[ 3.22e-03]
[ 3.44e-03]
[ 3.90e-03]
[ 3.72e-03]
[ 3.11e-03]
[ 3.60e-03]
[ 2.69e-03]
[ 3.30e-03]
[ 2.70e-03]
[ 3.29e-03]
[ 1.22e-03]
[ 2.05e-03]
[ 3.39e-03]
[ 1.80e-03]
[ 2.44e-03]
[ 3.57e-03]
[ 1.19e-03]
[ 2.30e-03]
[ 2.17e-03]
[ 2.97e-03]
[ 3.80e-03]
[ 2.93e-03]
[ 2.26e-03]
[ 5.94e-04]
[ 4.28e-03]
[ 3.62e-03]
[ 1.55e-03]
[ 3.07e-03]
[ 3.77e-03]
[ 1.46e-03]
[ 1.30e-03]
[ 2.62e-03]
[ 5.97e-04]
[ 1.43e-03]
[ 2.86e-03]
[ 4.32e-03]
[ 3.76e-03]
[ 1.01e-03]
[ 3.19e-03]
[ 3.90e-03]
[ 5.70e-04]
[ 3.25e-03]
[ 4.47e-03]
[ 3.18e-03]
[ 4.18e-03]
[ 2.12e-03]
[ 2.12e-03]
[ 2.80e-03]
[ 1.15e-03]
[ 3.05e-03]
[ 2.98e-03]
[ 3.76e-03]
[ 3.51e-03]
[ 1.36e-03]
[ 1.04e-03]
[ 2.04e-03]
[ 9.94e-04]
[ 3.94e-03]
[ 1.60e-03]
[ 3.23e-03]
[ 2.74e-03]
[ 4.18e-03]
[ 3.89e-03]
[ 2.77e-03]
[ 2.29e-03]
[ 3.15e-03]
[ 2.81e-03]
[ 3.60e-03]
[ 2.64e-03]
[ 3.93e-03]
[ 1.30e-03]
[ 2.60e-03]
[ 3.27e-03]
[ 9.90e-04]
[ 2.25e-03]
[ 1.88e-03]
[ 8.50e-04]
[ 4.39e-03]
[ 2.12e-03]
[ 3.42e-03]
[ 1.91e-03]
[ 6.51e-04]
[ 3.92e-03]
[ 2.72e-03]
[ 1.48e-03]
[ 1.92e-03]
[ 4.10e-03]
[ 1.97e-03]
[ 1.02e-03]
[ 2.53e-03]
[ 2.08e-03]
[ 3.59e-03]
[ 2.41e-03]
[ 1.71e-03]
[ 9.22e-04]
[ 4.18e-03]
[ 2.54e-03]
[ 2.91e-03]
[ 3.06e-03]
[ 3.57e-03]
[ 2.93e-04]
[ 7.45e-04]
[ 4.38e-03]
[ 3.17e-03]
[ 2.16e-03]
[ 1.77e-03]
[ 2.74e-03]
[ 1.52e-03]
[ 3.84e-03]
[ 3.72e-03]
[ 2.13e-03]
[ 2.53e-03]
[ 3.61e-03]
[ 3.28e-03]
[ 3.83e-03]
[ 3.56e-03]


In [155]:
list(sol['x'])


Out[155]:
[0.0035774984988443037,
 0.0009308220341450753,
 0.003548018050076839,
 0.002169601054903463,
 0.0024092914666079923,
 0.0038588306081779717,
 0.003323029994585457,
 0.0016779922339773235,
 0.0021108803687309896,
 0.0005271064567172787,
 0.0009867433896959203,
 0.003201135240004641,
 0.0035303513421140595,
 0.004078433021782507,
 0.0031869740449396154,
 0.002611712869805227,
 0.0035785479573754693,
 0.002425271504719507,
 0.002464330045135592,
 0.0023036222320236355,
 0.0007407804691231523,
 0.003782096550753362,
 0.0016939009163684524,
 0.003827954309705712,
 0.0015301557217077108,
 0.002236751108238523,
 0.001244076443383809,
 0.0016522793690877313,
 0.0017359459538637417,
 0.0018834717933004248,
 0.001850590373014356,
 0.0020372338409934162,
 0.0036665088767253787,
 0.004299260896263385,
 0.003081112588718347,
 0.0021968850815412624,
 0.001448043004999657,
 0.0040537459556968854,
 0.0031148202917606243,
 0.0030467165745316927,
 0.0017159345644011902,
 0.0024163889099551115,
 0.0034910443954585,
 0.0025554430255025564,
 0.003922270893050304,
 0.0026875932979300346,
 0.004074627440742311,
 0.0032716619155167587,
 0.0034882738133738597,
 0.0028746627756777656,
 0.0011418605145143636,
 0.0016672058517830928,
 0.0010385884283706166,
 0.0015101585013064308,
 0.0012437733019226712,
 0.0020270616031051298,
 0.003755410533271888,
 0.001206725060412983,
 0.0022146203109961633,
 0.001160369984591362,
 0.001398472032454265,
 0.003772797628404606,
 0.0038990412797930874,
 0.004296433257344024,
 0.001900616011077037,
 0.0019633145344062105,
 0.002358669901681747,
 0.0011223122175010648,
 0.0016490052393594806,
 0.004374998732046593,
 0.0008321328698205563,
 0.0038694302841162207,
 0.0009817922051875076,
 0.0005224941179728317,
 0.0006318311904907736,
 0.002069136711207625,
 0.0038496703258989514,
 0.0012293522233833057,
 0.0008418878457776948,
 0.0015196265668175487,
 0.003897999866401288,
 0.0024150458220245094,
 0.000610155097297847,
 0.0019277635044186781,
 0.0041900983571674915,
 0.0005053312594256223,
 0.0038432517076897282,
 0.0028621685086047677,
 0.0030221601849871396,
 0.003439200565998596,
 0.0035334424889863878,
 0.003310652827981119,
 0.00401879647916161,
 0.002091241556397304,
 0.0018239226513707925,
 0.001716926702675974,
 0.0032831040978050625,
 0.004232008013932972,
 0.000911386912079005,
 0.004166113515135644,
 0.0008669558855616725,
 0.004107701051930854,
 0.003951645262630287,
 0.003962386662722436,
 0.002712195920389262,
 0.0017919208406640447,
 0.003071029116424464,
 0.003543554525381819,
 0.0037522874062894326,
 0.0014681353222630582,
 0.0011143941068892363,
 0.003968883945853476,
 0.0031398216347354,
 0.001197334078842284,
 0.0031782058509672315,
 0.003977623996921258,
 0.0032624644777748736,
 0.002411037284237819,
 0.0030118628796739887,
 0.0032363082566899868,
 0.0030046517225563616,
 0.002723168275827105,
 0.003618273104792633,
 0.0035132970419412125,
 0.0040473350139195305,
 0.000927671851672641,
 0.002503047601809963,
 0.003195574063810304,
 0.0032496420233306842,
 0.0022151374811968296,
 0.0020865580203720977,
 0.0017675877571477247,
 0.0008692411992099402,
 0.0010811170134867913,
 0.0039235625316456175,
 0.0036032562469790856,
 0.0011535895151642058,
 0.0027887412482450386,
 0.0018977001810619061,
 0.0035443067443291405,
 0.001172976371567213,
 0.003560863937670692,
 0.003932081169526731,
 0.0036291592170769596,
 0.003906792859250366,
 0.0022054059747917683,
 0.0019200138194506442,
 0.0019170809156393229,
 0.004361626361972372,
 0.0018411935838164302,
 0.00379367463650769,
 0.003131727265209547,
 0.0017120042818099986,
 0.001377950612469905,
 0.0009250983570002027,
 0.003047277855987298,
 0.0021048661293667933,
 0.0018770881533497644,
 0.0006139551576528756,
 0.003626190188249947,
 0.0031864597336641234,
 0.0013531402916572661,
 0.000597438801022481,
 0.001688961280307721,
 0.001996923064514096,
 0.0026592832201831813,
 0.0010785574945110696,
 0.0004430297971385726,
 0.0019334498402707278,
 0.0037584168522820493,
 0.003813739442298325,
 0.0023637624409159693,
 0.001953414126537733,
 0.003169032927810881,
 0.003941433088357428,
 0.0038327069562434026,
 0.004079951466446969,
 0.0017978261452493859,
 0.0027591744936157118,
 0.001996829937580914,
 0.0021578835389703976,
 0.0035460597815448825,
 0.0005966043287739118,
 0.0022391272772759184,
 0.001171427497095778,
 0.002353898473026033,
 0.0016217755833801218,
 0.0012662965788169502,
 0.0011778278692866169,
 0.0008640729615316553,
 0.003700473481252227,
 0.003169292517214361,
 0.004019575686268028,
 0.0043862518235686316,
 0.002558068530195073,
 0.003342869050539335,
 0.0036783672243045308,
 0.004077716227220983,
 0.004207070307610244,
 0.0023301943851728856,
 0.002824000963921895,
 0.0039119417600014085,
 0.0014030362867306844,
 0.0006266671221552475,
 0.00401271573188127,
 0.003907801718093392,
 0.002576354174913736,
 0.003191375107530101,
 0.002518090172203906,
 0.0016260209381145944,
 0.0022352192284498733,
 0.0022810499094342946,
 0.0031003707629836774,
 0.0022934014149919237,
 0.0023992591641609556,
 0.0031070969243372406,
 0.003675738911329154,
 0.0019716783927285174,
 0.003977488451491847,
 0.0032351336074776145,
 0.0024176679368225545,
 0.00361913833010193,
 0.0033827933878592055,
 0.004016996057005903,
 0.003794110235562344,
 0.0023226605692740214,
 0.00360677187785016,
 0.004033385647409505,
 0.00024138630385479743,
 0.0031579402510024676,
 0.0009421864188299562,
 0.0038090379510202165,
 0.0038949255230998204,
 0.0038010853738320444,
 0.0034715563796311978,
 0.0014491702385732769,
 0.0037491984544414424,
 0.004143353066469931,
 0.001626019773902891,
 0.0009166361733055882,
 0.0029562250434511496,
 0.002606228064667981,
 0.0022019271671940973,
 0.0033941761577704435,
 0.00336456682489158,
 0.004120502019864,
 0.0010856418716053157,
 0.003175503371864635,
 0.004035560089903088,
 0.001422043873474693,
 0.0027699169223731035,
 0.0035742972787972957,
 0.0034169555806994787,
 0.0038904279069407613,
 0.0035962749163006035,
 0.0008297347703591188,
 0.0035651503135954114,
 0.0015762160161036853,
 0.003210617392671978,
 0.0014301342612263364,
 0.003663610405559904,
 0.0038355383738563724,
 0.0016945820510200127,
 0.003471574368846939,
 0.0016092562605132883,
 0.0032220645157101527,
 0.0034364662708680706,
 0.003901872623457868,
 0.003722251995663762,
 0.0031112135708624036,
 0.003595427439749794,
 0.0026918791445543354,
 0.0033042661268802335,
 0.00270448212887479,
 0.0032912521614327506,
 0.0012210458032318138,
 0.002045478056187735,
 0.003386048920990824,
 0.001801968118432262,
 0.002443569082904182,
 0.0035699823634505364,
 0.0011938216760598176,
 0.002298448344682382,
 0.0021676357043388743,
 0.0029723471149567184,
 0.0038027772383736314,
 0.002927596301627951,
 0.002257210405780766,
 0.000593976717379017,
 0.004275391658238817,
 0.0036231987844878777,
 0.0015511410417422872,
 0.0030650210822332795,
 0.0037687348646409735,
 0.0014597069707779219,
 0.0012982408640435671,
 0.002622262777956889,
 0.0005966547436507677,
 0.0014321705743548074,
 0.0028581637764505553,
 0.0043248601331211676,
 0.00375966562760117,
 0.001006052756573423,
 0.0031906092115839982,
 0.0038959963829344546,
 0.0005698354977920199,
 0.0032520394320240866,
 0.004472506674767106,
 0.003182684429506364,
 0.004180244634889737,
 0.002116407950563484,
 0.002115186583491836,
 0.002804787885844742,
 0.0011496618630371898,
 0.0030527331571948303,
 0.0029844527227497137,
 0.0037611714987937583,
 0.003511106804084471,
 0.0013589534799416415,
 0.0010427098775062469,
 0.002043380731442065,
 0.0009939905308219588,
 0.003937216005014956,
 0.0015998331717072267,
 0.0032282931956649583,
 0.0027413607708067066,
 0.004181372694033311,
 0.003893858026206641,
 0.0027737443114419368,
 0.0022886117605919343,
 0.003147065557787955,
 0.002805164126072182,
 0.0035985688675186085,
 0.0026432448046033205,
 0.003931127662781673,
 0.0012979098608386364,
 0.0025959040599208266,
 0.0032732461566362973,
 0.0009901105607156805,
 0.002252703441749181,
 0.0018840809828641358,
 0.0008501468932134808,
 0.004386780178900004,
 0.0021240682638331006,
 0.003417607299635323,
 0.0019100158038406376,
 0.0006511514591855553,
 0.003921039897869283,
 0.0027150679933327635,
 0.0014779792923908814,
 0.0019192589705263646,
 0.004096753345223758,
 0.001974941974535992,
 0.001024867358306188,
 0.002534627850235801,
 0.002081038869853066,
 0.0035855397288920557,
 0.0024069804424918747,
 0.0017117406015556597,
 0.0009215659155589247,
 0.004180205726930851,
 0.0025374808752693452,
 0.002905057923102153,
 0.0030646988590426636,
 0.003567253737889331,
 0.00029331036443775674,
 0.0007446749539788327,
 0.004383749545225538,
 0.0031734070213425354,
 0.0021607144695887197,
 0.0017695787087413108,
 0.0027352991318953445,
 0.001522902456867032,
 0.0038449943141524584,
 0.0037212291873873725,
 0.002126249998516372,
 0.002528826000975388,
 0.003610174123215002,
 0.0032810691434774627,
 0.0038251056069374804,
 0.003564899399392912]

In [150]:
len(sol['x'])


Out[150]:
381