加了几个近期上市的etf回测报错,楼主帮看看怎么改消除这种异常呢
2019-07-10 09:30:00 - WARNING - Security(code=516010.XSHG) 在 positions 中不存在, 为了保持兼容, 我们返回空的 Position 对象, amount/price/avg_cost/acc_avg_cost 都是 0
2019-07-10 09:30:00 - DEBUG - Order 516010.XSHG to value 854269.806420
2019-07-10 09:30:00 - ERROR - security: 516010.XSHG 取到的最新价格非法: nan
2019-07-10 09:30:00 - ERROR - 下单失败,初步检查下单数量为0: Order(security=516010.XSHG mode=OrderTargetValue: _value=854269.8064199998 style=MarketOrderStyle: _limit_price=0.0 side=long margin=False entrust_time=None)
2019-07-10 09:30:00 - ERROR - Traceback (most recent call last):
File "/tmp/jqcore/jqboson/jqboson/core/entry.py", line 366, in _run
engine.start()
File "/tmp/jqcore/jqboson/jqboson/core/engine.py", line 231, in start
self._dispatcher.start()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 273, in start
self._run_loop()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 240, in _run_loop
self._loop.run()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 105, in run
self._handle_queue()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 151, in _handle_queue
message.callback(**message.callback_data)
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 110, in callback
self._event_bus.emit(evt)
File "/tmp/jqcore/jqboson/jqboson/core/bus.py", line 47, in emit
ret.append(call(event))
File "/tmp/jqcore/jqboson/jqboson/core/strategy.py", line 376, in _wrapper
return cb(self._context.strategy_environment.strategy_context, **cb_kwargs)
File "/tmp/strategy/user_code.py", line 105, in my_trade
adjust_position(context, g.check_out_list)
File "/tmp/strategy/user_code.py", line 233, in adjust_position
if context.portfolio.positions[stock].total_amount == 0:
File "/tmp/jqcore/jqboson/jqboson/api/objects/position.py", line 318, in __getitem__
security = self.__ctx.data_provider.get_security(key)
File "/tmp/jqcore/jqboson/jqboson/data/data_provider.py", line 96, in get_security
sec = self._securities.get_security(code)
File "/tmp/jqcore/jqdata/jqdata/stores/security_store.py", line 339, in get_security
if not verify_security_code(code):
File "/tmp/jqcore/jqdata/jqdata/utils/security.py", line 38, in verify_security_code
code = re.match(r'[a-zA-Z0-9\-]+\.[a-zA-Z]+', code)
File "re.py", line 172, in match
return _compile(pattern, flags).match(string)
TypeError: cannot use a string pattern on a bytes-like object