警告 : /opt/conda/envs/python2/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.py:153: SAWarning: The IN-predicate on "stock_valuation.code" was invoked with an empty sequence. This results in a contradiction, which nonetheless can be expensive to evaluate. Consider alternative strategies for improved performance.
'strategies for improved performance.' % expr)
这是因为您在使用sql查询数据时使用了 .in_([]) 的操作,传入的过滤是完全空的,导致出现这个警告,这种情况建议查看代码逻辑有无问题
异常示例代码:
```
q = query(
valuation
).filter(
valuation.code.in_([])
)
df = get_fundamentals(q, '2015-10-15')
```
Traceback (most recent call last):
File "jqboson\core\entry.py", line 356, in jqboson.core.entry._run
File "jqboson\core\engine.py", line 219, in jqboson.core.engine.Engine.start
File "jqboson\core\engine.py", line 210, in jqboson.core.engine.Engine._load
File "jqboson\core\strategy.py", line 478, in jqboson.core.strategy.Strategy.setup
File "jqboson\core\strategy.py", line 176, in jqboson.core.strategy.Strategy._load
File "jqboson\core\loader.py", line 93, in jqboson.core.loader.CodeLoader.load
File "E:\JoinQuant-Desktop-Py3\USERDATA\.joinquant-py3\code/153.py", line 135, in
if zhangting(item):
File "E:\JoinQuant-Desktop-Py3\USERDATA\.joinquant-py3\code/153.py", line 111, in zhangting
day = history(count=12, unit= '1d', field='close', security_list=None, df=False, skip_paused=False, fq='pre')
File "jqboson\api\data.py", line 80, in jqboson.api.data.history
File "jqdata\apis\data.py", line 211, in jqdata.apis.data.history
File "jqdata\apis\datalib.py", line 323, in jqdata.apis.datalib.get_price_daily_single
File "jqdata\apis\datalib.py", line 148, in jqdata.apis.datalib.fetch_daily_data
File "jqdata\apis\bar_port.py", line 74, in jqdata.apis.bar_port.get_daily_bar_by_count
File "jqdata\stores\jqbcolzclient_store.py", line 169, in jqdata.stores.jqbcolzclient_store.JqbcolzclientDayStore.get_bar_by_count
File "jqdata\stores\jqbcolzclient_store.py", line 84, in jqdata.stores.jqbcolzclient_store.JqbcolzclientDayStore.open_bcolz_table
File "jqdata\stores\bcolz_utils.py", line 27, in jqdata.stores.bcolz_utils.retry_bcolz_open
File "jqbcolz\carray_ext.pyx", line 1022, in jqbcolz.carray_ext.carray.__cinit__
File "jqbcolzclient\api.py", line 59, in jqbcolzclient.api._jqbcolz_carray_ext_carray_read_meta
File "jqcommon\retrying.py", line 55, in jqcommon.retrying.retry.wrap.wrapped_f
File "jqcommon\retrying.py", line 240, in jqcommon.retrying.Retrying.call
File "jqcommon\retrying.py", line 275, in jqcommon.retrying.Attempt.get
File "E:\JoinQuant-Desktop-Py3\Python\lib\site-packages\six.py", line 693, in reraise
raise value
File "jqcommon\retrying.py", line 225, in jqcommon.retrying.Retrying.call
File "jqbcolzclient\utils.py", line 143, in jqbcolzclient.utils.meta_download
jqbcolzclient.exceptions.DownloadFailedError: meta download failed, path=E:\JoinQuant-Desktop-Py3\USERDATA\.joinquant-py3\bundle\stock1d\65\000765.XSHE\meta.json
客户端报错 有解决办法吗
@重实 Python3版本的客户端,报错FileNotFoundError: [Errno 2] No such file or directory: '...\JoinQuant-Desktop-Py3\USERDATA\.joinquant-py3\bundle\stock1d\65\000765.XSHE\meta.json'
目前Python3版本的客户端,存在问题的标的主要是这三个 '600788.XSHG','000765.XSHE',‘300753.XSHE’,您可以先在股票列表过滤下, 后期会处理这个问题。 https://www.joinquant.com/post/14048
Traceback (most recent call last):
File "/tmp/jqcore/jqboson/jqboson/core/entry.py", line 368, in _run
engine.start()
File "/tmp/jqcore/jqboson/jqboson/core/engine.py", line 236, in start
self._dispatcher.start()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 223, in start
self._run_loop()
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 190, in _run_loop
self._loop.run()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 83, in run
self._handle_queue()
File "/tmp/jqcore/jqboson/jqboson/core/loop/loop.py", line 115, in _handle_queue
message.callback(**message.callback_data)
File "/tmp/jqcore/jqboson/jqboson/core/dispatcher.py", line 103, 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 353, in _wrapper
self._context.strategy_options.get_fq_ref_date(self._context.current_dt)))
File "/tmp/strategy/user_code.py", line 4, in handle_data
last_price = data[g.security].close
File "/tmp/jqcore/jqboson/jqboson/api/objects/bar.py", line 310, in __missing__
security = dp.get_security(key)
File "/tmp/jqcore/jqboson/jqboson/data/data_provider.py", line 86, in get_security
raise SecurityNotExist(code)
jqboson.data.interfaces.SecurityNotExist: 002043.XSHG
来自十行代码带你量化交易入门的练习,一直报错,无法回测
"D:\Program Files\JoinQuant-Py3\Python\python.exe" D:/PycharmProjects/JoinQuant/Test1.py
INFO:jqbcolzclient:auth result: login success
INFO:jqbcolzclient:auth result: login success
Traceback (most recent call last):
File "D:/PycharmProjects/JoinQuant/Test1.py", line 16, in
jqsdk.run(params)
File "D:\Program Files\JoinQuant-Py3\Python\lib\site-packages\jqsdk.py", line 39, in run
return _run(*args, **kwargs)
File "jqclisvc\sdk.py", line 233, in jqclisvc.sdk.StrategyRunner.run
File "jqclisvc\sdk.py", line 199, in jqclisvc.sdk.StrategyRunner.run_backtest
File "jqclisvc\sdk.py", line 186, in jqclisvc.sdk.StrategyRunner.run_backtest
File "D:\Program Files\JoinQuant-Py3\Python\lib\site-packages\jqboson\__init__.py", line 17, in run
return run(*args, **kwargs)
File "jqboson\core\entry.py", line 167, in jqboson.core.entry.run
File "jqboson\core\entry.py", line 172, in jqboson.core.entry._checked_run
File "jqboson\core\entry.py", line 342, in jqboson.core.entry._run
File "jqboson\core\engine.py", line 144, in jqboson.core.engine.Engine.__init__
File "jqboson\data\data_provider.py", line 42, in jqboson.data.data_provider.BaseDataProvider.__init__
File "jqdata\stores\security_store.py", line 43, in jqdata.stores.security_store.SecurityStore.instance
File "jqdata\stores\security_store.py", line 24, in jqdata.stores.security_store.SecurityStore.__init__
File "jqdata\stores\security_store.py", line 27, in jqdata.stores.security_store.SecurityStore.load
FileNotFoundError: [Errno 2] No such file or directory: 'D:\\Program Files\\JoinQuant-Py3\\USERDATA\\.joinquant-py3\\bundle\\pk\\securities.pk'
Process finished with exit code 1
运行实例中的Test1 报错,昨天有人说删除文件夹pk,发现删除后依然报错,请问怎么修改