股指期货日内量化投资策略刘冬烨 1121209170摘要量化投资具有传统投资无可比拟的优点,在国内正处于萌芽阶段,发展潜力巨大。
本文先详细研究国外经典的日内量化投资策略R-Breaker,并将其应用于国内的股指期货市场,但其最近的表现不尽如人意。
接着将策略拆分成趋势和反转两个子策略分别进行改进,趋势策略仍然基于技术分析,而反转子策略则应用地球物理学中的对数周期性幂律模型,最终在趋势子策略方面得出了一个收益可观且稳定的R-Breaker-Plus策略,而在反转子策略方面的研究,虽然受到理论难点和程序运行的限制,没有得出具体的交易规则,但仍然收获了一些有意义的结论,且可以用来深入研究。
关键词:量化投资,股指期货,日内交易,泡沫破裂,LPPL模型IIQUANTITATIVE DAY TRADING STRATEGIESFOR INDEX FUTURESABSTRACTQuantitative trading has incomparable advantages over conventional trading strategies. It is in the embryonic stage but has high potential for development in China.R-Breaker trading system, a famous foreign quantitative trading strategy, is studied in this paper and applied to domestic stock index futures market. Unfortunately, it doesn't behave as well as the first 2 years recently. So I split it into two sub-strategies and optimize them respectively. The trend sub-strategy is still based on technical analysis, while in the reversal sub-strategy I tried to use the LPPL Model from geophysics. At length I have developed a winning and steady trend sub-strategy but failed to devise a concrete reversal sub-strategy due to the limit of computer facility. While I have gained some researching achievements on LPPL Model more or less.KEY WORDS:Quantitative trading, Index futures, Day trading, Bubble burst, LPPL ModelIII目录第一章绪论 (1)1.1 研究背景 (1)1.1.1 量化投资的优点 (1)1.1.2 量化投资在国内的发展 (1)1.1.3 量化投资的研究原理和方法 (1)1.2 研究标的 (1)第二章国外经典量化投资策略研究 (1)2.1 经典策略概述 (1)2.2 R-Breaker策略的原理 (1)2.3 将R-Breaker策略应用于国内股指期货市场 (3)2.3.1 策略的交易规则 (3)2.3.2 策略的绩效表现 (5)2.3.3 策略的分析总结 (7)2.4 R-Breaker策略的优缺点分析和改进思路 (7)第三章策略优化和改进 (13)3.1 趋势子策略 (13)3.1.1 波动过滤 (13)3.1.2 止盈止损 (15)3.1.3 停止交易 (16)3.1.4 模型参数和其它改进 (16)3.1.5 R-Breaker-Plus策略 (18)3.2 反转子策略 (22)3.2.1 LPPL模型的理论背景 (22)3.2.2 LPPL模型的参数估计 (22)3.2.3 LPPL模型的应用 (24)第四章总结和展望 (33)4.1.1 新策略最近的表现 (33)4.1.2 新策略的总结 (34)4.1.3 量化投资策略的展望 (36)参考文献 (38)III第一章绪论第二章国外经典量化投资策略研究2.1经典策略概述我阅读并学习了多个国外成熟的量化投资策略,如:R-Breaker、Dual-Thrust、海龟交易系统等,其中以R-Breaker策略最具代表性。
R-Breaker是个非常经典的的日内交易模型,具有很长的生命周期,连续15年跻身《Future Trust》杂志年度最赚钱的十大策略。
从《Future Trust》去年4月公布的结果来看,R-Breaker仍以34.3%的年化收益率排名第七,至今仍被国内外的宽客研究和使用。
下面我将详细分析R-breaker策略,将其运用于国内股指期货市场来检验它的表现,并尝试优化和改进,期望得到一个能提供稳定可观收益的新量化投资策略。
2.2R-Breaker策略的原理R-Breaker策略的原理如下图所示:12图2-1 R-Breaker 策略交易原理首先是区间准备。
根据上一个交易日的收盘价(Close)、最高价(High)、最低价(Low)数据和三个自选参数f1、f2、f3,通过一定方式计算出从大到小六个价位:突破买入价(Bbreak)、观察卖出价(Ssetup)、反转卖出价(Senter)、反转买入价(Benter)、观察买入价(Bsetup)、突破卖出价(Sbreak)。
如图2-1种六条蓝色水平线所示。
其中:观察买入价Bsetup=Low-f1×(High-Close); (2-1) 观察卖出价Ssetup=High+f1×(Close-Low); (2-2) 反转买入价Benter=(1+f2)/2×(High+Low)-f2×High; (2-3) 反转卖出价Senter=(1+f2)/2×(High+Low)-f2×Low; (2-4) 突破买入价Bbreak=Ssetup+f3×(Ssetup-Bsetup); (2-5) 突破卖出价Sbreak=Bsetup-f3×(Ssetup-Bsetup). (2-6) 改变参数f1、f2、f3的大小可以调节六个价格之间的距离。
根据当日每分钟实时收盘价在六个价格上下的穿越来触发入场或出场、做多或做空的信号。
Bbreak B1S1B2S2Hightoday>Ssetup Lowtoday<Bsetup Hightoday>BbreakLowtoday<Sbreak然后来看交易规则。
R-breaker策略的交易规则可以分为趋势和反转两个子策略。
反转子策略表述如下:当日内最高价High(today)超过观察卖出价Ssetup后,盘中价格出现回落,且进一步跌破反转卖出价Senter构成的支撑线时,采取反转策略,即在该点位开仓或反手(先平仓再反向开仓)做空,如图2-1绿色箭头S1所示;当日内最低价Low(today)低于观察买入价Bsetup后,盘中价格出现反弹,且进一步超过反转买入价Benter构成的阻力线时,采取反转策略,即在该点位反开仓或反手做多,如图2-1绿色箭头S2所示。
趋势子策略表述如下:在空仓的情况下,如果盘中价格超过突破买入价Bbreak,则采取趋势策略,即在该点位开仓做多,如图2-1紫色箭头B1所示;在空仓的情况下,如果盘中价格跌破突破卖出价Sbreak,则采取趋势策略,即在该点位开仓做空,如图2-1紫色箭头B2所示。
2.3将R-Breaker策略应用于国内股指期货市场2.3.1策略的交易规则R-Breaker策略适用于股指期货、商品期货等各种可进行T+0交易的金融市场,下面用国内成交量活跃,波动大小合适的沪深300股指期货当月连续合约进行策略测试。
首先进行的是数据收集和整理工作。
我选取的数据范围是股指期货上市首日到最近的日期,即2010年4月16日至2014年2月7日,一共919个交易日,每天交易270分钟,每分钟有开盘价、最高价、最低价、收盘价4个数据,共记992520个数据。
我下载的数据来源于Wind数据、恒生聚源、天软软件这三个数据库。
收集好数据后发现:来自不同数据库的相同时间点的数据竟会不一样!而且个别数据相差甚远,甚至出现了几十个点的离谱差异。
经过比对,我在论文中使用的数据基于Wind,但又发现Wind数据库在2010年8月15日的数据出现几分钟空白的问题,在2013年7月12日的数据又出现明显的错误,故用聚源和天软的数据来填补和修正。
然后将整理好的数据分为:样本内:【2010-04-16,2012-04-15】(481个交易日)的1分钟高频数据(开盘价、最高价、最低价、收盘价);样本外:【2012-04-16,2014-02-07】(438个交易日)的1分钟高频数据(开盘价、最高价、最低价、收盘价);再将交易规则整理如下:3期货交易标的:IF00股指期货主力合约。
参数选择:使用经典的参数f1=0.35;f2=0.07;f3=0.25。
初始资金投入:沪深300股指期货历史时期最高时达到3630点,每点300元,当时的保证金比例为15%(2012年6月29日起下调为12%),3630×300×15% = 163350元。
考虑到期货公司的保证金比例一般高于中金所标准(15%左右),且要防范爆仓的风险,所以将初始资金设置为20万元,每次只交易一手。
单次交易手续费:0.00007(万分之零点七)。
滑点:滑点是指下单的点位和最后成交的点位有差距,有可能是网络延迟,有可能是当时行情波动剧烈,也有可能是不正规的做市商故意做手脚所造成的。
沪深300股指期货最小变动价位为0.2,单次交易滑点一般低于3×0.2=0.6,故每次下单由于滑点造成的成本设置为1手0.6×300=180元。
是否隔夜留仓:R-Breaker是日内交易策略,若某个交易日已开仓且收盘前仍未触发平仓信号,则在收盘时强行平仓,不隔夜留仓以避免跳空的风险。
跳空是指当日开盘价高于或低于前一交易日两个申报单位以上。
以下是样本内2010年4月16日至2012年4月15日隔夜跳空点数的分布图。
481个交易日中有305个交易日跳空点数(绝对值)大于5,占了63.41%,最大跳空点数甚至达到了102.4,风险非常大。