量化策略开发,高质量社群,交易思路分享等相关内容
在本文中,我将提出一种新的自适应移动平均线 (AMA)。它会根据市场波动性自动调整参数,紧密追踪价格走势,在盘整区域保持平稳。新的 AMA 非常适合波段交易。
这种工作是为了量化已故中国伟大交易员缠中说禅所开发的创新交易方法。他的贡献的重要性堪比K线图。
新的 AMA 旨在使移动平均线在趋势市场中紧密跟随价格,并在盘整时段保持平稳。
引言
技术指标为交易员提供了关于价格走势的一项或多项信息:方向、动量和可能的边界。
移动平均线 (MA) 是可以帮助解决这三种属性的一类指标。MA 的一个功能是过滤掉噪声,揭示潜在的趋势。另一个功能是预测未来的走势,提供支撑和阻力。然而,MA 也有一个明显的缺点:它们会引入滞后。
许多版本的移动平均线已经被开发出来,以达到快速响应、减少滞后并尽可能过滤噪声的目的。它们的表现因算法和回看周期的构建不同而各有不同。为了适应他们的交易风格,交易者在选择特定的 MA 和回看周期时需要在响应性和虚假波动之间做出折衷。
市场总是在变化。使用固定的回看周期可能具有有限的成功率。最好的是,移动平均线随着市场条件变化而调整,以适应变化,并在同时最小化虚假波动。Perry Kaufman 的自适应移动平均线,最早在他 1995 年的书《Smarter Trading》中描述,是 AMA 如何自我调整以适应变化环境的一个极好示例。
本文提出了一种新的自适应移动平均线方案,它具有响应性、平滑性和稳健性。
移动平均线的原理:
自适应移动平均线可以逐步计算如下:
AMA=α×Close+(1−α)×AMA(1) —等式1
其中,
α = 平滑因子(取值介于 0 和 1 之间,取决于回看周期);
Close = 当期收盘价;
AMA(1) = 前一周期的 AMA 值。
Kaufman 的技术通过市场方向与波动性的比例来调整平均值的平滑因子。他使用了一个变量,称为效率比 (ER):
效率比=方向/波动性 —等式2
其中,
方向 = Close -Close(n);
波动性 =Sum (absolute value(close -cose(1)), n).
新的自适应移动平均线:
显然,自适应移动平均线的性能取决于平滑因子的计算方式。Kaufman 的效率比方程激发了我去思考如何从“结果与努力”的角度来衡量效率:
RE=结果/努力—等式3
问题在于如何合理、明智地定义“结果”与“努力”。
努力:
价格从 n 个周期前的点移动到当前的位置。在这一过程中,价格每个周期内上下波动。如果不把这种波动称为“噪声”,我们可以把它称为“努力”,因为多头和空头在每个周期内争夺最终的价格位置。
由于这个过程是连续的,每个周期的范围可以通过 Wilder 的真实波幅 (TR) 来确定。总结 n 个周期的真实波幅即可得到总范围:
努力=Summation (TR, n) —等式4
结果:
通常,观察期开始和结束时价格的变化被视为结果(我们只对绝对值感兴趣,以确保 α 不小于零):
结果=∣当前收盘价−n周期前的收盘价∣—等式5
这个定义只考虑了结果,而忽略了过程中发生的细节。如果我们从另一个角度来思考,把结果定义为整个过程的范围,而不是最终的变化,是否合理?
在所考察的周期内,价格从起点 O 移动到终点 C。在这一过程中,价格达到了最高点 H 和最低点 L。多头试图推动价格走高,空头试图压低价格。最终,我们可以将“结果”定义为价格移动的最大范围:
结果=n周期最高价−n周期最低价 —等式6
根据公式 5 或 6 代入公式 3,可以用一句代码计算平滑因子:
α = Result / Sum(TR, n) —等式7
由于价格范围始终不大于总波段,因此 aaa 必定在 0 和1 之间,这对方程 1 的有效性是必须的。
讨论
当价格处于单边趋势时,无论是上升还是下降,最大范围几乎等于多头和空头每个周期努力的总和,α 会接近 1,或者不会接近 0。从公式 1 中,新的 AMA 值主要由当前价格决定。因此,AMA 曲线在趋势市场中会紧跟价格走势。
而在盘整区域,范围很小,α 也会很小。因此,当前价格对 AMA 值的贡献很小, AMA 将接近其之前的值。AMA 曲线在这种情况下相对平稳。
这些行为正是我们对 AMA 期望的表现。
演示
图 1 展示了公式 5 和 6 中两个 AMA 方案的对比。这些 AMA 对澳大利亚股票市场指数 (XJO) 从 2022 年 4 月到 12 月的价格走势进行了追踪。价格运动被分为八个阶段,回看周期为 30。
图1:两种自适应移动平均(AMA)方案。演示了2022年4月至2022年12月初澳大利亚股指(XJ0)的两种 AMA方案(公式5和公式6)。价格变动分为八个部分。回顾期为30。在急剧反向移动后,自适应移动平均线难以反转,在平坦时期以及在拥堵时期(D 和 G)也是如此。
在快速运动的 A、C、E 和 H 段,AMA 紧密跟随价格走势而没有虚假波动。在 F 段,价格回撤时,位移方案试图跟随回撤,而最大范围方案保持了趋势。AMA 在急剧反转后的 D 和 G 段表现为平稳,盘整期内也是如此。
有趣的是,在某些阶段,位移方案表现更好,而在其他阶段,最大范围方案表现得更好。总体而言,最大范围方案影响较小并且与价格更紧密地保持在一起。这可能对交易系统设计者略占优势。然而,它会遭受更多的波动。价格置换方案将在后面的示例中使用。
图2显示了AMA与简单移动平均线(SMA)和指数移动平均线的比较。的平均值(EMA)。显然,新的AMA在趋势条件下比两者都更敏感。它比其他两个移动平均线更能捕捉到更多的趋势变化,而较少出现拉锯战,使其成为趋势检测并作为回旋交易的尾部停留点。趋势检测和作为波段交易的跟踪止损。
图2:同一时期的自适应移动平均线与简单移动平均线(SMA)和指数移动平均线(EMA)的比较。新的自适应移动平均线在趋势条件下比它们中的任何一个都更敏感。
图 3 中展示了 AMA 与两个较短周期的 EMA(10 和 20 周期)的对比。在快速移动阶段,AMA 的响应速度比 10 周期 EMA 更快,而在盘整阶段,AMA 的速度比 20 周期 EMA 慢,从而减少了短期移动平均线造成的虚假波动。
图3:AMA与10和20周期的EMA比较.将AMA与10和20周期的较短周期的EMA进行比较,在快速移动期间,AMA比10周期的 EMA反应更快,在拥堵期间,它比20周期 EMA慢,减少了大多数短期移动平均线遭受的震荡。
图 4 展示了 20、30 和 40 周期的三个不同周期的 AMA 在趋势阶段紧跟价格走势。只有在盘整阶段,它们才会有所分离。这是一种理想的行为,意味着 AMA 对参数的选择不敏感。
图4:不同周期的AMA。比较三个不同周期(20、30和 40)的AMA。在趋势期间,三个AMA都密切跟踪价格。在震荡期间,它们分开一点。AMA 对范围中参数的选择不太敏感。
结论
我提出的自适应移动平均线 (AMA) 展现了它对价格变化的响应性,即使在快速波动的市场中也是如此。文中的示例只展示了 XJO 指数,但 AMA 同样适用于其他工具。它相当平滑,并对参数变化具有较好的容忍度。该算法非常简单,只需要一行代码;尽管如此,性能依然令人满意。
代码实现
我们在TBQUANT里实现了这个借鉴缠师思路的新版AMA均线,它相比其他均线有两个特点:
在震荡行情里,新版AMA比其他均线波动更小。
在趋势行情里比其他均线响应更快。
(MA,EMA,新AMA同为20日参数)
应用层面:
1.它比旧版AMA均线使用的参数更少,仅仅需要一个周期参数,而旧版AMA均线最少需要三个可变参数。这对于基于均线构建的交易策略可以大大节省参数开支,把参数用于其他模块的实现。
2.新版AMA均线算法可用于移动出场的止盈止损,制作一个自适应的移动出场线。
3.平替MA、EMA、SMA等传统均线指标。
源码:
源码已经上传至俱乐部,小助理:viquant01 加入2024俱乐部下载