滚动运行

# 滚动运行

定义

M.stock_ranker_train_rolling.v3(self, data, evaluation_start_date, features, number_of_leaves=30, minimum_docs_per_leaf=1000,number_of_trees=20, learning_rate=0.1, max_bins=1023,feature_fraction=1, model_update_days=365, training_max_days=0)

股票排序,机器学习模型训练。StockRanker属于集成学习,模型由多棵决策树组成,所有树的结论累加起来做为最终决策分数。

参数:

  • data (DataSource) – 数据和评估数据。
  • evaluation_start_date (str) – 评估开始日期。
  • features (列表|DataSource) – 特征列表。
  • number_of_leaves (int) – 叶节点数量:每棵树最大叶节点数量。一般情况下,叶子节点越多,则模型越复杂,表达能力越强,过拟合的可能性也越高;默认值是30。
  • minimum_docs_per_leaf (int) – 每叶节点最小样本数:每个叶节点最少需要的样本数量,一般值越大,泛化性性越好;默认值是1000。
  • number_of_trees (int) – 树的数量:一般情况下,树越多,则模型越复杂,表达能力越强,过拟合的可能性也越高;默认值是20。
  • learning_rate (float) – 学习率:学习率如果太大,可能会使结果越过最优值,如果太小学习会很慢;默认值是0.1。
  • max_bins (int) – 特征值离散化数量:一般情况下,max_bins越大,则学的越细,过拟合的可能性也越高;默认值是1023。
  • feature_fraction (int) – 特征使用率:在构建每一颗树时,每个特征被使用的概率,如果为1,则每棵树都会使用所有特征;默认值是1。
  • model_update_days (int) – 模型更新周期;默认值是365。
  • training_max_days (int) – 训练最多使用training_max_days天的数据。如果为0,表示没有限制,从起始日期开始用;默认值是0。

返回:

  • .evaluation_data: 预测结果,已合并各rolling阶段的评估数据
  • .evaluation_start_date: 预测数据开始日期
  • .evaluation_end_date: 预测数据结束日期
  • .evaluation_instruments: 预测数据里的所有证券代码
  • .latest_model_id: 最后一个rolling的模型
  • .rollings: 数组,可以访问每一个rolling的结果,参考 股票排序学习模型 M.module_stock_ranker_train

返回类型:

  • Outputs