vn.py官网
开源量化社区
Member
加入于:
帖子: 11
声望: 2

今天想试一下股票回测,但报open_interest字段非法的错误。想提问的是vnpy自带的回测平台只支持期货回测吗?是否可以支持股票回测?

过程是这样的:回测图形界面里填写的本地代码是688166.SSE

description

然后点下载数据,就报错了:

description

意思是rqdata返回说open_interest字段非法。

查看了一下回测引擎从rqdata获取数据的代码。发现vnpy.trader.rqdata.RqdataClientquery_history()方法里,从rqdata请求的字段是写死的:

# vnpy.trader.rqdata.RqdataClient query_history()
# ...
df = rqdata_get_price(
    rq_symbol,
    frequency=rq_interval,
    fields=["open", "high", "low", "close", "volume", "open_interest"],
    start_date=start,
    end_date=end,
    adjust_type="none"
)

固定请求["open", "high", "low", "close", "volume", "open_interest"]

查看rqdata的官方文档,open_interest字段是一个期货专用的字段:

description

单独测试rqdata的代码,不请求open_interest字段,数据是能正常返回不报错的,但带上就会报同样的错误:

import rqdatac as rq
from rqdatac import *
rq.init()
# 下面这句代码不报错
rq.get_price('688166.XSHG', frequency='1m', fields=["open", "high", "low", "close", "volume"],start_date='2020-01-01', end_date='2020-02-25', adjust_type='none')
# 下面这句代码报错
rq.get_price('688166.XSHG', frequency='1m', fields=["open", "high", "low", "close", "volume", "open_interest"], start_date='2020-01-01', end_date='2020-02-25', adjust_type='none')

所以想提问的是vnpy自带的回测平台只支持期货回测吗?是否可以支持股票回测?

Member
加入于:
帖子: 11
声望: 2

手动把open_interest这个字段去掉貌似可以正常跑回测。。。

Administrator
avatar
加入于:
帖子: 5091
声望: 294

哦哦,这是个数据下载的兼容性问题,我们修复下

Administrator
avatar
加入于:
帖子: 5091
声望: 294

已经在dev分支修复,会在下个版本2.1.1中附上。需要的话直接手动更新下rqdata.py即可

Member
加入于:
帖子: 11
声望: 2

用Python的交易员 wrote:

已经在dev分支修复,会在下个版本2.1.1中附上。需要的话直接手动更新下rqdata.py即可

好的,感谢回复

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

沪公网安备 31011502017034号