VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 50
声望: 12

用IF9999.CFFEX试试,下图是聚宽对主力连续合约的代码定义,可以到他们的官网上找到,链接

description

sean_vnpy wrote:

之前按照这个方案配置好貌似没有问题了,但是最近使用的时候发现会有如下报错?是不是哪个接口的配置改了?

22:01:31 ----------------------------------------
22:01:31 IF88.CFFEX-1m开始下载历史数据
22:01:31 数据下载失败,触发异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 367, in run_downloading
data = mddata_client.query_history(req)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\trader\mddata\jqdata.py", line 139, in query_history
skip_paused=True
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\utils.py", line 229, in _wrapper
return func(*args, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\api.py", line 28, in get_price
return JQDataClient.instance().get_price(
locals())
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 162, in <lambda>
return lambda kwargs: self(method, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 157, in call
raise err
Exception: 找不到标的IF88.CCFX

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

tonywang_efun wrote:

用IF9999.CFFEX试试,下图是聚宽对主力连续合约的代码定义,可以到他们的官网上找到,链接

description

sean_vnpy wrote:

之前按照这个方案配置好貌似没有问题了,但是最近使用的时候发现会有如下报错?是不是哪个接口的配置改了?

22:01:31 ----------------------------------------
22:01:31 IF88.CFFEX-1m开始下载历史数据
22:01:31 数据下载失败,触发异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 367, in run_downloading
data = mddata_client.query_history(req)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\trader\mddata\jqdata.py", line 139, in query_history
skip_paused=True
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\utils.py", line 229, in _wrapper
return func(*args, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\api.py", line 28, in get_price
return JQDataClient.instance().get_price(
locals())
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 162, in <lambda>
return lambda kwargs: self(method, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 157, in call
raise err
Exception: 找不到标的IF88.CCFX

谢谢,好久不用忘记聚宽是用的另外一套标的符号了。
不过换成了IF9999.CFFEX,但是在回测的时候总显示
历史数据加载完成,数据量:0
成交记录为空,无法计算

后台已经提示auth success。感觉不是权限认证出了问题...

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

sean_vnpy wrote:

tonywang_efun wrote:

用IF9999.CFFEX试试,下图是聚宽对主力连续合约的代码定义,可以到他们的官网上找到,链接

description

sean_vnpy wrote:

之前按照这个方案配置好貌似没有问题了,但是最近使用的时候发现会有如下报错?是不是哪个接口的配置改了?

22:01:31 ----------------------------------------
22:01:31 IF88.CFFEX-1m开始下载历史数据
22:01:31 数据下载失败,触发异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 367, in run_downloading
data = mddata_client.query_history(req)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\trader\mddata\jqdata.py", line 139, in query_history
skip_paused=True
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\utils.py", line 229, in _wrapper
return func(*args, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\api.py", line 28, in get_price
return JQDataClient.instance().get_price(
locals())
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 162, in <lambda>
return lambda kwargs: self(method, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 157, in call
raise err
Exception: 找不到标的IF88.CCFX

谢谢,好久不用忘记聚宽是用的另外一套标的符号了。
不过换成了IF9999.CFFEX,但是在回测的时候总显示
历史数据加载完成,数据量:0
成交记录为空,无法计算

后台已经提示auth success。感觉不是权限认证出了问题...

解决了。。。貌似是需要直接用代码回测就OK了,用界面点击加载数据、回测就会有问题,为什么界面不行还没研究明白。

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

感谢分享。jqdata.py有个笔误,应该是gateway_name="JQ",不是“RQ”

Member
avatar
加入于:
帖子: 50
声望: 12

确实是JQ,这个字段估计是打标一下数据来源,文中已改,谢谢~

wuya4315 wrote:

感谢分享。jqdata.py有个笔误,应该是gateway_name="JQ",不是“RQ”

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

it works!!! 感谢分享!

另有一疑问,回测没问题,但用虚拟实盘的时候,显示初始化数据为零
不知道是不是因为启用‘CTA策略’模块的时候,没下载JQ的数据?

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

今晚又试了,在虚拟实盘,跑SHFE没问题,但CZCE不行,不知道为什么

对应的,下载SHFE的连续主力合约没问题,CZCE的连续主力合约下载不了,报错

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

感谢大佬分享~

使用过程中,发现一个小bug:
当我要下载郑商所 SR8888.CZCE 合约时,会报错,查找不到对应合约。
修改jqdata.py:

            # Check for index symbol
            time_str = symbol[count:]
            if time_str in ["88", "888", "99"]:
                return symbol

为:

            # Check for index symbol
            time_str = symbol[count:]
            if time_str in ["88", "888", "99", "8888"]:
                return f"{symbol}.XZCE"

即可下载。

Member
avatar
加入于:
帖子: 50
声望: 12

nick-进 wrote:

感谢大佬分享~

使用过程中,发现一个小bug:
当我要下载郑商所 SR8888.CZCE 合约时,会报错,查找不到对应合约。
修改jqdata.py:

            # Check for index symbol
            time_str = symbol[count:]
            if time_str in ["88", "888", "99"]:
                return symbol

为:

            # Check for index symbol
            time_str = symbol[count:]
            if time_str in ["88", "888", "99", "8888"]:
                return f"{symbol}.XZCE"

即可下载。

已经更新到帖子中,多谢~

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

Traceback (most recent call last):
File "C:\vnstudio1\lib\site-packages\vnstation\cli.py", line 90, in run_trader
module = importlib.import_module(d["module"])
File "C:\vnstudio1\lib\importlib__init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "C:\vnstudio1\lib\site-packages\vnpy\app\cta_strategy\
init__.py", line 9, in <module>
from .engine import CtaEngine
File "C:\vnstudio1\lib\site-packages\vnpy\app\cta_strategy\engine.py", line 41, in <module>
from vnpy.trader.mddata import mddata_client
ImportError: cannot import name 'mddata_client' from 'vnpy.trader.mddata' (unknown location)
我的mddata文件夹下init文件是按文章中写有mddata_client的,但还是报这个错,请教各位!

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

解决了 文件名的下划线不对都不行 一步一坑啊 折磨我好几天

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

sean_vnpy wrote:

之前按照这个方案配置好貌似没有问题了,但是最近使用的时候发现会有如下报错?是不是哪个接口的配置改了?

22:01:31 ----------------------------------------
22:01:31 IF88.CFFEX-1m开始下载历史数据
22:01:31 数据下载失败,触发异常:
Traceback (most recent call last):
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\app\cta_backtester\engine.py", line 367, in run_downloading
data = mddata_client.query_history(req)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\vnpy\trader\mddata\jqdata.py", line 139, in query_history
skip_paused=True
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\utils.py", line 229, in _wrapper
return func(*args, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\api.py", line 28, in get_price
return JQDataClient.instance().get_price(
locals())
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 162, in <lambda>
return lambda kwargs: self(method, kwargs)
File "C:\Users\Administrator\Anaconda3\lib\site-packages\jqdatasdk\client.py", line 157, in call
raise err
Exception: 找不到标的IF88.CCFX

因为你的symbol标的 写错了,聚宽那边是IF8888.CFEX,你写这个就可以了

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

感谢分享,借楼送花!!!

Member
加入于:
帖子: 132
声望: 0

第三步:使用mddata_client替换rqdata_client即可,例如cta_strategy/engine.py文件的改造如下:
注意:script_trader/engine.py,cta_backtester/engine.py,cta_strategy/engine.py 这三个文件都要改造。。

是怎么改造的,在引擎类中加上init_rqdata()和query_bar_from_rq()方法吗?

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

下载了相关合约数据,在界面上点击回测按钮时,出现如下提示:

Traceback (most recent call last):
File "C:\vnstudio\lib\site-packages\vnpy\app\cta_backtester\ui\widget.py", line 300, in start_backtesting
capital = float(self.capital_line.text())
TypeError: start_backtesting() takes 12 positional arguments but 13 were given

不知道是问题出在哪里,还请大佬帮忙看看?

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

好像还发现了一个bug。对于郑商所主力合约代码,比如AP9999.XZCE。获取的时候会自动转换成AP19999.XZCE。
代码中直接判断year=='9',然后就前面加1的方式有点问题。需要单独再加一个判断条件。

Administrator
avatar
加入于:
帖子: 4502
声望: 321

前两天听说聚宽要暂停数据服务了,最近还能用不?

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

可以用啊,我一直在用JQ数据做历史回测数据

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

10:41:09 ----------------------------------------
10:41:09 IF88.CFFEX-1m开始下载历史数据
10:41:09 数据下载失败,无法获取IF88.CFFEX的历史数据

没有任何触发异常
楼主你的使用情况现在如何呢?

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

没问题啊,随便下的

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

沪公网安备 31011502017034号

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