调出“SP eb2503eb2508”的套利合约,再调出eb2503和eb2508单独的合约。
随便找一个周期,比如30分钟,在25年1月2日早九点的Bar上。套利合约显示的开盘价差是24。eb2503的同时间开盘价为8198,eb2508的开盘价为8193,两者的开盘价差应该为8198-8193=5,这与套利合约显示的24价差截然不同。
同样的例子比比皆是,请问如何解释这种情况?
通过百度网盘分享的文件:价差问题请教.sws
链接:https://pan.baidu.com/s/1GJarMViuwXfijNHChSwKgg?pwd=0lr3
提取码:0lr3
首先再次感谢两位老师的细致解释,但是我在使用咱们的价差合约进行模拟交易时,经常发现现实合约的价差不可能达到价差合约显示的数值,而且差距相当大,无法实盘使用。所以再次请教两位老师。
百度网盘分享的是一个已经设置好的工作区。
data0是SPD TA505&TA509价差合约
data1是TA505合约
data2是TA509合约
策略单元设置如下
选择2月13日9:00:00-9:00:01这根Bar进行比较。
价差合约显示开盘为-28,成交量为4。
TA505合约显示最高价5138,最低价5134;成交量3315.
TA509合约显示最高价5150,最低价5142,成交量129。
如果想要两者的价差最小,那么假设TA505的最低价5134,TA509的最高价5150同时出现,两者的价差为5134-5150=-16。
如果想要两者的价差最大,那么假设TA505的最高价5138,TA509的最低价5142同时出现,两者的价差为5138-5142=-4。
也就是极端情况下,这1秒可能出现的最小价差是-16(最大价差是-4),可是价差合约却显示开盘的价差(同时是最低的价差)达到了-28。那么-28的价差是怎样计算出来的呢?
下图是我的模拟交易,正因为出现价差合约出现了-28的价差,我的交易策略发出了做多信号,做多价差为-26。
但是从模拟开仓结果看,委托列表中显示能够委托的价格为-8。
从下图的成交结果看,5130-5138=-8,也是符合-8的委托价格的。
请老师指教。
这是盘立方TA505&TA509套利合约,1分钟周期图,显示2月13日9:00~9:01期间,开盘价差为-8(同时是最高价差),收盘为-10(同时为最低价差)。这个数据与我模拟交易开仓的价差(-8)相符。
这个就又要谈到tick数据的问题了。
因为tick数据是切片数据,0.5秒切片一次,价格按照0.5秒里最后一笔交易为准。这个最后一笔很重要,也许0.5秒里发生了很多笔交易,但是只按照最后一笔记录价格。所以tick数据看起来好像是-10,但是实际上确实发生了一笔-28的成交。所以k线图会显示这一笔最低价-28.
其他软件合成k线图,只是机械地用tick数据的最新价去合成,不会考虑每tick数据内部会不会有高低价格,所以不会显示这些
感谢鬻鶨老师的再次解答。
我切换到tick级别,找到-28这笔交易。时间为9:00:00:012。
与此同时,TA505的价格如下。开盘和收盘价格为5138。
TA509在此tick无交易。
价差合约的数据,是由同tick线的两个合约的价差相减得到的。那么此时TA509合约的价格为空,那么系统如何计算出-28的价差呢?
退一步讲,假设此tick,TA509存在交易但是没有显示出来,那么我们推算此时TA509的交易价格为5138-(-28)=5166。
那么5166这个价格必然包含在TA509的第一根Bar中。
我们查看三个平台的三个数据。
交易开拓者1秒钟周期:9:00:00-9:00:01这根Bar的最高值为5150,最低值为5142。
同花顺期货通5分钟周期:9:00-9:05,最高值为5150,最低值为5132。
盘立方30秒周期,显示9:00:00-9:00:30,最高价5150,最低价5132。
SPD TA505&TA509价差合约的价差值-28引用的TA509的价格5166并不存在于所有平台的所有相关Bar上。也就是说明当-28价差正确时,所有平台的所有TA509的K线图都存在错误,丢失了5166这个曾经发生过交易的价格。
计算机代码和数据具有唯一性。请老师用数据证明-28的价差是如何计算出来的。
你还是没有听懂什么意思。
你看到的其他软件数据是截面数据,没有完全展示所有真实发生过的交易
这个恐怕只能找交易所去证明了。
从这根tick看,申买-8,申卖-6,成交量为1,这是正常的。为什么申买申卖不用-28的价差?是因为-28是没有价格支撑的,是没有真实发生过的交易,是无效的,没有人可以解释-28到底是Ta505和Ta509的哪两个价格计算得出的。
当用户用类似的价差合约数据去做策略,显示数据和实际数据相差极大,无法用于回测和实盘,也就失去了使用价值。
能要一个您的phone number吗?我想电话向您求教下。
各个平台的合约价差数据都有出入,但是-28有点超出正态分布了。
这个东西符合正太分布的吗?
如果大家都有不同,那是不是应该找最权威来核实呢?是不是应该想办法找交易所的权威数据?
谢谢老师!🤝😊
受教啦!🙏
非常感谢两位老师的细致讲解,我已经完全明白了,是自己犯了不顾实际情况,想当然的错误。
祝两位老师蛇年大吉,财运亨通,万事如意!
因为你没有意识到,有些商品合约的时间是不活跃的,没有成交量
你可以查看这些商品合约更小的周期,比如1分钟,30s线。
你会发现在你指定的时间点,两个合约只有一个合约有成交量。
就比如你发的这个sp eb2503 eb2508合约1月2日早上九点
2508合约在九点整是没有成交数据的
直到9点04分以后某一秒才发生了第一笔交易
那么sp合约的开盘价肯定是以9点04分来计算了
但是你在看两个单独合约的时候却用了2503合约的9点的开盘价来计算
也就是你所谓的算式是 9点04分sp合约的开盘价 和 9点2503价格减去9点04分2508的价格
你要求这个结果相等
你觉得合理吗?
后来我又想了一下。价差合约就应该是两个合约价差的体现,无论在那个时候是否有成交量。因为对交易者来说,价差合约显示价差到达交易标准时就该提示,交易者去交易,那么那个点就会有交易产生。
标准套利合约行情不等于2个合约加减
如果标准套利合约的行情不等于2个合约之差,那么标准套利合约显示的价差也就意味着可能买不到吗?
再列举一个对比的例子。
在tbq3中,选择30分钟周期,选择2025年1月2日9:00这根bar,看到m2505的开盘价是2854,m2509的开盘价是2980,SP m2505&2509的开盘价是-154。
2854-2980=-126
-126<>-154
--------------------------------------------------------------------------------------------
(PS:因为tbq3的策略单元设置选择的是以开盘时间为起点,而同花顺期货通K线默认以收盘时间为时间戳。所以前者显示9:00,后者显示9:30,实际上是同一根Bar。)
我们调出同花顺期货通相同的数据:m2505的开盘价为2854,m2509的开盘价为2980,豆粕2505&2509的开盘价为-126。
2854-2980=-126。
请教老师。
不用再举例子了。
这个应该是一个常识问题
像这种非主力合约交易不活跃是很正常的问题