关于current_dt调用

新手专区
标签: #<Tag:0x00007fc4d2d5bcd8>

(YYIFAN) #1

我用自己写的代码结合平台的回测模块做策略,选股时需要用到当天日期,实例里用到current_dt的情况都是以下方式:

def m19_handle_data_bigquant_run(context, data):
today = data.current_dt.strftime(’%Y-%m-%d’)
……
m19 = M.trade.v4(
instruments=m9.data,
options_data=m8.predictions,
start_date=’’,
end_date=’’,
handle_data=m19_handle_data_bigquant_run,
……

想请问如果在自己的代码里想用到today,应该用什么方法?比如用什么办法把today变成一个全局变量?或者需要把自己的代码都封装进函数里,然后在trade模块里一起运行?谢谢!


(达达) #2

没太看懂您的具体需求,如果你想逐日做事件触发回测,直接写在主函数里就好了,请问您要结合什么呢,可以考虑把结合的代码作为全局变量传到回测中。


(YYIFAN) #3

主函数指的是handle_data(context,data)?是不是必须在主函数里才能调用data.current_dt?

我的策略里需要取到最新一周的股票价格,把价格输入模型,输出预测值。在主函数之外还能调用data.current_dt吗?


(达达) #4

不能,data接口是回测模块支持的。必须在回测模块的主函数/盘前处理函数中使用。