🤔 Что такое скользящее среднее?



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



🚩Зачем нужно



🟠Сглаживания данных

Уменьшение случайных колебаний и шума в данных.

🟠Выявления трендов

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

🟠Прогнозирования

Помощь в прогнозировании будущих значений на основе текущих трендов.

🟠Анализа финансовых данных

Часто используется в техническом анализе для выявления трендов на фондовых рынках.



🚩Типы



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

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

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

Похож на SMA, но при этом более недавним значениям присваиваются большие веса.

🟠Экспоненциальное скользящее среднее (EMA)

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



🚩Как вычисляется



Для простого скользящего среднего (SMA) на основе последних \( n \) значений, формула выглядит следующим образом:

\text{SMA} = \frac{X_{t} + X_{t-1} + X_{t-2} + \ldots + X_{t-(n-1)}}{n}




Где \( X \) – значения временного ряда, а \( t \) – текущее время.



Пример с кодом

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt



# Пример данных

data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]



# Преобразование данных в DataFrame

df = pd.DataFrame(data, columns=['Value'])



# Вычисление скользящего среднего с окном 3

df['SMA_3'] = df['Value'].rolling(window=3).mean()



# Построение графика

plt.plot(df['Value'], label='Исходные данные')

plt.plot(df['SMA_3'], label='Скользящее среднее (окно=3)')

plt.legend()

plt.title('Пример Скользящего Среднего')

plt.show()




Ставь 👍 и забирай 📚 Базу знаний