Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
移动平均法计算公式_简单移动平均是什么,希望能够帮助你!!!。
作者:石川
链接:https://zhuanlan.zhihu.com/p/
来源:知乎
已获得作者同意转载。
移动平均(Moving Average,MA),又称移动平均线,简称均线。作为技术分析中一种分析时间序列的常用工具,常被应用于股票价格序列。移动平均可过滤高频噪声,反映出中长期低频趋势,辅助投资者做出投资判断。
根据计算方法的不同,流行的移动平均包括简单移动平均、加权移动平均、指数移动平均,更高阶的移动平均算法则有分形自适应移动平均、赫尔移动平均等。这其中,简单移动平均又最为常见。下图为上证指数日线的 5 个不同计算窗口(20 日,50 日,120 日,200 日,300 日)的简单移动平均线。
简单移动平均(Simple Moving Average, SMA)就是对时间序列直接求等权重均值,因此使用简单。但其最令人诟病的就是它的滞后性。从上图不难看出,随着计算窗口 
事实上,任何移动平均算法都会呈现一定的滞后性。它以滞后性的代价换来了平滑性,移动平均必须在平滑性和滞后性之间取舍。然而,滞后性是怎么产生的呢?简单移动平均在时间上滞后多少呢?有没有什么高级的移动平均算法能在保证平滑性的同时将滞后性减小到最低呢?这些就是本文要回答的问题。
移动平均的本质是一种低通滤波。它的目的是过滤掉时间序列中的高频扰动,保留有用的低频趋势。如何从时间序列中抽取出真正的低频趋势呢?无论采取哪种移动平均算法,理论上的计算方法都相同,下面我们简要说明。同时,我们也会清晰地阐述该计算方法仅在理论上有效,而在实际应用中是无法实现的,并由此揭示产生滞后性的原因。
假设我们有一个时间序列 
在理论上,在任意 



其中, 




加入长度为 


然而,无论是否使用加窗函数,上述公式最大的问题是,在计算 

正因如此,在实际应用中,我们无法使用 




如此处理后,对于实时数据,在当前时刻 




没有未来数据便是滞后的根本原因。
对于简单移动平均来说,在窗口 












既然无论如何都没有未来数据,那么是否意味着我们就只能接受移动平均的滞后性呢?答案是否定的。换个角度来考虑这个问题,滞后性说明由简单移动平均计算得到的低频趋势对近期的最新数据不够敏感。这是由于它在计算低频趋势时,对窗口内所有的数据点都给予相同的权重。按着这个思路延伸,自然的想法就是在计算移动平均时,给近期的数据更高的权重,而给窗口内较远的数据更低的权重,以更快的捕捉近期的变化。由此便得到了加权移动平均和指数移动平均。
在计算加权移动平均(Weighted Moving Average, WMA)时,窗口内的过滤函数的取值从当前数据到之前第 






在确定了权重后, 

值得一提的是,由于严格的按照线性递减,因此权重会最终在当前时刻之前的第 
以上证指数过去 10 年的日数据为例,下图比较了 
指数移动平均(Exponential Moving Average, EMA)和加权移动平均类似,但不同之处是各数值的加权按指数递减,而非线性递减。此外,在指数衰减中,无论往前看多远的数据,该期数据的系数都不会衰减到 0,而仅仅是向 0 逼近。因此,指数移动平均实际上是一个无穷级数,即无论多久远的数据都会在计算当期的指数移动平均数值时有一定的作用,只不过离当前太远的数据权重非非常低,因此它们的作用往往可以忽略。
在实际应用中, 


其中 








下图比较了 
当 
无论是加权还是指数移动平均,它们都是通过对近期的数值赋予更高的权重来提高低频趋势对近期变化的敏感程度。然而,它们的计算表达式(或算法结构)是固定的,在整个时间序列上的各个时点都使用同样的结构(即一成不变的权重分配方法)计算移动平均,而不考虑时间序列自身的特点。
一个优秀的移动平均算法计算出来的均线应在时间序列自身波动不明显的时点足够平滑,而在时间序列自身发生巨变时迅速捕捉、将滞后最小化。要想达到这种效果,就必须利用时间序列自身的特点。分形自适应移动平均算法就是这样一个有力的工具。
顾名思义,分形自适应移动平均(FRactal Adaptive Moving Average,FRAMA)利用了投资品价格序列的分形特征。简单的说,该算法通过一个简单的公式计算从时间序列从当前时点往前 


分形维数描述时间序列的趋势,其取值在 1 到 2 之间,越大说明趋势越明显,越小说明时间序列越随机。因此,通过连续的计算时间序列局部的分形维数,该算法可以动态的、自适应的根据时间序列的特征计算平滑所用的参数。由于 





具体的,对于当前时点 














计算 FRAMA 均线的步骤:
内的最高价和最低价计算 
内的最高价和最低价计算 
内的最高价和最低价计算 

,并使其满足在 0.01 和 1 之间
带入指数移动平均的公式求解
时刻的 FRAMA 移动平均值下图比较了 
最后,我们再介绍一种业界常用的高级移动平均算法,即赫尔移动平均(Hull Moving Average,HMA)。它由 Alan Hull 发明,故由此得名。该算法最大的特点是在减少滞后的同时有效的提高了均线的平滑程度。
在本文中,我们并不对它背后的逻辑做太多的剖析,这将留到今后介绍。我们直接给出它的计算步骤。对于给定的窗口 
计算 HMA 均线的步骤:
的加权移动平均,并把结果乘以 2(如果
不是整数则取整)
的加权移动平均
,的加权移动平均(如果
不是整数则取整)上述步骤的数学表达式为 
最后,比较 
作为技术分析的利器,移动平均线人人都在看、人人都在用。可又有多少人想得清楚、用的明白呢?本文详尽的分析了移动平均技术的本质,揭示了滞后性产生的原因。通过对五种不同过滤技术的分析和对比,说明了高级的移动平均技术(比如 FRAMA 和 HMA)可以有效的降低滞后性并保证均线的平滑性。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章