量化择时:自适应均线的算法

0
回复
5090
查看
[复制链接]

70

主题

2

回帖

252

积分

超级版主

积分
252
来源: 2019-6-27 23:12:36 显示全部楼层 |阅读模式

自适应均线

上一节介绍的固定均线是最简单的情况,虽然效果很好,但是也有很大的缺点。通常均线总是有一个给定的参数,如10日均线60日均线,其中10日均线变化快一点,60日均线变化慢一点。这个参数是由人给定的,一旦给定了,在整个画线的过程中不管行情怎么变动都不会变化。比如,在市场反复震荡时短期均线频繁地转向,而在市场快速上升或者下跌时长期均线反应迟钝,这就会造成频繁发出错误开平仓信号。

那么,能不能把均线做成自适应的,这样在行情反复震荡的时候慢一点,在行情快速变化的时候快一点跟上趋势?我们可以期待,因为一个自适应的系统有自动学习和自动调整的功能,应该比一个固定的系统做得更好一点。解决方案是有的,新的工具叫自适应均线,该均线由考夫曼所创造。

黄金 9.jpg

自适应均线的算法

1)价格轨迹的效率

一般来说,投资者都有这样的经验,就是在震荡多的走势上要使用较慢的均线,在趋势快速展开的走势上需要用更快的均线。

如何用数量化的办法来区分这两种不同的走势?这里需要引入一个价格轨迹效率的概念。

在行情的走势图中,可以大致分为两种走势:一种是一直上攻的走势,被称为高效率的,因为每一天收盘价格的变动都直接贡献于总的涨幅;另一种是反复震荡的走势,被称为低效率的,很多次收盘价格的变化相互抵消。类似于物理学中路程和位移的概念,如果走过的路程很长,但是位移很小,在实现位移的目标考量下,这样的运动可以称为低效率的。

很自然地,可以导出价格轨迹的效率定义:

假定在过去n个收盘价格分别为1P2,...,Pn,那么这个价格序列的效率为:

190627.jpg

即位移和路程之比。

2)动态平均算法

动态平均是一个迭代的定义,比如时间序列yr是另一个时间序列xt的动态平均,意味着:

(2)yt=axt+(1-a)yt-1

y0=x0

其中,参数a是每一步的加权因子,它可以随着时间的变化而变化,因而可以实现调节平均线的快慢而达到自适应的效果。

价格轨迹的效率E是给定长度的价格历史序列的统计特征,加权因子a应该随着E变化,其变化的法则可以设置成:

(3)a=(c+dE)δ

其中,c,d,δ都是新的参数,加上计算E必须用到的参数n,这个自适应系统有了4个参数,看起来比之前的固定平均线参数更多,更需要人工设置,但是这4个参数对不同的行情是不太敏感的,一旦设置好,可以适应更多种不同形态的行情。正如一个智能化的机械不可避免地会增加更多部件。

可以发现对于上证指数,最近5年用60日均线的效果很好(因为市场大起大落

波段是清晰的),但是回溯到2005年前,市场的波动形态就不这么明显,60日均线就无法适应了。利用自适应均线,虽然参数较多,但在给定一套合适的参数下,可以做到既适合2005年后的市场,也适合之前的市场。

总结起来,自适应均线的算法如下:

(1)计算从当前收盘价起,最新的1个历史收盘价格的效率E。

(2)根据上文公式(3)计算a。

(3)根据上公式(2)计算价格序列的动态平均。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册
关注微信