Рубрики
Без рубрики

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

В этой статье мы рассчитаем взвешенное скользящее среднее в Python. Среднее среднее значение для веса или WMA широко используется в торговых установках

Автор оригинала: Pankaj Kumar.

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

В этой статье мы рассчитаем взвешенное скользящее среднее в Python. Среднее среднее значение для веса или WMA широко используется в торговых установках

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

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

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

ARIMA (AutoRegressive Integrated Mode Mode Model) Algorithm использует скользящие средние, чтобы сделать прогнозы данных серии времени.

Примеры: Цены на акции, отчеты о погоде, качество воздуха, валовой внутренний продукт, занятость и т. Д.

Типы движущихся средних

  • Простые скользящие средние (SMA)
  • Совокупные скользящие средние (CMA)
  • Экспоненциальные скользящие средние (EMA)
  • Взвешенное скользящее среднее (WMA)

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

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

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

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

Взвешенное скользящее среднее (WMA) является техническим индикатором, который присваивает большее взвешивание к самым последним точкам данных и менее взвешивание к точкам данных в далеком прошлом.

Мы получаем WMA путем умножения каждого номера в данные, установленные заранее определенным весом и суммируя полученные значения. WMA используется трейдерами для создания сигналов торговли, указывать, когда покупать или продавать акции.

Вот простой пример:

Предположим, вам необходимо рассчитать WMA 3 закрытия цен на дневной графике. Цены ₹ 10, ₹ 12, ₹ 15 соответственно, где ₹ 15 – это последняя цена.

Вес назначен на каждую цену на основе препарата цены. Таким образом, в этом случае ₹ 15 будет присвоен вес 3, ₹ 12 получит вес как 2, а ₹ 10 получит вес как 1. Помните, что это упрощенные расчеты и в реальных сценариях, расчеты. может иметь вес как десятичные точки.

Далее мы рассмотрим сумму весов периода времени 1 + 2 +.

Наконец, мы вычислим WMA с весами следующим образом:

[(₹ 15 * 3) + (₹ 12 * 2) + (₹ 10 * 1)]/6 = 13.1666666667.

В нашем расчете 3-летний WMA вышеуказанных цен составляет 13.16666666667.

Реализация взвешенной движущейся средней формулы в Python

Давайте не будем работать с реализацией Формулы WMA, мы говорили о ранее, в Python. Функция ниже может использоваться в любых данных временных данных, которые вы проходите к функции.

def weightedmovingaverage(Data, period):
    weighted = []
    for i in range(len(Data)):
            try:
                total = np.arange(1, period + 1, 1) # weight matrix
                matrix = Data[i - period + 1: i + 1, 3:4]
                matrix = np.ndarray.flatten(matrix)
                matrix = total * matrix # multiplication
                wma = (matrix.sum()) / (total.sum()) # WMA
                weighted = np.append(weighted, wma) # add to array
            except ValueError:
                pass
    return weighted

Выход с рандомизированными данными ценообразования:

WMA.

Заключение

Взвешенные скользящие средние присваивают более тяжелые взвешивания до более точных точек данных, поскольку они являются более актуальными, чем точки данных в далеком прошлом. Сумма взвешивания должна добавлять до 1 (или на 100 процентов). В случае простого скользящего среднего, весы одинаково распределены.

Оставайтесь настроиться на большее количество статей на Python!