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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → [分享]期权投机策略的测试模块

   

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


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

主题:[分享]期权投机策略的测试模块

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


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
[分享]期权投机策略的测试模块  发帖心情 Post By:2016/8/10 2:45:02 [只看该作者]

这个本来用对应合约来做更准确,但是历史合约无法调用,干脆直接生成虚拟合约来测试。模拟投机高α的合约,基本不涉及时间价值损耗。

runmode:0;
VARIABLE:CHOLDING=0,PHOLDING=0;

KD:CHOLDING=0 AND kdd,NODRAW;          //开多条件
PD:CHOLDING=1 AND pdd,NODRAW;          //平多条件
KK:PHOLDING=0 AND kkk,NODRAW;          //开空条件
PK:PHOLDING=1 AND pkk,NODRAW;          //平空条件

QS:CALLSTOCKEX(STKLABEL,VTCLOSE , 6, -1, 1000000); //标的前收
JJ:=IF(QS<=3,0.05,IF(QS>3 AND QS<=5,0.1,0.25));    //行权间距简化版
B2J:=QS*10000-MOD(QS*10000,JJ*10000)-20000*JJ;    //call行权价
S2J:=QS*10000-MOD(QS*10000,JJ*10000)+20000*JJ;   //put行权价
ttt:HOLDING,NODRAW;

REFS2J:=REF(S2J,ENTERBARS);  //记录当前持仓是哪个合约
REFB2J:=REF(B2J,ENTERBARS);

 

IF PK THEN
BEGIN
平空:SELL(1,0,LIMITR,MAX(0,REFS2J-C*10000)),IGNORECHECKPRICE;               //平空信号
PHOLDING:=0;
END
IF PD THEN
BEGIN
平多:sell(1,0,LIMITR,MAX(0,C*10000-REFB2J)),IGNORECHECKPRICE;                    //平多信号
CHOLDING:=0;
END
IF KD THEN
BEGIN
开多:buy(1,2%,LIMITR,C*10000-B2J),IGNORECHECKPRICE;                  //开多信号
CHOLDING:=1;
END
IF KK THEN
BEGIN
开空:BUY(1,2%,LIMITR,S2J-C*10000),IGNORECHECKPRICE;            //开空信号
PHOLDING:=1;
END

资产:ASSET,NOAXIS,COLORMAGENTA;


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


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
  发帖心情 Post By:2016/8/10 2:50:12 [只看该作者]

加了点注释,理想版本应该是能根据行权日期做价格修正,难度有点大,运算量也很大。vix经常偏离历史值,使得估计偏差放大。

runmode:0;
VARIABLE:CHOLDING=0,PHOLDING=0;

KD:CHOLDING=0 AND kdd,NODRAW;          //开多条件
PD:CHOLDING=1 AND pdd,NODRAW;          //平多条件
KK:PHOLDING=0 AND kkk,NODRAW;          //开空条件
PK:PHOLDING=1 AND pkk,NODRAW;          //平空条件

QS:CALLSTOCKEX(STKLABEL,VTCLOSE , 6, -1, 1000000); //标的前收
JJ:=IF(QS<=3,0.05,IF(QS>3 AND QS<=5,0.1,0.25));    //行权间距简化版
B2J:=QS*10000-MOD(QS*10000,JJ*10000)-20000*JJ;    //认购行权价
S2J:=QS*10000-MOD(QS*10000,JJ*10000)+20000*JJ;   //认沽行权价
ttt:HOLDING,NODRAW;

REFS2J:=REF(S2J,ENTERBARS);  //记录当前持仓是哪个合约
REFB2J:=REF(B2J,ENTERBARS);

 

IF PK THEN
BEGIN
平空:SELL(1,0,LIMITR,MAX(0,REFS2J-C*10000)),IGNORECHECKPRICE;               //平认沽
PHOLDING:=0;
END
IF PD THEN
BEGIN
平多:sell(1,0,LIMITR,MAX(0,C*10000-REFB2J)),IGNORECHECKPRICE;                    //平认购
CHOLDING:=0;
END
IF KD THEN
BEGIN
开多:buy(1,2%,LIMITR,C*10000-B2J),IGNORECHECKPRICE;                  //call认购
CHOLDING:=1;
END
IF KK THEN
BEGIN
开空:BUY(1,2%,LIMITR,S2J-C*10000),IGNORECHECKPRICE;            //call认沽
PHOLDING:=1;
END

资产:ASSET,NOAXIS,COLORMAGENTA;


版主评定:好评,获得30个金币奖励好评,获得30个金币奖励
(理由:奖励)
 回到顶部
帅哥哟,离线,有人找我吗?
fantasynew
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
  发帖心情 Post By:2016/8/10 3:15:28 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:20160810031356.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
  发帖心情 Post By:2016/8/10 3:16:32 [只看该作者]

金字塔里有两个510050,分属不同服务器,只能连接一个的情况下如何区分

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


加好友 发短信
等级:管理员 帖子:1516 积分:229 威望:0 精华:0 注册:2012/3/30 12:40:56
  发帖心情 Post By:2016/8/10 8:15:15 [只看该作者]

前面加市场前缀,上海SH,期权QQ

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


加好友 发短信
等级:新手上路 帖子:44 积分:7 威望:0 精华:0 注册:2012/2/10 14:31:20
  发帖心情 Post By:2016/8/16 1:11:59 [只看该作者]

kdd没定义

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


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
  发帖心情 Post By:2016/8/18 15:39:09 [只看该作者]

那是需要自己去定义开仓信号

 回到顶部