VeighNa量化社区
你的开源社区量化交易平台
Member
在线
67 帖子
声望: 1

xiaohe wrote:

使用vnpy_ctp官方版本6.6.7.0也是这个情况吗?

使用目前不会,但是因为3.5的安装要求较高,不是所有的服务器都能装

更新广交所之后,我改了ctpgateway和constant里的对应部分,交易正常
但是会时不时突然出现内存占用不断增加,最后内存崩溃的现象
请问是什么问题呢/?

事情是这样的,本来策略A开了两手J,然后策略b开了1手J
然后策略A要平两手J,但是按照顺序,先平了其中一手自己开的J和一手B的j
然后策略A判断self.pos还有1手J没有平,又把剩下的J平掉了?
请问这种情况是为何发生和如何避免呢?
谢谢

已知原版的bar generater是会把集合竞价单独作为一个tick
这样会多出来一个bar
但是实际上,除了因子计算会有bug以外,多了一个bar,才能实现在开盘时候的交易
否则按照bar走完之后再交易的规则,第一笔交易只能发生在01分,而不是00分
大家怎么看待呢?

xiaohe wrote:

不能
rqdata也是实盘收tick合成的,如果有漏掉没录到的最高最低价或者别的小问题,会在盘后再更新一遍K线
但是盘中数据会有问题,比如第一根K线

bargenerater的坑太多,能否把实盘改成也是从rqdata接受推送?
这样就可以确保K线的准确性?

RQDATA的数据用于回测,其中SN 和NI 的数据很奇怪
88/889/99都试过了,就15年的时候有交易,其他时段都是只要开仓了就平不了仓
策略没有问题,在其他品种都没有问题
请问是不是这两个品种有什么特别的地方?

七月雪 wrote:

arnego wrote:

MTF wrote:

self.malist这种创建操作,要放到init函数下,否则就可能出现多个策略类实例出来的对象公用的情况。

这块源于Python的可变对象实例化直接引用特征,在《30天解锁Python量化开发》课程中有讲

谢谢,为啥我之前创建其他的单个指标就不会出现问题呢?
你的属性如果在类级别上定义的,就会出现这种情况,如果在类下面的具体方法里面生成self.abc,就不会出现这样的问题
谢谢

MTF wrote:

self.malist这种创建操作,要放到init函数下,否则就可能出现多个策略类实例出来的对象公用的情况。

这块源于Python的可变对象实例化直接引用特征,在《30天解锁Python量化开发》课程中有讲

谢谢,为啥我之前创建其他的单个指标就不会出现问题呢?

有两个同一个策略在不同合约上的策略,建了一个self.malist=[]来记录最近的行情
奇怪的是,当我算 np.mean(self.malist)才发现,输出的是一个根本不可能的数,最后查估计是两个合约都记录在了一起,求了平均
回测的时候没有问题,实盘有这个共用了self.malist的问题,请问是为啥呢?

MTF wrote:

实盘和回测的数据偏差吧,分别用的什么数据源?

回测用的ricequant,也在文华做了测试
实盘就是交易所

类似海龟的策略
昨晚10点的Ma触发了开仓,但是用同一套策略回测是没有触发的
同样的事情很多品种都有
请问是什么问题呢?

平仓语句(cover)发出但是没有看到委托
因为后面的print的东西是print出来了.但是没有看到委托,直到下一分钟才重新委托
我是先cancel all,再判断交易的
这一分钟的cancel发生了,但是没有委托,但是委托下一条语句print出来了,所以应该是有发出cover才对
这是为什么呢?

请问怎么获得涨跌停价格呢?
因为不知道这种价格很难过滤,回测都是假的

低成本的策略初始化数据求教?
貌似天勤SDK已经不能免费用了?买多个米匡有点吃不消,因为账户和云端挺多的.
请问如何低成本地获得初始化所需要的数据?

有原 wrote:

可以在实盘的时候将两个账号收到的过去N跟bar的close都打印出来排查一下是否是数据的问题。

我试一下,谢谢

郭易燔 wrote:

请问账号是实盘还是simnow,策略使用的指标是使用历史价格计算的么

都是实盘账户,计算是用过去N根bar的close

同一个策略两家不同公司的不同账号计算结果不同怎么解决?
是因为CTP传过来的信号不同吗?这种情况该怎么解决?

郭易燔 wrote:

这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。

对,我之前的策略也是这样,但是这个策略因为是断点更新,所以会bug
请问可以调成每次强行重新运算吗,不然为啥要初始化呢?

MTF wrote:

初始化流程如下:

  1. 界面点击【初始化】按钮
  2. 触发策略的on_init回调函数
  3. on_init中调用load_bar加载数据
  4. on_bar收到初始化阶段的K线推送
  5. 推送完成,加载json文件中缓存的昨日收盘策略状态
  6. 完成初始化

所以你这里的情况可能是json文件中的缓存数据有误,导致初始化K线回放计算出来的指标结果,被错误覆盖了。

但是vnpy是新重装过的,而json文件也删除过了,但是这个问题依然存在?

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

沪公网安备 31011502017034号

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