问答交流

可以在超参里调整stock_count吗?

由snowspig创建,最终由small_q 被浏览 12 用户

例如下面这样:

def bigquant_run():
  param_grid = {}
  param_grid['m12.stock_count'] = [5, 10, 20]
return param_grid

试了下,因为不是模块变量,好像不行

或者一次回测能把所有不同股票数的回测都跑出来更好。。。哪位大神教下。。。

标签

回测
评论
  • 可以在回测模块之前,加入一个专门存需要搜索的变量的模块,然后通过超参搜索模块或者自定义运行模块来进行搜索。 比如: ```python # Python 代码入口函数,input_1/2/3 对应三个输入端,data_1/2/3 对应三个输出端 def m10_run_bigquant_run(input_1, param_1, param_2): # 示例代码如下。在这里编写您的代码 dic = {} df = input_1.read() dic["signal_df"] = df dic["param_1"] = param_1 dic["param_2"] = param_2 data_1 = DataSource.write_pickle(dic) return Outputs(data_1=data_1, data_2=None, data_3=None) # 后处理函数,可选。输入是主函数的输出,可以在这里对数据做处理,或者返回更友好的outputs数据格式。此函数输出不会被缓存。 def m10_post_run_bigquant_run(outputs): return outputs ``` 然后把这个m10的模块输出以option_data的形式传入回测模块,比如下面在initialize函数中对option_data进行调用: ```python def m1_initialize_bigquant_run(context): context.data_dict = context.options["data"].read() context.param_1 = context.data_dict["param_1"] context.param_2 = context.data_dict["param_2"] m1 = M.hftrade.v2( instruments='', options_data=m10.data_1, ## 将m10的output传入这里,可视化模块可以直接连入「其他数据」 start_date='', end_date='', initialize=m1_initialize_bigquant_run, ... ) ``` \