设为首页收藏本站

 找回密码
 注册
查看: 6233|回复: 10
打印 上一主题 下一主题

协整理论在期指套利中的运用 [复制链接]

Rank: 2

精华
0
UID
110801
积分
61
帖子
25
主题
10
阅读权限
30
注册时间
2012-6-5
最后登录
2021-10-23
跳转到指定楼层
1#
发表于 2012-9-18 09:22:06 |只看该作者 |倒序浏览




目前大家都是用沪50ETF和深100ETF组合模拟现货指数,用基差做期限套利,随着套利人群的增多,基差逐渐变

小,不足以覆盖成本,所以机会很少,为此,需要修正基差。

计量经济学中有个协整理论,今天抛砖引玉,和大家一起探讨。

不同市场上的同质或相似商品的价格存在长期均衡关系,当价格偏离均衡时,由于套利交易的存在,偏离会迅速

回到均衡。在一定的门限值以外,二者服从协整关系,在门限值以内,二者没有协整关系,这种关系称为门限协

整。
用沪50ETF和深100ETF组合模拟的现货指数,和HS300指数确实存在长期的均衡关系,但很可惜,模拟的现货指数

和期货指数不具备长期的均衡关系,因为随时间推移,他们之间的价差会逼近0,那么,就无意义了吗?

一个期指合约的存续期大约25天,如果从合约刚诞生,在极小的周期上,如10秒级别,在一定的存续期内,是存

在这种协整关系的。并且这种机会出现的频率远高于正常的期限基差,这样就可以套利了。

废话少说了,程序如下:

Params
    Numeric AjustmentRatio(804507);                  // 协整系数
    Numeric AjustmentLength(2000);                  // 协整周期
        Numeric Weight1(1);                             // 现货权重
        Numeric Weight2(1);
        Numeric Band(1.25);                                //目标价差曲线开仓上下限
        Numeric Lots(1);                                //每次开仓手数
   
Vars
       
        NumericSeries St;                                //指数自然对数变换曲线
        NumericSeries St1;                               // 目标价差曲线
        Numeric MinPoint;                               // 最小变动单位
        Bool SellEntrysignal(False);                    // 正向套利信号
        Bool BuyEntrysignal(False);                     // 反向套利信号
    Bool SellExitsignal(False);                     // 正向套利出场信号
        Bool BuyExitsignal(False);                      // 反向套利出场信号
    Numeric myEntryPrice;
Begin

     St=10000*ln(Data0.close*ContractUnit)-AjustmentRatio*ln((Data1.close*Weight1+Data2.close*Weight2)/(Weight1+Weight2))/100;
     st1=(st-XAverage(st,AjustmentLength))/StandardDev(st,AjustmentLength,0);
     PlotNumeric("St1",St1);
     PlotNumeric("零轴",0);
     PlotNumeric("正向",Band);
     PlotNumeric("反向",(-1)*Band);
     MinPoint=MinMove*PriceScale;
         
         SellEntrysignal=st1[1]>Band;
         If (SellEntrysignal)                                 // 正向套利,期指开空单,买入现货

    {
                                                               // 开仓价格取开盘价加上一个单位滑点,这样能更接近真实情况,并能尽量保证成交
            myEntryPrice = Open-MinPoint;
                        Sellshort(Lots,myEntryPrice);                                                               
        }
       
         BuyEntrysignal=st1[1]<(-1)*Band;
         If (BuyEntrysignal)                                      // 反向套利,期指开多单,卖出现货

    {

                                                        // 开仓价格取开盘价加上一个单位滑点,这样能更接近真实情况,并能尽量保证成交
            myEntryPrice = Open+MinPoint;
                        Buy(Lots,myEntryPrice);

        }  
       
           SellExitsignal=CrossUnder(st1[1],0);
       if( SellExitsignal && MarketPosition == -1 )    // 正向套利平仓,期指空单平,卖出现货

    {

                                                      // 开仓价格取开盘价加上一个单位滑点,这样能更接近真实情况,并能尽量保证成交
            myEntryPrice = Open+MinPoint;
                        BuyToCover(Lots,myEntryPrice);
                       
        }

         BuyExitsignal=CrossOver(st1[1],0);
         
     if (BuyExitsignal && marketposition==1)             // 反向套利平仓,期指多单平,买入现货
{

                                                                                                                // 开仓价格取开盘价加上一个单位滑点,这样能更接近真实情况,并能尽量保证成交

            myEntryPrice = Open-MinPoint;

                        Sell(Lots,myEntryPrice);
                       
        }


  
End

理论上年收益100%以上。

Rank: 2

精华
0
UID
110801
积分
61
帖子
25
主题
10
阅读权限
30
注册时间
2012-6-5
最后登录
2021-10-23
2#
发表于 2012-9-18 09:26:18 |只看该作者
其中的关键,就是协整系数的确定,可惜TB中数据矩阵导出有BUG,当两个以上的商品导出时,大量的N/A,建议当某时间时,一个商品有数据,另一个无时,自动补成上个周期的数据,就是说如果没有交易,就用上个周期的代替。这样就可以用EVIEWS来计算协整系数了,抛砖引玉!

使用道具 举报

Rank: 2

精华
0
UID
110801
积分
61
帖子
25
主题
10
阅读权限
30
注册时间
2012-6-5
最后登录
2021-10-23
3#
发表于 2012-9-18 09:26:54 |只看该作者
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 1

精华
0
UID
52198
积分
49
帖子
24
主题
9
阅读权限
10
注册时间
2011-7-8
最后登录
2014-7-21
4#
发表于 2012-9-20 13:39:32 |只看该作者
关键就是协整的检验,还是没看出你怎么解决啊

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
5#
发表于 2012-9-21 11:11:08 |只看该作者
嗯。。。。楼上正解

使用道具 举报

Rank: 2

精华
0
UID
112538
积分
68
帖子
35
主题
9
阅读权限
30
注册时间
2012-9-17
最后登录
2013-3-15
6#
发表于 2012-10-9 09:03:06 |只看该作者
调用失败了,是什么原因呢?

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
7#
发表于 2012-10-9 12:53:32 |只看该作者
看不懂,哥是套利小白,基础知识都还不太懂。神作,学习

使用道具 举报

Rank: 4

精华
0
UID
5975
积分
277
帖子
47
主题
10
阅读权限
50
注册时间
2009-11-24
最后登录
2019-1-18
8#
发表于 2012-11-16 09:34:03 |只看该作者
换月问题如何解决?

使用道具 举报

Rank: 4

精华
0
UID
5975
积分
277
帖子
47
主题
10
阅读权限
50
注册时间
2009-11-24
最后登录
2019-1-18
9#
发表于 2012-11-16 09:39:49 |只看该作者
协整关系的系数一成不变?协整关系的计算关符到样本数量的选取吧?

使用道具 举报

Rank: 1

精华
0
UID
92760
积分
41
帖子
15
主题
3
阅读权限
10
注册时间
2012-1-25
最后登录
2017-6-2
10#
发表于 2012-11-18 14:23:00 |只看该作者
没戏 做过实盘 滑点滑死你

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-2 07:06

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部