欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 如何在连续合约上识别换月

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2397人关注过本帖树形打印复制链接

主题:如何在连续合约上识别换月

帅哥哟,离线,有人找我吗?
Follow
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:48 积分:0 威望:0 精华:0 注册:2014/4/23 17:39:01
如何在连续合约上识别换月  发帖心情 Post By:2016/8/4 10:39:48    Post IP:122.224.63.138[只看该作者]

在测试模型时,如果放在连续合约上测试,主力合约换月跳空有时会很大,对测试结果有较大影响。是否有方法能识别连续合约上换月了,一个想法是看持仓量,前一天的持仓量和今天的持仓量进行比较,如果今天的持仓量除去增仓部分不等于昨天最后一根K线持仓量则是换月了。持仓量可以用OPENINT来取,但增仓只有动态行情函数,没有历史值。请教下有没有别的方法

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/4 10:46:10    Post IP:180.169.30.6[只看该作者]

比较当前合约close和连续合约的close就可以了

c1:=callstock(stklabel,vtclose,6);//当前合约close

c2:=callstock('if00',vtclose,6);//连续合约close,这里以if为例

当c1=c2就表示当前合约是主力合约,不相等就是不是主力合约。当然用close可能会很巧的非主力合约的close和连续合约一样,那么把vtclose改成vtvol也可以

[此贴子已经被作者于2016-8-4 10:46:20编辑过]


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
Follow
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:48 积分:0 威望:0 精华:0 注册:2014/4/23 17:39:01
  发帖心情 Post By:2016/8/4 11:02:43    Post IP:122.224.63.138[只看该作者]

你好,我的想法是,一个策略直接加载到连续合约上测试,比如rb00,在主力合约换月的时候,比如从rb1610换成了rb1701,策略是在连续合约上加载的,在换月之前,由于主力合约是rb1610,策略加载在连续合约上开仓的合约是rb1610,然后一直持仓,之后某一天换月了,连续合约后面的行情就显示为RB1701,在连续合约上会有跳空,这个跳空对测试有影响。我的想法是,如何在测试连续合约的时候,把这个换月识别出来

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/4 11:15:05    Post IP:180.169.30.6[只看该作者]

这个比较烦了

需要像我上一样做引用

要引用所有的合约,

c0:=callstock('if00',vtvol,6);

c1:=callstock('if01',vtvol,6);

......

c12:=callstock('if12',vtvol,6);

 

然后逐一判断赋值

if c1=c0 then n:=1;

if c2=c0 then n:=2;

....

if c12=c0 then n:=12;

n=1表示01合约为主力,n=2表示02合约为主力。。。。。。n=12表示12合约为主力

判断下n<>ref(n,1),成立即为换月了



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
Follow
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:48 积分:0 威望:0 精华:0 注册:2014/4/23 17:39:01
  发帖心情 Post By:2016/8/5 9:44:46    Post IP:122.224.63.138[只看该作者]

这样写可以在当前识别出是否换月,但在历史上就识别不出来了,几年前的老合约找不到。有别的方法么

 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/8/5 9:47:44    Post IP:180.169.30.6[只看该作者]

你要补充数据,如果数据没有补充到,那么就没办法了


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
Follow
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:48 积分:0 威望:0 精华:0 注册:2014/4/23 17:39:01
  发帖心情 Post By:2016/8/5 9:55:33    Post IP:122.224.63.138[只看该作者]

好的,谢谢

 回到顶部