今天解决了量化回测adaptboll_v3策略时遇到的“window must be integer”报错。
报错原因在于原来的simple_boll策略需要两个浮点数参数,参数读取代码如下:
for strategy_name in strategy_name_list: # ===收集策略参数 s = strategy_name.split('-') signal_name = s[0] symbol = s[1] leverage_rate = int(s[2]) rule_type = s[3] para = [] for i in s[-1].strip("[]").split(', '): para.append(float(i))
而adaptboll只有一个整数参数,因此原来读取para的代码不能直接用于新策略,且新策略调用的rolling()函数必须用整数,所以代码调整如下:
for i in s[-1].strip("[]").split(', '): para.append(int(i))