克隆了https://community.bigquant.com/t/BigQuant%E5%B9%B3%E5%8F%B0%E5%AD%A6%E4%B9%A0%E7%AC%AC%E4%B8%89%E7%AF%87%EF%BC%9A%E5%A6%82%E4%BD%95%E5%BC%80%E5%8F%91AI%E7%AD%96%E7%95%A5%EF%BC%88%E4%B8%8B%EF%BC%89/88 学习,但运行时总报错,请问这个keyerror是什么状况?详见下面notebook, 谢谢~~
克隆策略
In [10]:
class conf:
# 定义一个conf类,存储需要使用的变量
start_date = '2014-01-01' # 日期,作为训练集的起始日期
end_date = '2017-10-17' # 日期,作为测试集的结束日期
instruments = D.instruments(start_date, end_date) # 股票池
# 数据标注规则
label_expr = ['(return - benchmark_return) * 100',
'where(label > {0}, {0}, where(label < -{0}, -{0}, label)) + {0}'.format(20)]
# 10日收益率
hold_days = 10
# 以沪深300为基准的相对收益
benchmark = '000300.SHA'
# 股票特征因子
features = ['high_10-low_10']
# 标注数据
m1 = M.fast_auto_labeler.v4(instruments=conf.instruments,
start_date=conf.start_date,
end_date=conf.end_date,
label_expr=conf.label_expr,
hold_days=conf.hold_days,
benchmark='000300.SHA',
sell_at='open',
buy_at='open')
# 抽取特征因子
m2 = M.general_feature_extractor.v4(instruments=conf.instruments,
start_date=conf.start_date,
end_date=conf.end_date,
features=conf.features)
# 将特征因子进行处理
m3 = M.transform.v1(data=m2.data,
transforms=T.get_stock_ranker_default_transforms(),
drop_null=True, astype='int32',
except_columns=['date', 'instrument'])
# 特征因子数据和标注数据合并
m4 = M.join.v1(data1=m1.data,
data2=m3.data,
on=['date', 'instrument'],
sort=True)
In [ ]: