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

行情记录加入了大概十几个合约,
收盘后数据管理检查发现很多数据缺失,查LOG看策略的on_bar()都执行了
也就是实时数据应该收到了,但是没有写进数据库mysql,
这是什么原因造成的呢?
电脑性能是比较差的,赛扬N2920+2G内存,跟这个有关系吗?或者说关系大吗?
另外据上所述,实时数据收到了,跟期商的CTP服务应该没关系对吧?

只记录了分钟数据,没有记录tick数据,觉得负担应该不重才对,另外就是写入时间也是10秒,并不算快,策略也很简单只跑了一个,之前测试大约在tick下跑的话跑100多个没问题。也就是策略计算一遍,应该占用0.5/100=0.005秒这么长的时间,不会太占用资源。

还有就是今天上午做了几件事:
1、有VNPY连着CTP的情况下用手机连快期转了一下资金,后在VNPY上运行策略和查看权益都没问题
2、上午策略运行中用数据管理看了一下数据,只更新到昨天收盘,也就没在意
3、中午关闭了VNPY重启了一次电脑,下午继续运行策略,收盘后发现跟回测不一致才发现上午的数据没有写入数据库
这几个动作哪个可能会造成上面的问题呢?如何改进呢?

又检查了一下,有些合约昨天一天的数据都没有,有些合约上午的数据倒是有。

Member
avatar
加入于:
帖子: 716
声望: 62

有可能是k线数据合成失败了,为了保证k线合成的准确性,所以默认tick数据的时间是递增的,一旦有乱序的tick则直接抛弃。

理论上是没问题的,但是有时未开盘前会有脏数据,这个数据的时间是任意的,如果恰巧是未来时间的话,那么程序就会认为这个时间是正确的,到这个未来时间为止,之前的数据将全部被抛弃。

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

看起来是个常见问题,那为什么不过滤掉脏数据呢?
另外为什么别人都没有这个问题呢,好奇怪

郭易燔 wrote:

有可能是k线数据合成失败了,为了保证k线合成的准确性,所以默认tick数据的时间是递增的,一旦有乱序的tick则直接抛弃。

理论上是没问题的,但是有时未开盘前会有脏数据,这个数据的时间是任意的,如果恰巧是未来时间的话,那么程序就会认为这个时间是正确的,到这个未来时间为止,之前的数据将全部被抛弃。

Member
avatar
加入于:
帖子: 716
声望: 62

因为脏数据的形式不一致的,不同交易所开盘收盘等等时间都不一致,所以一般都是自己针对交易所过滤脏数据。

一般推荐都是非交易时间不打开软件,论坛讨论这个问题的人也有一些,但是主要也没有什么特别好的的解决方法,都是自行过滤,翻一翻之前的帖子应该能找到一些

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

在增删行情记录的合约时尤其是删除和修改,不通过UI操作,直接修改data_recorder_setting.json文件,试过好像能工作,会不会有隐患?

Member
avatar
加入于:
帖子: 716
声望: 62

不要在运行时修改应该就可以

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

沪公网安备 31011502017034号

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