6_格式转换
- 读取本地数据
- 修改索引与列名
from jaqs.data import DataView
import os
import numpy as np
import warnings
import pandas as pd
from datetime import datetime
warnings.filterwarnings("ignore")
dataview_folder = './JAQS_Data/hs300'
dv = DataView()
dv.load_dataview(dataview_folder)
Dataview loaded successfully.
from datetime import timedelta
def 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]