← Все идеи
#053НовоеИмпульсПозиционная

Моментум Кленоу: наклон регрессии, умноженный на R²

Через логарифм цены проводится прямая. Наклон даёт рост в процентах за день, умножение на R² штрафует рваный рост. Индикатор переносится на любую платформу, а ранжирование акций по нему требует портфельного теста.

The Algorithmic Advantage · Andreas Clenow · Смотреть видео

Рынки

Акции, Индексы

Таймфрейм

D1

Данные

OHLC, Список инструментов

Правила

Частично формализовано

Сложность

Средняя

Статус

Не проверено

Часть правил дописали мы, это помечено в тексте.

TradingView нужны данные или обходные пути
EasyLanguage есть ловушки
MetaTrader 5 нужны данные или обходные пути

Идея коротко

Andreas Clenow искал меру моментума для отбора акций, в которой есть и сила движения, и оценка её надёжности. Простое изменение цены за период, даже делённое на ATR, он считает наследием эпохи расчётов на бумаге.

Его индикатор строится в два шага. Сначала через цены за окно проводится экспоненциальная регрессия, то есть прямая через логарифм цены. Её наклон показывает рост в процентах за день, а не в долларах, и одинаково читается на дешёвой и дорогой бумаге. Затем наклон умножается на R², коэффициент детерминации. R² лежит от 0 до 1 и показывает, насколько ровно цены легли вдоль прямой. Бумага, которая месяц стояла, а потом удвоилась, получает крутой наклон и низкий R², и её оценка падает. В интервью наклон назван в процентах за день. В книге автора «Stocks on the Move» наклон переводится в годовой процент, и на R² умножается уже он.

Индикатор и ранжирование стоит разделять. Индикатор это одна формула на одном ряде, она переносится на любую платформу. Ранжирование это портфельная система: сотни акций, топ-25 или больше, периодическая замена и размер позиции по риску. Её параметры в интервью не названы, здесь они наши.

Отличие от карточки «Двойной моментум»: там сравниваются доходности нескольких индексов за период, здесь оценивается качество тренда отдельной акции внутри большой вселенной.

Почему это может работать

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

Умножение на R² отдаёт предпочтение ровному росту перед рывком. Мы трактуем это так: рывок часто вызван одним событием (отчёт, слух о покупке компании) и не обязательно продолжится, а ровный рост ближе к тому, что Clenow называет качеством тренда. Это наша интерпретация, в интервью её нет.

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

Правила

Индикатор (автор)

// регрессия логарифма цены по номеру бара за последние L баров
y[i] = ln(Close[i]),  x[i] = 0, 1, ..., L-1     // x растёт от старого бара к текущему
b    = наклон МНК-прямой y = a + b * x
R2   = (корреляция x и y)^2                       // от 0 до 1 (автор)

SlopePct = exp(b) - 1                             // рост в процентах за бар (автор: наклон в процентах)
Score    = SlopePct * R2                          // автор: наклон, умноженный на R²

L = 90                                            // Finetiq: длину окна автор в интервью не назвал

Годовой масштаб (книга автора)

// книга автора «Stocks on the Move»: годовой наклон, умноженный на R².
// В интервью годовой масштаб не прозвучал
AnnualSlope = exp(b * 252) - 1     // Finetiq: 252 торговых дня в году
ScoreAnn    = AnnualSlope * R2     // книга автора
// порядок бумаг по Score и по ScoreAnn может различаться: у крутого наклона
// годовой масштаб растёт быстрее, и R² сдерживает его слабее

Ранжирование акций (логика автора, параметры Finetiq)

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

Candidates = [x in Universe : Score(x) > 0]     // Finetiq: только растущие; автор: только лонг
N          = 25                                  // автор: для обычного использования 25-30
Top        = N бумаг с максимальным Score

SELL держимые бумаги, которые опустились ниже места 2 * N   // Finetiq: буфер против лишних сделок
BUY бумаги из Top на свободные места

// размер по риску (автор), мера риска Finetiq
ATRpct(x) = ATR(x, 20) / Close(x)
Weight(x) = (1 / ATRpct(x)) / Σ(1 / ATRpct по бумагам портфеля)
// ребалансировка доли, только когда она ушла дальше ±20% от цели
// автор: зона без сделок; Finetiq: ширина зоны

// фильтр рынка (автор: модель из книги постепенно выходит из рынка)
IF Close(Index) < SMA(Close(Index), 200)         // Finetiq: форма фильтра
    новых покупок нет, освободившиеся места остаются в кэше

Индикатор на одном-двух символах (Finetiq)

// фильтр качества тренда на одном рынке, решение на закрытии дня
IF Score > 0 AND R2 >= 0.5 AND нет позиции      // Finetiq: стартовый порог R²
    BUY AT NEXT BAR OPEN
IF Score <= 0 AND есть позиция
    SELL AT NEXT BAR OPEN

// два символа: держим тот, у кого Score выше, если его Score > 0, иначе кэш

Параметры

Параметр Значение Откуда
Регрессия экспоненциальная (по логарифму цены) автор
Наклон в процентах за день автор
Поправка на качество умножение на R² автор
Окно регрессии 90 баров Finetiq
Годовой масштаб exp(b × 252) − 1 автор (книга Stocks on the Move), 252 дня Finetiq
Направление только лонг автор
Число позиций 25 автор (25-30)
Частота ранжирования раз в неделю Finetiq
Буфер на выход ниже места 2 × N Finetiq
Размер позиции по риску автор
Мера риска ATR(20) в процентах цены Finetiq
Зона без сделок ±20% от целевой доли Finetiq (автор: зона есть)
Фильтр рынка индекс выше SMA 200 Finetiq (автор: фильтр тренда в книге)
Порог R² для одного символа 0.5 Finetiq

Что проверить

  1. Даёт ли что-то R². Три рейтинга на одной вселенной: ROC за 90 дней, ROC, делённый на ATR (простой вариант, который упоминает автор), и Score. Если Score не лучше второго, красота формулы результата не даёт.
  2. Окно. 60, 90, 125 и 250 баров. Смотрите на всю кривую результатов, а не на лучшую точку.
  3. Score против ScoreAnn. Сравните состав топ-25 каждую неделю и итоговый результат. В книге автора используется годовой вариант. Если разница большая, зафиксируйте в своей системе, какой вариант используется.
  4. Нужен ли фильтр рывков. Исключите бумаги с дневным движением больше 15% внутри окна. Если результат не меняется, R² уже справляется с рывками сам.
  5. Число позиций. 10, 25 и 50 бумаг: доходность, волатильность, просадка. Это прямая проверка слов автора о диверсификации.
  6. Фильтр рынка против постоянного присутствия. Clenow строил оба типа моделей. Сравните их на 2008, 2020 и 2022 годах.
  7. Частота и издержки. Раз в неделю против раз в месяц, зона без сделок 10%, 20% и 40%. Считайте оборот и результат после комиссий.

Особенности платформ

TradingView (Pine Script)

  • Индикатор пишется в несколько строк. Наклон: ta.linreg(math.log(close), 90, 0) - ta.linreg(math.log(close), 90, 1), это разница двух соседних точек одной прямой. R²: math.pow(ta.correlation(math.log(close), bar_index, 90), 2).
  • Ранжирование сотен акций как стратегию не протестировать: стратегия торгует только символ графика, число запросов request.security ограничено. Проверяется версия на одном символе.
  • Первые 90 баров значения нет, фильтру SMA 200 нужна ещё более длинная история.
  • У дивидендных акций цена падает в дату отсечки. Без корректировки (adjustment.dividends в ticker.modify) логарифмическая регрессия видит это как падение, и R² снижается.

MultiCharts и TradeStation (EasyLanguage)

  • Наклон по логарифму: LinearRegSlope(Log(Close), 90). R² надёжнее посчитать самим в цикле по суммам x, y, xy, x² и y², чтобы не зависеть от встроенных функций разных версий.
  • Ранжирование делают в портфельном модуле: TradeStation Portfolio Maestro или MultiCharts Portfolio Trader. Список символов задаётся заранее, и текущий состав индекса даёт ошибку выжившего.
  • Размер по риску и ребалансировка долей требуют капитала всего портфеля. Копия стратегии на отдельном символе его сама не знает.
  • Для двух символов хватает обычного графика: стратегия на Data1 считает Score и по второму ряду (Data2).

MetaTrader 5 (MQL5)

  • Встроенной регрессии нет. Считайте наклон и R² по массиву из CopyClose на закрытых барах, начиная с индекса 1.
  • Вселенной акций для ранжирования у типичного брокера нет: CFD на несколько сотен бумаг, короткая история, без исключённых из индекса компаний.
  • У CFD на акции дивиденды приходят корректировкой баланса, а цена на графике падает в дату отсечки. Регрессия по такому ряду занижает Score дивидендных бумаг.
  • Версия на одном-двух символах (индексные CFD, фьючерсы) переносится без проблем.

Где идея может сломаться

  • В интервью описан только принцип. Окно регрессии, фильтры, частота и число бумаг модели из книги не прозвучали, наши значения стартовые. Если хотите проверить именно версию автора, сверяйте их с его книгой.
  • Clenow сам называет модели своих книг учебными: их задача объяснить механизм, а не дать готовую систему для торговли.
  • Автор предупреждает о двух ошибках данных, которые завышают результат: нынешний состав индекса вместо исторического и цены без учёта дивидендов.
  • R² вознаграждает ровный рост. Портфель смещается к спокойным бумагам, а размер по риску добавляет таким бумагам ещё больше веса. Проверьте, не повторяет ли итог обычную ставку на низкую волатильность.
  • После медвежьего рынка разворот часто резкий. Лидеры за последние 90 дней в этот момент это бумаги, которые меньше падали, а бумаги отскока попадут в рейтинг с опозданием.
  • 25-30 позиций с размером по риску требуют капитала или дробных акций. На маленьком счёте округление долей искажает веса.

Источники

  • 022 - Andreas Clenow - A Most Private Discussion on Building Long Term Wealth through Trading

    The Algorithmic Advantage · Andreas Clenow · 2024-08-02

    • 19:44Модели в книгах автора учебные
    • 24:38Почему трендследование фьючерсов не переносится на акции
    • 28:26Ошибка выжившего и дивиденды
    • 32:15Нужны мера моментума и её ошибка
    • 33:47Экспоненциальная регрессия: наклон в процентах
    • 34:20Боковик, затем удвоение: плохая подгонка
    • 34:42Наклон умножается на R²
    • 36:08Крупные или малые компании: вопрос цели
    • 39:2310 акций рискованно, обычно 25-30
    • 40:15Фильтр тренда в книге и модели всегда в рынке
    • 41:27Размер по риску, зона без сделок, ребалансировка
    • 1:05:26Долгосрочный моментум как поправка весов

Заявлено автором

Эти цифры и утверждения принадлежат автору. Мы их не проверяли.

  • Andreas Clenow: 10 акций в портфеле дают интересную доходность и такую же интересную волатильность. Для обычного использования он советует хотя бы 25-30, дальше польза диверсификации растёт медленно.
  • Clenow: книге Stocks on the Move около 10 лет. Модель в ней с фильтром тренда постепенно выходит из рынка, но большую часть времени вложена на 100%.

Похожие идеи

Обновлено: 2026-09-11