Блог им. BackLaN

Сколько нужно данных для прогрева индикатора EMA(10) ?

Ответ МегаМозга ver 2003
Сколько нужно данных для прогрева индикатора EMA(10) ?

Для прогрева (инициализации) индикатора EMA(10) (экспоненциальная скользящая средняя с периодом 10) нужно:


Ответ: минимум 10 данных, но желательно больше

Подробно:

Кол-во баров Что это даёт
10 Минимум, чтобы начать EMA
~20–30 Более стабильное значение EMA
>30 EMA хорошо «вышла на режим»
 

🧠 Почему?

  • EMA считается рекурсивно:

  • Сколько нужно данных для прогрева индикатора EMA(10) ?


  • Первое значение EMA часто инициализируется как SMA(10) — простая средняя из первых 10 значений.

  • После этого EMA начинает «реагировать» на рынок, но вначале она ещё «зависит» от начальных условий.


🔍 Правило 3× или 5×

На практике применяют эмпирическое правило:

  • Чтобы EMA «стабилизировалась», используют 3× до 5× периодов:
  • Для EMA(10) → 30–50 баров данных.


📌 Вывод:

  • Минимум: 10 баров, чтобы EMA вообще появилась.

  • Рекомендуется: 30+ баров, чтобы значения EMA стали «реальными» и пригодными для торговли или анализа.

496 | ★1
16 комментариев
Что в формуле означают обратные слэши, нижние подчеркивания, frac и фигурные скобки?
avatar
master1, исправил
avatar
Если правильно начать, то ема(10) выходит на установившееся значение через 10 отсчетов.
avatar
3Qu, и как правильно ? 
avatar
Beach Bunny, считаем, что до нулевой точки цена была постоянной. С нее ема и начинаем.
avatar
3Qu, не, не получается



import pandas as pd
import numpy as np
import matplotlib.pyplot as plt


# Sample data
np.random.seed(0)
prices = pd.Series(np.random.normal(loc=100, scale=2, size=30))
period = 10


# 1 Standart
ema_classic = prices.ewm(span=period, adjust=False).mean()

# calc from 5pos
start=5
ema_part = prices.iloc[start:].ewm(span=period, adjust=False).mean()
prefix = pd.Series([np.nan] * start, index=prices.index[:start])
ema_classic2 = pd.concat([prefix, ema_part])

## %matplotlib inline
plt.figure(figsize=(12, 8))
plt.plot(prices, label="Цена")
plt.plot(ema_classic, label="EMA Classic")
plt.plot(ema_classic2, label="EMA Classic2")
plt.legend()
plt.title("Сравнение EMA")
plt.show()
avatar
Beach Bunny, не оч хорошо знаю pandas, оч немного с ним работал. Я ема и все индикаторы сам строю.
Я обычно добавляю 1-2 точки к началу ВР, так:
Исходный ряд: х0, х1, х2...
Модифицированный ряд: х0, х0, х0, х1, х2… Да, ема(х0,10) = х0.
Тогда через 10 отсчетов (к х9) ема(10) должна сходиться к ема(10), построенной из минус бесконечности. Если, конечно, ема честная.
avatar
3Qu, первый вариант это считаем что данные у нас есть с нулевого бара,
второй вариант как будто данные есть только с 5 бара
Ну и разницу видно
avatar
Beach Bunny, 2-я ема явно лучше выглядит.) Правильней.
На всяк случай, я еще plt.grid() перед plt.show() на автомате пишу. График лучше смотрится.
avatar
3Qu, дык дело то не в том что лучше выглядит, а в том что оптимизировать будешь по одной EMA, а потом когда начнешь торговать то будешь торговать по другой EMA, думая при этом, что торгуешь по той на которой оптимизировал.
А так-то можно взять Truncated-EMA, у которых нет таких проблем, потому что они считаются немного по другому.
avatar
Beach Bunny, если на периоде Т ема одинаковы, то и беспокоиться не о чем. Кстати, если неодинаковы, это повод задуматься, ведь Т — это время установления.
Всяческие модификации МА я не использую из за неочевидности физ смысла, а, стало быть, и неоднозначности толкования их значений.
avatar
3Qu, 
если на периоде Т ема одинаковы, то и беспокоиться не о чем. Кстати, если неодинаковы, это повод задуматься, ведь Т — это время установления.
Ну так графике же видно что НЕ одинаковы.
Графики для EMA(10) 
 Значит Желтая выходит на норма после 10 по оси Х
А Зеленая EMA(10) стартует с 5, значит на норму выход после 15
Но оди разные на 15 по оси Х
И даже на 20 по оси Х они разные, а совпадать начинают примерно после 25 по оси Х.
Всяческие модификации МА я не использую из за неочевидности физ смысла, а, стало быть, и неоднозначности толкования их значений.
В чем проблема проверить то, берешь синусоидальный сигнал, пропускаешь через индикатор и видишь результат, если что можно сравнить со стандартной EMA
avatar
Ну так графике же видно что НЕ одинаковы.
Для стандартной ема так не должно быть. За время установления ема «забывает» все, что было ранее. Ошибка минимальна.
В чем проблема проверить то...
Отклик сложной АЧХ-ФЧХ, а тем более нелинейной, не оч просто истолковать на реальном сигнале. Такие характеристики делаются для специфических сигналов с известными свойствами.
avatar
3Qu, 
Для стандартной ема так не должно быть. За время установления ема «забывает» все, что было ранее. Ошибка минимальна.

Ну попробуй сам проверь, «забывает» то как раз примерно после 2.5*период
avatar
Beach Bunny, какие-то у вас неправильные пчелы, и они делают неправильный мед.)
avatar

Читайте на SMART-LAB:
Фото
Портфель Андрея Хохрина :) Своими словами
📱 vkvideo.ru/video-210986399_456244317 📱 youtu.be/bmtfG92q9ms Спасибо коллегам из РБК за площадку и возможность! Телеграм:...
Отличная работа! Несмотря ни на что, аналитики Mozgovik Research проделали качественную работу в 2025 году👍
Конец года — время задуматься, какие акции могли принести наилучший результат. В этом году хороших акций было не так много, но мне приятно...
Фото
OsData и Тестер. Качаем слепки стаканов и запускаем тестер. Видео.
Сегодня будем учиться скачивать с биржи слепки стаканов и запускать на них тестер. Видео предназначено для программистов, которые уже умеют...

теги блога Beach Bunny

....все тэги



UPDONW
Новый дизайн