量化投资学习——ESG因子收益分析

企业责任因子(ESG)

ESG带来的贡献不光是带动股价的上涨,还可以降低这家公司投资上的风险,使得投资的夏普比率相对更高。ESG因子选股表现:沪深300内有一定选股能力和“排雷”能力,就已有的综合ESG得分结果来看,ESG在沪深300内具有比较稳定的选股能力和“排雷”能力。
残差风险:ESG得分高的公司具有较低的尾部风险。用CAPM模型的残差波动率来衡量个股的尾部风险。行业中性后按照ESG总分分五组,第五组的残差波动率(Res_Vol)最低,且显著低于其它组别。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import scipy.stats as st
import time
import statsmodels.api as sm
from datetime import datetime, timedelta
from scipy.stats import ttest_ind

pd.set_option('display.max_columns', None)
sns.set_style('white')
plt.rcParams['font.sans-serif'] = ['SimHei']  
plt.rcParams['font.family'] = 'sans-serif'
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

读取数据

esg = pd.read_excel('ESG指标.xlsx',sheet_name='指标',skiprows=3)
closeprice_adj = pd.read_excel('ESG指标.xlsx',sheet_name='收盘价',skiprows=3)

构建ESG因子
由于我们获取的ESG因子是分级数据,因此为了方便处理,我们按照分级标准将其处理为0-1之间,此外由于很多公司缺失指标,对于缺失的公司采取不处理的方式

填补数据,对于缺失的数据使用上一个时间段的数据进行填补

esg.head()
Date000001.SZ000002.SZ000063.SZ000066.SZ000069.SZ000100.SZ000157.SZ000166.SZ000333.SZ000338.SZ000425.SZ000538.SZ000568.SZ000596.SZ000625.SZ000651.SZ000656.SZ000661.SZ000703.SZ000708.SZ000725.SZ000728.SZ000768.SZ000776.SZ000783.SZ000786.SZ000800.SZ000858.SZ000860.SZ000876.SZ000895.SZ000938.SZ000963.SZ000977.SZ001979.SZ002001.SZ002007.SZ002008.SZ002024.SZ002027.SZ002032.SZ002044.SZ002049.SZ002050.SZ002120.SZ002129.SZ002142.SZ002153.SZ002157.SZ002179.SZ002202.SZ002230.SZ002236.SZ002241.SZ002252.SZ002271.SZ002304.SZ002311.SZ002352.SZ002371.SZ002384.SZ002410.SZ002414.SZ002415.SZ002456.SZ002460.SZ002463.SZ002475.SZ002493.SZ002508.SZ002555.SZ002558.SZ002594.SZ002600.SZ002601.SZ002602.SZ002607.SZ002624.SZ002673.SZ002714.SZ002736.SZ002739.SZ002773.SZ002812.SZ002821.SZ002841.SZ002916.SZ002938.SZ002939.SZ002945.SZ003816.SZ300003.SZ300014.SZ300015.SZ300033.SZ300059.SZ300122.SZ300124.SZ300136.SZ300142.SZ300144.SZ300274.SZ300347.SZ300408.SZ300413.SZ300433.SZ300450.SZ300498.SZ300529.SZ300558.SZ300595.SZ300601.SZ300628.SZ300676.SZ300677.SZ600000.SH600009.SH600010.SH600011.SH600015.SH600016.SH600018.SH600019.SH600025.SH600028.SH600029.SH600030.SH600031.SH600036.SH600048.SH600050.SH600061.SH600079.SH600085.SH600104.SH600109.SH600111.SH600115.SH600118.SH600132.SH600143.SH600150.SH600161.SH600176.SH600183.SH600196.SH600233.SH600276.SH600299.SH600309.SH600332.SH600340.SH600346.SH600352.SH600362.SH600383.SH600406.SH600426.SH600436.SH600438.SH600482.SH600489.SH600519.SH600521.SH600522.SH600547.SH600570.SH600584.SH600585.SH600588.SH600600.SH600606.SH600655.SH600660.SH600690.SH600703.SH600705.SH600741.SH600745.SH600760.SH600763.SH600795.SH600809.SH600837.SH600845.SH600848.SH600872.SH600886.SH600887.SH600893.SH600900.SH600918.SH600919.SH600926.SH600958.SH600989.SH600999.SH601006.SH601009.SH601012.SH601021.SH601066.SH601077.SH601088.SH601100.SH601108.SH601111.SH601138.SH601155.SH601162.SH601166.SH601169.SH601186.SH601211.SH601216.SH601225.SH601229.SH601231.SH601236.SH601238.SH601288.SH601318.SH601319.SH601328.SH601336.SH601360.SH601377.SH601390.SH601398.SH601555.SH601600.SH601601.SH601607.SH601618.SH601628.SH601633.SH601658.SH601668.SH601669.SH601688.SH601696.SH601698.SH601727.SH601766.SH601788.SH601799.SH601800.SH601808.SH601816.SH601818.SH601838.SH601857.SH601872.SH601877.SH601878.SH601881.SH601888.SH601899.SH601901.SH601916.SH601919.SH601933.SH601939.SH601985.SH601988.SH601989.SH601990.SH601995.SH601998.SH603019.SH603087.SH603160.SH603195.SH603233.SH603259.SH603288.SH603338.SH603369.SH603392.SH603501.SH603517.SH603658.SH603659.SH603799.SH603806.SH603833.SH603882.SH603899.SH603939.SH603986.SH603993.SH688008.SH688009.SH688012.SH688036.SH688111.SH688126.SH688169.SH688363.SH688396.SH
02008-02-29NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
12008-03-31NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
22008-04-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
32008-05-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
42008-06-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
df_test = pd.DataFrame(data=[[1,2,3],[4,5,np.nan]],columns=['A','B','C'])
df_test.fillna(0)
ABC
0123.0
1450.0
esg = esg.fillna(method='ffill')
esg.head()
Date000001.SZ000002.SZ000063.SZ000066.SZ000069.SZ000100.SZ000157.SZ000166.SZ000333.SZ000338.SZ000425.SZ000538.SZ000568.SZ000596.SZ000625.SZ000651.SZ000656.SZ000661.SZ000703.SZ000708.SZ000725.SZ000728.SZ000768.SZ000776.SZ000783.SZ000786.SZ000800.SZ000858.SZ000860.SZ000876.SZ000895.SZ000938.SZ000963.SZ000977.SZ001979.SZ002001.SZ002007.SZ002008.SZ002024.SZ002027.SZ002032.SZ002044.SZ002049.SZ002050.SZ002120.SZ002129.SZ002142.SZ002153.SZ002157.SZ002179.SZ002202.SZ002230.SZ002236.SZ002241.SZ002252.SZ002271.SZ002304.SZ002311.SZ002352.SZ002371.SZ002384.SZ002410.SZ002414.SZ002415.SZ002456.SZ002460.SZ002463.SZ002475.SZ002493.SZ002508.SZ002555.SZ002558.SZ002594.SZ002600.SZ002601.SZ002602.SZ002607.SZ002624.SZ002673.SZ002714.SZ002736.SZ002739.SZ002773.SZ002812.SZ002821.SZ002841.SZ002916.SZ002938.SZ002939.SZ002945.SZ003816.SZ300003.SZ300014.SZ300015.SZ300033.SZ300059.SZ300122.SZ300124.SZ300136.SZ300142.SZ300144.SZ300274.SZ300347.SZ300408.SZ300413.SZ300433.SZ300450.SZ300498.SZ300529.SZ300558.SZ300595.SZ300601.SZ300628.SZ300676.SZ300677.SZ600000.SH600009.SH600010.SH600011.SH600015.SH600016.SH600018.SH600019.SH600025.SH600028.SH600029.SH600030.SH600031.SH600036.SH600048.SH600050.SH600061.SH600079.SH600085.SH600104.SH600109.SH600111.SH600115.SH600118.SH600132.SH600143.SH600150.SH600161.SH600176.SH600183.SH600196.SH600233.SH600276.SH600299.SH600309.SH600332.SH600340.SH600346.SH600352.SH600362.SH600383.SH600406.SH600426.SH600436.SH600438.SH600482.SH600489.SH600519.SH600521.SH600522.SH600547.SH600570.SH600584.SH600585.SH600588.SH600600.SH600606.SH600655.SH600660.SH600690.SH600703.SH600705.SH600741.SH600745.SH600760.SH600763.SH600795.SH600809.SH600837.SH600845.SH600848.SH600872.SH600886.SH600887.SH600893.SH600900.SH600918.SH600919.SH600926.SH600958.SH600989.SH600999.SH601006.SH601009.SH601012.SH601021.SH601066.SH601077.SH601088.SH601100.SH601108.SH601111.SH601138.SH601155.SH601162.SH601166.SH601169.SH601186.SH601211.SH601216.SH601225.SH601229.SH601231.SH601236.SH601238.SH601288.SH601318.SH601319.SH601328.SH601336.SH601360.SH601377.SH601390.SH601398.SH601555.SH601600.SH601601.SH601607.SH601618.SH601628.SH601633.SH601658.SH601668.SH601669.SH601688.SH601696.SH601698.SH601727.SH601766.SH601788.SH601799.SH601800.SH601808.SH601816.SH601818.SH601838.SH601857.SH601872.SH601877.SH601878.SH601881.SH601888.SH601899.SH601901.SH601916.SH601919.SH601933.SH601939.SH601985.SH601988.SH601989.SH601990.SH601995.SH601998.SH603019.SH603087.SH603160.SH603195.SH603233.SH603259.SH603288.SH603338.SH603369.SH603392.SH603501.SH603517.SH603658.SH603659.SH603799.SH603806.SH603833.SH603882.SH603899.SH603939.SH603986.SH603993.SH688008.SH688009.SH688012.SH688036.SH688111.SH688126.SH688169.SH688363.SH688396.SH
02008-02-29NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
12008-03-31NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
22008-04-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
32008-05-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
42008-06-30NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN

查看数据的缺失占比

sorted(list(set(esg['Date'].dt.year)))
[2008,
 2009,
 2010,
 2011,
 2012,
 2013,
 2014,
 2015,
 2016,
 2017,
 2018,
 2019,
 2020,
 2021]
esg['Date'].dt.year
0      2008
1      2008
2      2008
3      2008
4      2008
       ... 
159    2021
160    2021
161    2021
162    2021
163    2021
Name: Date, Length: 164, dtype: int64
df_cal = pd.DataFrame()
for i in sorted(list(set(esg['Date'].dt.year))):
    print(df_cal[str(i)]==((esg[esg['Date'].dt.year==i].isnull().sum())/esg[esg['Date'].dt.year==i].shape[0]).sort_values(ascending=False))
---------------------------------------------------------------------------

KeyError                                  Traceback (most recent call last)

~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2894             try:
-> 2895                 return self._engine.get_loc(casted_key)
   2896             except KeyError as err:


pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()


pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.get_loc()


pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()


pandas\_libs\hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item()


KeyError: '2008'


The above exception was the direct cause of the following exception:


KeyError                                  Traceback (most recent call last)

<ipython-input-16-63fe351d39a2> in <module>
      1 for i in sorted(list(set(esg['Date'].dt.year))):
----> 2     print(df_cal[str(i)]==((esg[esg['Date'].dt.year==i].isnull().sum())/esg[esg['Date'].dt.year==i].shape[0]).sort_values(ascending=False))


~\Anaconda3\lib\site-packages\pandas\core\frame.py in __getitem__(self, key)
   2900             if self.columns.nlevels > 1:
   2901                 return self._getitem_multilevel(key)
-> 2902             indexer = self.columns.get_loc(key)
   2903             if is_integer(indexer):
   2904                 indexer = [indexer]


~\Anaconda3\lib\site-packages\pandas\core\indexes\base.py in get_loc(self, key, method, tolerance)
   2895                 return self._engine.get_loc(casted_key)
   2896             except KeyError as err:
-> 2897                 raise KeyError(key) from err
   2898 
   2899         if tolerance is not None:


KeyError: '2008'
import import_ipynb # 导入另外一个ipynb的工具包 pip install 一下
import lib_fun as fun #工具函数
importing Jupyter notebook from lib_fun.ipynb

对于ESG评级转换为浮点数指标

esg_map={
    'AAA':1,
    'AA':0.8,
    'A':0.6,
    'BBB':0.4,
    'BB':0.2,
    'B':0,
    'CCC':-0.2,
    'CC':-0.4
}
esg = esg.replace(esg_map)

考虑到前期数据为空的比较多,因此从2015年开始使用数据

esg = esg.set_index('Date').stack()
#esg.values.astype(float) #数据结果变换
array([0.6, 0.6, 0.4, ..., 0.4, 0.8, 0.8])
esg.head()
Date                 
2009-02-27  000001.SZ    0.6
            000002.SZ    0.6
            000063.SZ    0.4
            000066.SZ    0.4
            000069.SZ    0.6
dtype: float64
pd.Series(esg.values).hist(figsize=(20,16), bins=100, label='factor_distribution')
plt.legend()
<matplotlib.legend.Legend at 0x21c17170e50>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Z8ch2Iyp-1632908049939)(output_23_1.png)]

ESG因子的行业分析

因子值分布

从下图可以看到,因子值的分布集中在 0 至 1 内,在-0.4 和-0.2上留下了大片空白,出现这种情况的原因是:因子存在少量的离群值,我们不能从图中看到它们,为了更好地利用因子对整体股票的预测信息,有必要消除离群值的干扰,后续我们需要对因子进行去极值处理

# 读取行业数据
IND = pd.read_excel('ESG指标.xlsx',sheet_name='行业分类')
IND.head()
Date000001.SZ000002.SZ000063.SZ000066.SZ000069.SZ000100.SZ000157.SZ000166.SZ000333.SZ000338.SZ000425.SZ000538.SZ000568.SZ000596.SZ000625.SZ000651.SZ000656.SZ000661.SZ000703.SZ000708.SZ000725.SZ000728.SZ000768.SZ000776.SZ000783.SZ000786.SZ000800.SZ000858.SZ000860.SZ000876.SZ000895.SZ000938.SZ000963.SZ000977.SZ001979.SZ002001.SZ002007.SZ002008.SZ002024.SZ002027.SZ002032.SZ002044.SZ002049.SZ002050.SZ002120.SZ002129.SZ002142.SZ002153.SZ002157.SZ002179.SZ002202.SZ002230.SZ002236.SZ002241.SZ002252.SZ002271.SZ002304.SZ002311.SZ002352.SZ002371.SZ002384.SZ002410.SZ002414.SZ002415.SZ002456.SZ002460.SZ002463.SZ002475.SZ002493.SZ002508.SZ002555.SZ002558.SZ002594.SZ002600.SZ002601.SZ002602.SZ002607.SZ002624.SZ002673.SZ002714.SZ002736.SZ002739.SZ002773.SZ002812.SZ002821.SZ002841.SZ002916.SZ002938.SZ002939.SZ002945.SZ003816.SZ300003.SZ300014.SZ300015.SZ300033.SZ300059.SZ300122.SZ300124.SZ300136.SZ300142.SZ300144.SZ300274.SZ300347.SZ300408.SZ300413.SZ300433.SZ300450.SZ300498.SZ300529.SZ300558.SZ300595.SZ300601.SZ300628.SZ300676.SZ300677.SZ600000.SH600009.SH600010.SH600011.SH600015.SH600016.SH600018.SH600019.SH600025.SH600028.SH600029.SH600030.SH600031.SH600036.SH600048.SH600050.SH600061.SH600079.SH600085.SH600104.SH600109.SH600111.SH600115.SH600118.SH600132.SH600143.SH600150.SH600161.SH600176.SH600183.SH600196.SH600233.SH600276.SH600299.SH600309.SH600332.SH600340.SH600346.SH600352.SH600362.SH600383.SH600406.SH600426.SH600436.SH600438.SH600482.SH600489.SH600519.SH600521.SH600522.SH600547.SH600570.SH600584.SH600585.SH600588.SH600600.SH600606.SH600655.SH600660.SH600690.SH600703.SH600705.SH600741.SH600745.SH600760.SH600763.SH600795.SH600809.SH600837.SH600845.SH600848.SH600872.SH600886.SH600887.SH600893.SH600900.SH600918.SH600919.SH600926.SH600958.SH600989.SH600999.SH601006.SH601009.SH601012.SH601021.SH601066.SH601077.SH601088.SH601100.SH601108.SH601111.SH601138.SH601155.SH601162.SH601166.SH601169.SH601186.SH601211.SH601216.SH601225.SH601229.SH601231.SH601236.SH601238.SH601288.SH601318.SH601319.SH601328.SH601336.SH601360.SH601377.SH601390.SH601398.SH601555.SH601600.SH601601.SH601607.SH601618.SH601628.SH601633.SH601658.SH601668.SH601669.SH601688.SH601696.SH601698.SH601727.SH601766.SH601788.SH601799.SH601800.SH601808.SH601816.SH601818.SH601838.SH601857.SH601872.SH601877.SH601878.SH601881.SH601888.SH601899.SH601901.SH601916.SH601919.SH601933.SH601939.SH601985.SH601988.SH601989.SH601990.SH601995.SH601998.SH603019.SH603087.SH603160.SH603195.SH603233.SH603259.SH603288.SH603338.SH603369.SH603392.SH603501.SH603517.SH603658.SH603659.SH603799.SH603806.SH603833.SH603882.SH603899.SH603939.SH603986.SH603993.SH688008.SH688009.SH688012.SH688036.SH688111.SH688126.SH688169.SH688363.SH688396.SH
02008-02-29银行房地产通信计算机房地产电子机械设备非银金融家用电器汽车机械设备医药生物食品饮料食品饮料汽车家用电器房地产医药生物化工钢铁电子非银金融国防军工非银金融非银金融建筑材料汽车食品饮料食品饮料农林牧渔食品饮料计算机医药生物计算机房地产医药生物医药生物电子商业贸易传媒家用电器医药生物电子家用电器交通运输电气设备银行计算机农林牧渔国防军工电气设备计算机电子电子医药生物建筑材料食品饮料农林牧渔交通运输电子电子计算机电子电子电子有色金属电子电子化工家用电器传媒传媒汽车电子化工传媒传媒传媒非银金融农林牧渔非银金融传媒医药生物化工医药生物电子电子电子非银金融非银金融公用事业医药生物电气设备医药生物计算机非银金融医药生物电气设备电子医药生物休闲服务电气设备医药生物电子传媒电子机械设备农林牧渔医药生物医药生物医药生物医药生物通信医药生物医药生物银行交通运输钢铁公用事业银行银行交通运输钢铁公用事业化工交通运输非银金融机械设备银行房地产通信非银金融医药生物医药生物汽车非银金融有色金属交通运输国防军工食品饮料化工国防军工医药生物化工电子医药生物交通运输医药生物化工化工医药生物房地产化工化工有色金属房地产电气设备化工医药生物电气设备国防军工有色金属食品饮料医药生物通信有色金属计算机电子建筑材料计算机食品饮料房地产商业贸易汽车家用电器电子非银金融汽车电子国防军工医药生物公用事业食品饮料非银金融计算机房地产食品饮料公用事业食品饮料国防军工公用事业非银金融银行银行非银金融化工非银金融交通运输银行电气设备交通运输非银金融银行采掘机械设备非银金融交通运输电子房地产非银金融银行银行建筑装饰非银金融化工采掘银行电子非银金融汽车银行非银金融非银金融银行非银金融计算机非银金融建筑装饰银行非银金融有色金属非银金融医药生物建筑装饰非银金融汽车银行建筑装饰建筑装饰非银金融非银金融国防军工电气设备机械设备非银金融汽车建筑装饰采掘交通运输银行银行采掘交通运输电气设备非银金融非银金融休闲服务有色金属非银金融银行交通运输商业贸易银行公用事业银行国防军工非银金融非银金融银行计算机医药生物电子轻工制造医药生物医药生物食品饮料机械设备食品饮料医药生物电子食品饮料医药生物电气设备有色金属电气设备轻工制造医药生物轻工制造医药生物电子有色金属电子机械设备机械设备电子计算机电子机械设备医药生物电子
12008-03-31银行房地产通信计算机房地产电子机械设备非银金融家用电器汽车机械设备医药生物食品饮料食品饮料汽车家用电器房地产医药生物化工钢铁电子非银金融国防军工非银金融非银金融建筑材料汽车食品饮料食品饮料农林牧渔食品饮料计算机医药生物计算机房地产医药生物医药生物电子商业贸易传媒家用电器医药生物电子家用电器交通运输电气设备银行计算机农林牧渔国防军工电气设备计算机电子电子医药生物建筑材料食品饮料农林牧渔交通运输电子电子计算机电子电子电子有色金属电子电子化工家用电器传媒传媒汽车电子化工传媒传媒传媒非银金融农林牧渔非银金融传媒医药生物化工医药生物电子电子电子非银金融非银金融公用事业医药生物电气设备医药生物计算机非银金融医药生物电气设备电子医药生物休闲服务电气设备医药生物电子传媒电子机械设备农林牧渔医药生物医药生物医药生物医药生物通信医药生物医药生物银行交通运输钢铁公用事业银行银行交通运输钢铁公用事业化工交通运输非银金融机械设备银行房地产通信非银金融医药生物医药生物汽车非银金融有色金属交通运输国防军工食品饮料化工国防军工医药生物化工电子医药生物交通运输医药生物化工化工医药生物房地产化工化工有色金属房地产电气设备化工医药生物电气设备国防军工有色金属食品饮料医药生物通信有色金属计算机电子建筑材料计算机食品饮料房地产商业贸易汽车家用电器电子非银金融汽车电子国防军工医药生物公用事业食品饮料非银金融计算机房地产食品饮料公用事业食品饮料国防军工公用事业非银金融银行银行非银金融化工非银金融交通运输银行电气设备交通运输非银金融银行采掘机械设备非银金融交通运输电子房地产非银金融银行银行建筑装饰非银金融化工采掘银行电子非银金融汽车银行非银金融非银金融银行非银金融计算机非银金融建筑装饰银行非银金融有色金属非银金融医药生物建筑装饰非银金融汽车银行建筑装饰建筑装饰非银金融非银金融国防军工电气设备机械设备非银金融汽车建筑装饰采掘交通运输银行银行采掘交通运输电气设备非银金融非银金融休闲服务有色金属非银金融银行交通运输商业贸易银行公用事业银行国防军工非银金融非银金融银行计算机医药生物电子轻工制造医药生物医药生物食品饮料机械设备食品饮料医药生物电子食品饮料医药生物电气设备有色金属电气设备轻工制造医药生物轻工制造医药生物电子有色金属电子机械设备机械设备电子计算机电子机械设备医药生物电子
22008-04-30银行房地产通信计算机房地产电子机械设备非银金融家用电器汽车机械设备医药生物食品饮料食品饮料汽车家用电器房地产医药生物化工钢铁电子非银金融国防军工非银金融非银金融建筑材料汽车食品饮料食品饮料农林牧渔食品饮料计算机医药生物计算机房地产医药生物医药生物电子商业贸易传媒家用电器医药生物电子家用电器交通运输电气设备银行计算机农林牧渔国防军工电气设备计算机电子电子医药生物建筑材料食品饮料农林牧渔交通运输电子电子计算机电子电子电子有色金属电子电子化工家用电器传媒传媒汽车电子化工传媒传媒传媒非银金融农林牧渔非银金融传媒医药生物化工医药生物电子电子电子非银金融非银金融公用事业医药生物电气设备医药生物计算机非银金融医药生物电气设备电子医药生物休闲服务电气设备医药生物电子传媒电子机械设备农林牧渔医药生物医药生物医药生物医药生物通信医药生物医药生物银行交通运输钢铁公用事业银行银行交通运输钢铁公用事业化工交通运输非银金融机械设备银行房地产通信非银金融医药生物医药生物汽车非银金融有色金属交通运输国防军工食品饮料化工国防军工医药生物化工电子医药生物交通运输医药生物化工化工医药生物房地产化工化工有色金属房地产电气设备化工医药生物电气设备国防军工有色金属食品饮料医药生物通信有色金属计算机电子建筑材料计算机食品饮料房地产商业贸易汽车家用电器电子非银金融汽车电子国防军工医药生物公用事业食品饮料非银金融计算机房地产食品饮料公用事业食品饮料国防军工公用事业非银金融银行银行非银金融化工非银金融交通运输银行电气设备交通运输非银金融银行采掘机械设备非银金融交通运输电子房地产非银金融银行银行建筑装饰非银金融化工采掘银行电子非银金融汽车银行非银金融非银金融银行非银金融计算机非银金融建筑装饰银行非银金融有色金属非银金融医药生物建筑装饰非银金融汽车银行建筑装饰建筑装饰非银金融非银金融国防军工电气设备机械设备非银金融汽车建筑装饰采掘交通运输银行银行采掘交通运输电气设备非银金融非银金融休闲服务有色金属非银金融银行交通运输商业贸易银行公用事业银行国防军工非银金融非银金融银行计算机医药生物电子轻工制造医药生物医药生物食品饮料机械设备食品饮料医药生物电子食品饮料医药生物电气设备有色金属电气设备轻工制造医药生物轻工制造医药生物电子有色金属电子机械设备机械设备电子计算机电子机械设备医药生物电子
32008-05-30银行房地产通信计算机房地产电子机械设备非银金融家用电器汽车机械设备医药生物食品饮料食品饮料汽车家用电器房地产医药生物化工钢铁电子非银金融国防军工非银金融非银金融建筑材料汽车食品饮料食品饮料农林牧渔食品饮料计算机医药生物计算机房地产医药生物医药生物电子商业贸易传媒家用电器医药生物电子家用电器交通运输电气设备银行计算机农林牧渔国防军工电气设备计算机电子电子医药生物建筑材料食品饮料农林牧渔交通运输电子电子计算机电子电子电子有色金属电子电子化工家用电器传媒传媒汽车电子化工传媒传媒传媒非银金融农林牧渔非银金融传媒医药生物化工医药生物电子电子电子非银金融非银金融公用事业医药生物电气设备医药生物计算机非银金融医药生物电气设备电子医药生物休闲服务电气设备医药生物电子传媒电子机械设备农林牧渔医药生物医药生物医药生物医药生物通信医药生物医药生物银行交通运输钢铁公用事业银行银行交通运输钢铁公用事业化工交通运输非银金融机械设备银行房地产通信非银金融医药生物医药生物汽车非银金融有色金属交通运输国防军工食品饮料化工国防军工医药生物化工电子医药生物交通运输医药生物化工化工医药生物房地产化工化工有色金属房地产电气设备化工医药生物电气设备国防军工有色金属食品饮料医药生物通信有色金属计算机电子建筑材料计算机食品饮料房地产商业贸易汽车家用电器电子非银金融汽车电子国防军工医药生物公用事业食品饮料非银金融计算机房地产食品饮料公用事业食品饮料国防军工公用事业非银金融银行银行非银金融化工非银金融交通运输银行电气设备交通运输非银金融银行采掘机械设备非银金融交通运输电子房地产非银金融银行银行建筑装饰非银金融化工采掘银行电子非银金融汽车银行非银金融非银金融银行非银金融计算机非银金融建筑装饰银行非银金融有色金属非银金融医药生物建筑装饰非银金融汽车银行建筑装饰建筑装饰非银金融非银金融国防军工电气设备机械设备非银金融汽车建筑装饰采掘交通运输银行银行采掘交通运输电气设备非银金融非银金融休闲服务有色金属非银金融银行交通运输商业贸易银行公用事业银行国防军工非银金融非银金融银行计算机医药生物电子轻工制造医药生物医药生物食品饮料机械设备食品饮料医药生物电子食品饮料医药生物电气设备有色金属电气设备轻工制造医药生物轻工制造医药生物电子有色金属电子机械设备机械设备电子计算机电子机械设备医药生物电子
42008-06-30银行房地产通信计算机房地产电子机械设备非银金融家用电器汽车机械设备医药生物食品饮料食品饮料汽车家用电器房地产医药生物化工钢铁电子非银金融国防军工非银金融非银金融建筑材料汽车食品饮料食品饮料农林牧渔食品饮料计算机医药生物计算机房地产医药生物医药生物电子商业贸易传媒家用电器医药生物电子家用电器交通运输电气设备银行计算机农林牧渔国防军工电气设备计算机电子电子医药生物建筑材料食品饮料农林牧渔交通运输电子电子计算机电子电子电子有色金属电子电子化工家用电器传媒传媒汽车电子化工传媒传媒传媒非银金融农林牧渔非银金融传媒医药生物化工医药生物电子电子电子非银金融非银金融公用事业医药生物电气设备医药生物计算机非银金融医药生物电气设备电子医药生物休闲服务电气设备医药生物电子传媒电子机械设备农林牧渔医药生物医药生物医药生物医药生物通信医药生物医药生物银行交通运输钢铁公用事业银行银行交通运输钢铁公用事业化工交通运输非银金融机械设备银行房地产通信非银金融医药生物医药生物汽车非银金融有色金属交通运输国防军工食品饮料化工国防军工医药生物化工电子医药生物交通运输医药生物化工化工医药生物房地产化工化工有色金属房地产电气设备化工医药生物电气设备国防军工有色金属食品饮料医药生物通信有色金属计算机电子建筑材料计算机食品饮料房地产商业贸易汽车家用电器电子非银金融汽车电子国防军工医药生物公用事业食品饮料非银金融计算机房地产食品饮料公用事业食品饮料国防军工公用事业非银金融银行银行非银金融化工非银金融交通运输银行电气设备交通运输非银金融银行采掘机械设备非银金融交通运输电子房地产非银金融银行银行建筑装饰非银金融化工采掘银行电子非银金融汽车银行非银金融非银金融银行非银金融计算机非银金融建筑装饰银行非银金融有色金属非银金融医药生物建筑装饰非银金融汽车银行建筑装饰建筑装饰非银金融非银金融国防军工电气设备机械设备非银金融汽车建筑装饰采掘交通运输银行银行采掘交通运输电气设备非银金融非银金融休闲服务有色金属非银金融银行交通运输商业贸易银行公用事业银行国防军工非银金融非银金融银行计算机医药生物电子轻工制造医药生物医药生物食品饮料机械设备食品饮料医药生物电子食品饮料医药生物电气设备有色金属电气设备轻工制造医药生物轻工制造医药生物电子有色金属电子机械设备机械设备电子计算机电子机械设备医药生物电子
IND = IND.set_index('Date').stack()
IND_df = pd.concat([IND, esg], axis=1)
IND_df.head()
01
Date
2008-02-29000001.SZ银行NaN
000002.SZ房地产NaN
000063.SZ通信NaN
000066.SZ计算机NaN
000069.SZ房地产NaN
IND_df.columns=['industry','ESG']
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签

ESG因子的行业分布

从下图可以看到,不同行业的因子数据可比性较差,商业贸易的因子值明显高于其他的行业,除此之外,剩余行业大概分布在0.8,0.6和0.4的位置上,所以我们需要对因子进行行业中性化处理,消除行业间的差异对因子值的影响(行业中性化的具体做法下文介绍)

IND_median = IND_df.groupby('industry').median()
plt.rc("font",family="SimHei",size="12")
IND_median.plot(kind='bar', figsize=(13, 4), grid=True)
<AxesSubplot:xlabel='industry'>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tF49h539-1632908049958)(output_33_1.png)]

ESG因子在行业时间序列上的变化

(X轴:时间轴,Y轴:行业)

从热力图可以看出各行业的ESG因子在时间上的变化(颜色越深代表ESG越高,颜色越浅代表ESG越低):

  • 钢铁和化工行业的ESG指标一直处于很低的位置,这可能与行业的特性,对于碳排放比较多有关
  • 房地产的ESG指标近期处于相对较高的位置,这可能与行业治理效果获得成效有关
IND_df.head()
industryESG
Date
2008-02-29000001.SZ银行NaN
000002.SZ房地产NaN
000063.SZ通信NaN
000066.SZ计算机NaN
000069.SZ房地产NaN
industry_map={
    '银行':'bank',
}
IND_df = IND_df.replace(industry_map)
pd.to_datetime(['19900304','19900204','19900304','19900306'])
DatetimeIndex(['1990-03-04', '1990-02-04', '1990-03-04', '1990-03-06'], dtype='datetime64[ns]', freq=None)
IND_df.index.get_level_values(level=0).month
Int64Index([2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
            ...
            9, 9, 9, 9, 9, 9, 9, 9, 9, 9],
           dtype='int64', name='Date', length=49200)
IND_case.groupby(['Date', 'industry']
                                      )['ESG'].median()
Date        industry
2015-01-30  bank        0.8
            交通运输        0.4
            休闲服务        0.5
            传媒          0.4
            公用事业        0.8
                       ... 
2021-09-24  通信          0.8
            采掘          0.8
            钢铁          0.8
            非银金融        0.8
            食品饮料        0.8
Name: ESG, Length: 2106, dtype: float64
IND_case.groupby(['Date', 'industry']
                                      )['ESG'].median().unstack('industry')
industrybank交通运输休闲服务传媒公用事业农林牧渔化工医药生物商业贸易国防军工家用电器建筑材料建筑装饰房地产有色金属机械设备汽车电子电气设备计算机轻工制造通信采掘钢铁非银金融食品饮料
Date
2015-01-300.80.40.50.40.80.50.40.81.00.80.80.80.80.80.60.80.80.50.60.6NaN0.80.50.40.80.6
2015-02-270.80.40.50.40.80.50.40.71.00.80.80.80.70.80.60.80.80.40.40.60.40.80.60.40.80.6
2015-03-310.80.40.50.40.80.50.40.71.00.80.80.80.70.80.60.80.80.40.40.60.40.80.60.40.80.6
2015-04-300.80.60.50.40.80.50.40.81.00.80.80.80.80.80.60.80.80.60.40.70.60.80.70.40.80.8
2015-05-290.80.60.50.40.80.50.40.81.00.80.80.80.80.80.60.80.80.60.40.70.60.80.70.40.80.8
.................................................................................
2021-05-310.40.80.60.81.00.80.80.81.00.80.70.80.81.00.80.80.80.80.80.80.80.80.80.80.80.8
2021-06-300.40.80.60.81.00.80.80.81.00.80.70.80.81.00.80.80.80.80.80.80.80.80.80.80.80.8
2021-07-300.40.80.60.81.00.80.80.81.00.80.70.80.81.00.80.80.80.80.80.80.80.80.80.80.80.8
2021-08-310.60.80.60.81.00.60.80.81.00.80.80.80.81.00.80.80.80.80.80.80.80.80.80.80.80.8
2021-09-240.60.80.60.81.00.60.80.81.00.80.80.80.81.00.80.80.80.80.80.80.80.80.80.80.80.8

81 rows × 26 columns

IND_case = IND_df[IND_df.index.get_level_values(level=0).year>2014]

plt.subplots(1, 1, figsize=(18,8))
sns.heatmap(IND_case.groupby(['Date', 'industry']
                                      )['ESG'].median().unstack('Date'), cmap='YlGnBu')
<AxesSubplot:xlabel='Date', ylabel='industry'>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z11AauUt-1632908049960)(output_42_1.png)]

ESG因子与市值因子的相关性


市值是非常显著的风格因子,分析ESG因子与市值因子的相关性,有助于我们分析ESG因子的收益来源

从下图可以发现,ESG因子与市值因子的相关性在0.3以上,且十分连续,在某些时期可达到0.4到0.5,我们需要对ESG因子进行市值中性化处理
另一个比较关键的点是:随着时间延续,从2009年到2022年之后,到2015年底到了顶端,发现相关性先上升后降低。

市值因子为公司股票总市值的自然对数

# 读取行业数据
SIZE = pd.read_excel('ESG指标.xlsx',sheet_name='SIZE')
SIZE = SIZE.set_index('Date').stack()
SIZE = SIZE.apply(np.log) #市值因子的定义 SIZE = 市值(亿)的自然对数
SIZE_df = pd.concat([SIZE, esg], axis=1) 
SIZE_df = SIZE_df.reset_index() #防止index影响画图的效果
SIZE_df.columns=['Date','level_1','SIZE','esg']
SIZE_df['Date'] = pd.to_datetime(SIZE_df['Date'])

rank_corr_with_mktcap = (SIZE_df.dropna().groupby(by='Date'
                         ).apply(lambda df: st.spearmanr(df.esg, df.SIZE)[0]))

rank_corr_with_mktcap.plot(figsize=(15, 4), grid=True)
<AxesSubplot:xlabel='Date'>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y26ebjKv-1632908049961)(output_48_1.png)]

因子数据预处理


  • 通过上面的分析,我们需要对 ESG因子 进行去极值,市值和行业的中性化处理
  • 在市值和行业中性化处理前,我们需要调整因子的异常值
  • 在市值和行业中性化处理后,我们需要对每期因子截面进行标准化处理

MAD去极值

MAD去极值 把均值和标准差替换成稳健统计量,样本均值用样本中位数代替,样本标准差用样本MAD(Median Absolute Deviation)代替,把偏离中位数三倍以上的数据作为异常值:
m d = m e d i a n ( x _ i , i = 1 , 2 , . . . , n ) md = median(x\_{i}, i=1,2,...,n) md=median(x_i,i=1,2,...,n)
M A D = m e d i a n ( ∣ x _ i − m d ∣ , i = 1 , 2 , . . . , n ) MAD = median({|x\_{i}-md|, i=1,2,...,n}) MAD=median(x_imd,i=1,2,...,n)
M A D _ e = 1.483 ∗ M A D MAD\_{e} = 1.483*MAD MAD_e=1.483MAD

行业和市值中性化

行业和市值中性处理是:将去极值后的因子对 行业虚拟变量 和 对市值对数 回归的方法,取回归的残差作为因子值,

行业划分采用申万一级行业

标准化

标准化 把数据转换成 以0为均值,1为标准差,使不同因子具有可加性:
X = X − m e a n ( X ) / s t d ( X ) X = X-mean(X)/std(X) X=Xmean(X)/std(X)

最后,对于行业中性化后的因子进行横截面正态标准化处理得到标准化 z-score

def factor_process(factor_name, data, mode):
    """
    因子预处理函数,中位数去极值->对市值及行业中性化->标准化
    输入:
        factor_name: 需要进行预处理的因子名
        data: 某日的原始因子数据,columns最后的列必须为市值因子,行业哑变量
        mode: 'yes'代表中性化,'no'代表不做中性化
    返回:
        data: 对指定factor_name做完处理的因子数据
    """ 
    # 中位数去极值
    D_m = data[factor_name].median()
    D_mad = abs(data[factor_name] - D_m)
    dm1 = 1.483 * D_mad.median()
    upper = D_m + 3 * dm1
    lower = D_m - 3 * dm1
    # 边界压缩
    temp = [max(lower, min(x, upper)) for x in list(data[factor_name])]  
    data[factor_name] = temp
    
    #市值所在的列数
    n = list(data.columns).index('SIZE')
    # 中性化
    if mode == 'yes':
        y = np.array(data[factor_name])
        # 市值加行业 (避免伪回归,因子共线性)
        x = np.array(data[data.columns[n: ]])
        x = sm.add_constant(x, has_constant='add')
        model = sm.OLS(y, x, missing='drop')
        results = model.fit()
        data[factor_name] = results.resid
    # 标准化
    data[factor_name] = (data[factor_name] - data[factor_name].mean()) / (data[factor_name].std())
    return data

原始因子数据

factor_org = pd.concat([esg, SIZE, IND], axis=1)
factor_org.reset_index(inplace=True)
factor_org.head(3)
Datelevel_1012
02008-02-29000001.SZNaN6.471946银行
12008-02-29000002.SZNaN7.340221房地产
22008-02-29000063.SZNaN6.410263通信
factor_org.columns=['Date','secID','esg','SIZE','industry']
factor_org['industry']
0          银行
1         房地产
2          通信
3         计算机
4         房地产
         ... 
49195     计算机
49196      电子
49197    机械设备
49198    医药生物
49199      电子
Name: industry, Length: 49200, dtype: object
pd.concat([factor_org,pd.get_dummies(factor_org['industry'])],axis=1)
DatesecIDesgSIZEindustry交通运输休闲服务传媒公用事业农林牧渔化工医药生物商业贸易国防军工家用电器建筑材料建筑装饰房地产有色金属机械设备汽车电子电气设备计算机轻工制造通信采掘钢铁银行非银金融食品饮料
02008-02-29000001.SZNaN6.471946银行00000000000000000000000100
12008-02-29000002.SZNaN7.340221房地产00000000000010000000000000
22008-02-29000063.SZNaN6.410263通信00000000000000000000100000
32008-02-29000066.SZNaN4.106014计算机00000000000000000010000000
42008-02-29000069.SZNaN6.333297房地产00000000000010000000000000
................................................................................................
491952021-09-24688111.SH1.07.077304计算机00000000000000000010000000
491962021-09-24688126.SH0.46.573751电子00000000000000001000000000
491972021-09-24688169.SH0.46.223107机械设备00000000000000100000000000
491982021-09-24688363.SH0.86.811368医药生物00000010000000000000000000
491992021-09-24688396.SH0.86.824487电子00000000000000001000000000

49200 rows × 31 columns

factor_stand = []
# 待处理的因子
factor_list = ['esg', 'SIZE']

date_list = sorted(factor_org['Date'].unique())
for date in date_list:
    tdata = factor_org[factor_org['Date'] == date]
    tdata.reset_index(drop=True ,inplace=True)
    
    tdata = tdata.dropna()
    if(len(tdata)==0):
        continue
    # 将行业转换成虚拟变量
    indu_dummies = pd.get_dummies(tdata['industry'])
    del tdata['industry']
    tdata = pd.concat([tdata, indu_dummies], axis=1)
    
    # 对市值标准化(不进行中性化)
    tdata = factor_process('SIZE', tdata, 'no')
    # 对其他因子进行处理
    for factor_name in factor_list[: -1]:
        tdata = factor_process(factor_name, tdata, 'yes')
    factor_stand.append(tdata)

factor_stand = pd.concat(factor_stand)

factor_stand.head()
# 标准化因子存储  
 

DatesecIDesgSIZE交通运输传媒公用事业农林牧渔化工医药生物商业贸易国防军工家用电器建筑材料建筑装饰房地产有色金属机械设备汽车电子电气设备计算机通信采掘钢铁银行非银金融食品饮料休闲服务轻工制造
02009-02-27000001.SZ-0.2391930.661289000000000000000000000100NaNNaN
12009-02-27000002.SZ1.1162351.000055000000000001000000000000NaNNaN
22009-02-27000063.SZ0.4385210.584647000000000000000000100000NaNNaN
32009-02-27000066.SZ-0.239193-1.090548000000000000000001000000NaNNaN
42009-02-27000069.SZ1.1162350.454046000000000001000000000000NaNNaN
factor_stand.sort_values(by=['Date', 'secID'])
factor_stand.reset_index(drop=True, inplace=True)

# 不保留行业哑变量和市值
factor_stand = factor_stand[['Date', 'secID']+factor_list]
factor_stand.fillna(0, inplace=True)   

预处理后的因子数据

  • 对因子进行去极值,行业和市值中性化,标准化
factor_stand = factor_stand[['Date', 'secID', 'esg']]
factor_stand.head(3)
DatesecIDesg
02009-02-27000001.SZ-0.239193
12009-02-27000002.SZ1.116235
22009-02-27000063.SZ0.438521

去极值,行业和市值中性化后的因子值分布

从下图可以看到,处理后的因子相对原始因子,因子值的分布更加均衡(接近正态分布),我们可以更有效地利用因子的信息去区分好/不好的股票

factor_stand.hist(figsize=(8,4), bins=20, label='factor_distribution')
plt.legend()
<matplotlib.legend.Legend at 0x13dd904f460>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9qnJ5g8z-1632908049962)(output_64_1.png)]

去极值,行业和市值中性化处理后的ESG因子的行业分布

从下图可以看到,不同行业的因子,在去极值,行业和市值中性化处理后,数据可比性提高

factor_stand_copy = factor_stand.copy()
factor_stand_copy.set_index(['Date', 'secID'], inplace=True)

IND_df = pd.concat([IND, factor_stand_copy], axis=1)
IND_df.columns=['industry','esg']
IND_median = IND_df.groupby('industry').median()

plt.rc("font",family="SimHei",size="12")
IND_median.plot(kind='bar', figsize=(13, 4), grid=True)
<AxesSubplot:xlabel='industry'>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1pxDuzpz-1632908049964)(output_68_1.png)]

去极值,行业和市值中性化处理后的ESG因子的市值分布

从下图可以看到,ESG因子在去极值,行业和市值中性化处理后,与市值的相关度显著降低

处理前与市值有0.3的相关度,处理后与市值的相关度下降至0.02,最高也不超过0.06

SIZE_df = pd.concat([SIZE, factor_stand_copy], axis=1)
SIZE_df = SIZE_df.reset_index()
SIZE_df.columns=['Date','secID','SIZE','esg']
SIZE_df['Date'] = pd.to_datetime(SIZE_df['Date'])

rank_corr_with_mktcap = (SIZE_df.dropna().groupby(by='Date'
                         ).apply(lambda df: st.spearmanr(df.esg, df.SIZE)[0]))

rank_corr_with_mktcap.plot( figsize=(15, 4), grid=True)
<AxesSubplot:xlabel='Date'>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3yO8VZv7-1632908049964)(output_72_1.png)]

因子检验


分析因子选股的有效性

准备数据:

  1. 原始因子和处理后的因子
  2. 指数成分股:沪深300
  3. forward_return:股票未来一个月的收益
# 原始/预处理 因子
esg = factor_org.pivot(index='Date', columns='secID', values='esg')
esg_neu = factor_stand.pivot(index='Date', columns='secID', values='esg')
# forward_return
closeprice_adj = pd.read_excel('ESG指标.xlsx',sheet_name='收盘价')
closeprice_adj.head(100)
Date000001.SZ000002.SZ000063.SZ000066.SZ000069.SZ000100.SZ000157.SZ000166.SZ000333.SZ000338.SZ000425.SZ000538.SZ000568.SZ000596.SZ000625.SZ000651.SZ000656.SZ000661.SZ000703.SZ000708.SZ000725.SZ000728.SZ000768.SZ000776.SZ000783.SZ000786.SZ000800.SZ000858.SZ000860.SZ000876.SZ000895.SZ000938.SZ000963.SZ000977.SZ001979.SZ002001.SZ002007.SZ002008.SZ002024.SZ002027.SZ002032.SZ002044.SZ002049.SZ002050.SZ002120.SZ002129.SZ002142.SZ002153.SZ002157.SZ002179.SZ002202.SZ002230.SZ002236.SZ002241.SZ002252.SZ002271.SZ002304.SZ002311.SZ002352.SZ002371.SZ002384.SZ002410.SZ002414.SZ002415.SZ002456.SZ002460.SZ002463.SZ002475.SZ002493.SZ002508.SZ002555.SZ002558.SZ002594.SZ002600.SZ002601.SZ002602.SZ002607.SZ002624.SZ002673.SZ002714.SZ002736.SZ002739.SZ002773.SZ002812.SZ002821.SZ002841.SZ002916.SZ002938.SZ002939.SZ002945.SZ003816.SZ300003.SZ300014.SZ300015.SZ300033.SZ300059.SZ300122.SZ300124.SZ300136.SZ300142.SZ300144.SZ300274.SZ300347.SZ300408.SZ300413.SZ300433.SZ300450.SZ300498.SZ300529.SZ300558.SZ300595.SZ300601.SZ300628.SZ300676.SZ300677.SZ600000.SH600009.SH600010.SH600011.SH600015.SH600016.SH600018.SH600019.SH600025.SH600028.SH600029.SH600030.SH600031.SH600036.SH600048.SH600050.SH600061.SH600079.SH600085.SH600104.SH600109.SH600111.SH600115.SH600118.SH600132.SH600143.SH600150.SH600161.SH600176.SH600183.SH600196.SH600233.SH600276.SH600299.SH600309.SH600332.SH600340.SH600346.SH600352.SH600362.SH600383.SH600406.SH600426.SH600436.SH600438.SH600482.SH600489.SH600519.SH600521.SH600522.SH600547.SH600570.SH600584.SH600585.SH600588.SH600600.SH600606.SH600655.SH600660.SH600690.SH600703.SH600705.SH600741.SH600745.SH600760.SH600763.SH600795.SH600809.SH600837.SH600845.SH600848.SH600872.SH600886.SH600887.SH600893.SH600900.SH600918.SH600919.SH600926.SH600958.SH600989.SH600999.SH601006.SH601009.SH601012.SH601021.SH601066.SH601077.SH601088.SH601100.SH601108.SH601111.SH601138.SH601155.SH601162.SH601166.SH601169.SH601186.SH601211.SH601216.SH601225.SH601229.SH601231.SH601236.SH601238.SH601288.SH601318.SH601319.SH601328.SH601336.SH601360.SH601377.SH601390.SH601398.SH601555.SH601600.SH601601.SH601607.SH601618.SH601628.SH601633.SH601658.SH601668.SH601669.SH601688.SH601696.SH601698.SH601727.SH601766.SH601788.SH601799.SH601800.SH601808.SH601816.SH601818.SH601838.SH601857.SH601872.SH601877.SH601878.SH601881.SH601888.SH601899.SH601901.SH601916.SH601919.SH601933.SH601939.SH601985.SH601988.SH601989.SH601990.SH601995.SH601998.SH603019.SH603087.SH603160.SH603195.SH603233.SH603259.SH603288.SH603338.SH603369.SH603392.SH603501.SH603517.SH603658.SH603659.SH603799.SH603806.SH603833.SH603882.SH603899.SH603939.SH603986.SH603993.SH688008.SH688009.SH688012.SH688036.SH688111.SH688126.SH688169.SH688363.SH688396.SH
02008-02-298.1524129.78802915.8622835.2609186.9757512.3776915.587558NaNNaN3.7765863.84531816.76604130.4626988.6865573.9023094.9002872.4346135.7406372.5969295.9743018.92584513.63986415.1671913.9718597.8934965.53094518.64834028.79092313.4981156.4299979.6252019.0344453.9719752.334890NaN4.9737795.77388710.97907713.5319662.11466510.8639621.6019104.6019832.5755174.7987204.3153208.6092977.2265801.6761335.15538721.042862NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN6.27030026.4793112.5654877.5398836.2012793.9745045.51801510.188209NaN7.10069511.87074515.5244956.46678814.9308705.5287629.1539236.5340033.9749528.8457168.51493810.8087125.10164314.7715199.75535919.8626598.12487582.30225010.8730255.3142485.0037069.5190995.9020733.45766941.25812417.78356413.7050140.7989941.9109673.32175139.4757255.8355792.8062737.8629317.61692211.05657119.83308411.954580118.4694994.7132382.72371313.0025194.0010078.18966816.0406073.86403630.2761196.59736210.87542310.2195403.9773320.3625180.4778655.2810533.7876215.4020206.0072353.1506628.76051117.0558216.80142012.6876716.8197384.2199662.6728046.8921477.170469NaNNaNNaNNaNNaNNaN9.7573112.927153NaNNaNNaNNaN25.215255NaNNaN17.019150NaNNaNNaN9.9412604.303300NaNNaNNaNNaNNaNNaNNaNNaNNaN28.395651NaN5.613206NaNNaNNaN7.7433003.325546NaN31.64166725.2836979.865952NaN31.300247NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN27.893548NaNNaNNaN15.5872436.919608NaNNaNNaNNaNNaNNaNNaN27.036076NaN4.052125NaN2.761402NaNNaNNaN5.475665NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
12008-03-316.93508310.77735713.7026303.7430406.6233912.4343024.267532NaNNaN3.2016932.90254711.78862326.2499976.9332262.5979614.0811482.4346135.0667551.7312864.6273978.5411788.88046210.2690043.9718595.6883294.59475011.51860319.24697110.5732874.6021967.5511525.9011113.5104601.898000NaN4.4124214.7290038.42945111.3461661.7667518.7995111.4430193.5678652.1972383.5712673.3776186.8062536.1074391.3231984.44628113.315399NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN5.26865920.2087712.1815135.6689915.0747613.1048104.7336257.385261NaN5.0635768.72520312.9658924.54914015.0242765.1790947.7168185.0903003.2272826.4986576.1988395.8488903.85097912.2596855.49535419.7400507.29180554.7166386.2638654.1368123.5611648.5061844.8731512.84356627.94027514.84845610.6643520.7867961.4565042.82246925.7187825.4931591.8260346.3937986.6187847.43511815.2796198.930376114.0405633.8240452.1265688.5911783.2019957.02743812.8854723.72463622.5245175.46737310.8754237.6055012.6018300.3625180.4778654.5592573.7876214.6222015.1675142.5004686.02474112.6444875.67887510.1243435.1911443.3341072.3942716.8921475.783300NaNNaNNaNNaNNaNNaN8.5555742.592161NaNNaNNaNNaN20.012107NaNNaN14.545232NaNNaNNaN8.2720273.6249227.612480NaNNaNNaNNaNNaNNaNNaNNaN21.101319NaN4.764310NaNNaNNaN5.7047413.121838NaN20.13201018.7204197.678918NaN22.659616NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN18.727299NaNNaNNaN11.8924385.224075NaNNaNNaNNaNNaNNaNNaN19.631761NaN3.488619NaN2.492725NaNNaNNaN4.399094NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
22008-04-307.28429710.25953814.3938123.2781405.2912772.1714624.091012NaNNaN3.5099042.16020812.60946025.7842726.9866272.7133664.4011672.4346134.4012961.5154684.5241078.23501414.5577809.7963723.9718598.4886414.93966413.15792222.62712112.9811364.4527347.6995826.8863713.5718321.743439NaN5.3194184.5038127.72984411.3790601.6254117.1658641.2393503.0367461.9458863.4195293.3965147.0375346.1487051.8446073.67968113.416083NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN6.29808118.6785602.1373396.0444215.2558743.3145164.6790588.283871NaN5.2430767.43758919.7473104.47763816.3506343.9970428.0216594.5177973.1941586.8671077.10631711.8827074.35656710.3564876.39260816.7393566.05690358.0157505.5800594.6844933.5864729.1737873.8442293.11593524.07537811.90198911.8894300.8312331.3064072.93251528.2997603.9199451.7735475.8285416.3868087.70596313.6717456.725721111.2580483.4522622.2362487.2307113.1877277.39360514.4582223.81431524.6713854.54463010.8754237.3857872.5998930.3625180.4778654.8292823.7876213.9061854.2880432.4594205.97637420.8495684.4082417.0451245.4880232.9154472.3485916.8921475.758603NaNNaNNaNNaNNaNNaN8.1549952.964772NaNNaNNaNNaN24.204644NaNNaN13.009999NaNNaNNaN9.1594394.4690119.556423NaNNaNNaNNaNNaNNaNNaNNaN27.518257NaN5.164912NaNNaNNaN6.3332293.391752NaN21.54599721.0182856.658302NaN29.408606NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN22.237595NaNNaNNaN12.4794636.363159NaNNaNNaNNaN5.235949NaNNaN23.031551NaN4.277528NaN2.612137NaNNaNNaN4.448591NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
32008-05-306.2046868.31456216.1345673.1192004.4126642.1512444.091012NaNNaN2.9875462.44823512.02876225.6163896.3458152.2839513.7174901.7076104.3633901.4680364.2739636.79840011.4588479.5471663.9718597.7713354.81237412.74158717.97444412.1950443.9918928.0719107.6488153.7804961.665129NaN6.7964504.8224577.61254710.5423341.5764857.2639681.1931822.9715921.6861882.9163673.6350736.2150326.7899861.6945793.72471313.5167672.7150801.0800111.377079NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN5.46611218.1962101.8655006.5324794.2992822.7280434.2698117.542876NaN5.6479966.27932417.0572124.45771213.8520373.0117098.4832744.0510822.9149656.4145225.57128011.9988794.1952889.8058155.60198416.0403365.48355545.8634986.1385894.6292523.2140868.3047523.4633093.27249423.4684369.61055312.4887490.8033511.2869502.56569624.6268303.3008542.2681106.8737335.7504687.70596312.2756877.380457102.1510854.0709482.3215547.4288933.3663496.60531613.8560983.99800722.0933844.30777710.8754235.6787742.3538520.3625180.4778655.2966323.7876214.0905064.0296672.7501735.12692519.7390104.7313378.3026064.6228332.8958252.1545366.8921476.030274NaNNaNNaNNaNNaNNaN7.4230732.574246NaNNaNNaNNaN23.659314NaNNaN10.781719NaNNaNNaN7.8267333.9977718.366730NaNNaNNaNNaNNaNNaNNaNNaN22.655660NaN4.201558NaNNaNNaN5.3824392.994520NaN18.98500017.4278706.423399NaN24.214609NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN21.164766NaNNaNNaN12.4892215.459748NaNNaNNaNNaN4.314302NaNNaN19.351518NaN3.662793NaN2.368338NaNNaNNaN3.941241NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
42008-06-304.7537296.10600514.5683532.1495223.3021491.6498262.692990NaNNaN2.0163812.16614611.82791820.5600735.5848511.5655862.8456211.1545092.8050361.0174273.0287934.6552568.3839367.3570133.9718595.7854323.2296517.01347414.49090110.5571192.7837377.6728405.3390252.9949381.255029NaN4.8363604.6569426.6448508.4906081.1633376.0184730.8718692.3175881.3439422.3704282.6717705.1752015.6287481.4756852.62479710.0759062.2266770.8345221.1619241.028116NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN4.27647513.1564921.3738754.5595223.3686232.1567053.3225695.315409NaN4.2788404.18621611.9161373.25976810.9377852.3484365.8711883.0118641.9529015.7762613.6052359.7157493.5405076.2022994.35103010.9232254.20785034.3528264.9424523.5986002.1701266.9580352.4288462.80201314.4761158.4154129.5210020.7772110.9145603.07312918.8882492.6239041.7073195.9111975.0800775.8100518.1645355.62508784.6680813.8718741.8950226.2955682.7655564.1407819.6315893.77784717.6676683.33075510.8754233.6309741.7517870.3625180.4778653.3836133.7876212.6301172.6036322.1994543.93285920.0683953.4227985.2636913.3759402.0811822.1826036.8921476.030274NaNNaNNaNNaNNaNNaN6.7307152.045783NaNNaNNaNNaN18.866933NaNNaN7.506517NaNNaNNaN5.7781703.5601917.278122NaNNaNNaNNaNNaNNaNNaNNaN19.822696NaN3.638902NaNNaNNaN4.1899232.591144NaN12.94364614.0324315.451384NaN19.472149NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN20.200534NaNNaNNaN10.4123304.039166NaNNaNNaNNaN3.885861NaNNaN14.700267NaN3.057592NaN2.062490NaNNaNNaN3.203916NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
..........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
952016-01-297.68339719.13230213.94602020.9943385.2339313.1450713.4861365.47968915.4937553.0300942.81281453.00634219.07611525.8254119.00021514.3471772.77560240.9044224.6016964.5834832.1567009.03169716.76675911.6983498.2508498.41231811.88758621.35464315.1628568.39098712.56101424.19921617.57375817.42462511.6758686.01778613.27408519.65387810.2655408.01561217.80833410.65967759.7113213.5245246.2416398.0359018.27734618.8436974.59215016.92215610.01936816.57218811.34271313.19228020.7470874.99674151.31383811.47700810.11699627.60118712.30565210.6658844.78271810.5624478.70074711.8955413.4680485.5370913.26087417.98823115.54533732.94433646.6835383.5284398.2963286.6312264.71403223.35837520.0659174.53529913.00268051.11893931.243628NaNNaNNaNNaNNaNNaNNaNNaN14.8145565.0923165.79957157.4741698.51668811.16284911.12171415.3578849.20932512.4855019.66770416.59086512.60835215.91684310.5399328.29605421.255247NaNNaNNaNNaNNaNNaNNaN9.82235724.4848342.1053705.5905896.5982705.5875273.9829233.978439NaN3.0764456.05017312.8341934.42656812.4276236.7380183.82920711.59941215.76978127.13873413.70590310.84672211.3135435.85450729.62124010.7262215.12212722.26459812.0122584.8540194.48691417.04340411.91184113.41904111.8820249.69030319.59077714.6839825.1350406.98032111.78088911.8282669.6903024.36470130.0839625.54235630.1026787.314518184.08967512.8525886.0147868.36745616.49303121.94246810.6389348.15135025.8707588.9106129.08976510.4785628.86694711.2337484.45189210.61281524.1901517.07508730.9852062.45979110.59700610.72799811.44763111.26897410.3166895.18855411.39392734.7789419.674593NaNNaNNaN16.398695NaN11.0381284.7615644.6290894.16722748.295434NaNNaN8.6886314.792697NaN6.108436NaN7.723122NaN11.3639364.9515838.90605215.0026292.6614023.176296NaN9.040999NaN12.5759012.20071926.383115NaN3.88998233.28183910.3626906.9777977.0314163.0774249.1136413.76000019.17926013.9047823.43666418.6599337.224906NaN3.0071345.74602612.862381NaNNaN7.5601668.68597214.90586722.2062209.50158511.645347NaN2.696101NaN6.4829533.59452514.843910NaNNaN21.8699562.4823036.641441NaN4.1993203.5796303.6146996.2652592.3657516.164722NaNNaN4.35492715.670144NaNNaNNaNNaNNaN16.30125615.5521099.494385NaNNaNNaNNaNNaN8.38234814.257018NaNNaN15.27088714.167520NaN2.991361NaNNaNNaNNaNNaNNaNNaNNaNNaN
962016-02-297.34532819.13230213.30415320.9943385.2746933.2406403.2853225.01405014.7902672.9839932.78430648.59724617.79240525.5127788.43922614.7225172.72280638.7578346.2038055.0736952.2323737.87635715.67095510.8585117.3272477.64340111.56476020.27156813.8391158.39098712.40426919.77558817.41597116.22840711.2791158.16116612.26327517.5611939.9182107.67857019.49616510.65967759.7113213.4113525.9552587.5139618.15451716.7261635.30777117.6755409.04369916.57873811.82489311.39508521.2158545.61663750.00503412.4709329.99059422.32009310.03951511.0811934.74129711.0358677.84493611.6044593.3558975.5171593.38290819.26313415.65707337.35933649.5479203.4751247.9543877.0720125.19256220.84734915.9696455.90080012.03126753.00001128.955320NaNNaNNaNNaNNaNNaNNaNNaN14.8629224.9752825.54356349.2515607.33031711.12381810.14262315.72310510.86560612.0531039.47867018.69577312.87269814.05696310.77943510.32059623.409230NaNNaNNaNNaNNaNNaNNaN10.72322425.7535761.9560035.6150376.4459495.5437283.9573373.871533NaN3.0553745.60981312.6394684.50019112.0711277.0242493.8008439.58942814.73140225.34628913.49243811.01136010.9877605.37146128.52813410.4413755.71417720.80673813.0112654.5178964.51065416.81853211.91184113.71487013.1609299.13738218.74786414.5797484.6189557.39304011.90429810.4328389.3916804.43730329.1947496.45362029.2626949.268085197.17274913.7513715.84033412.66398714.39986021.94246811.3907747.11875824.97671610.1640239.61518510.6491436.68596410.5995384.1998139.76870124.1901516.65682027.8350112.47687310.06581110.9849039.76126311.30121710.4978515.14664311.09498634.1264109.107379NaNNaNNaN15.577858NaN10.2939024.5378204.6195904.23928342.994358NaNNaN8.8377644.357838NaN5.796877NaN8.349835NaN11.1438885.1001848.58829414.1048892.5677453.505987NaN7.812304NaN11.8521992.20071925.360310NaN3.75910430.5701209.9474106.5966946.4395753.0248838.3916844.50000019.37707013.4863923.47227718.1487027.112287NaN3.0071345.36356412.024297NaNNaN8.0947238.16936713.68122822.6951819.29043911.607134NaN2.567715NaN6.3265273.51128314.739437NaNNaN19.7590302.7848066.249037NaN4.2454673.6625553.4042806.0174812.3290165.806193NaNNaN4.22153313.131140NaNNaNNaNNaNNaN15.38772112.6552179.990946NaNNaNNaNNaNNaN7.67069013.992377NaNNaN16.02640413.477335NaN3.010057NaNNaNNaNNaNNaNNaNNaNNaNNaN
972016-03-318.17513519.13230214.64623813.7428125.7149313.3275203.6869505.99931417.5020993.3863303.33546554.16384022.12829334.9770429.61608314.7225173.06221343.4002565.6797505.2942912.4120989.77027018.76441714.1839309.0425088.72354713.37828225.37104916.4640347.10516415.04044322.85242718.09367621.40644012.1859789.10614313.47442521.45725211.0470338.38798821.35622310.65967743.3217303.8694328.8741428.6169289.19174421.3094475.85286020.71805110.26954018.29491013.79188212.33463721.0504076.34548558.28540015.24641813.45691727.12289912.43740412.7801836.53348712.26119110.51538416.5722554.0719375.8300903.84834221.39882916.89548633.60098157.6898274.04219512.3996128.1026727.02523125.25299822.4505626.62011714.63358553.00001132.963598NaNNaNNaNNaNNaNNaNNaNNaN17.9390107.1261225.87637472.9560019.78701215.78801612.11347918.25489711.13500115.81496811.91990117.93748316.17702116.68061811.86776911.56677925.244286NaNNaNNaNNaNNaNNaNNaN10.42099728.4898942.1053706.4951887.0344625.9767294.7334524.008983NaN3.3433516.04060015.7550795.23641813.3395907.1789684.15067211.91677718.05033428.16565614.76586513.97483912.5179515.87382834.84277712.0525345.73211824.91254811.6618005.3186604.96765418.67372411.91184114.40412113.86840910.45588721.17471215.8175285.1479429.51943613.4421748.48946610.7504125.16333035.7242996.45362032.1342669.740576227.20143214.6389187.05011813.18037224.13351921.94246813.6543779.13143727.00948610.06526911.25274412.0950227.57087111.5449815.59975111.67946824.1901518.57092232.2075222.63061012.28472712.65921511.80457912.42972612.3857485.78368712.44449238.4603869.810405NaNNaNNaN18.319995NaN13.1823844.8035175.0976975.06392245.317850NaNNaN9.1165785.366340NaN6.476641NaN8.710669NaN12.2048365.3496209.89463317.0139143.0243203.522070NaN9.123524NaN13.0901102.35528527.808048NaN4.04994436.67148912.1976497.9759217.1109173.22003611.3899284.39000021.61890815.2489703.73937521.7820947.900616NaN3.3412605.88261915.094330NaNNaN9.0015618.96616417.45567532.89878610.73327212.400050NaN2.832039NaN6.6133073.88208717.621158NaNNaN21.7035542.9093667.769603NaN4.6838574.1232543.6447596.8316112.4979987.160639NaNNaN4.76295617.329395NaNNaNNaNNaNNaN18.21137414.08586912.477482NaNNaNNaNNaNNaN11.46257616.138911NaNNaN17.77825916.082918NaN3.346585NaNNaNNaNNaNNaNNaNNaNNaNNaN
982016-04-298.12135119.13230213.83904211.7349975.4214393.0564193.4379405.66864318.2112603.3695663.19292453.41279121.09593937.3265299.76242814.7225172.93399344.8226165.7096966.0835322.2607518.83122716.92191613.4119578.5505798.43978011.95405025.63279215.2831967.36144515.54860421.72055117.77034419.29005511.5058318.85271814.20293720.97506610.7675018.91801323.12672310.65967738.2192163.9556598.6501788.1639249.56705719.1707385.52093421.3960969.86301118.29490913.34775313.81383020.6257596.27786058.99215414.24311713.46664022.64891611.16599612.3837526.13015112.12195010.12313720.1266863.8476355.6247913.50210523.93932916.89548631.23332362.4964954.98731210.5012147.2924046.23107427.23846019.6172385.84622413.66217253.00001132.709342NaNNaNNaNNaNNaNNaNNaNNaN16.9765237.6748856.25841772.5959588.69474313.11439611.60650619.18961711.13500114.79151912.13593919.38215715.49632915.61949512.51407711.56677922.864601NaNNaNNaNNaNNaNNaNNaN10.36287725.7630452.1622726.0958617.0413866.1013814.1876134.253341NaN3.4206145.80127414.5513204.96953614.7158316.9236813.81975210.27394215.60480526.01845614.97196912.64805213.2583665.88348931.51465712.0436335.52579722.52245110.8319795.2272155.15164118.09280616.61342914.23638312.40809911.56496820.41516416.4038454.5157388.39791913.2238348.87667910.4293935.07791534.3937256.45362032.89611210.313017230.46761315.1107798.14233615.28602322.57398321.94246813.0723088.42635327.3388709.44995810.38580111.6563857.44573311.4392805.15411211.46460324.1901517.09635530.3392672.51957712.23765913.31476510.93891012.42972611.7087755.48193012.83738635.4704309.850350NaNNaNNaN16.299473NaN12.3276294.5727805.3225024.97985745.142124NaNNaN9.5834306.249936NaN6.429435NaN8.312800NaN12.6685105.4663789.22381015.7795203.0828553.948256NaN8.454160NaN14.2201002.29640228.009112NaN3.91179536.06587211.8692887.4133426.6074113.19751910.4556314.21000022.75631216.1124553.54350319.8010747.337524NaN3.2298845.72781315.358988NaNNaN7.8560828.27443915.86547238.69125110.02945112.524241NaN2.756518NaN6.4481913.82154816.419715NaNNaN20.9285972.8559837.367389NaN4.3685243.9251543.5245196.2652592.4612636.274273NaNNaN4.60602217.591042NaNNaNNaNNaNNaN17.35219713.62322013.369797NaNNaNNaNNaNNaN10.58251116.322425NaNNaN18.13240816.880108NaN3.150277NaNNaNNaNNaNNaNNaNNaNNaNNaN
992016-05-318.10598419.13230213.40140510.7115965.3969823.0208793.3415505.76312118.8575053.3276563.05038355.15345622.02954740.3960218.84167414.7225172.81174345.0290824.8861825.3384102.2418339.03169716.84433713.9548839.1893638.32254512.59970227.10397016.8268567.60447016.19803622.01068416.99951919.93952911.4815408.62935915.06804422.39067310.6898987.99658523.6709629.50634640.7406924.9982937.5408668.16392410.16755618.8705716.20610323.1143999.44397419.08376612.78959213.06700620.7198325.97354759.62038016.12387814.81525729.94280412.51645512.2232926.14120112.87048911.56137620.6991475.2020725.6825943.46521023.81370016.89548631.84992958.6609706.2620099.5369706.5437185.58964024.95565719.9828285.68576913.93844653.00001133.397330NaNNaNNaNNaNNaNNaNNaNNaN17.4601858.8478356.48685576.2532338.76248413.55947711.84132717.74608211.13500113.59411011.77947619.62997816.83139715.38045114.92848811.56677922.560394NaNNaNNaNNaNNaNNaNNaN10.63023126.2364562.1693856.1203097.0621575.9636084.4690614.039528NaN3.3925186.54797214.8611114.68424814.9230966.8268833.78193310.86511416.10943825.67303714.93516512.72552914.8477916.50178731.16963514.8030755.58859122.45302911.5973485.1300935.69173318.06469716.50888214.01069911.92737611.40713322.11025316.4560824.0319097.80575812.6542508.14608810.2297914.94552237.2065996.29757630.8059209.389652242.64239517.7621878.61259714.83982625.41862618.80355912.3123848.38666927.8847068.6371409.55388611.9244418.17868611.9384275.25314311.28810624.9177496.04005427.4176342.51957714.05313614.04118610.69525912.42972611.4990095.56575113.55839532.8797839.954206NaNNaNNaN15.974747NaN12.2097324.5448125.6644594.83562648.881188NaNNaN9.0452545.492578NaN6.589935NaN7.616613NaN12.7313815.7105078.92370515.8744742.8877383.562276NaN9.114354NaN15.0707672.34792428.603563NaN4.02086038.21716910.7656287.5105016.4042423.27257810.7189334.11000022.49256616.4062183.38035819.7371707.585242NaN3.2181615.47283916.302935NaNNaN7.4456188.49333916.08444539.0108589.67754012.008368NaN2.801830NaN6.4047403.70046916.368229NaNNaN21.0046672.7225267.249667NaN4.0839543.9850443.6673046.1325212.4686106.124886NaNNaN4.55109518.600694NaNNaNNaNNaNNaN18.04773614.56368211.716132NaNNaNNaNNaNNaN17.04718616.082955NaNNaN18.09420816.741001NaN3.608329NaNNaNNaNNaNNaNNaNNaNNaNNaN

100 rows × 301 columns

closeprice_adj = closeprice_adj.set_index('Date')
chgpct_a = closeprice_adj.pct_change()
forward_return = chgpct_a.shift(-1)
forward_return.head()
000001.SZ000002.SZ000063.SZ000066.SZ000069.SZ000100.SZ000157.SZ000166.SZ000333.SZ000338.SZ000425.SZ000538.SZ000568.SZ000596.SZ000625.SZ000651.SZ000656.SZ000661.SZ000703.SZ000708.SZ000725.SZ000728.SZ000768.SZ000776.SZ000783.SZ000786.SZ000800.SZ000858.SZ000860.SZ000876.SZ000895.SZ000938.SZ000963.SZ000977.SZ001979.SZ002001.SZ002007.SZ002008.SZ002024.SZ002027.SZ002032.SZ002044.SZ002049.SZ002050.SZ002120.SZ002129.SZ002142.SZ002153.SZ002157.SZ002179.SZ002202.SZ002230.SZ002236.SZ002241.SZ002252.SZ002271.SZ002304.SZ002311.SZ002352.SZ002371.SZ002384.SZ002410.SZ002414.SZ002415.SZ002456.SZ002460.SZ002463.SZ002475.SZ002493.SZ002508.SZ002555.SZ002558.SZ002594.SZ002600.SZ002601.SZ002602.SZ002607.SZ002624.SZ002673.SZ002714.SZ002736.SZ002739.SZ002773.SZ002812.SZ002821.SZ002841.SZ002916.SZ002938.SZ002939.SZ002945.SZ003816.SZ300003.SZ300014.SZ300015.SZ300033.SZ300059.SZ300122.SZ300124.SZ300136.SZ300142.SZ300144.SZ300274.SZ300347.SZ300408.SZ300413.SZ300433.SZ300450.SZ300498.SZ300529.SZ300558.SZ300595.SZ300601.SZ300628.SZ300676.SZ300677.SZ600000.SH600009.SH600010.SH600011.SH600015.SH600016.SH600018.SH600019.SH600025.SH600028.SH600029.SH600030.SH600031.SH600036.SH600048.SH600050.SH600061.SH600079.SH600085.SH600104.SH600109.SH600111.SH600115.SH600118.SH600132.SH600143.SH600150.SH600161.SH600176.SH600183.SH600196.SH600233.SH600276.SH600299.SH600309.SH600332.SH600340.SH600346.SH600352.SH600362.SH600383.SH600406.SH600426.SH600436.SH600438.SH600482.SH600489.SH600519.SH600521.SH600522.SH600547.SH600570.SH600584.SH600585.SH600588.SH600600.SH600606.SH600655.SH600660.SH600690.SH600703.SH600705.SH600741.SH600745.SH600760.SH600763.SH600795.SH600809.SH600837.SH600845.SH600848.SH600872.SH600886.SH600887.SH600893.SH600900.SH600918.SH600919.SH600926.SH600958.SH600989.SH600999.SH601006.SH601009.SH601012.SH601021.SH601066.SH601077.SH601088.SH601100.SH601108.SH601111.SH601138.SH601155.SH601162.SH601166.SH601169.SH601186.SH601211.SH601216.SH601225.SH601229.SH601231.SH601236.SH601238.SH601288.SH601318.SH601319.SH601328.SH601336.SH601360.SH601377.SH601390.SH601398.SH601555.SH601600.SH601601.SH601607.SH601618.SH601628.SH601633.SH601658.SH601668.SH601669.SH601688.SH601696.SH601698.SH601727.SH601766.SH601788.SH601799.SH601800.SH601808.SH601816.SH601818.SH601838.SH601857.SH601872.SH601877.SH601878.SH601881.SH601888.SH601899.SH601901.SH601916.SH601919.SH601933.SH601939.SH601985.SH601988.SH601989.SH601990.SH601995.SH601998.SH603019.SH603087.SH603160.SH603195.SH603233.SH603259.SH603288.SH603338.SH603369.SH603392.SH603501.SH603517.SH603658.SH603659.SH603799.SH603806.SH603833.SH603882.SH603899.SH603939.SH603986.SH603993.SH688008.SH688009.SH688012.SH688036.SH688111.SH688126.SH688169.SH688363.SH688396.SH
Date
2008-02-29-0.1493210.101075-0.136150-0.288520-0.0505120.023810-0.236244NaNNaN-0.152226-0.245174-0.296875-0.138290-0.201844-0.334250-0.1671610.000000-0.117388-0.333333-0.225450-0.043096-0.348933-0.3229460.0-0.279365-0.169265-0.382326-0.331492-0.216684-0.284262-0.215481-0.346821-0.116193-0.187114NaN-0.112863-0.180967-0.232226-0.161529-0.164524-0.190027-0.099188-0.224711-0.146875-0.255788-0.217296-0.209430-0.154865-0.210565-0.137546-0.367225NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.159744-0.236809-0.149669-0.248133-0.181659-0.218818-0.142151-0.275117NaN-0.286890-0.264983-0.164811-0.2965380.006256-0.063245-0.156993-0.220952-0.188095-0.265333-0.272004-0.458873-0.245149-0.170046-0.436684-0.006173-0.102533-0.335174-0.423908-0.221562-0.288295-0.106409-0.174332-0.177606-0.322793-0.165046-0.221865-0.015267-0.237818-0.150307-0.348491-0.058678-0.349303-0.186843-0.131042-0.327539-0.229589-0.252975-0.037385-0.188659-0.219239-0.339268-0.199703-0.141914-0.196697-0.036076-0.256030-0.1712790.000000-0.255788-0.3458350.0000000.0-0.1366760.000000-0.144357-0.139785-0.206368-0.312284-0.258641-0.165046-0.202033-0.238806-0.209921-0.1042100.0-1.934558e-01NaNNaNNaNNaNNaNNaN-0.123163-0.114443NaNNaNNaNNaN-0.206349NaNNaN-0.145361NaNNaNNaN-0.167910-0.157641NaNNaNNaNNaNNaNNaNNaNNaNNaN-0.256882NaN-0.151232NaNNaNNaN-0.263267-0.061256NaN-0.363750-0.259585-0.221675NaN-0.276056NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN-0.328615NaNNaNNaN-0.237040-0.245033NaNNaNNaNNaNNaNNaNNaN-0.273868NaN-0.139064NaN-0.097297NaNNaNNaN-0.196610NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
2008-03-310.050355-0.0480470.050442-0.124204-0.201123-0.107973-0.041364NaNNaN0.096265-0.2557540.069630-0.0177420.0077020.0444210.0784140.000000-0.131338-0.124658-0.022321-0.0358460.639304-0.0460250.00.4922910.0750670.1423190.1756200.227729-0.0324760.0196570.1669620.017483-0.081433NaN0.205556
  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化橙同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值