测试发现价格会有细微差别,比如IF00,2010-9-8 14:05
3.4版本,收盘价是3036.4133
3.8版本,收盘价是3036.4136
这是什么原因?
肯定不是小数误差的问题,精度再低也能保证5位小数是准。
这样会影响策略回测
[此贴子已经被作者于2016/1/5 15:13:17编辑过]
IF00 IF13这些品种实际上交易所是没有的
数据是由软件商自行根据行情计算得出 当用户连接的行情服务器不同时 会有细微的差别 如果用户十分看重这个 那么就一直连接同一个服务器 不要更换即可
IF品种的最先变动价位是0.2 实际上这个差别也不会对用户的产生影响
这些都不是原因,无论连哪个服务器,3.4得到的结果都是一样的,策略用了很长时间了;
3.8得到的结果也是一样的,不存在不同服务器有差别的情况;
现在的问题就是3.4和3.8的不一样,所以一定是软件处理数据时候不同了,比如计算除权,而不是数据不同。
3.8后股指的开收盘时间都是从9点30到15点00了。这个和除权没有关系,另外您要习惯中金所的这个交易品种合约变更。
或者您自己代码里去根据时间不同区分开收盘时间
这和开盘收盘有什么关系?是数据对不上,而且是2010年9月8日数据对不上
请问您是如何得到这个数据的,股指本身就是1位小数的,后面多出来的小数位属于小数误差,一般情况是不会影响你模型的。
还请您在信号不同的地方输出下看确定是这个多位小数引起的???您在图上看股指的收盘价本身都是看不到小数位的。
你如果对这个这么精细需求,还请自己通过round这类函数去取下整。
确认是4位小数引起的,
除权后的收盘数据当然不会是1位小数。
策略不会简单的去判断取整后的价格,否则铜,岂不是整5的判断?策略判断和下单两码事,请不要再在这上面纠结。
既然金字塔除权后有一串小数,那么在小数有效位内,就应该保证数据一致性。
现在是在同一套数据上,用3.4,3.8得到的数据不一致烦请金字塔检查一下3.8和3.4比较在除权算法修改了什么吧。
已将该问题提交开发,个人认为您没必要这么纠结在如此小的小数位上,当然这只是个人看法。