← Все идеи
#054НовоеИмпульсСвинг

Ранжирование акций по прибыли самой стратегии: топ-N с люфтом вместо стопа

Трендовая стратегия прогоняется по 500 акциям, бумаги ранжируются по её прибыли на каждой за последние месяцы. Держим 10-20 лучших из тех, где есть позиция, и выходим при падении в рейтинге. Стопов нет.

The Algorithmic Advantage · Perry Kaufman · Смотреть видео

Рынки

Акции, Фьючерсы

Таймфрейм

D1

Данные

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

Правила

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

Сложность

Сложная

Статус

Не проверено

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

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

Идея коротко

Perry Kaufman торгует акции и фьючерсы одной трендовой моделью. В ней семь индикаторов: пять трендов разной длины и два подтверждения. На акциях он входит только в лонг и только когда все семь указывают вверх.

Бумаги для портфеля он выбирает необычно. Стратегия прогоняется по списку примерно из 500 акций, и для каждой записывается, сколько стратегия на ней заработала за последние месяцы. Все бумаги ранжируются по этой прибыли, а не по росту цены. Затем из рейтинга убираются бумаги, где у стратегии сейчас нет открытой позиции, и из оставшихся в портфель идут 10-20 верхних.

Рейтинг пересчитывается каждый день. Бумага уходит из портфеля, когда опускается на несколько мест ниже границы топа. Kaufman называет это люфтом, в примере четыре места. Стоп-лосса нет, его роль выполняет рейтинг. Бумагу можно продать и в прибыли, если другая работает лучше.

Отличие от карточки «Двойной моментум» и от ротаций по ROC в том, что именно ранжируется. Там рейтинг строится по доходности актива. Здесь по тому, сколько конкретная стратегия смогла из актива извлечь. По словам Kaufman, рейтинг по доходности самих акций у него не сработал.

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

Kaufman опирается на устойчивость движения. Если рынок уже идёт хорошо и все семь индикаторов в лонге, он склонен продолжать какое-то время. Бумаги вроде Nvidia и Apple из его примера делают основную прибыль портфеля.

Ведущий формулирует мысль, с которой Kaufman соглашается: цена сама по себе мало говорит о том, подходит ли бумага. Важно, как стратегия взаимодействует с этой ценой. Прибыль стратегии на бумаге сразу учитывает и силу тренда, и то, насколько он удобен для конкретных правил входа и выхода.

Рейтинг как выход решает известную проблему долгосрочного тренда. Трендовая система на одной бумаге выходит поздно и отдаёт заметную часть прибыли. Здесь бумаге достаточно выпасть из топа, и её место займёт более сильная. По словам автора, удержание сокращается примерно вдвое, а длинные тренды остаются основой отбора.

Всё это объяснения автора. Итоговых цифр доходности метода в интервью нет.

Правила

Базовая стратегия на каждой бумаге

// автор: пять трендов и два подтверждения, в акциях вход, когда все семь в лонге
// индикаторы автор не раскрыл; периоды трендов он выбирает в диапазоне 30-120 дней
// Finetiq: замена для проверки самой идеи ранжирования
T(n)     = Close > SMA(Close, n)    for n in [30, 45, 60, 90, 120]   // Finetiq
Confirm1 = SMA(Close, 30) > SMA(Close, 30)[5]                        // Finetiq: короткая средняя растёт
Confirm2 = SMA(Close, 60) > SMA(Close, 120)                          // Finetiq
AllLong  = все пять T(n) AND Confirm1 AND Confirm2

// теневая стратегия считается на каждой бумаге всегда,
// независимо от того, есть ли бумага в портфеле
IF AllLong AND нет теневой позиции        THEN теневая покупка AT NEXT BAR OPEN
IF Close < SMA(Close, 60) AND есть теневая THEN теневая продажа AT NEXT BAR OPEN   // Finetiq: выход не назван
ShadowShares = 10000 / Close на входе      // автор: $10 000 на бумагу
ShadowEquity = прибыль закрытых теневых сделок + открытая по текущей цене

W         = 63 бара                        // автор: 3-6 месяцев, в другом месте 30-60 дней; Finetiq: 63
ShadowPnL = ShadowEquity - ShadowEquity[W] // Finetiq: прибыль за окно

Отбор, рейтинг и выход (автор)

Universe = около 500 акций, Close >= 10          // автор: без акций дешевле $10
N        = 10                                    // автор: 10-20
Latitude = 4                                     // автор: «скажем, четыре» места

// каждый день после закрытия (автор)
Eligible = [x in Universe : у теневой стратегии на x открыта позиция]   // автор
Rank(x)  = место x в Eligible по ShadowPnL(x), по убыванию               // автор: абсолютная прибыль
// автор: ранжирует все бумаги и убирает те, где позиции нет.
// Finetiq: место и люфт считаем уже после исключения, так в топе всегда N бумаг с позицией

FOR each x in Portfolio
    IF x NOT in Eligible                         // Finetiq: базовая стратегия сама вышла
        SELL x AT NEXT BAR OPEN
    ELSE IF Rank(x) > N + Latitude               // автор: выпала из топа с люфтом
        SELL x AT NEXT BAR OPEN

WHILE в портфеле меньше N бумаг
    BUY лучшую по Rank бумагу из Eligible, которой нет в портфеле, AT NEXT BAR OPEN
    // Shares = 10000 / Close (автор)
// стоп-лосса нет (автор)

Перегрев бумаги и всего портфеля (частично автор)

Vol20(x) = StdDev(ln(Close / Close[1]), 20) * sqrt(252)   // автор: годовая волатильность за 20 дней
IF Vol20(x) > 50%                                          // автор: порог для типичной акции
    ждать признака вершины, затем SELL x AT NEXT BAR OPEN   // автор: сразу не продавать
    // Finetiq: признак вершины = закрытие ниже минимума последних 5 баров

// автор: когда убытки идут по всему портфелю сразу, он выходит из всего портфеля
// и возвращается после снижения волатильности и стабилизации дневных результатов.
// Правило он назвал секретом. Прозвучало число 0.32 без единиц, формализовать его нельзя

Фьючерсы (автор)

// тот же рейтинг по прибыли стратегии, позиции в обе стороны
// автор: индексы и процентные ставки только в лонг, остальные рынки в обе стороны
Sectors = число разных секторов среди отобранных рынков
IF Sectors = 1  THEN плечо × 0.50      // автор
IF Sectors = 2  THEN плечо × 0.75      // автор: снижение на 25%
IF Sectors >= 3 THEN плечо × 1.00      // автор

Версия для одного-двух символов (Finetiq)

Ранжирование на одном символе не проверить. Можно проверить более слабую форму: брать сигнал стратегии, только когда сама стратегия на этом символе недавно зарабатывала.

IF AllLong AND ShadowPnL > 0 AND нет позиции
    BUY AT NEXT BAR OPEN
IF (нет теневой позиции OR ShadowPnL <= 0) AND есть позиция
    SELL AT NEXT BAR OPEN

// два символа: реальная позиция открывается там, где ShadowPnL выше

Параметры

Параметр Значение Откуда
Базовая модель пять трендов и два подтверждения, все в лонге автор
Индикаторы модели пять SMA 30-120 и два подтверждения Finetiq
Выход базовой модели закрытие ниже SMA 60 Finetiq
Кандидаты около 500 акций автор
Минимальная цена $10 автор
Размер $10 000 на бумагу, делённые на цену автор
Мера рейтинга абсолютная прибыль стратегии за окно автор
Окно рейтинга 3-6 месяцев или 30-60 дней автор (две версии)
Окно в барах 63 Finetiq
Условие отбора у стратегии открыта позиция автор
Число бумаг 10-20 автор
Люфт 4 места автор (пример)
Пересчёт каждый день автор
Стоп-лосс нет автор
Порог волатильности 50% годовых за 20 дней автор
Признак вершины закрытие ниже минимума 5 баров Finetiq
Фьючерсы: плечо 1 сектор −50%, 2 сектора −25% автор

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

  1. Что ранжировать. Одна вселенная и одна базовая стратегия, пять рейтингов: прибыль стратегии, доходность самой акции за то же окно, Sharpe теневых сделок, отношение прибыли к риску (Finetiq: прибыль за окно к максимальной просадке теневой кривой), дни восстановления после просадки. Kaufman утверждает, что работает только первый. Это главная проверка карточки.
  2. Окно. 30, 60, 90 и 126 дней. Автор назвал два диапазона в одном интервью, проверьте оба.
  3. Люфт и оборот. Люфт 0, 2, 4 и 8 мест. Смотрите среднее удержание (автор говорит о 16-17 днях), число сделок в год и результат после комиссий и спреда.
  4. Число бумаг. 10, 20 и 50 против S&P 500 с дивидендами. Автор ожидает, что 50 бумаг дадут результат индекса.
  5. Рейтинг против стопа. Те же входы, но выход только по сигналу базовой стратегии и стопу 3 ATR. Если рейтинг не лучше, его польза в отборе, а не в выходе.
  6. Другая базовая стратегия. Замените семь индикаторов пересечением SMA 50 и 200 или пробоем 100 дней. Автор говорит, что ранжирование помогает почти любой стратегии.
  7. Отбор кандидатов. Прогоните метод на всём индексе с историческим составом и на списке, отобранном по трендовости на всей истории. Разница покажет, сколько результата даёт заглядывание вперёд при составлении списка.

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

TradingView (Pine Script)

  • Ранжирование по сотням акций как стратегию не протестировать: торгуется только символ графика, запросы request.security ограничены.
  • Проверяется версия на одном символе. Теневые сделки придётся считать вручную в переменных var: strategy.netprofit и другие поля strategy.* отражают только исполненные, то есть уже отфильтрованные сделки.
  • Второй символ читается через request.security, внутри которого вызывается та же функция теневой прибыли. Торговать этот символ стратегия не сможет.
  • Размер $10 000 на сделку: default_qty_type = strategy.cash, default_qty_value = 10000.

MultiCharts и TradeStation (EasyLanguage)

  • Ротацию по сотням бумаг делают в портфельном модуле. В MultiCharts Portfolio Trader отбор пишут отдельным портфельным сигналом управления капиталом, который видит значения всех стратегий. В TradeStation Portfolio Maestro заранее проверьте, умеет ли ваша версия ранжировать по значению, которое считает стратегия.
  • Главная ловушка: NetProfit, PositionProfit и OpenPositionProfit считают только исполненные сделки. Если портфель не взял бумагу, её прибыль будет нулевой, и бумага никогда не попадёт в рейтинг. Теневую прибыль каждая копия стратегии должна считать сама.
  • Размер в акциях: Buy IntPortion(10000 / Close) shares next bar at market.
  • Ежедневный пересчёт по 500 символам даёт тяжёлый портфельный тест. Фьючерсная версия на 20-40 рынках заметно легче.

MetaTrader 5 (MQL5)

  • Вселенной из 500 акций с историей у типичного брокера нет, есть CFD на часть американских бумаг без исключённых из индекса компаний. Для акций идея здесь фактически непроверяема.
  • Фьючерсная версия реалистичнее: у многих брокеров есть CFD на индексы, сырьё, облигации и валюты, этого хватит на 20-40 символов мультисимвольного советника.
  • Историю сделок терминала для рейтинга использовать нельзя, в ней только реальные сделки. Теневые позиции и прибыль храните в массивах советника по каждому символу.
  • Сектора для правила плеча в MT5 не размечены, их придётся задать списком вручную.

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

  • Семь индикаторов автора не раскрыты. Базовая стратегия здесь наша, и слова Kaufman о результатах к ней не относятся.
  • Окно рейтинга названо двумя способами: 3-6 месяцев и 30-60 дней. Крайние окна отличаются больше чем вчетверо (126 дней против 30), и какая версия у автора основная, из интервью не ясно.
  • Список кандидатов автор собирал вручную: волатильные бумаги с низким долгом, а новые проверял на трендовость по средним 30-120 дней. Если в тесте отобрать список по всей истории, в него попадёт знание будущего.
  • Без стопов портфель уязвим к общему падению сектора. Ведущий указал на такой риск (четыре полупроводниковые бумаги одновременно), Kaufman согласился, что это возможно, хотя у него так не случалось.
  • Портфельный выход при общем падении автор не раскрыл. Без него в резком медвежьем рынке защитой служат только выходы базовой стратегии и рейтинг.
  • Фраза о ежегодном опережении S&P 500 прозвучала от ведущего, а не от Kaufman, и без цифр.
  • Ежедневный пересчёт и люфт в четыре места дают удержание около двух-трёх недель. При позиции $10 000 спред и комиссии заметны, особенно на волатильных бумагах, которые автор предпочитает.

Источники

  • 020 - Perry Kaufman - A Wealth of Experience Trading Diversified Strategies in Futures & Equities

    The Algorithmic Advantage · Perry Kaufman · 2024-07-07

    • 28:02Модель: пять трендов и два подтверждения
    • 29:07В акциях вход, только когда все семь в лонге
    • 32:49Прогон стратегии по 500 кандидатам
    • 33:59По доходности самих акций не работает
    • 35:24Sharpe и дни восстановления не сработали
    • 36:15$10 000 на бумагу, без акций дешевле $10
    • 38:46Окно 3-6 месяцев, только бумаги с позицией
    • 45:24Волатильность за 20 дней выше 50%
    • 46:16Выход из всего портфеля: правило не раскрыто
    • 48:1710-20 акций: 50 дают доходность S&P 500
    • 49:00Окно 30-60 дней, ежедневный пересчёт
    • 49:33Люфт в четыре места рейтинга
    • 51:07Рейтинг вместо стоп-лосса
    • 51:57Удержание 30-35 дней сокращается до 16-17
    • 52:51Фьючерсы: плечо по числу секторов
    • 56:11Как отобраны 500 кандидатов
    • 1:00:34Периоды 30-120: брать среднее, а не лучшее

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

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

  • Perry Kaufman: ранжирование по Sharpe, по отношению доходности к риску и по числу дней восстановления после просадки у него не сработало. Работала только абсолютная прибыль стратегии.
  • Kaufman: ранжирование по доходности самих акций без стратегии не работает. Ранжирование по прибыли стратегии, по его словам, улучшает почти любую стратегию: он применяет его на фьючерсах и ещё к двум-трём стратегиям кроме трендовой.
  • Kaufman: рейтинг сокращает удержание трендовой системы с 30-35 до 16-17 дней.
  • Kaufman: 50 акций в портфеле дают примерно доходность S&P 500. Чтобы обгонять индекс, нужно держать 10-20 и принимать больший риск.
  • Kaufman: у типичной акции тревожный уровень годовой волатильности за 20 дней около 50%.
  • Kaufman: на фьючерсах, если все отобранные рынки из одного сектора, плечо снижается на 50%, из двух секторов на 25%. Эти числа он называет своей прикидкой.
  • Со слов ведущего: Kaufman 15 лет торгует по сути одни и те же стратегии и каждый год обгонял S&P 500. Сам Kaufman в эпизоде цифр доходности не приводит.

Похожие идеи

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