1.0环境里的StockRanker模型如何迁移到3.0环境
由iquant创建,最终由iquant 被浏览 119 用户
介绍
本策略旨在将1.0版本中训练好的StockRanker模型参数直接传入到3.0环境下进行调用。
主要包括以下步骤:
- 进入1.0环境下训练模型,将训练好的模型导出
- 进入3.0环境下读出导入数据
具体实现
导出训练数据
打开1.0环境中的“新手学习模板”,运行全部,确保能够正常运行策略。
选择m13
训练数据源、m3
特征列表, 将模型参数保存
# 进入旧版 userbox
# 1. 导出训练数据, m13 训练数据来源,m4 是特征列表
def read_hdf(ds):
df_list = [d for _, d in ds.iter_df()]
if not df_list:
return None
return pd.concat(df_list, copy=False, ignore_index=True)
df = read_hdf(m13.data)
features = [
"date",
"instrument",
"label"
] + m3.data.read()
df[features].to_parquet("/home/bigquant/work/train_20240603.pq")
读入导出数据
打开3.0环境,找到导出的文件,将文件拖入至userlib文件夹下:
读入导出数据(注意路径里的 bigquant -> aiuser)并创建一个临时 DataSource
import pandas as pd
df = pd.read_parquet("/home/aiuser/work/userlib/train_20240603.pq")
import dai
dai.DataSource.write_bdb(df)
如上, 运行完成后会出现唯一对应的id, 将临时id填入DataSource模块中:
在m2
的StockRanker模块中,为了兼容旧版,StockRanker数据排序字段填写 date(数据排序字段,对输入数据排序,多个字段用英文逗号分隔,为空则不对数据排序;一般是使用date instrument,兼容旧版使用date)
对比两种环境下模型:
- 1.0环境:
-
3.0环境:
可以看到,在两种环境下的特征重要性是一致的。
\
代码
https://bigquant.com/codesharev2/976b22bc-0ca4-44ae-b071-214ac3d3f491
\