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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 为什么我的图表套利策略会出现单腿开仓的情况

   

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


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

主题:为什么我的图表套利策略会出现单腿开仓的情况

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2016/8/31 10:54:28
为什么我的图表套利策略会出现单腿开仓的情况  发帖心情 Post By:2017/6/19 16:52:22    Post IP:219.137.140.26[只看该作者]

C1:"P00$CLOSE";//棕榈油连续
C2:="Y00$CLOSE";//豆油连续
价差中枢: MA(C2-C1,Z);
价差: C2-C1;
B: ABS(价差-价差中枢);

UPPER: 价差中枢 + K*STD(价差,Z);//布林上轨
LOWER: 价差中枢 - K*STD(价差,Z);//布林下轨

//交易条件
开多条件:=CROSS(价差,LOWER) ;//开多条件
平空条件:=CROSS(价差,价差中枢);//平空条件
开空条件:=CROSS(UPPER,价差) ;//开空条件
平多条件:=CROSS(价差中枢,价差);//平多条件

//交易系统

IF STRCMP(STKLABEL,'P00') = 0 THEN
BEGIN
   SELL(平空条件 AND HOLDING>0, 0,LIMITR,C);     //平空价差
   SELLSHORT(平多条件 AND HOLDING<0,0,LIMITR,C);        //平多价差
  
   BUYSHORT(开多条件 AND HOLDING=0,6,LIMITR,C); //做多价差
   BUY(开空条件 AND HOLDING=0,6,LIMITR,C);             //做空价差
END

IF STRCMP(STKLABEL,'Y00') = 0 THEN
BEGIN
   SELL(开空条件 AND HOLDING>0,0,LIMITR,C);            //平多价差
   SELLSHORT(开多条件 AND HOLDING<0,0,LIMITR,C);//平空价差
  
   BUYSHORT(开空条件 AND HOLDING=0,5,LIMITR,C);    //做空价差
   BUY(开多条件 AND HOLDING=0,5,LIMITR,C);  //做多价差
END


图片点击可在新窗口打开查看此主题相关图片如下:9)c$b1i1c@1)`zh7e)(uwmb.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2016/8/31 10:54:28
  发帖心情 Post By:2017/6/19 16:53:38    Post IP:219.137.140.26[只看该作者]

从代码的逻辑上来说,两个品种间的开平仓逻辑都是一多一空同时平仓的啊,为什么会出现这种单腿开仓的情况

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


加好友 发短信
等级:论坛游侠 帖子:155 积分:0 威望:0 精华:0 注册:2016/8/31 10:54:28
  发帖心情 Post By:2017/6/19 16:56:06    Post IP:219.137.140.26[只看该作者]

回测是在图表上进行回测的,是否应该转换成后台回测才不会出现这种情况


 回到顶部
美女呀,离线,留言给我吧!
pyd
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2017/6/19 17:21:55    Post IP:180.169.30.6[只看该作者]

y00的平仓条件和p00的平仓条件不对应。

 

IF STRCMP(STKLABEL,'P00') = 0 THEN
BEGIN
   SELL(平空条件 AND HOLDING>0, 0,LIMITR,C);     //平空价差
   SELLSHORT(平多条件 AND HOLDING<0,0,LIMITR,C);        //平多价差
  
   BUYSHORT(开多条件 AND HOLDING=0,6,LIMITR,C); //做多价差
   BUY(开空条件 AND HOLDING=0,6,LIMITR,C);             //做空价差
END

IF STRCMP(STKLABEL,'Y00') = 0 THEN
BEGIN
   SELL(平多条件 AND HOLDING>0,0,LIMITR,C);            //平多价差
   SELLSHORT(平空条件 AND HOLDING<0,0,LIMITR,C);//平空价差
  

 
   BUYSHORT(开空条件 AND HOLDING=0,5,LIMITR,C);    //做空价差
   BUY(开多条件 AND HOLDING=0,5,LIMITR,C);  //做多价差
END


[此贴子已经被作者于2017/6/19 17:23:02编辑过]

 回到顶部