如何在50ETF期权上赚16个亿?

论坛 期权论坛 期权     
金瑞期权   2019-6-29 10:18   3134   0


自2015年2月9日,上海证券交易所推出上证vix.shtml" target="_blank" class="relatedlink">50ETF期权以来,有个策略收益很吓人:假设2015年3月投入1万元人民币的话,最大收益将达到16亿元人民币。
1、使用固定资金投入,4年36倍!2、滚动投入,4年获利162086倍!
3、假设手续费为双边20/张的话,仍取得了36倍和16万倍的收益。


一、惊人的交易系统
交易系统信号开始时间于2015年2月9日,第一个买入信号出现在2015年3月17日;截止到2019年5月9日,共出现了24次交易信号,(12次买入,12次卖出)。

该交易系统在50ETF上的回测数据,在满仓只做多的情形下,回测数据显示:
总盈利率56.50%,年化收益率10.77%,胜率64.54%,最大回撤率10.50%。应用到50ETF期权上的收益惊人的达到16万倍。

(该系统会在K线图上揭示向上红色剪头买入信号,绿色向下剪头卖出信号。如下图:)



基于此,我们将该交易系统植入上证50ETF期权中,先看回测结果:

1)在每次固定投入1万元本金的情形下,在不计手续费的情形下,可获利36.78倍的总收益率;若计入手续费,假设双边20元/张,则能获得36.17倍的总收益率。
2)首期投入1万本金,随后滚动满仓操作的话,不计手续费,可获利162086倍总收益率;若计入手续费,假设双边20元/张,则能获得160349倍的总收益率。

第二个滚动看起来太吓人了,1万的本金,最高可达16亿元的超高回报;回测数据显示,到2016年底,该满仓策略盈利已经突破226万元大关,交易的张数突破了2000张;再往后,估计市场承受不了这么大的资金哈。

二、回测数据说明
交易系统说明:
基于文华财经库安量化云计算软件进行回测,交易系统为基于MACD判断信号(具体代码在后面)。
1、使用该系统判断50ETF买卖信号;
2、出现买入信号时,买入下月平值认购期权,成交价为开盘价;
3、出现卖出信号时,卖出期权合约平仓,成交为开盘价——不进行买沽操作;(小七偷懒,没做卖出信号回测)
4、若合约到期仍未出现卖出信号,则以合约到期日开盘价平仓,结束该笔交易。

1、四年36倍

在固定每期投入1万元本金的情形下,12次买入信号,分别买入对应下月平值期权合约;仅在2017年8月出现亏损,其余11次全部盈利。

累计买入303张合约,累计盈利金额36.78万元。交易记录如下:




2、暴赚16亿

回测方法如上一致,在资金投入方面作了一些调整。
第一个信号出现时,投入本金1万元,结束时将本金1万元取出,用剩余63217元盈利开始滚动投入,满仓操作。

回测数据显示:该方法取得了162086倍的收益,1万元的本金投入,在四年的时间,暴赚16亿元

这些数据都是根据上证50ETF和上证50ETF期权合约历史数据回测而成,有兴趣的可以自己回测一下,看是否得到相同的回测数据。当然这些数据只是历史,未来是否还能实现这样的回报,就有待观察了。




三、交易系统代码
交易系统代码如下:


Params
Numeric FastMA(4);        //macd短周期值
Numeric SlowMA(10);        //macd长周期值
Numeric AvgMA(16);         //MACD慢线周期值
Numeric ATRLen(10);        //atr周期值
Numeric EATRPcnt(1);        //入场通道波动率过滤数值
Numeric XATRPcnt(1);        //出场通道波动率过滤数值
Vars
NumericSeries MACDLine(0);     //MACD快线
NumericSeries SignalLine(0);      //MACD慢线
NumericSeries ZeroLine(0);      //0轴
NumericSeries AATR(0);       //ATR波动率
NumericSeries UpTrend;       //多头趋势变量
NumericSeries DnTrend;       //空头趋势变量
NumericSeries BuySetup;      //买入控制条件
   NumericSeries SellSetup;         //卖出控制条件
NumericSeries CTrendLow(0);     //普通数值型序列变量
   NumericSeries CTrendHigh(0);     //普通数值型序列变量
NumericSeries SignalFlag;      //普通数值型序列变量
Numeric Con1;          //上穿条件
Numeric Con2;          //下穿条件
Numeric MinPoint;         //最小变动价位
NumericSeries UpperBand;      //买入触发价
   NumericSeries LowerBand;       //卖出触发价
NumericSeries ExitBand;        //出场触发价
Begin

MinPoint = MinMove * PriceScale;
MACDLine = Ema( Close, FastMA ) - Ema( Close, SlowMA );//计算macd快线
SignalLine = Ema( MACDLine, AvgMA );//计算macd慢线
AATR = AvgTrueRange(ATRLen);//计算atr波动率
ZeroLine = 0;//零轴

Con1 = CrossUp(SignalLine,ZeroLine);//慢线上穿零轴

If (Con1 == 1)//当慢线上穿零轴时候,定义为多头趋势
{
   UpTrend = 1;
   SignalFlag = 0;
   DnTrend = 0;
   SellSetup = 0;
}
Con2 = CrossDown(SignalLine,ZeroLine);//慢线下穿零轴
If(Con2 == 1)//当慢线下穿零轴时候,定义为空头趋势
{
   UpTrend = 0;
   BuySetup = 0;
   SignalFlag = 0;
   DnTrend = 1;
}
                     
If(UpTrend == 1)//多头趋势时记录当前最低价以及设置入场条件
{
   If (SignalFlag == 0 )
   {
      BuySetup = 1;
      CTrendLow = Low;
   }

   If (MACDLine < SignalLine And Low < CTrendLow[1] )//MACD均线空头排列时候,且当前价格更低时更新最低价
   {
      CTrendLow = Low;
   }
}
   If(DnTrend ==1)
   {
   If (SignalFlag == 0 )//空头趋势时记录当前最低价以及设置入场条件
   {
      SellSetup = 1;
      CTrendHigh = High;
   }
   If (MACDLine > SignalLine and High > CTrendHigh[1] )//当MACD均线多头排列时候,且当前价格更高时更新最高价
   {
      CTrendHigh = High;
   }
}
   If (BuySetup[1] == 1 And BuySetup[2] == 0)//多头满足入场条件设定入场价格以及出场价格
   {
   UpperBand = Close[1] + (EATRPcnt * AATR[1]) ;               
   ExitBand = Close[1] - (XATRPcnt * AATR[1]) ;
}
If(SellSetup[1] == 1 And SellSetup[2] == 0) //空头满足入场条件设定入场价格以及出场价格
{
   LowerBand = Close[1] - (EATRPcnt * AATR[1]);
   ExitBand = Close[1] + (XATRPcnt * AATR[1]);
}
//--------------------------------多头系统入场-------------------------------
If (BuySetup[1] == 1 And MarketPosition == 0)//做多
{
   If(High >= UpperBand)
   {
      Buy(DefaultVol,Max(Open,Upperband));
      BuySetup = 0;//持有多单时不再满足入场条件
      SignalFlag = 1;
   }
}
PlotNumeric("LowerBand",AATR);
  //--------------------------------空头系统入场----------------------------------
If (SellSetup[1] == 1 And MarketPosition == 0)//做空
{
   If( Low  0 )                        
{  
   If(DnTrend[1] == 1)//多头趋势不在时,多头出场
   {
      Sell(DefaultVol,Open);              
   }
   Else If(Low = ExitBand)//持有多单后低于入场最低价格出场
     {
      Sell(DefaultVol,Min(Open,CTrendLow[1] - MinPoint));
        
   }
   Else If(Low 0 )
{
   If(UpTrend[1] == 1)//空头趋势不在时,空头出场
   {
      BuyToCover(DefaultVol,Open);
   }
   Else If(High>=CTrendHigh[1] + MinPoint And CTrendHigh[1] + MinPoint = ExitBand)//持有多单后低于入场最低价格出场
   {
      BuyToCover(DefaultVol,Max(Open, ExitBand));
   }
}
End


该交易系统在50ETF上的回测报告如下:


【关联文章】0
一年14倍的期权交易策略,期权盈利就是这么简单

期权彩票策略之买方篇:以小博大,博取小概率十倍以上收益。

布林带择时策略在50ETF期权交易中的应用,期权单边买入策略介绍

期权策略:年化96%的期权交易策略,期权波动率原来可能这么玩

注:文章内容、图片、数据、信息均来源于公开资料,本公众号对这些信息的准确性和完整性不作任何保证,在任何情况下文章内容或信息或所表达的意见都不构成证券买卖操作建议;本公众号不对任何投资做出任何形式的担保,投资者自主作出投资决策并自行承担相关风险。本文不构成任何投资建议,不应认为本篇内容可以取代自己判断,投资盈亏自负!
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:30
帖子:6
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP