18.12.2020

Скользящая средняя


Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны некоторому среднему значению исходной функции за предыдущий период.

Скользящие средние обычно используются с данными временных рядов для сглаживания краткосрочных колебаний и выделения основных тенденций или циклов.

Математически скользящее среднее является одним из видов свёртки.

Применение

Скользящие средние используются:

  • В статистике и экономике для сглаживания числовых рядов (в первую очередь временных). Например, для оценки ВВП, показателей занятости или других макроэкономических индикаторов.
  • В технике, при обработке сигналов, анализе систем. См. Скользящая средняя (фильтр).
  • В техническом анализе, в качестве самостоятельного технического индикатора либо в составе других инструментов, см. Скользящая средняя (индикатор).

Этимология

Так как при расчёте скользящего среднего значение функции вычисляется каждый раз заново, при этом учитывается конечное значимое множество предыдущих значений, скользящее среднее «перемещается» (движется), как бы «скользя» по временному ряду.

Виды скользящих средних

Общий случай

В общем случае, взвешенные скользящие средние вычисляются по формуле:

WWMA t = ∑ i = 0 n − 1 w t − i ⋅ p t − i , {displaystyle { extit {WWMA}}_{t}=sum _{i=0}^{n-1}w_{t-i}cdot p_{t-i},} (WWMA 1) где WWMA t {displaystyle { extit {WWMA}}_{t}} — значение взвешенного скользящего среднего в точке t {displaystyle t} ; n {displaystyle n} — количество значений исходной функции для расчёта скользящего среднего; w t − i {displaystyle w_{t-i}} — нормированный вес (весовой коэффициент) t − i {displaystyle t-i} -го значения исходной функции; p t − i {displaystyle p_{t-i}} — значение исходной функции в момент времени, отдалённый от текущего на i {displaystyle i} интервалов.

Нормирование весовых коэффициентов означает, что:

∑ i = 0 n − 1 w t − i = 1. {displaystyle sum _{i=0}^{n-1}w_{t-i}=1.}

Указанную выше формулу с произвольными значениями весовых коэффициентов можно переписать в виде:

WWMA t = ∑ i = 0 n − 1 W t − i ⋅ p t − i ∑ i = 0 n − 1 W t − i , {displaystyle { extit {WWMA}}_{t}={frac {sum _{i=0}^{n-1}W_{t-i}cdot p_{t-i}}{sum _{i=0}^{n-1}W_{t-i}}},} (WWMA 2) где WWMA t {displaystyle { extit {WWMA}}_{t}} — значение взвешенного скользящего среднего в точке t {displaystyle t} ; n {displaystyle n} — количество значений исходной функции для расчёта скользящего среднего; W t − i {displaystyle W_{t-i}} — вес (весовой коэффициент) t − i {displaystyle t-i} -го значения исходной функции; p t − i {displaystyle p_{t-i}} — значение исходной функции в момент времени, отдалённый от текущего на i {displaystyle i} интервалов.

Весовые коэффициенты в формулах (WWMA 1) и (WWMA 2) соотносятся как:

w t − i = W t − i ∑ i = 0 n − 1 W t − i . {displaystyle w_{t-i}={frac {W_{t-i}}{sum _{i=0}^{n-1}W_{t-i}}}.}

Зачастую, в качестве веса используют либо 1 (для простого скользящего среднего — SMA), либо формальные ряды, например, арифметическая прогрессия (WMA) или экспоненциальная функция (EMA). Но в качестве весового коэффициента могут выступать и значения связанного временного ряда. Например, для взвешивания биржевых цен по объёмам сделки (VMA) в качестве p t − i {displaystyle p_{t-i}} следует рассматривать цену сделки по инструменту, а в качестве W t − i = V t − i {displaystyle W_{t-i}=V_{t-i}} — объём в момент времени t − i {displaystyle t-i} :

VMA t = ∑ i = 0 n − 1 V t − i ⋅ p t − i ∑ i = 0 n − 1 V t − i . {displaystyle { extit {VMA}}_{t}={frac {sum _{i=0}^{n-1}V_{t-i}cdot p_{t-i}}{sum _{i=0}^{n-1}V_{t-i}}}.}

Простое скользящее среднее

Простое скользящее среднее, или арифметическое скользящее среднее (англ. simple moving average, англ. SMA) численно равно среднему арифметическому значений исходной функции за установленный период и вычисляется по формуле:

SMA t = 1 n ∑ i = 0 n − 1 p t − i = {displaystyle { extit {SMA}}_{t}={frac {1}{n}}sum _{i=0}^{n-1}p_{t-i}=} = p t + p t − 1 + ⋯ + p t − i + ⋯ + p t − n + 2 + p t − n + 1 n , {displaystyle ={frac {p_{t}+p_{t-1}+cdots +p_{t-i}+cdots +p_{t-n+2}+p_{t-n+1}}{n}},} где SMA t {displaystyle { extit {SMA}}_{t}} — значение простого скользящего среднего в точке t {displaystyle t} ; n {displaystyle n} — количество значений исходной функции для расчёта скользящего среднего (сглаживающий интервал), чем шире сглаживающий интервал, тем более плавным получается график функции; p t − i {displaystyle p_{t-i}} — значение исходной функции в точке t − i {displaystyle t-i} .

Полученное значение простой скользящей средней относится к середине выбранного интервала, однако, традиционно его относят к последней точке интервала.

Из предыдущего своего значения простое скользящее среднее может быть получено по следующей рекуррентной формуле:

SMA t = SMA t − 1 − p t − n n + p t n , {displaystyle { extit {SMA}}_{t}={ extit {SMA}}_{t-1}-{frac {p_{t-n}}{n}}+{frac {p_{t}}{n}},} где SMA t {displaystyle { extit {SMA}}_{t}} — значение простого скользящего среднего в точке t {displaystyle t} , SMA t − 1 {displaystyle { extit {SMA}}_{t-1}} — предыдущее значение простого скользящего среднего; p t − n {displaystyle p_{t-n}} — значение исходной функции в точке t − n {displaystyle t-n} (в случае временного ряда, самое «раннее» значение исходной функции, используемое для вычисления предыдущей скользящей средней); p t {displaystyle p_{t}} — значение исследуемой функции в точке t {displaystyle t} (в случае временного ряда, текущее — последнее значение).

Данной формулой удобно пользоваться, чтобы избежать регулярного суммирования всех значений.

Например, простое скользящее среднее для временного ряда с количеством периодов равным 10 вычисляется как:

SMA t = p t + p t − 1 + p t − 2 + p t − 3 + p t − 4 + p t − 5 + p t − 6 + p t − 7 + p t − 8 + p t − 9 10 = {displaystyle { extit {SMA}}_{t}={frac {p_{t}+p_{t-1}+p_{t-2}+p_{t-3}+p_{t-4}+p_{t-5}+p_{t-6}+p_{t-7}+p_{t-8}+p_{t-9}}{10}}=} = SMA t − 1 − p t − 10 10 + p t 10 , {displaystyle ={ extit {SMA}}_{t-1}-{frac {p_{t-10}}{10}}+{frac {p_{t}}{10}},} где SMA t {displaystyle { extit {SMA}}_{t}} — значение простого скользящего среднего в точке t {displaystyle t} ; p t − i {displaystyle p_{t-i}} — значение исходной функции в момент времени, отдалённый от текущего на i {displaystyle i} интервалов.

Выделяют следующие недостатки простого скользящего среднего:

  • Равенство весового коэффициента 1.
  • Двойная реакция на каждое значение (смотрите рекуррентную формулу): в момент входа в окно вычислений и в момент выхода из него.
  • Взвешенные скользящие средние

    Общие положения

    Иногда, при построении скользящей средней, некоторые значения исходной функции целесообразно сделать более значимыми. Например, если предполагается, что внутри интервала сглаживания имеет место нелинейная тенденция, или в случае временных рядов, последние — более актуальные данные могут быть весомее предыдущих.

    Бывает, что исходная функция многомерна, то есть представлена сразу несколькими связанными рядами. В этом случае, может возникнуть необходимость объединить в итоговой функции скользящей средней все полученные данные. Например, временные ряды биржевых цен, обычно, для каждого момента времени представлены как минимум двумя значениями — ценой сделки и её объёмом. Необходим инструмент для вычисления скользящей средней цены, взвешенной по объёму.

    В этих и подобных случаях применяются взвешенные скользящие средние.

    Взвешенное скользящее среднее

    Взвешенное скользящее среднее (англ. weighted moving average — англ. WMA), точнее линейно взвешенное скользящее среднее — скользящее среднее, при вычислении которого вес каждого члена исходной функции, начиная с меньшего, равен соответствующему члену арифметической прогрессии. То есть, при вычислении WMA для временного ряда, мы считаем последние значения исходной функции более значимы чем предыдущие, причём функция значимости линейно убывающая.

    Например, для арифметической прогрессии с начальным значением и шагом, равным 1, формула вычисления скользящей средней примет вид:

    WMA t = n ⋅ p t + ( n − 1 ) ⋅ p t − 1 + ⋯ + ( n − i ) ⋅ p t − i + ⋯ + 2 ⋅ p t − n + 2 + 1 ⋅ p t − n + 1 n + ( n − 1 ) + ⋯ + ( n − i ) + ⋯ + 2 + 1 = {displaystyle { extit {WMA}}_{t}={frac {ncdot p_{t}+(n-1)cdot p_{t-1}+cdots +(n-i)cdot p_{t-i}+cdots +2cdot p_{t-n+2}+1cdot p_{t-n+1}}{n+(n-1)+cdots +(n-i)+cdots +2+1}}=} = 2 n ⋅ ( n + 1 ) ∑ i = 0 n − 1 ( n − i ) ⋅ p t − i , {displaystyle ={frac {2}{ncdot (n+1)}}sum _{i=0}^{n-1}(n-i)cdot p_{t-i},} где WMA t {displaystyle { extit {WMA}}_{t}} — значение взвешенного скользящего среднего в точке t {displaystyle t} ; n {displaystyle n} — количество значений исходной функции для расчёта скользящего среднего, : : p t − i {displaystyle p_{t-i}} — значение исходной функции в момент времени, отдалённый от текущего на i {displaystyle i} интервалов.

    При этом знаменатель функции, в этом случае, равен треугольному числу — сумме членов арифметической прогрессии с начальным членом и шагом равными 1:

    n ⋅ ( n + 1 ) 2 . {displaystyle {frac {ncdot (n+1)}{2}}.}

    Экспоненциально взвешенное скользящее среднее

    Экспоненциально взвешенное скользящее среднее, экспоненциальное скользящее среднее (англ. exponentially weighted moving average — англ. EWMA, англ. exponential moving average — англ. EMA) — разновидность взвешенной скользящей средней, веса которой убывают экспоненциально и никогда не равны нулю. Определяется следующей формулой:

    EMA t = α ⋅ p t + ( 1 − α ) ⋅ EMA t − 1 , {displaystyle { extit {EMA}}_{t}=alpha cdot p_{t}+(1-alpha )cdot { extit {EMA}}_{t-1},} где EMA t {displaystyle { extit {EMA}}_{t}} — значение экспоненциального скользящего среднего в точке t {displaystyle t} (последнее значение, в случае временного ряда); EMA t − 1 {displaystyle { extit {EMA}}_{t-1}} — значение экспоненциального скользящего среднего в точке t − 1 {displaystyle t-1} (предыдущее значение в случае временного ряда); p t {displaystyle p_{t}} — значение исходной функции в момент времени t {displaystyle t} (последнее значение, в случае временного ряда); α {displaystyle alpha } — (сглаживающая константа от англ. smoothing constant) коэффициент характеризующий скорость уменьшения весов, принимает значение от 0 и до 1, чем меньше его значение тем больше влияние предыдущих значений на текущую величину среднего.

    Первое значение экспоненциального скользящего среднего, обычно принимается равным первому значению исходной функции:

    EMA 0 = p 0 . {displaystyle { extit {EMA}}_{0}=p_{0}.}

    Коэффициент   α {displaystyle alpha } , может быть выбран произвольным образом, в пределах от 0 до 1. Например, он может быть выражен через величину окна усреднения:

      α = 2 n + 1 . {displaystyle alpha ={frac {2}{n+1}}.}

    Экспоненциальное скользящее среднее произвольного порядка

    В обычном экспоненциальном скользящем среднем сглаживанию подвергаются значения исходной функции, однако, сглаживанию могут подвергаться и значения результирующей функции. Поэтому некоторые авторы определяют понятие экспоненциальные скользящее среднее произвольного порядка, которые вычисляются по формуле:

    EMA t ( n ) = α ⋅ EMA t ( n − 1 ) + ( 1 − α ) ⋅ EMA t − 1 ( n ) , {displaystyle { extit {EMA}}_{t}^{(n)}=alpha cdot { extit {EMA}}_{t}^{(n-1)}+(1-alpha )cdot { extit {EMA}}_{t-1}^{(n)},} где EMA t ( n ) {displaystyle { extit {EMA}}_{t}^{(n)}} — значение экспоненциального скользящего среднего n {displaystyle n} -го порядка в точке t {displaystyle t} (последнее значение, в случае временного ряда); EMA t − 1 ( n ) {displaystyle { extit {EMA}}_{t-1}^{(n)}} — значение экспоненциального скользящего среднего n {displaystyle n} -го порядка в точке t − 1 {displaystyle t-1} (предыдущее значение в случае временного ряда); E M A t ( n − 1 ) {displaystyle {EMA}_{t}^{(n-1)}} — значение экспоненциального скользящего среднего ( n − 1 ) {displaystyle (n-1)} -го порядка в точке t {displaystyle t} (последнее значение, в случае временного ряда); α {displaystyle alpha } — сглаживающая константа.

    Экспоненциально взвешенные скользящие средние второго и третьего порядка обозначают иногда как, соответственно DMA {displaystyle { extit {DMA}}} (от англ. double exponential moving average — двойное (двукратное) экспоненциальное скользящее среднее) и TMA {displaystyle { extit {TMA}}} (от англ. triple exponential moving average — тройное (трёхкратное) экспоненциальное скользящее среднее):

    DMA t = α ⋅ EMA t + ( 1 − α ) ⋅ DMA t − 1 , {displaystyle { extit {DMA}}_{t}=alpha cdot { extit {EMA}}_{t}+(1-alpha )cdot { extit {DMA}}_{t-1},} TMA t = α ⋅ DMA t + ( 1 − α ) ⋅ TMA t − 1 . {displaystyle { extit {TMA}}_{t}=alpha cdot { extit {DMA}}_{t}+(1-alpha )cdot { extit {TMA}}_{t-1}.}

    Модифицированное скользящее среднее

    Модифицированное скользящее среднее (от англ. modified moving average — англ. MMA; иногда называемое англ. running moving average — англ. RMA и англ. smoothed moving average) определятся как:

    MMA t = p t + ( n − 1 ) ⋅ MMA t − 1 n , {displaystyle { ext{MMA}}_{t}={frac {p_{t}+(n-1)cdot { ext{MMA}}_{t-1}}{n}},} где MMA t {displaystyle { extit {MMA}}_{t}} — значение модифицированного скользящего среднего в точке t {displaystyle t} (последнее значение, в случае временного ряда); MMA t − 1 {displaystyle { extit {MMA}}_{t-1}} — значение модифицированного скользящего среднего в точке t − 1 {displaystyle t-1} (предыдущее значение в случае временного ряда); n {displaystyle n} — количество значений исходной функции для расчёта скользящего среднего (сглаживающий интервал).

    Несложно заметить, что модифицированное скользящее среднее является частным случаем экспоненциального скользящего среднего, для которого сглаживающая константа равна обратному значению величины сглаживающего интервала:

    α = 1 n . {displaystyle alpha ={frac {1}{n}}.}

    Смежные функции

    Скользящие на основе других усредняющих функций

    По аналогии со скользящими средними значениями, построенными на основе арифметического среднего, можно использовать и другие усредняющие функции (среднее степенное: среднее квадратическое, среднее гармоническое и т. д.; среднее геометрическое; медиану и т. п.) и их взвешенные аналоги. Конкретный выбор зависит от природы исследуемой исходной функции.

    Простая скользящая медиана

    Простая скользящая медиана (англ. simple moving median — англ. SMM) — функция, значение которой в каждой точке определения численно равна медиане значений исходной функции за установленный период:

    SMM t = Median ( p t , p t − 1 , … , p t − n + 1 ) , {displaystyle { extit {SMM}}_{t}={ ext{Median}}(p_{t},p_{t-1},ldots ,p_{t-n+1}),} где SMM t {displaystyle { extit {SMM}}_{t}} — значение простой скользящей медианы в точке t {displaystyle t} ; n {displaystyle n} — количество значений исходной функции для расчёта скользящей медианы (сглаживающий интервал); p t − i {displaystyle p_{t-i}} — значение исходной функции в точке t − i {displaystyle t-i} .

    Динамические скользящие средние

    В 1990-х годах был предложен ряд скользящих средних с динамически изменяемой шириной окна (или сглаживающим коэффициентом), смотрите, например, Адаптивная скользящая средняя Кауфмана.

    Кумулятивное скользящее среднее

    Кумулятивное скользящее среднее (англ. cumulative moving average) численно равно среднему арифметическому значений исходной функции за весь период наблюдений:

    CA t = 1 t ∑ i = 1 t p i = p t + p t − 1 + ⋯ + p 2 + p 1 t , {displaystyle { extit {CA}}_{t}={frac {1}{t}}sum _{i=1}^{t}p_{i}={frac {p_{t}+p_{t-1}+cdots +p_{2}+p_{1}}{t}},} где CA t {displaystyle { extit {CA}}_{t}} — кумулятивное скользящее среднее в момент t {displaystyle t} ; t {displaystyle t} — количество доступных для вычисления интервалов; p i {displaystyle p_{i}} — значение исходной функции в точке i . {displaystyle i.}

    В реальных вычислениях, когда предыдущее значение кумулятивного скользящего среднего известны, применяются также следующие формулы:

    CA t = p t + ( t − 1 ) ⋅ CA t − 1 t = CA t − 1 + p t − CA t − 1 t , {displaystyle { extit {CA}}_{t}={frac {p_{t}+(t-1)cdot { extit {CA}}_{t-1}}{t}}={ extit {CA}}_{t-1}+{frac {p_{t}-{ extit {CA}}_{t-1}}{t}},} где CA t {displaystyle { extit {CA}}_{t}} — кумулятивное скользящее среднее в момент t {displaystyle t} ; CA t − 1 {displaystyle { extit {CA}}_{t-1}} — кумулятивное скользящее среднее в момент t − 1 {displaystyle t-1} (предыдущее значение, в случае временного ряда); p t {displaystyle p_{t}} — значение исходной функции в момент времени t {displaystyle t} (в случае временного ряда — последнее значение); t {displaystyle t} — количество доступных, для вычисления интервалов, причём CA 0 = 0. {displaystyle { extit {CA}}_{0}=0.}

    Кумулятивная сумма

    Кумулятивное скользящее среднее не следует путать с кумулятивной суммой, которая вычисляется суммированием всех значений ряда нарастающим итогом:

    Cumulative t = p t + Cumulative t − 1 = ∑ i = 1 t p i = p t + p t − 1 + ⋯ + p 2 + p 1 , {displaystyle { extit {Cumulative}}_{t}=p_{t}+{ extit {Cumulative}}_{t-1}=sum _{i=1}^{t}p_{i}=p_{t}+p_{t-1}+cdots +p_{2}+p_{1},} где Cumulative t , Cumulative t − 1 {displaystyle { extit {Cumulative}}_{t},{ extit {Cumulative}}_{t-1}} — текущее и предыдущее значения кумулятивной суммы; p i {displaystyle p_{i}} — значение исходного ряда в момент i . {displaystyle i.}





    Яндекс.Метрика