6_格式转换
- 读取本地数据
- 修改索引与列名
from jaqs.data import DataViewimport osimport numpy as npimport warningsimport pandas as pdfrom datetime import datetimewarnings.filterwarnings("ignore")
dataview_folder = './JAQS_Data/hs300'dv = DataView()dv.load_dataview(dataview_folder)
Dataview loaded successfully.
from datetime import timedeltadef change_columns_index(signal): # 改名称 new_names = {} for c in signal.columns: if c.endswith('SZ'): new_names[c] = c.replace('SZ', 'XSHE') elif c.endswith('SH'): new_names[c] = c.replace('SH', 'XSHG') signal = signal.rename_axis(new_names, axis=1) # 改时间索引 signal.index = pd.Index(map(lambda x: datetime.strptime(str(x),"%Y%m%d") , signal.index)) # 加15个小时 signal.index = pd.Index(map(lambda x: x+timedelta(hours=15) , signal.index)) return signal
factor = change_columns_index(dv.get_ts('roe_pb_Q5'))
print(factor.tail())
symbol 000001.XSHE 000002.XSHE 000008.XSHE 000009.XSHE \
2017-12-25 15:00:00 1.0 NaN NaN NaN
2017-12-26 15:00:00 1.0 NaN NaN NaN
2017-12-27 15:00:00 1.0 NaN NaN NaN
2017-12-28 15:00:00 1.0 NaN NaN NaN
2017-12-29 15:00:00 1.0 NaN NaN NaN
symbol 000027.XSHE 000039.XSHE 000046.XSHE 000060.XSHE \
2017-12-25 15:00:00 NaN NaN NaN NaN
2017-12-26 15:00:00 NaN NaN NaN NaN
2017-12-27 15:00:00 NaN NaN NaN NaN
2017-12-28 15:00:00 NaN NaN NaN NaN
2017-12-29 15:00:00 NaN NaN NaN NaN
symbol 000061.XSHE 000063.XSHE ... 601992.XSHG \
2017-12-25 15:00:00 NaN NaN ... NaN
2017-12-26 15:00:00 NaN NaN ... NaN
2017-12-27 15:00:00 NaN NaN ... NaN
2017-12-28 15:00:00 NaN NaN ... NaN
2017-12-29 15:00:00 NaN NaN ... NaN
symbol 601997.XSHG 601998.XSHG 603000.XSHG 603160.XSHG \
2017-12-25 15:00:00 1.0 1.0 NaN NaN
2017-12-26 15:00:00 1.0 1.0 NaN NaN
2017-12-27 15:00:00 1.0 1.0 NaN NaN
2017-12-28 15:00:00 1.0 1.0 NaN NaN
2017-12-29 15:00:00 1.0 1.0 NaN NaN
symbol 603799.XSHG 603833.XSHG 603858.XSHG 603885.XSHG \
2017-12-25 15:00:00 NaN NaN NaN NaN
2017-12-26 15:00:00 NaN NaN NaN NaN
2017-12-27 15:00:00 NaN NaN NaN NaN
2017-12-28 15:00:00 NaN NaN NaN NaN
2017-12-29 15:00:00 NaN NaN NaN NaN
symbol 603993.XSHG
2017-12-25 15:00:00 NaN
2017-12-26 15:00:00 NaN
2017-12-27 15:00:00 NaN
2017-12-28 15:00:00 NaN
2017-12-29 15:00:00 NaN
[5 rows x 376 columns]