以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  对于使用主力连续合约下单的改进建议  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=158514)

--  作者:滚雪球
--  发布时间:2017/10/11 11:09:24
--  对于使用主力连续合约下单的改进建议
金字塔使用主力连续合约再加上复权来解决换合约的问题,这为程序化交易带来了很大的便利,但是这种方式仍有一些问题,
当你使用比较大的周期时,比如一天,一小时,甚至10分钟,即使使用了复权在换月的时候仍有跳空,就算没有跳空,在两个
合约衔接的时候由于使用了两个不同的合约的数据,导致计算出来的数据和直接使用主力合约计算出来的并不一致,甚至会导致
信号的完全相反,这种两个合约链接起来的“虚拟”数据并不是现实交易中的真实情况。因此我建议金字塔增加一个选项:
主力连续合约使用实际对应的主力合约进行计算,这个选项可以和勾选允许使用主力连续合约下单放在一起。其意思就是我使用cu00,
但程序计算时并不根据cu00的数据计算,而是根据对应的主力合约比如cu1712进行计算,这样你做大周期就不用担心跳空的问题,
同时也不需要手动换合约,对于同时做几十个品种的模型来说会大大减少重复性劳动。
我看有很多人也为这个问题苦恼,有此需求的帮我顶起来!

--  作者:wenarm
--  发布时间:2017/10/11 12:12:32
--  

软件默认是等比向前复权。在换月位置,如果是用了复权是不会有跳空缺口的。而在之后出现的条件是正常行情跳空。(或者你采用日间复权的方式处理可以把非换月期间的跳空也处理了)

 

主力合约和连续合约之间对应部分的数据的值是一致的。你说的信号有差别,是因为你的连续上参与计算k线有旧主力数据的部分。那自然可能造成不一致。(最近一次除权标记的位置就之前的是旧合约数据,它们参与计算后的整体结果你和当前主力合约比自然会有差异。(历史部分的数据是不一致))。

 


--  作者:滚雪球
--  发布时间:2017/10/11 12:31:09
--  
复权了怎么就没有跳空呢?你去看鸡蛋连续,换合约的时候跳空多着呢,
你要用连续合约做测试,像鸡蛋这种完全是不准的。你再去看对应的主力合约,
哪有那么大的跳空?

新旧主力合约衔接的地方就是存在一部分用新数据,一部分用旧数据的问题,
比如我用EMA(C,20),如果是日线的话,这种影响会持续一个月,所以这其实
是一个很严重的问题,你的模型是在并不存在的“虚拟”的数据上计算而做的交易
却是真实的。

所以解决这个问题的根本办法就是直接使用对应的主力合约进行计算,而不是
在虚拟的连续合约上计算。
[此贴子已经被作者于2017/10/11 12:31:50编辑过]

--  作者:wenarm
--  发布时间:2017/10/11 12:35:04
--  

已经说了,当前的连续合约和主力合约是一样的。连续合约就是为了便于程序化的量化计算才出现的。

 鸡蛋复权后的日线,就不会出现你所说的跳空问题,除非你本地缺失复权数据

凡是有除权标记的位置代表换月位置,你自己可以对比看。


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/10/11 12:36:14编辑过]

--  作者:wenarm
--  发布时间:2017/10/11 12:40:05
--  
新旧主力合约衔接的地方就是存在一部分用新数据,一部分用旧数据的问题,
比如我用EMA(C,20),如果是日线的话,这种影响会持续一个月,所以这其实
是一个很严重的问题,你的模型是在并不存在的“虚拟”的数据上计算而做的交易
却是真实的。

 

新的主力合约在成为主力合约之前可能是极不活跃的,这种中情况下的数据是不利于程序化进行的。所以使用连续的主力合约数据进行串联。这样才能更加有利益量化的处理。

而你上面的说的问题,你自己可以考虑在具体合约上交易。


--  作者:滚雪球
--  发布时间:2017/10/11 12:45:48
--  
复权数据要怎么补充?补充除权财务数据和历史财务数据吗?我补充了还是不行啊
--  作者:wenarm
--  发布时间:2017/10/11 12:55:49
--  

补充除权财务数据。

自己右键数据--财务数据看下具体品种是不是有相应的除权数据。

在k线图上看是不是用除权标记。


--  作者:滚雪球
--  发布时间:2017/10/11 13:10:21
--  
显示可以了,但是依然无法解决新旧数据混用的问题,所以根本解决办法还是要新
合约全部用新数据进行计算才行,这样你复不复权都没关系,既简单又准确,
现在这种方式如果是用10分钟周期大概影响一天,1小时影响一周,日线影响一个月,
根据完全不存在的虚拟数据下单太荒谬了

--  作者:yukizzc
--  发布时间:2017/10/11 13:18:35
--  

你难道没有想到一个巨大的问题吗,期货月份合约是具有生命周期的如果按照你想的根据每个月份自己的合约进行统计

那么试问对于220这种年线以上级别怎么处理,如果你全部用月份数据那么和你直接使用10合约有区别吗??

或者你就根据现在连续是几月,你的模型监控具体月份


--  作者:滚雪球
--  发布时间:2017/10/11 13:21:04
--  
一般到交割月的时候次主力合约成交量就没啥问题了,所以直接用新合约要比新旧混用科学的多,所谓的除权实际上
期货根本不存在除权,除权是股票上才有的,期货上借用过来属于生搬硬套,必然导致和真实的情况不一致。