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


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

   

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


  共有7304人关注过本帖平板打印复制链接

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

帅哥哟,离线,有人找我吗?
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;


 回到顶部