VeighNa量化社区
你的开源社区量化交易平台 | vn.py | vnpy
Member
avatar
加入于:
帖子: 36
声望: 0

Traceback (most recent call last):
File "C:\veighna_studio\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\veighna_studio\lib\threading.py", line 953, in run
self._target(self._args, **self._kwargs)
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 60, in _run
self._process(event)
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 73, in _process
[handler(event) for handler in self._handlers[event.type]]
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 73, in <listcomp>
[handler(event) for handler in self._handlers[event.type]]
File "C:\veighna_studio\lib\site-packages\vnpy_spreadtrading\engine.py", line 483, in process_trade_event
algo.update_trade(trade)
File "C:\veighna_studio\lib\site-packages\vnpy_spreadtrading\template.py", line 175, in update_trade
self.calculate_traded_price()
File "C:\veighna_studio\lib\site-packages\vnpy_spreadtrading\template.py", line 373, in calculate_traded_price
self.traded_price = round_to(self.traded_price, spread.pricetick)
File "C:\veighna_studio\lib\site-packages\vnpy\trader\utility.py", line 133, in round_to
rounded: float = float(int(round(value / target))
target)
decimal.DivisionByZero: [<class 'decimal.DivisionByZero'>] 这是错误触发反馈,不知是round_to函数没有处理好,还是simnow环境的推送不完整造成的

Member
avatar
加入于:
帖子: 36
声望: 0

这个问题应该是在simnow环境下,推送数据不及时或不完整。同时,SpreadData模块在pricetick取值这一块鲁棒性不足,没有考虑数据质量的问题。初始值=0 + 取min 是有漏洞的,导致最终出现spreadtick = 0的问题。不知是否如此??还望大神指点。 这个问题不解决,那这个价差策略就只能在分钟或更大级别使用(出问题的概率低),而不能在tick级别使用。

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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