滚动训练(v1)

# 滚动训练(v1)

采用滚动方式更新训练集和验证集数据实现模型的更新。

定义

M.hyper_rolling_train.v1(run=func,run_now=True,bq_graph=g)

参数

  • run(func)—滚动逻辑函数,函数中指定如下参数
    • trading_days_market(str)—交易日历,默认为‘CN’
    • train_instruments_mid(str)—训练集数据的证券代码列表模块id
    • test_instruments_mid(str)—验证集数据的证券代码列表模块id
    • predict_mid(str)—预测模块id
    • trade_mid(str)—回测模块id
    • start_date(str)—数据开始日期
    • end_date(str)—数据结束日期
    • train_update_days(int)—模型更新周期
    • train_update_days_for_live=None,模拟实盘模式下的更新周期,按交易日计算,每多少天更新一次。如果需要在模拟实盘阶段使用不同的模型更新周期,可以设置这个参数
    • train_data_min_days(int) - 最小数据天数,按交易日计算,第一个滚动的结束日期是 从开始日期到开始日期+最小数据天数
    • train_data_max_days(int) - 最大数据天数,按交易日计算,0,表示没有限制,否则每一个滚动的开始日期=max(此滚动的结束日期-最大数据天数, 开始日期)
    • rolling_count_for_live=1 - 实盘模式下滚动次数,模拟实盘模式下,取最后多少次滚动。一般在模拟实盘模式下,只用到最后一次滚动训练的模型,这里可以设置为1;如果你的滚动训练数据时间段很短,以至于期间可能没有训练数据,这里可以设置大一点。0表示没有限制。
  • run_now(bool)—是否即时执行,默认为是。由于采用graph计算方式,如果需要其它graph计算方式的模块,例如叠加自定义运行模块等graph计算流程就需要取消即时执行。
  • bq_graph(Graph) - 模块参数(自动生成T.Graph对象g),以字典方式自动汇总了画布所有模块的参数信息。

返回

各次滚动计算的各模块结果数据,例如滚动训练模块的编号为m1,则可以通过m1.result['rollings'][0]查看第一次滚动计算的各模块运行结果

返回类型

OutPuts