上篇内容,我们对决策树进行了介绍,探讨了决策树的回归和分类方法,并列出了一些关键参数的说明,构建了超参数学习曲线,本篇内容,我们将基于决策树进行分组回测,对结果进行展示。
开始之前,我们在来回顾一下决策树,决策树学习能根据数据的属性采用树状结构建立决策模型,能够用来解决分类和回归问题,决策树方法简单自然,符合人脑的思维逻辑,除了构建单棵决策树,我们还可以建立多棵决策树并通过某种方式将它们结合在一起,综合投票产生最后的预测值,也就是随机森林。
本篇报告中我们将基于决策树进行预测,并将这个模型应用于多因子选股。
关于模型的思路
在用决策树构建模型的时候,我们先来考虑这个问题,树模型与传统的线性模型相比,优势和缺点在哪里?
首先,它可以处理非数值类特征,如不同板块风格股票涨跌分类问题,也就是说,我们可以将行业标签、甚至地域标签、这样的非数值特征放入特征数据中。
其次,对于连续数值的非线性问题,就比如不做倒数处理的估值因子PE、PB。理论上拿这些数据应用在决策树中时,可以不必考虑数据在0轴上下的不同处理方式。
树模型同样有其缺陷,单独决策树使用时,对特征是带有一定随机性的,并且,在对训练样本敏感,训练过程如不加适当的限制,则结果基本上就会过拟合。
参数寻优的问题与方法
模型的参数优化部分可以参考上篇介绍决策树文章内容,进行学习曲线或者网格搜索,进行剪枝处理。
模型构建过程
参考《人工智能选股之随机森林模型》中模型构建过程,我们按下面步骤进行预测模型搭建
1.数据获取:我们选择股票池为中证500,并剔除ST股票,剔除上市3个月内新股,获取的数据区间为20090101到20190101,回测区间为20140101到20190101。
2.特征和标签提取:每个自然月的第一个交易日,计算统计期的 39个因子暴露 度,作为样本的原始特征;计算下一整个自然月的个股超额收益(以中证500 指数为基准),作为样本的标签。
3.特征预处理:进行去极值、标准化、中性化操作。
a) 中位数去极值:我们取每个月第一个交易日的因子数据,截面上对各个因子值进行去极值操作;
b) 缺失值处理:将缺失的因子值设为申万一级行业相同个股的平均值。
c) 行业市值中性化:将填充缺失值后的因子暴露度对行业哑变量和取对数后的市值 做线性回归,取残差作为新的因子暴露度。
d) 标准化:将因子值减均值除以标准差,得到均值为0,标准差为1的因子值序列
4.训练集合成:
a)使用回归方法时,在每个月初截面期,将下月收益作为标签y值,将当前时间往前推 60 个月的样本合并,随机选取 70%的样本作为训练集,余下 30%的样本作为测试集。
b)使用分类方法时,在每个月初截面期,选取下月收益排名前 30%的股票作为正例(y = 1),后 30%的 股票作为负例(y = 0)。 将当前时间往前推60个月的样本合并,随机选取 70%的样本作为训练集,余下 30%的样本作为测试集。
5.样本内训练:使用决策树模型对每期的训练集进行训练,并计算测试集得分。
6.样本外测试:得出模型后,以 T 月月初截面期所有样本(即个股)预处理后的特征作为模型的输入,得到每个样本的 T 1 月的预测值(可以根据该预测值构建策略组合,具体细节参考 下文)
应用于选股策略
进行分层回溯是常见的单因子分析方法,根据因子值对股票进行打分,构建投资组合回测,是最直观的衡量因子优劣的手段。树模型属于分类器,最终在每个月底可以产生对全部个股下月上涨或下跌的预测值(即各决策树分类结果的投票平均值),可以将预测结果转换为一个因子合成模型,即在每个月底将因子池中所有因子合成为一个“因子”。接下来,我们对该模型合成的这个“因子”(即个股下期预测值)进行分层回测,从各方面考察该模型的效果。仿照华泰单因子测试系列报告中的思路,分层回测模型构建方法如下
分层回测分析
股票池:中证500股票池股票,剔除 ST 股票,剔除上市 3 个月以内的股票。
回测区间:2014-01-01 至 2019-01-01(5年)
换仓期:在每个自然月第一个交易日核算因子值,在下个自然月首个交易日按当日 收盘价换仓。
数据处理方法:将模型的预测值视作单因子,因子值为空的股票不参与分层。
分层方法:按因子值大小进行排序。
评价方法:回测年化收益率、夏普比率、信息比率、最大回撤、胜率等。
下面是该模型中因子值排名靠前的50只股票组合的超额收益净值曲线
下面是进行分组回测的各分层组合收益情况,决策树所呈现出的分层效果并不理想,未能有明显的分层效果
模型样本内(外)得分
与决策树回归模型相比,得分即是模型判断的正确率,决策树分类模型能更直观的展示决策效果,下面就是对该模型样本内与样本外得分情况进行了统计,在每个月月初截面期,将当前时间往前推 60 个月样本内模型得分记为score_p,将对下一期预测值实际得分记为score_r,统计得分如下
可以看到,样本内与样本外得分差异还是较为明显的,将模型外推进行预测时,预测正确率波动较大。
模型因子特征重要性统计
在上篇决策树介绍中,我们提及过模型有很多属性和方法可以进行获取查看,
在具体的决策树模型构建中,我们将当期股票的各个因子作为输入特征,按照股票下月收益情况分为不同类别,也就是以股票下期收益为标签,以此进行模型训练。对于决策树这一非线性分类器,我们依然可以 通过特征划分过程来计算评估各个因子特征的重要性,
下面我们给出 2014-2019 年间39个模型的特征重要性评分均值柱状图
综合历史的特征重要性信息来看,波动率、动量、Beta因子对股价的预测能力明显强于财务类因子,这也印证了A股市场投机行为显著的特性。
总结说明
这篇内容基本上是在展示机器学习中简单模型决策树的工具性,更多的是研究流程方法的说明,从如何构建模型,搭建回测的角度出发,到结果展示汇总。
就模型本身而言,虽然多头部分有超额收益,但是不足以证明该模型的优越性;模型的准确率也有待提高;特征重要性统计部分能获知哪些因子对股价影响较大。一定有很多比决策树更好的方法可以用,比如已知的模型中,由决策树作为基学习器的集成算法随机森林模型,就会比决策树模型要好,有一些认真好学的同学问我,为什么不直接用随机森林呢,那就试试吧, 核心的模型代码替换部分不算多,可以克隆代码进行操作,或者尝试更多的模型。
#工具函数
#工具函数
import time
from datetime import datetime, timedelta
import jqdata
import numpy as np
import pandas as pd
import math
from statsmodels import regression
import statsmodels.api as sm
import matplotlib.pyplot as plt
from jqfactor import get_factor_values
import datetime
from jqlib.technical_analysis import *
from scipy import stats
#设置画图样式
plt.style.use('ggplot')
#输入起止日期,返回所有自然日日期
def get_date_list(begin_date, end_date):
dates = []
dt = datetime.strptime(begin_date,"%Y-%m-%d")
date = begin_date[:]
while date <= end_date:
dates.append(date)
dt += timedelta(days=1)
date = dt.strftime("%Y-%m-%d")
return dates
#获取日期列表
def get_tradeday_list(start,end,frequency=None,count=None):
if count != None:
df = get_price('000001.XSHG',end_date=end,count=count)
else:
df = get_price('000001.XSHG',start_date=start,end_date=end)
if frequency == None or frequency =='day':
return df.index
else:
df['year-month'] = [str(i)[0:7] for i in df.index]
if frequency == 'month':
return df.drop_duplicates('year-month').index
elif frequency == 'quarter':
df['month'] = [str(i)[5:7] for i in df.index]
df = df[(df['month']=='01') | (df['month']=='04') | (df['month']=='07') | (df['month']=='10') ]
return df.drop_duplicates('year-month').index
elif frequency =='halfyear':
df['month'] = [str(i)[5:7] for i in df.index]
df = df[(df['month']=='01') | (df['month']=='06')]
return df.drop_duplicates('year-month').index
def ret_se(start_date='2018-6-1',end_date='2018-7-1',stock_pool=None,weight=0):
pool = stock_pool
if len(pool) != 0:
#得到股票的历史价格数据
df = get_price(list(pool),start_date=start_date,end_date=end_date,fields=['close']).close
df = df.dropna(axis=1)
#获取列表中的股票流通市值对数值
df_mkt = get_fundamentals(query(valuation.code,valuation.circulating_market_cap).filter(valuation.code.in_(df.columns)))
df_mkt.index = df_mkt['code'].values
fact_se =pd.Series(df_mkt['circulating_market_cap'].values,index = df_mkt['code'].values)
fact_se = np.log(fact_se)
else:
df = get_price('000001.XSHG',start_date=start_date,end_date=end_date,fields=['close'])
df['v'] = [1]*len(df)
del df['close']
#相当于昨天的百分比变化
pct = df.pct_change()+1
pct.iloc[0,:] = 1
if weight == 0:
#等权重平均收益结果
se = pct.cumsum(axis=1).iloc[:,-1]/pct.shape[1]
return se
else:
#按权重的方式计算
se = (pct*fact_se).cumsum(axis=1).iloc[:,-1]/sum(fact_se)
return se
#获取所有分组pct
def get_all_pct(pool_dict,trade_list,groups=5):
num = 1
for s,e in zip(trade_list[:-1],trade_list[1:]):
stock_list = pool_dict[s]
stock_num = len(stock_list)//groups
if num == 0:
pct_se_list = []
for i in range(groups):
pct_se_list.append(ret_se(start_date=s,end_date=e,stock_pool=stock_list[i*stock_num:(i+1)*stock_num]))
pct_df1 = pd.concat(pct_se_list,axis=1)
pct_df = pd.concat([pct_df,pct_df1],axis=0)
else:
pct_se_list = []
for i in range(groups):
pct_se_list.append(ret_se(start_date=s,end_date=e,stock_pool=stock_list[i*stock_num:(i+1)*stock_num]))
pct_df = pd.concat(pct_se_list,axis=1)
num = 0
return pct_df
def tradedays_before(date,count):#获取指定交易日往前推count天交易日
date = get_price('000001.XSHG',end_date=date,count=count+1).index[0]
return date
#进行新股、St股过滤,返回筛选后的股票
def filter_stock(stockList,date,days=21*3):
#去除上市距beginDate不足3个月的股票
def delect_stop(stocks,beginDate,n=days):
stockList=[]
beginDate = datetime.datetime.strptime(beginDate, "%Y-%m-%d")
for stock in stocks:
start_date=get_security_info(stock).start_date
if start_date<(beginDate-datetime.timedelta(days=n)).date():
stockList.append(stock)
return stockList
#剔除ST股
st_data=get_extras('is_st',stockList, count = 1,end_date=date)
stockList = [stock for stock in stockList if not st_data[stock][0]]
#剔除停牌、新股及退市股票
stockList=delect_stop(stockList,date)
'''
#剔除开盘涨跌停
#如果需要收盘涨跌停可以改字段即可
df = get_price(stockList,end_date=date,fields=['open','high_limit','low_limit'],count=1).iloc[:,0,:]
df['h_limit']=(df['open']==df['high_limit'])
df['l_limit']=(df['open']==df['low_limit'])
stockList = [df.index[i] for i in range(len(df)) if not (df.h_limit[i] or df.l_limit[i])] #过滤涨跌停股票
'''
return stockList
第一部分 数据获取部分
#第一部分:数据获取,X,Y
#参数及工具函数部分
from jqfactor import *
import warnings
warnings.filterwarnings('ignore')
#因子数据获取函数
#获取时间为date的全部因子数据
def get_factor_data(stock,date):
data=pd.DataFrame(index=stock)
q = query(valuation,balance,cash_flow,income,indicator).filter(valuation.code.in_(stock))
df = get_fundamentals(q, date)
df['market_cap']=df['market_cap']*100000000
factor_data=get_factor_values(stock,['roe_ttm','roa_ttm','total_asset_turnover_rate',\
'net_operate_cash_flow_ttm','net_profit_ttm','net_profit_ratio',\
'cash_to_current_liability','current_ratio',\
'gross_income_ratio','non_recurring_gain_loss',\
'operating_revenue_ttm','net_profit_growth_rate'],end_date=date,count=1)
factor=pd.DataFrame(index=stock)
for i in factor_data.keys():
factor[i]=factor_data[i].iloc[0,:]
df.index = df['code']
data['code'] = df['code']
del df['code'],df['id']
#合并得大表
df=pd.concat([df,factor],axis=1)
#总市值取对数
data['size_lg']=np.log(df['market_cap'])
#净利润(TTM)/总市值
data['EP']=df['net_profit_ttm']/df['market_cap']
#净资产/总市值
data['BP']=1/df['pb_ratio']
#营业收入(TTM)/总市值
data['SP']=1/df['ps_ratio']
#净现金流(TTM)/总市值
data['NCFP']=1/df['pcf_ratio']
#经营性现金流(TTM)/总市值
data['OCFP']=df['net_operate_cash_flow_ttm']/df['market_cap']
#净利润同比增长率
data['net_g'] = df['net_profit_growth_rate']
#净利润(TTM)同比增长率/PE_TTM
data['G/PE']=df['net_profit_growth_rate']/df['pe_ratio']
#ROE_ttm
data['roe_ttm']=df['roe_ttm']
#ROE_YTD
data['roe_q']=df['roe']
#ROA_ttm
data['roa_ttm']=df['roa_ttm']
#ROA_YTD
data['roa_q']=df['roa']
#净利率
data['netprofitratio_ttm'] = df['net_profit_ratio']
#毛利率TTM
data['grossprofitmargin_ttm']=df['gross_income_ratio']
#毛利率YTD
data['grossprofitmargin_q']=df['gross_profit_margin']
#扣除非经常性损益后净利润率YTD
data['profitmargin_q']=df['adjusted_profit']/df['operating_revenue']
#资产周转率TTM
data['assetturnover_ttm']=df['total_asset_turnover_rate']
#总资产周转率YTD 营业收入/总资产
data['assetturnover_q']=df['operating_revenue']/df['total_assets']
#经营性现金流/净利润TTM
data['operationcashflowratio_ttm']=df['net_operate_cash_flow_ttm']/df['net_profit_ttm']
#经营性现金流/净利润YTD
data['operationcashflowratio_q']=df['net_operate_cash_flow']/df['net_profit']
#净资产
df['net_assets']=df['total_assets']-df['total_liability']
#总资产/净资产
data['financial_leverage']=df['total_assets']/df['net_assets']
#非流动负债/净资产
data['debtequityratio']=df['total_non_current_liability']/df['net_assets']
#现金比率=(货币资金+有价证券)÷流动负债
data['cashratio']=df['cash_to_current_liability']
#流动比率=流动资产/流动负债*100%
data['currentratio']=df['current_ratio']
#总市值取对数
data['ln_capital']=np.log(df['market_cap'])
#TTM所需时间
his_date = [pd.to_datetime(date) - datetime.timedelta(90*i) for i in range(0, 4)]
tmp = pd.DataFrame()
tmp['code']=list(stock)
for i in his_date:
tmp_adjusted_dividend = get_fundamentals(query(indicator.code, indicator.adjusted_profit, \
cash_flow.dividend_interest_payment).
filter(indicator.code.in_(stock)), date = i)
tmp=pd.merge(tmp,tmp_adjusted_dividend,how='outer',on='code')
tmp=tmp.rename(columns={'adjusted_profit':'adjusted_profit'+str(i.month), \
'dividend_interest_payment':'dividend_interest_payment'+str(i.month)})
tmp=tmp.set_index('code')
tmp_columns=tmp.columns.values.tolist()
tmp_adjusted=sum(tmp[[i for i in tmp_columns if 'adjusted_profit'in i ]],1)
tmp_dividend=sum(tmp[[i for i in tmp_columns if 'dividend_interest_payment'in i ]],1)
#扣除非经常性损益后净利润(TTM)/总市值
data['EPcut']=tmp_adjusted/df['market_cap']
#近12个月现金红利(按除息日计)/总市值
data['DP']=tmp_dividend/df['market_cap']
#扣除非经常性损益后净利润率TTM
data['profitmargin_ttm']=tmp_adjusted/df['operating_revenue_ttm']
#营业收入(YTD)同比增长率
#_x现在 _y前一年
his_date = pd.to_datetime(date) - datetime.timedelta(365)
name=['operating_revenue','net_profit','net_operate_cash_flow','roe']
temp_data=df[name]
his_temp_data = get_fundamentals(query(valuation.code, income.operating_revenue,income.net_profit,\
cash_flow.net_operate_cash_flow,indicator.roe).
filter(valuation.code.in_(stock)), date = his_date)
his_temp_data=his_temp_data.set_index('code')
#重命名 his_temp_data last_year
for i in name:
his_temp_data=his_temp_data.rename(columns={i:i+'last_year'})
temp_data =pd.concat([temp_data,his_temp_data],axis=1)
#营业收入(YTD)同比增长率
data['sales_g_q']=temp_data['operating_revenue']/temp_data['operating_revenuelast_year']-1
#净利润(YTD)同比增长率
data['profit_g_q']=temp_data['net_profit']/temp_data['net_profitlast_year']-1
#经营性现金流(YTD)同比增长率
data['ocf_g_q']=temp_data['net_operate_cash_flow']/temp_data['net_operate_cash_flowlast_year']-1
#ROE(YTD)同比增长率
data['roe_g_q']=temp_data['roe']/temp_data['roelast_year']-1
#计算beta部分
#辅助线性回归的函数
def linreg(X,Y,columns=3):
X=sm.add_constant(array(X))
Y=array(Y)
if len(Y)>1:
results = regression.linear_model.OLS(Y, X).fit()
return results.params
else:
return [float("nan")]*(columns+1)
#个股60个月收益与上证综指回归的截距项与BETA
stock_close=get_price(list(stock), count = 12*20+1, end_date=date, frequency='daily', fields=['close'])['close']
SZ_close=get_price('000001.XSHG', count = 12*20+1, end_date=date, frequency='daily', fields=['close'])['close']
stock_pchg=stock_close.pct_change().iloc[1:]
SZ_pchg=SZ_close.pct_change().iloc[1:]
beta=[]
stockalpha=[]
for i in stock:
temp_beta, temp_stockalpha = stats.linregress(SZ_pchg, stock_pchg[i])[:2]
beta.append(temp_beta)
stockalpha.append(temp_stockalpha)
#此处alpha beta为list
#data['alpha']=stockalpha
data['beta']=beta
#反转
data['reverse_1m']=stock_close.iloc[-21]/stock_close.iloc[-1]-1
data['reverse_3m']=stock_close.iloc[-63]/stock_close.iloc[-1]-1
#波动率(一个月、三个月标准差)
data['std_1m']=stock_close[-20:].std()
data['std_3m']=stock_close[-60:].std()
#换手率
#tradedays_1m = get_tradeday_list(start=date,end=date,frequency='day',count=21)#最近一个月交易日
tradedays_3m = get_tradeday_list(start=date,end=date,frequency='day',count=63)#最近一个月交易日
data_turnover_ratio=pd.DataFrame()
data_turnover_ratio['code']=list(stock)
for i in tradedays_3m:
q = query(valuation.code,valuation.turnover_ratio).filter(valuation.code.in_(stock))
temp = get_fundamentals(q, i)
data_turnover_ratio=pd.merge(data_turnover_ratio, temp,how='left',on='code')
data_turnover_ratio=data_turnover_ratio.rename(columns={'turnover_ratio':i})
data['turn_3m']= (data_turnover_ratio.set_index('code').T).mean()
data['turn_1m']= (data_turnover_ratio.set_index('code').T)[-21:].mean()
'''
#技术指标部分
date_1 = tradedays_before(date,1)
data['PSY']=pd.Series(PSY(stock, date_1, timeperiod=20))
data['RSI']=pd.Series(RSI(stock, date_1, N1=20))
data['BIAS']=pd.Series(BIAS(stock,date_1, N1=20)[0])
dif,dea,macd=MACD(stock, date_1, SHORT = 10, LONG = 30, MID = 15)
#data['DIF']=pd.Series(dif)
#data['DEA']=pd.Series(dea)
data['MACD']=pd.Series(macd)
'''
return data
#多期获取数据
#输入:指数名称,统计时间列表
#输出:字典,key为时间,vlaues为因子值数据
factor_data_dict = {}
#设置统计数据区间
index = '000905.XSHG' #中证500
date_start = '2009-1-1'
date_end = '2019-1-1'
#获取交易日列表,每月首个交易日
date_list = get_tradeday_list(start=date_start,end=date_end,frequency='month',count=None)
#循环获取因子数据,并将值存在字典里面(耗时较长)
#并计算个期股票收益情况,加入指数涨跌幅
import time
t1 = time.time()
for date_1,date_2 in zip(date_list[:-1],date_list[1:]):
pool = get_index_stocks(index,date = date_1)
pool = filter_stock(pool,str(date_1)[:10],days=21*3) #进行新股、ST股票过滤
#计算指数涨跌幅
df_1 = get_price(index,end_date=date_1,fields=['close'],count = 1)['close']
df_2 = get_price(index,end_date=date_2,fields=['close'],count = 1)['close']
index_pct = df_2.values[0]/df_1.values[0] - 1#具体数值
#计算各股票涨跌幅
df_1 = get_price(pool,end_date=date_1,fields=['close'],count = 1)['close']
df_2 = get_price(pool,end_date=date_2,fields=['close'],count = 1)['close']
df_3 = pd.concat([df_1,df_2],axis=0).T #进行合并
stock_pct = df_3.iloc[:,1]/df_3.iloc[:,0] - 1 #计算pct,series
#记录因子值
factor_df = get_factor_data(pool,date=date_1) #进行因子值获取
factor_df['init_pct'] = stock_pct
factor_df['pct'] = stock_pct-index_pct
del factor_df['code']
#对数据进行处理、标准化、去极值、中性化
factor_df = winsorize_med(factor_df, scale=3, inclusive=True, inf2nan=True, axis=0) #中位数去极值处理
factor_df = standardlize(factor_df, inf2nan=True, axis=0) #对每列做标准化处理
factor_df = neutralize(factor_df, how=['sw_l1', 'market_cap'], date=date_1, axis=0,fillna='sw_l1')#中性化
factor_df['pct_init'] = stock_pct-index_pct
factor_df['pct_'] = stock_pct
factor_data_dict[date_1] = factor_df
t2 = time.time()
print('计算因子耗时:{0}'.format(t2-t1))
factor_data_dict[date_1].head(5)
计算因子耗时:1145.5814056396484
size_lg | EP | BP | SP | NCFP | OCFP | net_g | G/PE | roe_ttm | roe_q | roa_ttm | roa_q | netprofitratio_ttm | grossprofitmargin_ttm | grossprofitmargin_q | profitmargin_q | assetturnover_ttm | assetturnover_q | operationcashflowratio_ttm | operationcashflowratio_q | financial_leverage | debtequityratio | cashratio | currentratio | ln_capital | EPcut | DP | profitmargin_ttm | sales_g_q | profit_g_q | ocf_g_q | roe_g_q | beta | reverse_1m | reverse_3m | std_1m | std_3m | turn_3m | turn_1m | init_pct | pct | pct_init | pct_ | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000006.XSHE | -0.077817 | 1.022843 | -0.602105 | -1.089261 | -1.690606 | 0.147160 | -0.019733 | -0.671067 | 1.540722 | 0.341068 | 1.626340 | 0.662259 | 1.434476 | 0.132095 | 0.385895 | 1.152251 | 0.061247 | 0.167706 | -0.249980 | 1.733690 | -1.117797 | -1.064845 | 1.114055 | 0.403413 | -0.077817 | 1.730939 | -0.743708 | 1.838809 | 0.650402 | 0.243165 | 1.226862 | 0.248770 | 0.314806 | -0.115978 | -0.340048 | -0.173895 | -0.217768 | 1.133665 | 1.336548 | -0.016822 | -0.016822 | 0.048918 | 0.099206 |
000008.XSHE | 0.318744 | 0.442186 | -0.239901 | -1.021916 | -0.353649 | -0.936245 | 1.302409 | 1.288474 | 0.521635 | -0.619642 | 1.184582 | -0.286871 | 1.819247 | 1.232121 | 1.221166 | 0.623923 | -0.642162 | -0.778225 | -1.075468 | -0.326893 | -1.278588 | -1.032454 | -0.537143 | 0.567402 | 0.318744 | -0.666567 | -0.870062 | -0.032160 | 0.760546 | -0.329002 | -0.287981 | -0.371484 | -1.893115 | -0.786041 | -0.266331 | -0.557842 | -0.623865 | 1.174789 | 1.514848 | -1.856744 | -1.856744 | -0.137645 | -0.087356 |
000009.XSHE | 0.059027 | -0.288493 | -0.858187 | 0.737852 | 1.266018 | 0.668415 | -0.594483 | -0.461260 | -0.082877 | -0.307023 | -0.144768 | -0.098511 | -0.919138 | 0.770937 | 0.846138 | -0.286520 | 0.332105 | 0.308008 | 0.394805 | 1.820813 | 0.975812 | 1.050637 | -0.102593 | -0.111634 | 0.059027 | 0.224068 | 0.832473 | -0.138303 | 0.322757 | -1.032347 | 1.423243 | -1.632225 | 0.801086 | 0.333655 | 0.090969 | 0.248720 | -0.004989 | 0.071895 | 0.110714 | 0.937600 | 0.937600 | 0.168074 | 0.218362 |
000012.XSHE | 0.136297 | -1.030894 | -0.277389 | -0.274747 | 1.476351 | 0.032150 | -1.458816 | -1.832720 | -0.503143 | -0.992636 | -0.487247 | -0.940615 | -0.599767 | -0.429434 | -0.386729 | -0.644088 | 0.060920 | -0.231125 | 0.701075 | 1.463804 | -0.213630 | 0.528676 | 0.315127 | -0.576583 | 0.136297 | 0.371685 | 0.396632 | 0.057958 | -1.145115 | -1.296244 | -0.251740 | -1.064579 | -0.025827 | 0.746286 | 0.276546 | -0.471837 | -0.484961 | -1.771504 | -1.472941 | -0.207813 | -0.207813 | -0.012103 | 0.038186 |
000021.XSHE | 0.063854 | 1.037131 | 0.604084 | 2.067482 | 1.748452 | 1.288336 | 0.870117 | 0.651142 | 0.552214 | 1.791641 | 0.175554 | 1.216013 | -0.526307 | -1.782653 | -1.766242 | -0.473181 | 1.891939 | 2.143147 | 0.810513 | 0.433656 | 0.701762 | -0.484696 | -0.575940 | -1.168946 | 0.063854 | -0.043852 | 0.583482 | -0.485850 | 0.486683 | 0.949440 | 1.676843 | 1.343296 | 0.276628 | -0.397713 | 0.020647 | -0.620988 | -0.665743 | -1.513322 | -1.475897 | 1.245757 | 1.245757 | 0.101726 | 0.152015 |
下面两段代码将因子值存储
主要是方便下次使用的时候不用计算
#将计算出来的因子值进行存储
#使用pickle模块将数据对象保存到文件
import pickle
pkl_file = open('factor_data_10year.pkl', 'wb')
pickle.dump(factor_data_dict, pkl_file, 0)
pkl_file.close()
#读取计算出来的因子值
import pickle
pkl_file = open('factor_data_10year.pkl', 'rb')
factor_data_dict = pickle.load(pkl_file)
pkl_file.close()
#数据合并,用于模型训练
#将字典组成一个无日期的大表
all_data = pd.DataFrame()
for d in date_list[:60]:
all_data = pd.concat([all_data,factor_data_dict[d]],axis=0) #进行纵向拼接
print(d)
print(all_data.shape)
all_data.head(5)
2013-12-02 00:00:00 (29953, 43)
size_lg | EP | BP | SP | NCFP | OCFP | net_g | G/PE | roe_ttm | roe_q | roa_ttm | roa_q | netprofitratio_ttm | grossprofitmargin_ttm | grossprofitmargin_q | profitmargin_q | assetturnover_ttm | assetturnover_q | operationcashflowratio_ttm | operationcashflowratio_q | financial_leverage | debtequityratio | cashratio | currentratio | ln_capital | EPcut | DP | profitmargin_ttm | sales_g_q | profit_g_q | ocf_g_q | roe_g_q | beta | reverse_1m | reverse_3m | std_1m | std_3m | turn_3m | turn_1m | init_pct | pct | pct_init | pct_ | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000005.XSHE | 0.218419 | -1.421841 | -1.411739 | -0.776978 | 0.826656 | 0.278145 | -1.515751 | -0.513046 | -1.037885 | 0.008567 | -0.795807 | 0.062137 | -1.129902 | 1.037291 | 0.919271 | 1.452092 | -0.437273 | -0.132339 | -0.792417 | 1.712005 | -0.615734 | -1.899612 | 1.545444 | -2.577693 | 0.218419 | -1.111687 | -1.425837 | -0.975547 | 0.780701 | -0.283862 | 1.824256 | -0.009487 | -1.909712 | -1.016695 | -0.206580 | -0.518062 | -0.118213 | -0.267275 | 0.168485 | -0.236400 | -0.236400 | -0.020736 | 0.121094 |
000006.XSHE | 0.289643 | 1.550919 | -0.051024 | 0.104479 | -1.397705 | -0.841481 | 1.200496 | 1.638472 | 1.525065 | -0.409914 | 0.578651 | -0.376942 | 0.958430 | 0.992241 | 0.871384 | -0.513885 | -0.119323 | -0.312312 | -0.795852 | 1.712330 | 1.466390 | 0.693585 | -1.462381 | 0.347261 | 0.289643 | 1.712075 | 1.585837 | 1.215114 | -1.340155 | -0.647242 | -0.323988 | -0.424979 | 0.493861 | -0.643682 | -0.215120 | -0.814858 | -0.751414 | 0.006056 | 0.277672 | -0.983345 | -0.983345 | -0.087284 | 0.054545 |
000016.XSHE | 0.192169 | 1.196074 | 1.291352 | 1.212567 | 1.157052 | -0.491948 | 1.445536 | 1.165302 | -0.253739 | -0.050230 | -0.543191 | -0.487930 | -0.414085 | -0.222880 | -0.142152 | -0.239674 | 0.642469 | 0.609054 | -0.259461 | -0.366880 | 0.608672 | -0.034761 | 0.354808 | -0.273792 | 0.192169 | 1.413782 | -0.541245 | -0.409126 | -0.030765 | 0.974871 | -0.842630 | 0.759949 | 0.652941 | 1.373805 | 0.088552 | -0.985765 | -1.435069 | 0.323509 | 0.113997 | 0.502629 | 0.502629 | -0.031440 | 0.110390 |
000028.XSHE | 0.277450 | -0.308382 | -0.703722 | 1.662619 | 0.190830 | -0.262868 | -0.154040 | -0.272183 | 1.197975 | 1.054561 | -0.685484 | -0.116961 | -1.147488 | -1.798518 | -1.642518 | -0.924265 | 1.546786 | 1.496096 | -0.092625 | 0.201519 | 2.207526 | 0.758136 | 0.389747 | -0.737857 | 0.277450 | -0.403217 | -0.856295 | -1.239574 | 0.026092 | -0.326210 | 1.323509 | -0.354979 | -0.981094 | -0.732697 | -0.762168 | 1.623814 | 1.130594 | -1.172624 | -1.187910 | -1.324751 | -1.324751 | -0.173156 | -0.031327 |
000029.XSHE | 0.310393 | -1.165401 | -0.849878 | -0.362983 | -0.325705 | 0.203973 | 0.813398 | 0.039584 | -0.816394 | -0.307014 | -0.553856 | -0.251988 | -1.017622 | -0.083033 | -0.490529 | -0.138693 | 0.159533 | 0.227901 | -0.296634 | -1.680921 | -0.717029 | 0.043151 | -0.589434 | -0.001819 | 0.310393 | -0.876422 | -1.255630 | -0.640484 | -1.113069 | 0.044635 | -1.597728 | 0.271376 | 0.860960 | 1.227973 | 0.058875 | -0.021316 | -0.081549 | -0.085908 | -0.422587 | -0.548962 | -0.548962 | -0.052610 | 0.089219 |
空值检查
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0.2*len(all_data[colu]):
print('因子:%s缺失值较多,不做为统计特征处理'%colu)
del all_data[colu]
all_data.shape
(29953, 43)
#进行空值处理
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0:#0.05*len(all_data[colu]):
all_data[colu].fillna(all_data[colu].mean(),inplace=True)
#del all_data[colu]
all_data.shape
(29953, 43)
第二部分 模型搭建 进行因子值预测
#第二部分:决策树模型
from sklearn import tree
from sklearn.model_selection import train_test_split #对数据进行随机划分
进行分类方法处理
#进行因子值预测(分类方式)
df_y = pd.DataFrame()
df_score = pd.DataFrame(index = ['score_p','score_r'])
colus = factor_data_dict[date_list[60]].columns[:-4]
df_features_c = pd.DataFrame(index=colus)
for i in range(60,len(date_list)-1):
print('正在计算{0}...数据'.format(date_list[i]))
#数据合并,用于模型训练
#将字典组成一个无日期的大表
all_data = pd.DataFrame()
for d in date_list[i-60:i]:
all_data = pd.concat([all_data,factor_data_dict[d]],axis=0) #进行纵向拼接
#空值NAN值处理
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0.2*len(all_data[colu]):
print('因子:%s缺失值较多,不做为统计特征处理'%colu)
del all_data[colu]
#进行空值处理
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0:#0.05*len(all_data[colu]):
all_data[colu].fillna(all_data[colu].mean(),inplace=True)
#del all_data[colu]
#获取前三分之一和后三分之一的数据
all_data = all_data.sort_values('pct_init')
#print(all_data.shape)
all_data['num'] = list(range(len(all_data)))
all_data = all_data[(all_data['num']<=len(all_data)/3) | (all_data['num']>=2*len(all_data)/3)]
#print(all_data.shape)
#记录标签y
y1 = (all_data["pct_init"]>0).astype("int") #走完流程在改?
y = all_data['pct_init']
x = all_data.iloc[:,:-5]
X_train, X_test, y_train, y_test = train_test_split(x,y1.values, test_size=0.3)
#建立最大深度为2的决策树,并用测试数据来训练这颗树
clf = tree.DecisionTreeClassifier(max_depth = 6
)
clf = clf.fit(X_train, y_train) #模型训练
s_p = clf.score(X_test,y_test)#样本内得分
#print(clf.score(X_test,y_test)) #模型得分
#模型预测
factor_df_temp = factor_data_dict[date_list[i]].iloc[:,:-4]
factor_df_temp1 = factor_df_temp.dropna(axis=0)
df_temp = pd.DataFrame(index=factor_df_temp1.index)
df_temp[date_list[i]] = [i[1] for i in clf.predict_proba(factor_df_temp1)]
#记录模型真实数据得分
y_t = factor_data_dict[date_list[i]].dropna()
x_s = y_t.iloc[:,:-4]
y_s = (y_t["pct_init"]>0).astype("int")
s_r = clf.score(x_s,y_s)
df_score[date_list[i]] = [s_p,s_r]
#记录特征重要性
df_features_c[date_list[i]] = clf.feature_importances_
df_y = pd.concat([df_y,df_temp],axis=1) #进行横向拼接
df_y
正在计算2014-01-02 00:00:00...数据 (19969, 44) 正在计算2014-02-07 00:00:00...数据 (19969, 44) 正在计算2014-03-03 00:00:00...数据 (19969, 44) 正在计算2014-04-01 00:00:00...数据 (19969, 44) 正在计算2014-05-05 00:00:00...数据 (19967, 44) 正在计算2014-06-03 00:00:00...数据 (19969, 44) 正在计算2014-07-01 00:00:00...数据 (19971, 44) 正在计算2014-08-01 00:00:00...数据 (19971, 44) 正在计算2014-09-01 00:00:00...数据 (19971, 44) 正在计算2014-10-08 00:00:00...数据 (19971, 44) 正在计算2014-11-03 00:00:00...数据 (19971, 44) 正在计算2014-12-01 00:00:00...数据 (19971, 44) 正在计算2015-01-05 00:00:00...数据 (19971, 44) 正在计算2015-02-02 00:00:00...数据 (19971, 44) 正在计算2015-03-02 00:00:00...数据 (19971, 44) 正在计算2015-04-01 00:00:00...数据 (19971, 44) 正在计算2015-05-04 00:00:00...数据 (19973, 44) 正在计算2015-06-01 00:00:00...数据 (19975, 44) 正在计算2015-07-01 00:00:00...数据 (19975, 44) 正在计算2015-08-03 00:00:00...数据 (19975, 44) 正在计算2015-09-01 00:00:00...数据 (19975, 44) 正在计算2015-10-08 00:00:00...数据 (19975, 44) 正在计算2015-11-02 00:00:00...数据 (19975, 44) 正在计算2015-12-01 00:00:00...数据 (19975, 44) 正在计算2016-01-04 00:00:00...数据 (19975, 44) 正在计算2016-02-01 00:00:00...数据 (19975, 44) 正在计算2016-03-01 00:00:00...数据 (19975, 44) 正在计算2016-04-01 00:00:00...数据 (19975, 44) 正在计算2016-05-03 00:00:00...数据 (19975, 44) 正在计算2016-06-01 00:00:00...数据 (19975, 44) 正在计算2016-07-01 00:00:00...数据 (19973, 44) 正在计算2016-08-01 00:00:00...数据 (19973, 44) 正在计算2016-09-01 00:00:00...数据 (19973, 44) 正在计算2016-10-10 00:00:00...数据 (19973, 44) 正在计算2016-11-01 00:00:00...数据 (19975, 44) 正在计算2016-12-01 00:00:00...数据 (19975, 44) 正在计算2017-01-03 00:00:00...数据 (19975, 44) 正在计算2017-02-03 00:00:00...数据 (19975, 44) 正在计算2017-03-01 00:00:00...数据 (19975, 44) 正在计算2017-04-05 00:00:00...数据 (19975, 44) 正在计算2017-05-02 00:00:00...数据 (19975, 44) 正在计算2017-06-01 00:00:00...数据 (19979, 44) 正在计算2017-07-03 00:00:00...数据 (19981, 44) 正在计算2017-08-01 00:00:00...数据 (19981, 44) 正在计算2017-09-01 00:00:00...数据 (19981, 44) 正在计算2017-10-09 00:00:00...数据 (19981, 44) 正在计算2017-11-01 00:00:00...数据 (19981, 44) 正在计算2017-12-01 00:00:00...数据 (19981, 44) 正在计算2018-01-02 00:00:00...数据 (19981, 44) 正在计算2018-02-01 00:00:00...数据 (19981, 44) 正在计算2018-03-01 00:00:00...数据 (19981, 44) 正在计算2018-04-02 00:00:00...数据 (19981, 44) 正在计算2018-05-02 00:00:00...数据 (19981, 44) 正在计算2018-06-01 00:00:00...数据 (19981, 44) 正在计算2018-07-02 00:00:00...数据 (19979, 44) 正在计算2018-08-01 00:00:00...数据 (19979, 44) 正在计算2018-09-03 00:00:00...数据 (19979, 44) 正在计算2018-10-08 00:00:00...数据 (19979, 44) 正在计算2018-11-01 00:00:00...数据 (19979, 44)
2014-01-02 00:00:00 | 2014-02-07 00:00:00 | 2014-03-03 00:00:00 | 2014-04-01 00:00:00 | 2014-05-05 00:00:00 | 2014-06-03 00:00:00 | 2014-07-01 00:00:00 | 2014-08-01 00:00:00 | 2014-09-01 00:00:00 | 2014-10-08 00:00:00 | 2014-11-03 00:00:00 | 2014-12-01 00:00:00 | 2015-01-05 00:00:00 | 2015-02-02 00:00:00 | 2015-03-02 00:00:00 | 2015-04-01 00:00:00 | 2015-05-04 00:00:00 | 2015-06-01 00:00:00 | 2015-07-01 00:00:00 | 2015-08-03 00:00:00 | 2015-09-01 00:00:00 | 2015-10-08 00:00:00 | 2015-11-02 00:00:00 | 2015-12-01 00:00:00 | 2016-01-04 00:00:00 | 2016-02-01 00:00:00 | 2016-03-01 00:00:00 | 2016-04-01 00:00:00 | 2016-05-03 00:00:00 | 2016-06-01 00:00:00 | 2016-07-01 00:00:00 | 2016-08-01 00:00:00 | 2016-09-01 00:00:00 | 2016-10-10 00:00:00 | 2016-11-01 00:00:00 | 2016-12-01 00:00:00 | 2017-01-03 00:00:00 | 2017-02-03 00:00:00 | 2017-03-01 00:00:00 | 2017-04-05 00:00:00 | 2017-05-02 00:00:00 | 2017-06-01 00:00:00 | 2017-07-03 00:00:00 | 2017-08-01 00:00:00 | 2017-09-01 00:00:00 | 2017-10-09 00:00:00 | 2017-11-01 00:00:00 | 2017-12-01 00:00:00 | 2018-01-02 00:00:00 | 2018-02-01 00:00:00 | 2018-03-01 00:00:00 | 2018-04-02 00:00:00 | 2018-05-02 00:00:00 | 2018-06-01 00:00:00 | 2018-07-02 00:00:00 | 2018-08-01 00:00:00 | 2018-09-03 00:00:00 | 2018-10-08 00:00:00 | 2018-11-01 00:00:00 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000006.XSHE | 0.658940 | 0.532413 | 0.544107 | 0.411765 | 0.530973 | 0.542315 | 0.553860 | 0.611413 | 0.456059 | 0.546445 | 0.478465 | 0.593874 | 0.471284 | 0.610757 | 0.580205 | 0.347783 | 0.505348 | 0.793103 | 0.475219 | 0.473568 | 0.436263 | 0.500534 | 0.528905 | 0.402266 | 0.430657 | 0.544554 | 0.525346 | 0.441176 | 0.261146 | 0.574270 | 0.513089 | 0.564706 | 0.327044 | 0.536718 | 0.551002 | 0.621170 | 0.475983 | 0.465409 | 0.662621 | 0.703704 | 0.532328 | 0.406877 | 0.514706 | 0.477193 | 0.616438 | 0.526055 | 0.457774 | 0.390625 | 0.498242 | 0.582215 | 0.566351 | 0.611940 | 0.662382 | 0.509733 | 0.476807 | 0.774194 | 0.503650 | 0.442251 | 0.498455 |
000008.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.390977 | 0.468750 | 0.487945 | 0.635228 | 0.530405 | 0.472727 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.511290 | 0.689189 | 0.447995 | 0.401611 | 0.739130 |
000009.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.361516 | 0.458763 | 0.498836 | 0.470523 | 0.450318 | 0.489021 | 0.511290 | 0.445087 | 0.447995 | 0.688822 | 0.498455 |
000012.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.471284 | 0.486943 | 0.450637 | 0.549505 | 0.425703 | 0.452622 | 0.447754 | 0.484153 | 0.581767 | 0.571923 | 0.528803 | 0.648318 | 0.399211 | 0.526746 | 0.449206 | 0.647256 | 0.533662 | 0.481718 | 0.507299 | 0.669903 | 0.231250 | 0.536729 | 0.325991 | 0.307359 | 0.496585 | 0.636364 | 0.605000 | 0.166667 | 0.562431 | 0.461957 | 0.727941 | 0.481321 | 0.565851 | 0.471213 | 0.555689 | 0.431429 | 0.401848 | 0.454545 | 0.498836 | 0.600624 | 0.554585 | 0.407543 | 0.571042 | 0.498027 | 0.386986 | 0.315789 | 0.538905 |
000021.XSHE | 0.470508 | 0.510882 | 0.403101 | 0.550206 | 0.549082 | 0.542315 | 0.525986 | 0.611413 | 0.456059 | 0.615132 | 0.478465 | 0.479948 | 0.567594 | 0.500779 | 0.580205 | 0.552356 | 0.555069 | 0.553562 | 0.093750 | 0.502678 | 0.581767 | 0.571923 | 0.747573 | 0.416991 | 0.392357 | 0.396009 | 0.646853 | 0.428965 | 0.162162 | 0.574270 | 0.507299 | 0.085714 | 0.461056 | 0.536729 | 0.473239 | 0.307359 | 0.589777 | 0.480769 | 0.469219 | 0.568584 | 0.562431 | 0.567223 | 0.472982 | 0.399783 | 0.546053 | 0.559596 | 0.489394 | 0.541935 | 0.401848 | 0.458763 | 0.833333 | 0.633779 | 0.595883 | 0.684492 | 0.571042 | 0.785235 | 0.704545 | 0.688822 | 0.601250 |
000025.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.470588 | 0.465409 | 0.162791 | 0.575290 | 0.461698 | 0.445689 | 0.125000 | 0.411404 | 0.258503 | 0.527578 | 0.425840 | 0.556437 | 0.556416 | 0.417755 | 0.559980 | 0.609244 | 0.410870 | 0.509733 | 0.511290 | 0.774194 | 0.447995 | 0.401611 | 0.449474 |
000027.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.457547 | 0.558506 | 0.565851 | 0.471213 | 0.555689 | 0.625753 | 0.576155 | 0.516403 | 0.498836 | 0.633779 | 0.494751 | 0.591731 | 0.565412 | 0.623003 | 0.548456 | 0.570410 | 0.464960 |
000028.XSHE | 0.437443 | 0.413621 | 0.567797 | 0.330579 | 0.343434 | 0.503741 | 0.553860 | 0.418737 | 0.536232 | 0.546445 | 0.532864 | 0.502769 | 0.425430 | 0.469767 | 0.445545 | 0.552356 | 0.456818 | 0.553562 | 0.522199 | 0.495482 | 0.364049 | 0.494432 | 0.528803 | 0.648318 | 0.466395 | 0.145455 | 0.071429 | 0.428965 | 0.714286 | 0.574270 | 0.469459 | 0.469512 | 0.621469 | 0.909091 | 0.546053 | 0.220000 | 0.585903 | 0.354286 | 0.437500 | 0.401021 | 0.587669 | 0.461957 | 0.478599 | 0.461350 | 0.697514 | 0.600592 | 0.613487 | 0.481675 | 0.888889 | 0.543779 | 0.682231 | 0.542079 | 0.554585 | 0.591731 | 0.361582 | 0.498027 | 0.474088 | 0.481132 | 0.464396 |
000030.XSHE | 0.714286 | 0.487671 | 0.440000 | 0.490741 | 0.569472 | 0.509174 | 0.553860 | 0.611413 | 0.642469 | 0.406817 | 0.593790 | 0.485110 | 0.567594 | 0.500779 | 0.580205 | 0.443396 | 0.505348 | 0.500000 | 0.502706 | 0.473568 | 0.312000 | 0.571923 | 0.528803 | 0.506470 | 0.392357 | 0.396009 | 0.525346 | 0.449355 | 0.695195 | 0.643123 | 0.617921 | 0.592451 | 0.563380 | 0.536718 | 0.457906 | 0.514612 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000031.XSHE | 0.766667 | 0.532413 | 0.538981 | 0.574592 | 0.549082 | 0.552192 | 0.443631 | 0.707317 | 0.627530 | 0.702381 | 0.593790 | 0.485110 | 0.381166 | 0.500779 | 0.541322 | 0.488660 | 0.420571 | 0.553562 | 0.324607 | 0.251701 | 0.364049 | 0.438303 | 0.592157 | 0.697581 | 0.610465 | 0.475394 | 0.762821 | 0.527295 | 0.587002 | 0.546429 | 0.617921 | 0.555233 | 0.487945 | 0.536729 | 0.547038 | 0.520813 | 0.363380 | 0.539216 | 0.471698 | 0.677258 | 0.403738 | 0.461957 | 0.654867 | 0.461350 | 0.480000 | 0.402566 | 0.603083 | 0.371930 | 0.599045 | 0.352113 | 0.414088 | 0.619469 | 0.585492 | 0.659300 | 0.641689 | 0.466019 | 0.178571 | 0.637097 | 0.558449 |
000039.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.090909 | 0.558506 | 0.420520 | 0.612440 | 1.000000 | 0.650602 | 0.190476 | 0.566421 | 0.559980 | 0.542079 | 0.307692 | 0.591731 | 0.690678 | 0.785235 | 0.653061 | 0.638621 | 0.601250 |
000042.XSHE | 0.535948 | 0.532413 | 0.340000 | 0.411765 | 0.686275 | 0.950000 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000049.XSHE | 0.437443 | 0.588542 | 0.567797 | 0.411765 | 0.294643 | 0.509174 | 0.656566 | 0.512853 | 0.315217 | 0.504599 | 0.532864 | 0.593874 | 0.601626 | 0.438849 | 0.479741 | 0.191304 | 0.498195 | 0.545614 | 0.475219 | 0.495482 | 0.472527 | 0.553103 | 0.795455 | 0.489950 | 0.552419 | 0.526746 | 0.486717 | 0.441176 | 0.714286 | 0.511111 | 0.541109 | 0.469512 | 0.480944 | 0.355586 | 0.083333 | 0.514612 | 0.436559 | 0.365385 | 0.469219 | 0.355450 | 0.266667 | 0.525164 | 1.000000 | 0.556688 | 0.616438 | 0.612440 | 0.603083 | 0.425926 | 0.611650 | 0.516216 | 0.459722 | 0.714286 | 0.662382 | 0.509733 | 0.857143 | 0.375000 | 0.607463 | 0.906977 | 0.474766 |
000050.XSHE | 0.543716 | 0.680000 | 0.538981 | 0.465438 | 0.262136 | 0.503741 | 0.592593 | 0.270655 | 0.427885 | 0.260417 | 0.695864 | 0.474041 | 0.425430 | 0.664122 | 0.328767 | 0.488660 | 0.555069 | 0.553562 | NaN | NaN | NaN | NaN | NaN | NaN | 0.295858 | 0.582843 | 0.377119 | 0.441176 | 0.467647 | 0.463896 | 0.426396 | 0.103448 | 0.492320 | 0.536729 | 0.663004 | 0.569231 | 0.589777 | 0.599026 | 0.515267 | 0.239669 | 0.587669 | 0.436331 | 0.431851 | 0.411404 | 0.480000 | 0.471213 | 0.501742 | 0.452685 | 0.470000 | 0.566421 | 0.498836 | 0.542079 | 0.554585 | 0.591731 | NaN | NaN | NaN | NaN | NaN |
000061.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.573333 | 0.565851 | 0.471213 | 0.417323 | 0.750000 | 0.361516 | 0.454545 | 0.490991 | 0.410678 | 0.494751 | 0.489021 | 0.377119 | 0.498027 | 0.548456 | 0.570410 | 0.538905 |
000062.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.525974 | 0.504386 | 0.031250 | 0.443396 | 0.489159 | 0.460067 | 0.326425 | 0.344340 | 0.333333 | 0.494432 | 0.451053 | 0.487365 | 0.515991 | 0.544554 | 0.500000 | 0.606742 | 0.587002 | 0.336735 | 0.592814 | 0.580119 | 0.543882 | 0.547445 | 0.651606 | 0.445638 | 0.494792 | 0.637562 | 0.529412 | 0.575290 | 0.459459 | 0.406877 | 0.431851 | 0.399783 | 0.525547 | 0.504274 | 0.555689 | 0.462687 | 0.361516 | 0.454545 | 0.498836 | 0.470523 | 0.554585 | 0.550406 | 0.641689 | 0.572093 | 0.607463 | 0.515856 | 0.601250 |
000066.XSHE | 0.470508 | 0.460490 | 0.403101 | 0.487805 | 0.459662 | 0.461453 | 1.000000 | 0.454397 | 0.456059 | 0.379447 | 0.557377 | 0.502769 | 0.431280 | 0.312871 | 0.479741 | 0.542857 | 0.634146 | 0.227848 | 0.543734 | 0.339506 | 0.432709 | 0.700000 | 0.491315 | 0.495512 | 0.466395 | 0.391304 | 0.071429 | 0.478261 | 0.471780 | 0.000000 | 0.513089 | 0.488315 | 0.339623 | 0.590778 | 0.473239 | 1.000000 | 0.352359 | 0.465409 | 0.563981 | 0.740741 | 0.461698 | 0.552367 | 0.359788 | 0.461350 | 0.438312 | 0.471213 | 0.425840 | 0.438758 | 0.576155 | 0.516403 | 0.322222 | 0.289902 | 0.406250 | 0.403101 | 0.571042 | 0.491477 | 0.447995 | 0.556069 | 0.558449 |
000078.XSHE | 0.434343 | 0.453904 | 0.457143 | 0.490934 | 0.417466 | 0.542315 | 0.443631 | 0.270655 | 0.445205 | 0.303136 | 0.392000 | 0.254717 | 0.471284 | 0.486943 | 0.316406 | 0.191304 | 0.272989 | 0.326233 | 0.447754 | 0.362348 | 0.436263 | 0.397340 | 0.700000 | 0.329616 | 0.399211 | 0.396009 | 0.449206 | 0.527295 | 0.380531 | 0.463896 | 0.490614 | 0.555233 | 0.492320 | 0.536729 | 0.473239 | 0.501089 | 0.496585 | 0.505898 | 0.253086 | 0.568584 | 0.587669 | 0.550716 | 0.614072 | 0.477193 | 0.616438 | 0.334294 | 0.607889 | 0.462687 | 0.556416 | 0.325000 | 0.862745 | 0.542079 | 0.552239 | 0.489021 | 0.511290 | 0.572700 | 0.704545 | 0.631164 | 0.622093 |
000088.XSHE | 0.434343 | 0.549801 | 0.613662 | 0.574592 | 0.569472 | 0.509174 | 0.592593 | 0.573407 | 0.495726 | 0.546445 | 0.478465 | 0.485110 | 0.468208 | 0.545519 | 0.482759 | 0.549505 | 0.489159 | 0.466377 | 0.875000 | 0.670588 | 0.333333 | 0.474206 | 0.645503 | 0.638743 | 0.576679 | 0.478469 | 0.260870 | 0.504266 | 0.598473 | 0.463896 | 0.469459 | 0.488315 | 0.581967 | 0.536718 | 0.415263 | 0.501089 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000089.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.589777 | 0.496054 | 0.583748 | 0.568584 | 0.485520 | 0.426667 | 0.523474 | 0.513097 | 0.565851 | 0.450000 | 0.425840 | 0.371930 | 0.380000 | 0.411051 | 0.559980 | 0.542079 | 0.554585 | 0.510309 | 0.545076 | 0.572093 | 0.397163 | 0.442251 | 0.601250 |
000090.XSHE | 0.502976 | 0.510882 | 0.818182 | 0.647059 | 0.417466 | 0.542315 | 0.225000 | 0.611413 | 0.562919 | 0.615132 | 0.692460 | 0.459375 | 0.567594 | 0.556420 | 0.580205 | 0.488660 | 0.567976 | 0.375000 | 0.543734 | 0.566584 | 0.732591 | 0.553103 | 0.528803 | 0.416991 | 0.581612 | 0.582843 | 0.596197 | 0.358025 | 0.446837 | 0.456328 | 0.469459 | 0.475610 | 0.480944 | 0.355586 | 0.415263 | 0.392989 | 0.496585 | 0.599026 | 0.583748 | 0.473684 | 0.000000 | 0.319415 | 0.514706 | 0.391892 | 0.453196 | 0.471213 | 0.474453 | 0.452685 | 0.498242 | 0.458763 | 0.452381 | 0.470523 | 0.450318 | 0.407543 | 0.511290 | 0.421687 | 0.473763 | 0.442251 | 0.408284 |
000099.XSHE | 0.424749 | 0.377528 | 0.514480 | 0.529412 | 0.540741 | 0.461453 | 0.457364 | 0.456583 | 0.508076 | 0.406817 | 0.364154 | 0.772727 | 0.525974 | 0.545519 | 0.482759 | 0.523663 | 0.420571 | 0.479224 | 0.680272 | 0.443719 | 0.364049 | 0.797980 | 0.451053 | 0.697581 | 0.399211 | 0.526746 | 0.762821 | 0.530435 | 0.305322 | 0.061224 | 0.504762 | 0.564706 | 0.491892 | 0.536729 | 0.790698 | 0.574956 | 0.559659 | 0.496054 | 0.515267 | 0.568584 | 0.355263 | 0.332767 | 0.523474 | 0.399783 | 0.565851 | 0.402566 | 0.457774 | 0.493902 | 0.556416 | 0.454545 | 0.347518 | 0.490909 | 0.450318 | 0.489021 | NaN | NaN | NaN | NaN | NaN |
000156.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.576155 | 0.516403 | 0.498836 | 0.542079 | 0.405952 | 0.600000 | 0.433498 | 0.575334 | 0.178571 | 0.556069 | 0.464396 |
000158.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.388986 | 0.468750 | 0.492320 | 0.536729 | 0.473239 | 0.574956 | 0.402027 | 0.505898 | 0.515267 | 0.473684 | 0.428302 | 0.383621 | 0.274194 | 0.461350 | 0.420520 | 0.471213 | 0.613487 | 0.481675 | 0.576155 | 0.516403 | 0.682231 | 0.542079 | 0.554585 | 0.365967 | 0.396901 | 0.498027 | 0.607463 | 0.556069 | 0.558449 |
000400.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.490614 | 0.592451 | 0.487945 | 0.469314 | 0.415263 | 0.514612 | 0.494792 | 0.480769 | 0.542802 | 0.584814 | 0.548523 | 0.567223 | 0.431851 | 0.588710 | 0.605839 | 0.474747 | 0.613487 | 0.462687 | 0.576155 | 0.678668 | 0.682231 | 0.741935 | 0.595883 | 0.591731 | 0.565412 | 0.785235 | 0.521802 | 0.268966 | 0.364706 |
000401.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.522199 | 0.574074 | 0.528460 | 0.500534 | 0.635638 | 0.416991 | 0.493671 | 0.396009 | 0.316667 | 0.428965 | 0.622222 | 0.463287 | 0.490614 | 0.475610 | 0.620690 | 0.461279 | 0.325991 | 0.690476 | 0.536232 | 0.469426 | 0.469219 | 0.568584 | 0.403738 | 0.383621 | 0.431851 | 0.461350 | 0.502509 | 0.471213 | 0.372960 | 0.625753 | 0.576155 | 0.566421 | 0.459722 | 0.289902 | 0.450318 | 0.365967 | 0.377119 | 0.481106 | 0.764228 | 0.694690 | 0.474359 |
000409.XSHE | 0.424749 | 0.371758 | 0.320000 | 0.296089 | 0.569364 | 0.509174 | 0.483333 | 0.456583 | 0.225000 | 0.406817 | 0.454155 | 0.463235 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000413.XSHE | 0.375676 | 0.664587 | 0.369369 | 0.606952 | 0.686275 | 0.455466 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000415.XSHE | 0.535948 | 0.549801 | 0.440000 | 0.490934 | 0.549082 | 0.542315 | 0.513473 | 0.542567 | 0.562919 | 0.546445 | 0.517937 | 0.485110 | 0.567594 | 0.610757 | 0.439716 | 0.671642 | 0.588525 | 0.565657 | 0.522199 | 0.502678 | 0.581767 | 0.571923 | 0.590323 | 0.506470 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000417.XSHE | 0.535948 | 0.823529 | 0.538981 | 0.574592 | 0.549082 | 0.417143 | 0.608696 | 0.697531 | 0.456059 | 0.546445 | 0.692460 | 0.434871 | 0.381166 | 0.531507 | 0.672156 | 0.347783 | 0.420571 | 0.326233 | 0.447754 | 0.362348 | 0.436263 | 0.474206 | 0.528905 | 0.648318 | 0.399211 | 0.526746 | 0.449206 | 0.540816 | 0.533662 | 0.511111 | 0.657343 | 0.592451 | 0.853659 | 0.669145 | 0.626016 | 0.514612 | 0.611413 | 0.637562 | 0.414729 | 0.528926 | 0.532328 | 0.666667 | 0.616123 | 0.593520 | 0.480000 | 0.322034 | 0.742173 | 0.471453 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
603228.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.556688 | 0.502509 | 0.484615 | 0.432225 | 0.404762 | 0.528416 | 0.516216 | 0.459722 | 0.484496 | 0.585492 | 0.284722 | 0.571042 | 0.421687 | 0.481352 | 0.556901 | 0.464396 |
603328.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.471284 | 0.412856 | 0.580205 | 0.523553 | 0.498195 | 0.326233 | 0.447754 | 0.473568 | 0.491394 | 0.388781 | 0.484536 | 0.329616 | 0.552419 | 0.396009 | 0.579439 | 0.504266 | 0.533662 | 0.463287 | 0.507299 | 0.360169 | 0.480944 | 0.536718 | 0.551002 | 0.402662 | 0.411273 | 0.601036 | 0.606383 | 0.244681 | 0.453767 | 0.257642 | 0.460993 | 0.670732 | 0.510256 | 0.402566 | 1.000000 | 0.625753 | 0.576155 | 0.678668 | 0.486181 | 0.600624 | 0.256410 | 0.587654 | 0.545076 | 0.623003 | 0.653061 | 0.462626 | 0.718631 |
603355.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.473164 | 0.475394 | 0.486717 | 0.527295 | 0.533662 | 0.430809 | 0.294574 | 0.580119 | 0.480944 | 0.355586 | 0.374302 | 0.514612 | 0.494792 | 0.429530 | 0.175676 | 0.401021 | 0.428302 | 0.525164 | 0.472982 | 0.556688 | 0.502509 | 0.471213 | 0.372960 | 0.493902 | 0.484241 | 0.454023 | 0.456961 | 0.513208 | 0.529600 | 0.510309 | 0.511290 | 0.421687 | 0.473763 | 0.520492 | 0.601250 |
603366.XSHG | 0.658940 | 0.453904 | 0.440000 | 0.376415 | 0.564254 | 0.533333 | 0.723005 | 0.456583 | 0.508076 | 0.406817 | 0.536545 | 0.661290 | 0.574956 | 0.610757 | 0.472785 | 0.514563 | 0.656489 | 0.479224 | 0.450413 | 0.566584 | 0.510095 | 0.638889 | 0.493333 | 0.603645 | 0.581612 | 0.474847 | 0.522673 | 0.516691 | 0.592541 | 0.623094 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603369.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.471284 | 0.412856 | 0.578171 | 0.523553 | 0.636364 | 0.331950 | 0.556270 | 0.456522 | 0.723077 | 0.553103 | 0.528905 | 0.416991 | 0.581612 | 0.582843 | 0.525346 | 0.504266 | 0.592541 | 0.038462 | NaN | NaN | NaN | NaN | NaN | NaN | 0.496585 | 0.525316 | 0.253086 | 0.578009 | 0.532328 | 0.660287 | 0.602484 | 0.513097 | 0.441472 | 0.526055 | 0.504274 | 0.625753 | 0.556416 | 0.566421 | 0.414088 | 0.470523 | 0.598266 | 0.509733 | 0.426791 | 0.562500 | 0.481352 | 0.401611 | 0.498455 |
603377.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.496585 | 0.525316 | 0.409449 | 0.486741 | 0.216495 | 0.681818 | 0.523474 | 0.461350 | 0.565851 | 0.527578 | 0.417323 | 0.390625 | 0.380000 | 0.561014 | 0.414088 | 0.470523 | 0.494751 | 0.587654 | 0.393829 | 1.000000 | 0.736842 | 0.419940 | 0.464960 |
603444.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.556688 | 0.502509 | 0.527578 | 0.474453 | 0.404762 | 0.528416 | 0.458763 | 0.456897 | 0.435277 | 0.159091 | 0.620690 | 0.530612 | 0.491477 | 0.503650 | 0.419940 | 0.474766 |
603515.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.376176 | 0.461350 | 0.441472 | 0.504274 | 1.000000 | 0.438758 | 0.000000 | 0.411051 | 0.486181 | 0.600624 | 0.405952 | 0.120000 | 0.225256 | 0.341176 | 0.481352 | 0.556901 | 0.626263 |
603528.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.496585 | 0.455556 | 0.583748 | 0.486741 | 0.453767 | 0.257642 | 0.491071 | 0.593520 | 0.502509 | 0.527578 | 0.618115 | 0.295597 | 0.413374 | 0.458763 | 0.456961 | 0.435277 | 0.000000 | 0.606557 | NaN | NaN | NaN | NaN | NaN |
603555.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | 0.314655 | 0.512853 | 0.445205 | 0.521688 | 0.364154 | 0.474041 | 0.418919 | 1.000000 | 0.553571 | 0.369565 | 0.420571 | 0.460067 | 0.447754 | 0.410596 | 0.491394 | 0.397340 | 0.451053 | 0.392917 | 0.295858 | 0.499182 | 0.486717 | 0.441176 | 0.446837 | 0.430809 | 0.426396 | 0.362283 | 0.510638 | 0.428830 | 0.415263 | 0.402284 | 0.436559 | 0.469426 | 0.469219 | 0.568584 | 0.461698 | 0.550716 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603556.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.556688 | 0.502509 | 0.527578 | 0.603083 | 0.625753 | 0.420290 | 0.582215 | 0.608081 | 0.484496 | 0.159091 | 0.481481 | 0.511290 | 0.575334 | 0.607463 | 0.442251 | 0.498455 |
603567.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.473164 | 0.499182 | 0.486717 | 0.527295 | 0.540000 | 0.463287 | 0.294574 | 0.571429 | 0.480944 | 0.536729 | 0.528455 | 0.448718 | 0.516738 | 0.514957 | 0.333333 | 0.677258 | 0.660291 | 0.550716 | 0.585129 | 0.481321 | 0.565851 | 0.471213 | 0.555689 | 0.625753 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603568.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.610465 | 0.475394 | 0.486717 | 0.419142 | 0.533662 | 0.430809 | 0.710938 | 0.580119 | 0.554731 | 0.735849 | 0.551002 | 0.125000 | 0.615000 | 0.514957 | 0.175676 | 0.200000 | 0.453767 | 0.525164 | 0.472982 | 0.556688 | 0.276596 | 0.484615 | 0.137931 | 0.404762 | 0.401848 | 0.516216 | 0.566351 | 0.401361 | 0.410714 | 0.606557 | 0.641689 | 0.572093 | 0.481352 | 0.295455 | 1.000000 |
603569.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.398585 | 0.481321 | 0.502509 | 0.504274 | 0.432225 | 0.295597 | 0.528416 | 1.000000 | 0.456961 | 0.435277 | 0.410714 | 0.120000 | 0.402574 | 0.491477 | 0.000000 | 0.419940 | 0.449474 |
603589.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.399211 | 0.475394 | 0.486717 | 0.419142 | 0.533662 | 0.432692 | 0.509767 | 0.555233 | 0.554731 | 0.536729 | 0.500605 | 0.496350 | 0.536232 | 0.496054 | 0.392256 | 0.437538 | 0.453767 | 0.681818 | 0.398585 | 0.820000 | 0.480000 | 0.526055 | 0.501742 | 0.471655 | 0.528416 | 0.516216 | 0.456961 | 0.401361 | 0.529600 | 0.489021 | 0.511290 | 0.575334 | 0.548387 | 0.556069 | 0.449474 |
603658.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.481321 | 0.276596 | 0.675676 | 0.489394 | 0.493902 | 0.272727 | 0.561014 | 0.559980 | 0.600624 | 0.585492 | 0.820513 | 0.402574 | 0.421687 | 0.507614 | 0.556901 | 0.498455 |
603659.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.476807 | 0.421687 | 0.481352 | 0.436975 | 0.498455 |
603698.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.447754 | 0.443719 | 0.560976 | 0.309140 | 0.241706 | 0.329616 | 0.399211 | 0.499182 | 0.486717 | 0.441176 | 0.270588 | 0.384146 | 0.700000 | 0.328492 | 0.401122 | 0.536729 | 0.592593 | 0.472727 | 0.779661 | 0.354286 | 0.445596 | 0.371034 | 0.453767 | 0.550716 | 0.658892 | 0.481321 | 0.453196 | 0.527578 | 0.425840 | 0.530612 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603699.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.556270 | 0.473568 | 0.156863 | 0.309140 | 0.451053 | 0.487365 | 0.466395 | 0.478469 | 0.583333 | 0.504266 | 0.568627 | 0.546429 | 0.507299 | 0.606186 | 0.327044 | 0.536729 | 0.415263 | 0.520813 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603766.XSHG | 0.470508 | 0.823529 | 0.377990 | 0.769231 | 0.440171 | 0.699495 | 0.513473 | 0.512853 | 0.458281 | 0.406817 | 0.454155 | 0.593874 | 0.567594 | 0.412856 | 0.578171 | 0.347783 | 0.336066 | 0.460067 | 0.447754 | 0.484153 | 0.581767 | 0.553103 | 0.645503 | 0.619303 | 0.586016 | 0.526746 | 0.486717 | 0.590786 | 0.587002 | 0.546429 | 0.507299 | 0.456979 | 0.401122 | 0.536729 | 0.500605 | 0.520813 | 0.536232 | 0.320896 | 0.662621 | 0.584814 | 0.562431 | 0.550716 | 0.727941 | 0.481321 | 0.490313 | 0.559596 | 0.613487 | 0.625753 | 0.593350 | 0.543779 | 0.452381 | 0.484496 | 0.595883 | 0.559934 | 0.571042 | 0.421687 | 0.704545 | 0.688822 | 0.601250 |
603799.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.398585 | 0.593520 | 0.502509 | 0.100000 | 0.388302 | 0.205882 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603806.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.272727 | 0.526746 | 0.583333 | 0.463602 | 0.592541 | 0.430809 | 0.504762 | 0.476626 | 0.401122 | 0.536729 | 0.457906 | 0.448718 | 0.496585 | 0.601036 | 0.333333 | 0.586538 | 0.453767 | 0.525164 | 0.585129 | 0.481321 | 0.616438 | 0.675676 | 0.327119 | 0.471453 | 0.380000 | 0.543779 | 1.000000 | 0.484496 | 1.000000 | 0.820513 | 0.571042 | 0.498027 | 0.474088 | 0.210000 | 0.119048 |
603816.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.398585 | 0.481321 | 0.502509 | 0.504274 | 0.372960 | 0.904762 | 0.153846 | 0.516216 | 0.456961 | 0.611940 | 0.410714 | 0.509733 | 0.402574 | 0.491477 | 0.481352 | 0.419940 | 0.449474 |
603866.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.496585 | 0.514957 | 0.583748 | 0.486741 | 0.882353 | 0.257642 | 0.472982 | 0.481321 | 0.525547 | 0.559596 | 0.489394 | 0.493902 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603868.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.352359 | 0.514957 | 0.583748 | 0.486741 | 0.644068 | 0.406877 | 0.398585 | 0.411404 | 0.441472 | 0.484615 | 0.432225 | 0.404762 | 0.401848 | 0.516216 | 0.456961 | 0.480460 | 0.529600 | 0.509733 | 0.476807 | 0.422505 | 0.481352 | 0.419940 | 0.498455 |
603877.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.472982 | 0.481321 | 0.502509 | 0.471213 | 0.327119 | 0.404762 | 0.153846 | 0.516216 | 0.456961 | 0.484496 | 0.585492 | 0.509733 | 0.530612 | 0.491477 | 0.447995 | 0.442251 | 0.449474 |
603883.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.473164 | 0.396009 | 0.486717 | 0.527295 | 0.533662 | 0.481718 | 0.418367 | 0.475610 | 0.543882 | 0.536729 | 0.530405 | 0.514612 | 0.496585 | 0.514957 | 0.583748 | 0.486741 | 0.644068 | 0.319415 | 0.514706 | 0.477193 | 0.490313 | 0.559596 | 0.489394 | 0.404762 | 0.401848 | 0.454545 | 0.414088 | 0.480460 | 0.405952 | 0.820513 | 0.426791 | 0.498027 | 0.548456 | 0.388430 | 0.538905 |
603885.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.571042 | 0.498027 | 0.548456 | 0.556069 | 0.601250 |
603888.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.274194 | 0.461350 | 0.502509 | 0.527578 | 0.501742 | 0.471655 | 0.593350 | 0.561014 | 0.456961 | 0.435277 | 0.529600 | 0.587654 | 0.511290 | 0.575334 | 0.773333 | 0.477185 | 0.449474 |
603899.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.556270 | 0.473568 | 0.491394 | 0.553103 | 0.406957 | 0.329616 | 0.399211 | 0.475394 | 0.583333 | 0.504266 | 0.305322 | 0.481718 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.641689 | 0.498027 | 0.473763 | 0.295455 | 0.464960 |
871 rows × 59 columns
研究搭建回测
输入:factor_df数据
输出:
factor_df = df_y.T
'''
选取头部股票计算超额收益
输入:factor_df,index为日期,column是股票名字,values是进行排序的因子值
'''
#选取头部股票构造组合进行回测
return_df = pd.DataFrame()
for d1,d2 in zip(factor_df.index[:-1],factor_df.index[1:]):
#获取头部股票
df_temp = factor_df.loc[d1,:].sort_values() #mo默认从小到大排序
#pool_temp = df_temp.index[:50]
pool_temp = df_temp.index[-50:]
#计算组合收益
df1 = get_price(list(pool_temp),end_date=d1,count=1,fields=['close'])['close'] #index为日期,columns为股票名称
df1 = df1.dropna(axis=1) #去掉NAN值,删除列
df2 = get_price(list(df1.columns),end_date=d2,count=1,fields=['close'])['close']
ret = (df2.values/df1.values - 1).mean() #计算组合收益均值
#计算同期指数收益率
df_index1 = get_price('000905.XSHG',end_date=d1,count=1,fields=['close'])['close']
df_index2 = get_price('000905.XSHG',end_date=d2,count=1,fields=['close'])['close']
index_ret = df_index2.values[-1]/df_index1.values[-1]-1
return_df[d1] = [ret-index_ret] #记录超额收益
#print(ret)
return_df = return_df.T
return_df.columns = ['return']
print(return_df.head(5))
(return_df+1).cumprod().plot(figsize=(12,6))
return 2014-01-02 -0.048063 2014-02-07 -0.034945 2014-03-03 -0.024557 2014-04-01 0.013225 2014-05-05 0.020049
<matplotlib.axes._subplots.AxesSubplot at 0x7fd5f38f44a8>
'''
分组回测部分
'''
#分组回测部分
#输入:index为日期,column是股票名,values是因子值得factor_df
#输出:股票池分组收益
group = 10 #分组组数
pool_dict = {}
for i in range(len(factor_df.index)):
temp_se = factor_df.iloc[0,:].sort_values(ascending=False)#从大到小排序
#pool = temp_se[temp_se>0].index #去掉小于0的值
temp_se = temp_se.dropna() #去掉空值
pool = temp_se.index #不做负值处理
num = int(len(pool)/group)
#print('第%s期每组%s只股票'%(i,num))
pool_dict[factor_df.index[i]] = pool
trade_list = factor_df.index
group_pct = get_all_pct(pool_dict,trade_list,groups=group)
group_pct.columns = ['group'+str(i) for i in range(len(group_pct.columns))]
group_pct.cumprod().plot(figsize=(12,6))
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59dcebef0>
#进行模型样本内样本外得分记录
print(df_score.mean(axis=1))
(df_score.T).plot(figsize=(12,6))
score_p 0.532614 score_r 0.514247 dtype: float64
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59dbf9eb8>
#回归方式
#进行因子值预测(回归方式)
df_y_r = pd.DataFrame()
df_score_r = pd.DataFrame(index = ['score_p','score_r'])
colus = factor_data_dict[date_list[60]].columns[:-4]
df_features = pd.DataFrame(index=colus)
for i in range(60,len(date_list)-1):
print('正在计算{0}...数据'.format(date_list[i]))
#数据合并,用于模型训练
#将字典组成一个无日期的大表
all_data = pd.DataFrame()
for d in date_list[i-60:i]:
all_data = pd.concat([all_data,factor_data_dict[d]],axis=0) #进行纵向拼接
#空值NAN值处理
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0.2*len(all_data[colu]):
print('因子:%s缺失值较多,不做为统计特征处理'%colu)
del all_data[colu]
#进行空值处理
for colu in all_data.columns:
if sum(all_data[colu].isnull())> 0:#0.05*len(all_data[colu]):
all_data[colu].fillna(all_data[colu].mean(),inplace=True)
#del all_data[colu]
#获取前三分之一和后三分之一的数据
all_data = all_data.sort_values('pct_init')
#print(all_data.shape)
all_data['num'] = list(range(len(all_data)))
all_data = all_data[(all_data['num']<=len(all_data)/3) | (all_data['num']>=2*len(all_data)/3)]
#print(all_data.shape)
#记录标签y
y1 = (all_data["pct_init"]>0).astype("int") #走完流程在改?
y = all_data['pct_init']
x = all_data.iloc[:,:-5]
#拟合模型
#对数据进行分割,训练集、测试集
X_train, X_test, y_train, y_test = train_test_split(x.values,y.values, test_size=0.3)
#建立最大深度为2的决策树,并用测试数据来训练这颗树
rlf = tree.DecisionTreeRegressor(max_depth = 6
)
rlf = rlf.fit(X_train, y_train) #模型训练
#print(rlf.score(X_test,y_test)) #模型得分
s_p = rlf.score(X_test,y_test)#样本内得分
#模型预测y
factor_df_temp = factor_data_dict[date_list[i]].iloc[:,:-4]
factor_df_temp1 = factor_df_temp.dropna(axis=0)
df_temp = pd.DataFrame(index=factor_df_temp1.index)
df_temp[date_list[i]] = rlf.predict(factor_df_temp1)
#记录模型真实数据得分
y_t = factor_data_dict[date_list[i]].dropna()
x_s = y_t.iloc[:,:-4]
y_s = y_t["pct_init"]
s_r = rlf.score(x_s,y_s)
df_score_r[date_list[i]] = [s_p,s_r]
#记录特征重要性
df_features[date_list[i]] = rlf.feature_importances_
#记录预测值进行拼接
df_y_r = pd.concat([df_y_r,df_temp],axis=1) #进行横向拼接
df_y_r
正在计算2014-01-02 00:00:00...数据 正在计算2014-02-07 00:00:00...数据 正在计算2014-03-03 00:00:00...数据 正在计算2014-04-01 00:00:00...数据 正在计算2014-05-05 00:00:00...数据 正在计算2014-06-03 00:00:00...数据 正在计算2014-07-01 00:00:00...数据 正在计算2014-08-01 00:00:00...数据 正在计算2014-09-01 00:00:00...数据 正在计算2014-10-08 00:00:00...数据 正在计算2014-11-03 00:00:00...数据 正在计算2014-12-01 00:00:00...数据 正在计算2015-01-05 00:00:00...数据 正在计算2015-02-02 00:00:00...数据 正在计算2015-03-02 00:00:00...数据 正在计算2015-04-01 00:00:00...数据 正在计算2015-05-04 00:00:00...数据 正在计算2015-06-01 00:00:00...数据 正在计算2015-07-01 00:00:00...数据 正在计算2015-08-03 00:00:00...数据 正在计算2015-09-01 00:00:00...数据 正在计算2015-10-08 00:00:00...数据 正在计算2015-11-02 00:00:00...数据 正在计算2015-12-01 00:00:00...数据 正在计算2016-01-04 00:00:00...数据 正在计算2016-02-01 00:00:00...数据 正在计算2016-03-01 00:00:00...数据 正在计算2016-04-01 00:00:00...数据 正在计算2016-05-03 00:00:00...数据 正在计算2016-06-01 00:00:00...数据 正在计算2016-07-01 00:00:00...数据 正在计算2016-08-01 00:00:00...数据 正在计算2016-09-01 00:00:00...数据 正在计算2016-10-10 00:00:00...数据 正在计算2016-11-01 00:00:00...数据 正在计算2016-12-01 00:00:00...数据 正在计算2017-01-03 00:00:00...数据 正在计算2017-02-03 00:00:00...数据 正在计算2017-03-01 00:00:00...数据 正在计算2017-04-05 00:00:00...数据 正在计算2017-05-02 00:00:00...数据 正在计算2017-06-01 00:00:00...数据 正在计算2017-07-03 00:00:00...数据 正在计算2017-08-01 00:00:00...数据 正在计算2017-09-01 00:00:00...数据 正在计算2017-10-09 00:00:00...数据 正在计算2017-11-01 00:00:00...数据 正在计算2017-12-01 00:00:00...数据 正在计算2018-01-02 00:00:00...数据 正在计算2018-02-01 00:00:00...数据 正在计算2018-03-01 00:00:00...数据 正在计算2018-04-02 00:00:00...数据 正在计算2018-05-02 00:00:00...数据 正在计算2018-06-01 00:00:00...数据 正在计算2018-07-02 00:00:00...数据 正在计算2018-08-01 00:00:00...数据 正在计算2018-09-03 00:00:00...数据 正在计算2018-10-08 00:00:00...数据 正在计算2018-11-01 00:00:00...数据
2014-01-02 00:00:00 | 2014-02-07 00:00:00 | 2014-03-03 00:00:00 | 2014-04-01 00:00:00 | 2014-05-05 00:00:00 | 2014-06-03 00:00:00 | 2014-07-01 00:00:00 | 2014-08-01 00:00:00 | 2014-09-01 00:00:00 | 2014-10-08 00:00:00 | 2014-11-03 00:00:00 | 2014-12-01 00:00:00 | 2015-01-05 00:00:00 | 2015-02-02 00:00:00 | 2015-03-02 00:00:00 | 2015-04-01 00:00:00 | 2015-05-04 00:00:00 | 2015-06-01 00:00:00 | 2015-07-01 00:00:00 | 2015-08-03 00:00:00 | 2015-09-01 00:00:00 | 2015-10-08 00:00:00 | 2015-11-02 00:00:00 | 2015-12-01 00:00:00 | 2016-01-04 00:00:00 | 2016-02-01 00:00:00 | 2016-03-01 00:00:00 | 2016-04-01 00:00:00 | 2016-05-03 00:00:00 | 2016-06-01 00:00:00 | 2016-07-01 00:00:00 | 2016-08-01 00:00:00 | 2016-09-01 00:00:00 | 2016-10-10 00:00:00 | 2016-11-01 00:00:00 | 2016-12-01 00:00:00 | 2017-01-03 00:00:00 | 2017-02-03 00:00:00 | 2017-03-01 00:00:00 | 2017-04-05 00:00:00 | 2017-05-02 00:00:00 | 2017-06-01 00:00:00 | 2017-07-03 00:00:00 | 2017-08-01 00:00:00 | 2017-09-01 00:00:00 | 2017-10-09 00:00:00 | 2017-11-01 00:00:00 | 2017-12-01 00:00:00 | 2018-01-02 00:00:00 | 2018-02-01 00:00:00 | 2018-03-01 00:00:00 | 2018-04-02 00:00:00 | 2018-05-02 00:00:00 | 2018-06-01 00:00:00 | 2018-07-02 00:00:00 | 2018-08-01 00:00:00 | 2018-09-03 00:00:00 | 2018-10-08 00:00:00 | 2018-11-01 00:00:00 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
000006.XSHE | 0.013863 | 0.019758 | 0.028390 | 0.002353 | -0.017193 | -0.002673 | 0.011286 | 0.009783 | 0.001467 | 0.001896 | 0.029300 | 0.020826 | 0.014670 | 0.009687 | 0.020470 | -0.004673 | 0.013800 | 0.013458 | 0.016438 | 0.012882 | 0.011197 | 0.001453 | 0.013045 | 0.021602 | 0.007759 | 0.023798 | 0.014361 | 0.018921 | -0.005887 | 0.014236 | -0.001105 | 0.017573 | 0.018513 | -0.003725 | 0.010863 | 0.011911 | -0.024021 | 0.027097 | 0.018773 | 0.032351 | 0.016862 | 0.017236 | 0.014037 | 0.023714 | 0.015246 | 0.015925 | 0.015289 | 0.022329 | 0.011037 | 0.015728 | -0.000236 | 0.026428 | 0.012160 | 0.022158 | 0.004940 | 0.029092 | 0.000221 | -0.005788 | 0.000571 |
000008.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.001105 | 0.008811 | 0.019598 | 0.020795 | 0.034290 | 0.011911 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.009361 | 0.016521 | 0.000221 | -0.005788 | 0.000571 |
000009.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.009577 | 0.015065 | 0.008240 | 0.011292 | 0.007162 | 0.010917 | 0.009361 | 0.010274 | 0.000221 | -0.005788 | 0.000571 |
000012.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.014670 | -0.004920 | -0.000698 | 0.007758 | -0.016386 | -0.008721 | 0.016438 | 0.000518 | 0.011197 | 0.001453 | 0.013045 | 0.021602 | -0.010440 | 0.006314 | 0.008809 | 0.018921 | -0.020646 | 0.007749 | 0.007453 | 0.015075 | 0.007038 | 0.020795 | 0.009413 | -0.012978 | 0.019187 | 0.027097 | 0.018773 | 0.032351 | 0.033318 | 0.023087 | 0.016997 | 0.019876 | 0.009416 | 0.003141 | 0.015431 | -0.007051 | -0.006972 | -0.010187 | 0.008240 | 0.026428 | 0.007162 | 0.022158 | 0.014032 | 0.016521 | 0.000221 | -0.005788 | 0.000571 |
000021.XSHE | 0.023409 | -0.011808 | 0.012830 | 0.020186 | 0.010609 | 0.030709 | -0.015532 | 0.009783 | 0.020044 | 0.017563 | 0.015686 | -0.000277 | 0.014670 | 0.023249 | 0.020470 | 0.019475 | 0.001153 | 0.018304 | 0.001001 | 0.005113 | 0.011197 | 0.031662 | 0.013045 | -0.027176 | 0.005294 | 0.006314 | 0.014361 | 0.011931 | 0.009856 | 0.025562 | 0.007453 | 0.008962 | 0.000552 | 0.020795 | 0.009413 | 0.012716 | 0.019187 | 0.009517 | 0.003809 | 0.011809 | 0.033318 | 0.023087 | 0.016997 | 0.001481 | -0.005800 | 0.015925 | 0.015289 | 0.022329 | -0.006972 | 0.015728 | 0.027528 | 0.011292 | 0.012160 | 0.022158 | 0.014032 | 0.016521 | 0.024996 | 0.001260 | 0.039368 |
000025.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.019187 | 0.005186 | 0.009267 | 0.014491 | 0.009851 | -0.003393 | -0.020390 | -0.025535 | -0.002589 | 0.029237 | 0.015431 | 0.020761 | -0.006972 | 0.027269 | 0.008240 | 0.016302 | 0.007162 | -0.015160 | 0.009361 | -0.008432 | 0.000221 | -0.005788 | 0.000571 |
000027.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.015075 | 0.001008 | 0.009416 | 0.023267 | 0.035519 | 0.004805 | 0.009577 | 0.015065 | 0.008240 | -0.002946 | 0.007162 | 0.004251 | 0.009361 | 0.010274 | 0.008524 | -0.005539 | 0.022022 |
000028.XSHE | -0.009346 | 0.073799 | 0.008309 | 0.001471 | -0.016223 | 0.007200 | -0.015532 | 0.000734 | -0.024229 | 0.017563 | 0.011700 | -0.003933 | -0.016233 | 0.005881 | 0.003666 | -0.014259 | 0.005866 | 0.018304 | -0.010810 | 0.003197 | 0.011197 | 0.005229 | -0.007331 | 0.007616 | 0.007759 | -0.026900 | 0.008809 | 0.011931 | -0.020646 | -0.004054 | -0.001105 | -0.017639 | 0.019598 | 0.001351 | 0.010102 | -0.012978 | 0.019187 | 0.015003 | 0.009267 | -0.023091 | 0.009851 | 0.014140 | 0.015075 | 0.019876 | 0.009416 | 0.003141 | 0.015431 | 0.004805 | 0.009577 | 0.008193 | 0.009522 | 0.026428 | 0.007162 | 0.010917 | 0.009361 | -0.006303 | -0.013374 | -0.005788 | 0.000571 |
000030.XSHE | 0.000027 | 0.019758 | -0.009084 | -0.137624 | 0.045546 | 0.026043 | 0.011286 | 0.028835 | 0.011149 | 0.001788 | 0.015686 | 0.020636 | -0.003317 | 0.009687 | 0.020470 | 0.007758 | 0.001153 | 0.013458 | 0.016438 | 0.000518 | 0.011197 | 0.031662 | 0.013045 | 0.021602 | -0.019382 | 0.006314 | 0.014361 | 0.018921 | 0.019580 | 0.025562 | 0.033811 | 0.032155 | 0.007038 | 0.014032 | 0.010863 | 0.011911 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000031.XSHE | 0.023409 | 0.019758 | 0.012830 | 0.020186 | 0.019951 | 0.026043 | 0.011286 | -0.037403 | 0.034241 | 0.017563 | 0.015686 | -0.003933 | -0.003317 | 0.009687 | 0.020470 | 0.007758 | 0.001153 | -0.008721 | -0.039304 | -0.017507 | -0.050837 | 0.001453 | 0.026241 | 0.021602 | 0.027959 | 0.023798 | 0.029047 | 0.018921 | 0.019580 | 0.025562 | 0.033811 | 0.015075 | 0.019598 | 0.003908 | 0.010102 | 0.012716 | 0.019187 | 0.015003 | 0.009267 | 0.032351 | -0.002505 | 0.014140 | 0.015075 | 0.022751 | -0.002589 | 0.007412 | 0.015289 | -0.007051 | -0.006972 | -0.010187 | -0.000236 | -0.002946 | 0.012160 | 0.022158 | 0.033299 | 0.006653 | 0.024996 | 0.023558 | 0.039368 |
000039.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.002873 | 0.001008 | 0.009416 | 0.023267 | -0.001248 | 0.004805 | 0.023710 | 0.008193 | 0.009522 | 0.007555 | 0.012160 | 0.010917 | 0.009361 | 0.016521 | 0.017711 | 0.018425 | 0.022022 |
000042.XSHE | -0.009346 | 0.019758 | 0.008309 | 0.001471 | 0.019951 | 0.034713 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000049.XSHE | 0.013164 | 0.000386 | 0.008309 | 0.001471 | 0.005926 | -0.002673 | 0.019455 | 0.025199 | 0.086220 | -0.057074 | 0.011700 | 0.020826 | -0.000444 | 0.047791 | 0.014207 | 0.026811 | 0.005866 | 0.075808 | -0.010810 | 0.003197 | 0.032239 | 0.015697 | -0.001494 | 0.008067 | -0.010440 | -0.010765 | 0.029047 | 0.018921 | 0.019580 | -0.004054 | 0.020574 | 0.017573 | 0.019598 | 0.001351 | -0.027572 | -0.012978 | 0.019187 | -0.022562 | 0.003809 | 0.004149 | -0.023085 | -0.001519 | 0.495375 | 0.019876 | 0.015246 | 0.003141 | 0.015431 | 0.020761 | 0.009577 | -0.001742 | 0.009522 | 0.011292 | 0.012160 | -0.005371 | 0.014032 | -0.006303 | 0.015439 | 0.023558 | 0.030731 |
000050.XSHE | 0.013164 | 0.000386 | -0.006765 | 0.020186 | -0.017193 | 0.000180 | 0.011286 | -0.037403 | -0.004603 | -0.009907 | 0.002743 | 0.004381 | 0.001646 | -0.015685 | 0.014207 | -0.003615 | 0.005531 | 0.018304 | NaN | NaN | NaN | NaN | NaN | NaN | 0.019722 | -0.012178 | 0.014361 | 0.018921 | -0.005887 | -0.002692 | 0.020574 | -0.017639 | 0.019598 | 0.003908 | 0.068413 | -0.060975 | 0.019187 | 0.006311 | 0.009267 | 0.014491 | 0.009851 | -0.003393 | -0.020390 | -0.025535 | -0.002589 | -0.005067 | -0.001248 | 0.004805 | 0.023710 | 0.008193 | 0.008240 | 0.007555 | 0.007162 | 0.010917 | NaN | NaN | NaN | NaN | NaN |
000061.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.015075 | 0.019876 | 0.009416 | 0.003141 | -0.001248 | 0.004805 | 0.009577 | 0.015065 | 0.008240 | -0.022165 | 0.007162 | 0.010917 | 0.009361 | 0.010274 | 0.000221 | -0.005788 | 0.000571 |
000062.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.000444 | -0.000172 | 0.014207 | 0.007758 | 0.020726 | 0.202619 | -0.010810 | -0.009250 | 0.011197 | 0.020406 | -0.023861 | 0.021602 | 0.007759 | 0.023798 | 0.014361 | 0.018921 | 0.019580 | -0.004054 | 0.015706 | 0.032155 | 0.019598 | 0.020795 | 0.034290 | -0.012978 | 0.003363 | 0.009517 | 0.034780 | 0.014017 | 0.033318 | -0.031854 | -0.020390 | -0.031876 | 0.009416 | 0.008010 | 0.015431 | 0.094302 | 0.009577 | -0.010187 | 0.009522 | 0.026428 | -0.005277 | 0.015539 | 0.033299 | 0.029092 | 0.015439 | 0.023558 | 0.011560 |
000066.XSHE | -0.009346 | 0.019758 | 0.012830 | 0.020186 | 0.004403 | -0.002673 | -0.035722 | 0.000734 | -0.004603 | 0.017563 | -0.004102 | 0.020636 | 0.034379 | -0.000172 | 0.018884 | -0.030362 | 0.005531 | -0.010566 | -0.039304 | -0.000386 | -0.003974 | 0.172818 | 0.187641 | -0.048669 | 0.022459 | 0.114230 | 0.008809 | -0.051140 | 0.019580 | 0.014236 | -0.001105 | -0.003966 | 0.000552 | 0.020795 | 0.010102 | -0.012978 | -0.024021 | 0.005186 | 0.009267 | 0.014491 | 0.009851 | 0.014140 | 0.015075 | 0.019876 | 0.009416 | 0.003141 | -0.001248 | 0.004805 | 0.009577 | 0.015065 | 0.008240 | -0.022165 | -0.005277 | -0.005371 | 0.004940 | 0.016521 | 0.000221 | -0.005788 | 0.000571 |
000078.XSHE | 0.000027 | -0.007357 | -0.008638 | -0.021023 | 0.004403 | 0.006595 | 0.019455 | -0.037403 | 0.011149 | -0.014513 | -0.018904 | -0.031389 | 0.003007 | 0.023249 | 0.000640 | -0.030362 | 0.001153 | -0.008721 | 0.001348 | -0.015010 | -0.006618 | -0.009531 | 0.000935 | 0.078220 | -0.019382 | 0.006314 | 0.008809 | 0.018921 | -0.020646 | -0.002692 | -0.010771 | 0.015075 | 0.019598 | 0.020795 | 0.010102 | 0.012716 | 0.019187 | 0.015003 | 0.003809 | 0.014491 | 0.009851 | 0.014140 | 0.015075 | -0.031876 | 0.009416 | -0.018036 | 0.015431 | 0.028268 | 0.023710 | 0.015728 | 0.027528 | 0.016302 | 0.028996 | 0.010917 | 0.009361 | 0.029092 | 0.017711 | 0.023558 | 0.000571 |
000088.XSHE | 0.000027 | 0.019758 | 0.012830 | 0.020186 | 0.019951 | 0.026043 | 0.017821 | 0.028835 | 0.034241 | 0.018986 | -0.003641 | 0.020826 | -0.016233 | 0.009687 | 0.020470 | 0.007758 | 0.020726 | 0.018304 | -0.039304 | 0.026005 | 0.011197 | -0.009531 | 0.013045 | -0.007937 | -0.019382 | 0.006314 | 0.008809 | 0.011931 | 0.019580 | 0.025562 | 0.015706 | -0.003966 | 0.018513 | 0.001351 | 0.000130 | 0.011911 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000089.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.019187 | 0.027097 | 0.034780 | 0.011809 | -0.002505 | -0.003740 | -0.006392 | 0.001481 | 0.009416 | 0.008010 | 0.015431 | -0.007051 | -0.006972 | -0.010187 | 0.008240 | 0.011292 | 0.007162 | 0.010917 | 0.001265 | -0.008432 | -0.013374 | -0.005788 | 0.000571 |
000090.XSHE | 0.023409 | 0.019758 | -0.009084 | 0.020186 | 0.004403 | -0.002673 | -0.015532 | 0.009783 | 0.020044 | 0.040008 | 0.029300 | -0.000277 | -0.003317 | 0.045626 | 0.020470 | 0.007758 | -0.016386 | 0.011158 | 0.016438 | 0.026005 | 0.032239 | 0.015697 | -0.007331 | 0.010531 | 0.007759 | 0.023798 | 0.014361 | 0.011931 | 0.019580 | 0.014236 | 0.033811 | 0.032155 | 0.019598 | -0.023005 | 0.022497 | 0.011911 | 0.019187 | 0.015003 | 0.018773 | 0.032351 | -0.025936 | 0.017236 | 0.014037 | 0.001481 | 0.028245 | 0.003141 | 0.015431 | 0.020761 | 0.011037 | 0.015728 | 0.009522 | -0.002946 | 0.007162 | 0.004251 | 0.009361 | 0.020591 | 0.000221 | -0.005788 | 0.000571 |
000099.XSHE | 0.000027 | -0.010814 | -0.006765 | 0.020186 | 0.004403 | 0.026043 | -0.027047 | 0.005838 | 0.009186 | -0.016801 | -0.005898 | 0.025864 | -0.000444 | -0.000172 | 0.014207 | -0.003615 | -0.016386 | -0.008721 | 0.004716 | -0.017507 | 0.011197 | 0.001453 | 0.026241 | 0.021602 | 0.027959 | 0.034513 | 0.029047 | -0.022950 | 0.009856 | -0.025409 | -0.010771 | 0.017573 | 0.019598 | 0.020795 | 0.010102 | 0.025371 | 0.019187 | 0.005186 | 0.009267 | 0.014491 | 0.009851 | -0.003740 | -0.006392 | 0.001481 | 0.009416 | 0.007412 | -0.006576 | -0.007051 | 0.023710 | 0.027269 | 0.008240 | -0.022165 | 0.007162 | 0.010917 | NaN | NaN | NaN | NaN | NaN |
000156.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.009577 | 0.022444 | 0.008240 | 0.039215 | -0.570322 | 0.004251 | -0.018514 | 0.029092 | 0.017711 | -0.005539 | 0.022022 |
000158.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.010771 | 0.008811 | 0.019598 | 0.003908 | 0.010102 | 0.012716 | 0.019187 | 0.015003 | 0.009267 | 0.011809 | -0.023085 | -0.001519 | -0.006392 | 0.019876 | 0.009416 | 0.003141 | 0.015431 | 0.004805 | 0.009577 | 0.015065 | 0.027528 | 0.007555 | 0.007162 | 0.004251 | -0.018514 | 0.029092 | 0.017711 | 0.001260 | 0.022022 |
000400.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.007453 | 0.015075 | 0.019598 | 0.020795 | 0.010863 | -0.012978 | 0.015830 | 0.006311 | 0.003809 | 0.032351 | 0.007190 | 0.017236 | -0.020390 | 0.019876 | -0.014671 | 0.003141 | 0.015431 | 0.020761 | 0.009577 | 0.015065 | 0.027528 | 0.011292 | 0.012160 | 0.010917 | 0.009361 | -0.006303 | -0.013374 | -0.005539 | 0.000571 |
000401.XSHE | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.004716 | -0.017507 | 0.011197 | 0.020406 | 0.013045 | -0.027176 | 0.005294 | -0.026900 | -0.024086 | -0.001467 | 0.009856 | 0.006835 | -0.030453 | 0.032155 | 0.019598 | 0.003908 | 0.010102 | -0.012978 | 0.003363 | 0.009517 | 0.003809 | 0.011809 | 0.009851 | -0.031854 | -0.020390 | 0.001008 | 0.009416 | 0.003141 | 0.015431 | 0.004805 | 0.022293 | 0.015065 | -0.000236 | -0.022165 | 0.007162 | 0.010917 | 0.009361 | 0.010274 | 0.015439 | 0.023558 | 0.000514 |
000409.XSHE | -0.009346 | 0.000386 | 0.000550 | 0.001471 | 0.005926 | 0.026043 | 0.019455 | 0.004286 | 0.001467 | -0.016801 | 0.011700 | 0.014321 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000413.XSHE | 0.023409 | 0.123077 | 0.012830 | 0.001111 | 0.004403 | 0.057091 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000415.XSHE | 0.000027 | -0.007357 | -0.008638 | -0.001046 | 0.045546 | 0.026043 | 0.019455 | 0.028835 | 0.020044 | 0.001896 | 0.015686 | 0.214684 | 0.026857 | 0.017240 | -0.072357 | -0.104641 | -0.154848 | 0.011158 | 0.016438 | 0.005113 | -0.006618 | 0.001453 | 0.013045 | 0.007616 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
000417.XSHE | 0.023409 | 0.019758 | 0.028390 | 0.012001 | 0.025409 | 0.034225 | 0.033462 | 0.000734 | 0.020044 | 0.018986 | 0.015686 | 0.020636 | -0.003317 | 0.023249 | 0.020470 | -0.030362 | 0.005531 | -0.008721 | 0.016438 | 0.000518 | -0.003974 | 0.001123 | 0.028651 | 0.021602 | -0.040279 | 0.034513 | 0.008809 | 0.018921 | 0.009856 | 0.025562 | 0.015706 | 0.032155 | 0.017311 | 0.014032 | 0.010863 | 0.011911 | 0.019187 | 0.009517 | 0.003809 | 0.011809 | 0.016862 | 0.017236 | 0.014037 | 0.019876 | -0.002589 | 0.007412 | 0.015289 | 0.022329 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
603228.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.019876 | 0.015246 | 0.015925 | -0.012655 | -0.007051 | 0.009577 | -0.001742 | -0.020854 | -0.002946 | 0.007162 | -0.005371 | 0.014032 | -0.008432 | -0.005801 | 0.023558 | 0.005113 |
603328.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.014670 | 0.023249 | 0.020470 | 0.007758 | 0.005531 | 0.013458 | 0.001348 | 0.000518 | 0.011197 | 0.011246 | 0.000935 | -0.007937 | 0.027959 | 0.006314 | 0.029047 | 0.018921 | 0.009856 | 0.007749 | 0.007453 | 0.008962 | 0.007038 | 0.020795 | -0.027572 | -0.012978 | 0.003363 | 0.027097 | 0.018773 | 0.014017 | 0.019121 | -0.003740 | 0.016997 | 0.022751 | 0.015246 | -0.013841 | -0.012655 | 0.020761 | 0.009577 | -0.001742 | 0.027528 | 0.026428 | 0.028996 | 0.022158 | 0.001265 | -0.006303 | 0.024996 | 0.023558 | 0.011560 |
603355.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.007759 | 0.023798 | 0.014361 | 0.018921 | 0.019580 | -0.004054 | -0.010771 | 0.015075 | 0.019598 | 0.001351 | -0.010360 | -0.012978 | -0.024021 | -0.022562 | -0.016532 | -0.023091 | 0.019121 | -0.001519 | 0.016997 | 0.019876 | 0.030139 | 0.003141 | 0.015431 | -0.007051 | 0.009577 | -0.001742 | 0.008240 | 0.007555 | 0.007162 | -0.015160 | 0.009361 | -0.008432 | 0.015439 | 0.023558 | 0.030731 |
603366.XSHG | -0.019893 | -0.007125 | -0.008638 | -0.013836 | 0.003650 | 0.000180 | 0.048009 | 0.005838 | 0.020044 | 0.018986 | 0.002743 | -0.000277 | 0.034379 | 0.009687 | -0.000698 | -0.004673 | 0.020726 | -0.008721 | 0.016438 | 0.026005 | 0.012404 | 0.005229 | 0.028651 | 0.021602 | 0.024717 | 0.023798 | 0.014361 | 0.018921 | 0.009856 | 0.007749 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603369.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.014670 | 0.023249 | 0.020470 | 0.007758 | 0.001153 | 0.013458 | 0.001348 | 0.026005 | 0.011197 | -0.009531 | 0.013045 | -0.027176 | 0.005294 | 0.023798 | 0.014361 | -0.022950 | 0.009856 | -0.004054 | NaN | NaN | NaN | NaN | NaN | NaN | 0.019187 | 0.015003 | 0.003809 | 0.014017 | -0.037970 | 0.023087 | -0.006392 | 0.002841 | -0.005800 | 0.015925 | 0.015431 | 0.020761 | 0.023710 | 0.027269 | 0.027528 | -0.002946 | -0.005277 | -0.005371 | 0.014032 | 0.029092 | 0.015439 | 0.001260 | 0.000571 |
603377.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.024021 | 0.006311 | 0.009267 | 0.014017 | 0.009851 | 0.017236 | -0.020390 | 0.019876 | 0.015246 | 0.029237 | -0.012655 | 0.001334 | -0.006972 | -0.013670 | -0.000236 | -0.022165 | 0.007162 | 0.010917 | 0.009361 | -0.007449 | -0.005801 | 0.023558 | 0.039368 |
603444.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.016997 | 0.019876 | 0.015246 | 0.029237 | 0.015431 | -0.007051 | 0.009577 | -0.001742 | 0.009522 | 0.011292 | 0.012160 | -0.005371 | 0.004940 | -0.006303 | -0.005801 | 0.023558 | 0.039368 |
603515.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.019876 | 0.003342 | 0.008010 | -0.012655 | 0.020761 | -0.006972 | -0.010187 | 0.008240 | 0.016302 | -0.005277 | -0.015160 | 0.009361 | -0.007449 | 0.015439 | 0.023558 | 0.000514 |
603528.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.019187 | 0.005186 | 0.018773 | 0.032351 | 0.019283 | 0.023087 | 0.016997 | 0.019876 | 0.015246 | 0.029237 | -0.012655 | 0.020761 | 0.009577 | 0.015065 | 0.008240 | -0.002946 | -0.036809 | 0.015539 | NaN | NaN | NaN | NaN | NaN |
603555.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | -0.005885 | 0.004286 | 0.034241 | 0.017563 | 0.002743 | -0.001681 | -0.016233 | -0.015685 | 0.406466 | -0.033193 | 0.005866 | -0.008721 | -0.010810 | 0.003197 | 0.011197 | 0.015697 | -0.007331 | -0.015015 | -0.010440 | 0.034720 | 0.014361 | 0.018921 | 0.019580 | -0.004054 | 0.033811 | 0.015075 | 0.019598 | 0.020795 | -0.027572 | -0.012978 | 0.003363 | 0.006311 | 0.003809 | 0.014491 | 0.033318 | 0.023087 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603556.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.016997 | 0.019876 | 0.015246 | 0.008010 | -0.012655 | 0.020761 | 0.009577 | 0.015065 | 0.009522 | -0.002946 | 0.012160 | 0.022158 | 0.009361 | -0.006303 | 0.000221 | 0.001260 | 0.009010 |
603567.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.005294 | -0.012178 | 0.014361 | 0.018921 | 0.009856 | 0.007749 | 0.007453 | 0.015075 | 0.019598 | 0.020795 | 0.026821 | -0.012978 | 0.019187 | 0.027097 | 0.018773 | 0.014017 | 0.019283 | 0.023087 | 0.033020 | 0.001008 | 0.009416 | 0.003141 | 0.015431 | 0.020761 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603568.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.027959 | 0.023798 | 0.029047 | 0.018921 | 0.019580 | -0.004054 | 0.015706 | 0.015075 | 0.019598 | -0.023005 | -0.010360 | -0.012978 | 0.019187 | 0.027097 | -0.016532 | 0.032351 | 0.019283 | 0.023087 | 0.014037 | -0.025535 | 0.015246 | -0.041533 | 0.015289 | 0.001334 | 0.011037 | 0.015728 | -0.020854 | 0.016302 | -0.005277 | 0.015539 | 0.033299 | -0.008432 | -0.005801 | 0.023558 | 0.030731 |
603569.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.019876 | 0.015246 | 0.029237 | -0.012655 | 0.020761 | 0.009577 | -0.001742 | 0.008240 | 0.016302 | -0.005277 | 0.015539 | 0.004940 | -0.008432 | 0.015439 | 0.001260 | 0.000571 |
603589.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.040279 | 0.023798 | 0.029047 | 0.018921 | 0.019580 | -0.004054 | 0.015706 | 0.015075 | 0.019598 | 0.020795 | 0.010102 | 0.025371 | 0.019187 | 0.005186 | 0.003809 | -0.003302 | -0.002505 | -0.003740 | -0.020390 | -0.025535 | -0.005800 | 0.015925 | 0.015289 | 0.020761 | 0.023710 | 0.027269 | 0.008240 | 0.011292 | -0.005277 | -0.005371 | 0.009361 | 0.010274 | 0.015439 | 0.001260 | 0.005113 |
603658.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.016997 | 0.019876 | -0.005800 | 0.015925 | -0.012655 | -0.007051 | 0.011037 | 0.027269 | -0.000236 | -0.002946 | -0.005277 | -0.005371 | 0.004940 | -0.008432 | -0.005801 | 0.001260 | 0.000514 |
603659.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.004940 | -0.008432 | 0.015439 | 0.001260 | 0.000514 |
603698.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.004716 | -0.017507 | 0.011197 | 0.020406 | -0.023861 | -0.007937 | 0.007759 | -0.012178 | 0.014361 | 0.000939 | 0.009856 | -0.004054 | -0.010771 | -0.022939 | 0.018513 | 0.020795 | 0.026821 | -0.004448 | 0.019187 | 0.005186 | -0.016532 | 0.032351 | 0.019283 | 0.023087 | 0.033020 | 0.019876 | 0.015246 | 0.029237 | -0.012655 | 0.020761 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603699.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.010810 | 0.003197 | 0.011197 | 0.020406 | -0.001494 | 0.021602 | 0.027959 | 0.006314 | 0.008809 | 0.018921 | 0.019580 | 0.014236 | -0.010771 | -0.003966 | 0.018513 | 0.020795 | -0.027572 | 0.025371 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603766.XSHG | 0.000027 | 0.019758 | 0.019346 | 0.020186 | 0.004403 | 0.026043 | 0.011286 | 0.004286 | 0.020044 | 0.001788 | 0.002743 | 0.020636 | 0.014670 | 0.009687 | 0.020470 | 0.007758 | 0.001153 | 0.013458 | 0.016438 | 0.000518 | 0.011197 | -0.009531 | 0.000935 | 0.047430 | 0.019722 | 0.006314 | 0.029047 | 0.018921 | 0.019580 | 0.025562 | 0.007453 | 0.008962 | 0.007038 | 0.020795 | -0.027572 | 0.025371 | 0.003363 | -0.016125 | 0.009267 | 0.014017 | 0.033318 | 0.023087 | 0.016997 | 0.022751 | 0.015246 | 0.015925 | 0.015431 | 0.051008 | 0.009577 | -0.010187 | 0.027528 | -0.002946 | 0.028996 | 0.022158 | 0.014032 | 0.006653 | 0.024996 | 0.025898 | 0.039368 |
603799.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.022751 | 0.290984 | 0.015925 | -0.006576 | 0.022329 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603806.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.040279 | -0.010765 | -0.002080 | 0.018921 | 0.009856 | 0.025562 | 0.007453 | 0.008962 | 0.018513 | 0.020795 | 0.010863 | -0.012978 | 0.019187 | 0.027097 | 0.018773 | 0.032351 | 0.019283 | 0.023087 | 0.016997 | 0.019876 | 0.015246 | 0.015925 | -0.012655 | -0.007051 | -0.006972 | -0.010187 | 0.009522 | -0.002946 | 0.012160 | -0.005371 | 0.014032 | -0.006303 | -0.013374 | 0.001260 | 0.030731 |
603816.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.019876 | 0.015246 | 0.029237 | 0.015431 | -0.007051 | 0.011037 | -0.010187 | 0.008240 | -0.002946 | 0.007162 | 0.015539 | 0.004940 | -0.007449 | 0.015439 | 0.023558 | 0.000514 |
603866.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.019187 | 0.005186 | 0.018773 | 0.014017 | -0.000268 | 0.023087 | 0.016997 | 0.019876 | 0.015246 | 0.015925 | -0.006576 | 0.001334 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
603868.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.003363 | 0.005186 | 0.018773 | -0.023091 | -0.037970 | -0.001519 | -0.020390 | -0.025535 | 0.003342 | -0.019944 | -0.012655 | 0.001334 | -0.006972 | 0.027269 | 0.008240 | 0.011292 | 0.007162 | 0.022158 | 0.004940 | -0.008432 | 0.015439 | 0.023558 | 0.000514 |
603877.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.002873 | 0.019876 | 0.009416 | 0.003141 | -0.012655 | -0.007051 | -0.006972 | -0.010187 | -0.020854 | -0.002946 | 0.012160 | 0.015539 | 0.004940 | -0.008432 | 0.000221 | -0.005788 | 0.000571 |
603883.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.010440 | -0.010765 | 0.014361 | 0.018921 | -0.020646 | 0.007749 | 0.007453 | 0.015075 | 0.019598 | 0.020795 | 0.009413 | -0.012978 | 0.019187 | 0.027097 | 0.018773 | 0.032351 | 0.004720 | -0.001519 | 0.014037 | 0.023714 | -0.005800 | 0.015925 | -0.006576 | 0.001334 | -0.006972 | 0.015728 | -0.020854 | -0.002946 | -0.005277 | -0.005371 | 0.014032 | -0.008432 | 0.000221 | -0.005788 | 0.000571 |
603885.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.014032 | 0.010274 | 0.000221 | -0.005788 | 0.005113 |
603888.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | -0.020390 | 0.019876 | 0.015246 | 0.029237 | -0.012655 | 0.020761 | 0.009577 | -0.001742 | 0.008240 | 0.011292 | -0.005277 | 0.010917 | 0.009361 | 0.010274 | 0.000221 | 0.001260 | 0.000571 |
603899.XSHG | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.004716 | 0.003197 | 0.011197 | -0.009531 | -0.023861 | -0.007937 | -0.019382 | 0.023798 | -0.002080 | -0.001467 | 0.009856 | -0.002692 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.033299 | -0.008432 | -0.005801 | 0.023558 | 0.030731 |
871 rows × 59 columns
factor_df = df_y_r.T
'''
选取头部股票计算超额收益
输入:factor_df,index为日期,column是股票名字,values是进行排序的因子值
'''
#选取头部股票构造组合进行回测
return_df = pd.DataFrame()
for d1,d2 in zip(factor_df.index[:-1],factor_df.index[1:]):
#获取头部股票
df_temp = factor_df.loc[d1,:].sort_values() #mo默认从小到大排序
#pool_temp = df_temp.index[:50]
pool_temp = df_temp.index[-50:]
#计算组合收益
df1 = get_price(list(pool_temp),end_date=d1,count=1,fields=['close'])['close'] #index为日期,columns为股票名称
df1 = df1.dropna(axis=1) #去掉NAN值,删除列
df2 = get_price(list(df1.columns),end_date=d2,count=1,fields=['close'])['close']
ret = (df2.values/df1.values - 1).mean() #计算组合收益均值
#计算同期指数收益率
df_index1 = get_price('000905.XSHG',end_date=d1,count=1,fields=['close'])['close']
df_index2 = get_price('000905.XSHG',end_date=d2,count=1,fields=['close'])['close']
index_ret = df_index2.values[-1]/df_index1.values[-1]-1
return_df[d1] = [ret-index_ret] #记录超额收益
#print(ret)
return_df = return_df.T
return_df.columns = ['return']
print(return_df.head(5))
(return_df+1).cumprod().plot(figsize=(12,6))
return 2014-01-02 -0.048063 2014-02-07 -0.034945 2014-03-03 -0.024557 2014-04-01 0.013225 2014-05-05 0.020049
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59dbd8be0>
'''
分组回测部分
'''
#分组回测部分
#输入:index为日期,column是股票名,values是因子值得factor_df
#输出:股票池分组收益
group = 10 #分组组数
pool_dict = {}
for i in range(len(factor_df.index)):
temp_se = factor_df.iloc[0,:].sort_values(ascending=False)#从大到小排序
#pool = temp_se[temp_se>0].index #去掉小于0的值
temp_se = temp_se.dropna() #去掉空值
pool = temp_se.index #不做负值处理
num = int(len(pool)/group)
#print('第%s期每组%s只股票'%(i,num))
pool_dict[factor_df.index[i]] = pool
trade_list = factor_df.index
group_pct = get_all_pct(pool_dict,trade_list,groups=group)
group_pct.columns = ['group'+str(i) for i in range(len(group_pct.columns))]
group_pct.cumprod().plot(figsize=(12,6))
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59d818b70>
#进行模型样本内样本外得分记录(回归)
print(df_score_r.mean(axis=1))
(df_score_r.T).plot(figsize=(12,6))
score_p -0.064946 score_r -0.166074 dtype: float64
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59d78ec50>
第四部分 特征统计(因子重要性)
特征重要性进行说明
模型调用featureimportances即可获取
下面我们针对这个内容进行图形化展示
df_features.mean(axis=1).plot(kind='bar',figsize=(12,6))
<matplotlib.axes._subplots.AxesSubplot at 0x7fd59d6f7470>
本社区仅针对特定人员开放
查看需注册登录并通过风险意识测评
5秒后跳转登录页面...
移动端课程