Bootstrap

分钟K线数据重构 ATR自适应通道 请高手来迭代

今天我们构建的量化模型,尝试用python搭建,首先它把数据拆分重构,使用15分钟或者更低颗粒度的K线,重构成为1小时线或者半日线。然后在重构的K线上,搭建ATR自适应通道交易模型。

如果说后半部分模型开发是很多软件都可以做的,前半部分就并非如此了。我们要以每天中午12点,下午15点为切分点,把每天的时间序列切分成3段。

让我们从最简单的模型本体交易逻辑开始讲。

一、模型本体——ATR自适应通道

很多做期货动量交易的人都明白,通道突破类策略是典型的趋势策略,这类策略指导构建的交易模型也比较简单清晰,并且将标准差等波动率表达方式考虑到模型中,有助于提升绩效。这里说的提升绩效,一方面是通过通道的中轨确定大致方向,另一方面是通过标准差等波动率指标,确认通道宽度。

首当其中的就是布林带,这个经典指标已经几十年被使用,基本上没人敢说这套系统不能用,但是它毕竟太过于古老,需要改进,这是共识。

典型的通道突破类策略是Aberration,实际上就是布林带,它被翻译理解为“失常、离开正路、越轨”等含义。该模型在均线上,构建了上下两个通道,通过波动率高低调节通道大小,如果价格突破上轨,就做多,如果价格突破下轨,就做空,价格回到中轨平仓,达到一定的自适应突破效果。

它的原理是这样:

// 中轨AverageMA,此处的Length是计算均线的窗口期

AverageMA = Average(Close1,Length);

// 价格序列的标准差

StdValue = StandardDev(Close1,Length);

// 上轨和下轨,此处的StdDev是标准差倍数

UpperBand = Avema StdDev StdValue;

LowerBand = Avema - StdDev StdValue;

今天的改进针对标准差部分,我们发现ATR比标准差更能够反应波动率的真伪,毕竟ATR采用的时间序列信息含量更高。

标准差是一个统计工具,不再叙述。ATR概念由威尔德(J. Welles Wilder)1978年于《New Concepts in Technical Trading Systems》书中提出,它取一定时间周期内的价格波动幅度的移动平均值,和你看到的网络上的注解不同,它并不是主要用于研判买卖时机,也不是做什么反趋势指标,它能感知到波动率。

海通证券测试了ATR和标准差的性能差异,这四种情况虽然特殊,但是以极端方式,体现了标准差和ATR的区别。

图1,标准差的表现力更强,因为价格确实出现了波动幅度变化。

图2,和研报观点相同,ATR可以稳定的保持着较高的水平,能对新的价格运行方向上的波动状态进行有效的刻画,但是标准差不行。

;