1、原数据data的呈现形式是:多列,无行索引;一个一个标的平铺而成。
2、数据透视后,方便计算所有标的某个值的变化,示例中是收盘价close。
代码全文:
from atrader import *
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import math
import statsmodels.api as sm
import datetime as dt
import scipy.stats as stats
import seaborn as sns
# 获取因子数据
# 4个月的动量类因子
names = ['REVS60','REVS120','BIAS60','CCI20','PVT','MA10Close','DEA','RC20','RSTR63','DDI']
factors1 = get_factor_by_day(factor_list= names, target_list=list(get_code_list('hs300').code), date='2021-02-28')
factors2 = get_factor_by_day(factor_list= names, target_list=list(get_code_list('hs300').code), date='2021-03-29')
factors3 = get_factor_by_day(factor_list= names, target_list=list(get_code_list('hs300').code), date='2021-04-30')
factors4 = get_factor_by_day(factor_list= names, target_list=list(get_code_list('hs300').code), date='2021-05-31')
# 历史信息比例加权法---因子合成
corrnames = ['REVS60','REVS120','BIAS60','CCI20','MA10Close','DEA','RC20','DDI'] # 挑选出的共线因子
# 获取股票价格、收益率数据
data = get_kdata_n(target_list=list(get_code_list('hs300').code), frequency='month', fre_num=1, n=5, end_date='2019-06-01', fill_up=False, df=True, fq=1)
print(data.head(12))
print('')
close = data.pivot_table(values='close',index='code',columns='time')
print(close)