不能只改函数名就认为完成了迁移。Python是编程语言,而策略函数什么时候被调用、接受什么参数、能够读取什么数据,由具体平台的运行约定决定。
聚宽当前API示例使用initialize接收context完成初始化,再通过run_daily安排用户编写的函数运行。文档还特别区分回测、模拟专用接口与投资研究模块:带相应标记的接口不能直接在投资研究中调用。因此,复制一段函数前,要先辨明它来自哪种运行环境,而不是仅检查语法是否像Python。
米筐RQAlpha Plus快速上手使用init接收context进行初始化,用handle_bar接收context和bar_dict处理行情更新;其中bar_dict对应行情对象。文档把初始化、盘前、行情更新和盘后分开说明,并提示初始化、盘前及盘后不能执行交易逻辑。这些阶段约定不能由另一个平台的示例名称代替。
可以先写一张对应表:原函数由谁调用、在什么阶段运行、输入对象是什么、内部调用哪些数据和订单接口。逐项找到目标平台的明确实现,再决定怎样重写。尤其不要因两个对象都叫context,就假定里面的属性及更新时点相同。
改写后先核初始化是否完成,再看行情事件是否按预期触发,最后检查取得的数据与历史记录。程序没有报错,只说明这次执行未报错,不等于策略逻辑相同。本回答仅依据两家官方文档解释接口约定,没有运行迁移代码,也没有进行账户交易。历史回测和模拟不代表未来收益,具体接口及权限以当前版本为准。




分享
注册
1分钟入驻>

+微信
从业认证
秒答
电话咨询
18630917047

