VeighNa量化社区
你的开源社区量化交易平台
Member
离线
116 帖子
声望: 2

不知道是不是刚更新的版本里新出现的,如果有读不到郑商所数据的,请找到rqdata文件,做出如下修改:

在vnpy.trader里的rqdata里,
class RqdataClient:
def to_rq_symbol(self, symbol: str, exchange: Exchange) -> str:
"""
CZCE product of RQData has symbol like "TA1905" while
vt symbol is "TA905.CZCE" so need to add "1" in symbol.
"""

# Equity
if exchange in [Exchange.SSE, Exchange.SZSE]:
    if exchange == Exchange.SSE:
        rq_symbol = f"{symbol}.XSHG"
    else:
        rq_symbol = f"{symbol}.XSHE"
# Futures and Options
elif exchange in [Exchange.SHFE, Exchange.CFFEX, Exchange.DCE, Exchange.DCE, Exchange.INE]

其中最后一行有两个DCE,把其中一个改成CZCE

问题找到了。
在vnpy.trader里的rqdata里,
class RqdataClient:
def to_rq_symbol(self, symbol: str, exchange: Exchange) -> str:
"""
CZCE product of RQData has symbol like "TA1905" while
vt symbol is "TA905.CZCE" so need to add "1" in symbol.
"""

    # Equity
    if exchange in [Exchange.SSE, Exchange.SZSE]:
        if exchange == Exchange.SSE:
            rq_symbol = f"{symbol}.XSHG"
        else:
            rq_symbol = f"{symbol}.XSHE"
    # Futures and Options
    elif exchange in [Exchange.SHFE, Exchange.CFFEX, Exchange.DCE, Exchange.DCE, Exchange.INE]

其中最后一行有两个DCE,把其中一个改成CZCE

刚发现更新版本后所有郑商所(CZCE)的数据都读取不了。根据@darksh0w 发的帖子,我发现必须要把所有郑商所期货的格式改成大商所的格式:
比如说,TA009.CZCE是读取不了的,必须改成ta2009.DCE;
就好像pta换成了在大商所交易。
我问了rqdata的人,他们说没有问题,最近也没有做相关修改。所以应该是vnpy更新后出现的问题了。
请问这个问题如何解决?

MA不是大商所,是郑商所的。
我也碰到这个问题了,所有郑商所的数据都读取不了。

我想问一下如果用vnpy连实盘是不是必须自己收集硬件信息然后上报?
期货公司都是要求系统采集这些信息吗?为什么东方汇金说采集不到相关信息?

请问你是哪家公司

我问了东方汇金和南华,他们并不是给appid申请表自己填入相关信息,而是你给他们一个appid,他们直接给一个账户让你做测试;然后系统自动收集像cpu硬盘等序列号信息。但是vnpy不能在测试中发送相关信息到他们的系统,而他们又不接受手动采集的信息。请问vnpy可以做相关修改吗?

南华期货的也是要求系统采集的

准备在东方汇金期货公司开一个实盘账号。但是他们需要程序自动上报cpu序列号硬盘序列号和bios序列号,而不是手动采集告诉他们。请问这个问题怎么解决?

我想找到有关怎样调用SpreadAlgoTemplate中interval的相关代码,请问在哪个文件中可以找到?

版本是2.1.1
密码应该没有错因为可以用他们的客户端登录

用他们的官方软件可以登录

description

我申请了一个直达的模拟账号,可是看不到资金的相关信息。
description

想请问一下vnpy能直接用直达账号吗?具体需要怎么操作?

最近ctp模拟交易的夜盘总是连接不上,日盘是好的,没有出现问题,有人知道是怎么回事吗

我用的同样的策略,同样的标的,同样的时间,但是在jupyter上和vnstation里回测的结果不一样,而且差别很大:
在vnstation里面:
description

description

description

而在jupyter里面:

description

description
请问这是怎么回事?

我的结束值不是0啊。这是我的设置:
setting = OptimizationSetting()

setting.set_target("return_drawdown_ratio")
setting.add_parameter("r1", 100, 110, 2)

setting.add_parameter("r2", 90, 100, 2)

setting.add_parameter("t1", 3, 12, 1)

setting.add_parameter("t2", 10, 30, 1)

setting.add_parameter("stop", 1, 10, 1)

setting.add_parameter("time_window", 5, 50, 2)

engine.run_ga_optimization(setting)

在Jupyter做参数优化的时候出现问题:

2020-01-09 14:34:48.499169 逐日盯市盈亏计算完成
2020-01-09 14:34:48.500155 开始计算策略统计指标
gen nevals mean std min max
0 100 [7.74054611] [0.34501181] [7.19715305] [8.25334413]


ValueError Traceback (most recent call last)

<ipython-input-4-b458f6cb496e> in <module>
9 #setting.add_parameter("time_window", 5, 50, 2)
10
---> 11 engine.run_ga_optimization(setting)

c:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py in run_ga_optimization(self, optimization_setting, population_size, ngen_size, output)
685 ngen,
686 stats,
--> 687 halloffame=hof
688 )
689

c:\vnstudio\lib\site-packages\deap\algorithms.py in eaMuPlusLambda(population, toolbox, mu, lambda, cxpb, mutpb, ngen, stats, halloffame, verbose)
314 for gen in range(1, ngen + 1):
315 # Vary the population
--> 316 offspring = varOr(population, toolbox, lambda
, cxpb, mutpb)
317
318 # Evaluate the individuals with an invalid fitness

c:\vnstudio\lib\site-packages\deap\algorithms.py in varOr(population, toolbox, lambda_, cxpb, mutpb)
232 if op_choice < cxpb: # Apply crossover
233 ind1, ind2 = list(map(toolbox.clone, random.sample(population, 2)))
--> 234 ind1, ind2 = toolbox.mate(ind1, ind2)
235 del ind1.fitness.values
236 offspring.append(ind1)

c:\vnstudio\lib\site-packages\deap\tools\crossover.py in cxTwoPoint(ind1, ind2)
45 size = min(len(ind1), len(ind2))
46 cxpoint1 = random.randint(1, size)
---> 47 cxpoint2 = random.randint(1, size - 1)
48 if cxpoint2 >= cxpoint1:
49 cxpoint2 += 1

c:\vnstudio\lib\random.py in randint(self, a, b)
220 """
221
--> 222 return self.randrange(a, b+1)
223
224 def _randbelow(self, n, int=int, maxsize=1<<BPF, type=type,

c:\vnstudio\lib\random.py in randrange(self, start, stop, step, _int)
198 return istart + self._randbelow(width)
199 if step == 1:
--> 200 raise ValueError("empty range for randrange() (%d,%d, %d)" % (istart, istop, width))
201
202 # Non-unit step argument supplied.

ValueError: empty range for randrange() (1,1, 0)

请问这是什么问题?

我的仿真账号已经用了好几个月了,但是有次电脑死机以后就登录不上仿真账号了:
description
我把vnpy重新安装了一遍以后还是同样的问题。请问这是电脑问题还是账号问题?

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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