PRMA (Polynomial Regression Moving Average) — Скользящая средняя полиномиальной регрессии

Polynomial-Regression-Moving-Average-PRMA
Индикатора Polynomial Regression Moving Average (PRMA) — скользящая средняя, построенная как значение полиномиальной регрессии, подогнанной к последним N точкам цены. В отличие от простой полиномиальной скользящей средней (PMA), PRMA чаще рассматривается как регрессионная линия, центрированная на последней точке окна или дающая предсказание (экстраполяцию) на текущий или следующий бар. PRMA сочетает свойства регрессионной линии (наилучшее приближение по методу наименьших квадратов) и скользящей средней (сглаживание), позволяя учесть криволинейность локального движения цены. PRMA обобщает классическую линейную регрессионную скользящую среднюю (LSMA) до любой степени полинома, включая дробные значения, и добавляет к ней комплексный многометодный, многоитерационный уровень сглаживания.

Цели и преимущества
— Лучше описывает локальные кривые тренда (временные ускорения/замедления), чем линейные MA.
— Может уменьшать фазовый сдвиг по сравнению с SMA при корректной настройке (особенно если используют экстраполяцию).
— Обеспечивает оценку наклона и кривизны (производные полинома) — полезно для обнаружения начала ускорения/замедления тренда.

Параметры и вариации
— Период N (окно): число последних баров, используемых для подгонки.
— Степень полинома m (обычно 1–3; m=1 → линейная регрессия, m=2 → квадратичная, m=3 → кубическая).
— Исходный ряд src (close, hl2 и т.п.).
— Центрирование: односторонняя (используются только прошлые точки) или центрированная (окно симметрично вокруг центральной точки) — в трейдинге чаще односторонняя.
— Экстраполяция: значение в x=0 (текущий бар) или в x=+k (прогноз на k баров вперёд).
— Взвешивание: обычный OLS (равновесное) или WLS (веса большей значимости для свежих данных) для повышения реактивности.

Свойства и поведение
— Наклон регрессии (первый коэффициент) показывает направление; вторая производная (при m≥2) — ускорение/замедление.
— При малой степени m поведение ближе к линейной регрессии; при высокой — возможны локальные перегибы и переобучение.
— Чувствительность к выбросам: экстремальные бары в окне заметно влияют на коэффициенты.
— Для онлайн-вычисления часто предвычисляют веса, чтобы PRMA рассчитывался как свёртка: PRMA_t = sum_{i=0..N-1} w_i * src_{t−i}.


Формула расчёта Индикатора Polynomial Regression Moving Average (PRMA)

Постановка задачи (односторонний вариант, использующиеся индексы i=0..N−1, где i=0 — текущая точка, i=1 — предыдущая и т.д.):

— Данные: пары (x_i, y_i), где обычно x_i = −i (или x_i = i с сдвигом, главное — согласованность), y_i = src_{t−i}.

— Полином степени m:
p(x) = a_0 + a_1 x + a_2 x^2 + … + a_m x^m

— Матрицы (обычная OLS):
V — матрица Вандермонда размера N×(m+1), V_{i,j} = x_i^j, i=0..N−1, j=0..m
y — вектор наблюдений (y_0 … y_{N−1})^T

— Оценка коэффициентов (решение нормальных уравнений):
a = (V^T V)^{-1} V^T y

— Значение PRMA в целевой точке x* (обычно x* = 0 для оценки в последней точке; для прогноза x* = +k):
PRMA_t = p(x*) = sum

…PRMA_t = p(x*) = a_0 + a_1 x* + a_2 x*^2 + … + a_m x*^m

Частный случай (оценка в текущей точке x* = 0):
— PRMA_t = p(0) = a_0

Эквивалентная свёртка (вычислительная форма):
— Существуют постоянные веса w_i (зависят от N, m и выбранной шкалы x_i) такие, что
PRMA_t = sum_{i=0}^{N-1} w_i · y_i
где w = e_0^T (V^T V)^{-1} V^T (e_0 — вектор, выбирающий значение p(0)).
— На практике веса предварительно вычисляют и затем применяют свёрткой к серии цен для экономии вычислений.

Числовые замечания:
— Для устойчивости рекомендуется центрировать x (например, x_i = i − (N−1)/2) при вычислении (особенно для больших m), но для односторонней PRMA чаще используют x=0 для последней точки.
— Численно лучше решать задачу через QR-разложение или сингулярное разложение, а не напрямую вычислять (V^T V)^{-1}.


Применение в трейдинге Индикатора Polynomial Regression Moving Average (PRMA)

Polynomial-Regression-Moving-Average
Ключевые идеи:
— PRMA— индикатор сглаживания, чувствительный к криволинейным изменениям тренда; полезен для выявления ускорений/замедлений и более точной оценки направления, чем линейные MA.

Типичные примененные сценарии:
— Фильтр тренда: брать сделки только в направлении положительного наклона PRMA (p'(0)>0) и избегать сделок при плоской кривой.
— Пересечение с ценой: вход при пробое цены выше PRMA (лонг) или ниже (шорт), с подтверждением объёма/структуры свечей.
— Пересечение двух PRMA: быстрая PRMA (меньший N или более высокая степень m) пересекает медленную — сигнал на вход/выход.
— Оценка ускорения: при m≥2 вторая производная p»(0) показывает ускорение; положительная — ускорение вверх, отрицательная — замедление/разворот.
— Прогнозирование: экстраполяция p(k) для краткосрочного прогноза цены (использовать с осторожностью и подтверждать другими методами).

Практические советы по параметрам:
— N: для денверных стратегий N≈10–30; для свинговых N≈30–100+.
— m: m=1 — линейная регрессия (надежно, меньше переобучения); m=2–3 — для учета кривизны, но риск шумовых сигналов.
— Взвешивание: применяйте WLS (большие веса для недавних точек), если нужен более быстрый отклик.
— Центрирование x: для стабильности вычислений и меньшей корреляции коэффициентов полезно центрировать аргументы x.

Риски и ограничения:
— Чувствительность к выбросам в окне: один экстремальный бар может исказить PRMA.
— Переобучение при высокой степени m и малом N.
— Экстраполяция ненадежна — использование прогнозов p(k>0) увеличивает риск.
— Вычислительная нагрузка при частом пересчёте для больших N/m — использовать предвычисленные веса или оптимизированные методы.

Рекомендации по применению:
— Комбинируйте PRMA с уровнями поддержки/сопротивления, объёмом, и индикаторами волатильности (ATR) для управления стопами.
— Тестируйте параметры на исторических данных (walk-forward) и используйте риск-менеджмент.
— Для реального времени предпочтительнее односторонняя PRMA с предвычисленными весами или рекуррентной реализацией.