VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 260
声望: 3
self.atr_value = math.ceil(am.atr(self.atr_window))

ValueError: cannot convert float NaN to integer

self.atr_value = round(am.atr(self.atr_window),1)

ValueError: cannot convert float NaN to integer
以上遗传优化计算atr值时,均会报错NaN,如何解决这个问题呢?

Member
avatar
加入于:
帖子: 4713
声望: 287

你am_atr算出来有nan值吧,可以在策略里am.inited之后再计算指标值

Member
avatar
加入于:
帖子: 260
声望: 3

xiaohe wrote:

你am_atr算出来有nan值吧,可以在策略里am.inited之后再计算指标值

经核实,代码self.atr_value = round(am.atr(self.atr_window),1)或者self.atr_value = math.ceil(am.atr(self.atr_window))是在am.inited之后,为什么会返回这个nan值呢?

Member
avatar
加入于:
帖子: 1472
声望: 105

atr_window检查下,是否超过了ArrayManager默认的size大小100,如果是的话,在初始化am的时候要调整大小:

self.am = ArrayManager(size=1000)
© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】