Ідея коротко
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% | автор |
Що перевірити
- Що ранжувати. Один всесвіт і одна базова стратегія, п'ять рейтингів: прибуток стратегії, доходність самої акції за те саме вікно, Sharpe тіньових угод, відношення прибутку до ризику (Finetiq: прибуток за вікно до максимальної просадки тіньової кривої), дні відновлення після просадки. Kaufman стверджує, що працює лише перший. Це головна перевірка картки.
- Вікно. 30, 60, 90 і 126 днів. Автор назвав два діапазони в одному інтерв'ю, перевірте обидва.
- Люфт і оборот. Люфт 0, 2, 4 і 8 місць. Дивіться середнє утримання (автор говорить про 16-17 днів), кількість угод на рік і результат після комісій і спреду.
- Кількість паперів. 10, 20 і 50 проти S&P 500 з дивідендами. Автор очікує, що 50 паперів дадуть результат індексу.
- Рейтинг проти стопа. Ті самі входи, але вихід лише за сигналом базової стратегії і стопом 3 ATR. Якщо рейтинг не кращий, його користь у відборі, а не у виході.
- Інша базова стратегія. Замініть сім індикаторів перетином SMA 50 і 200 або пробоєм 100 днів. Автор каже, що ранжування допомагає майже будь-якій стратегії.
- Відбір кандидатів. Проженіть метод на всьому індексі з історичним складом і на списку, відібраному за трендовістю на всій історії. Різниця покаже, скільки результату дає зазирання вперед під час складання списку.
Особливості платформ
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 спред і комісії помітні, особливо на волатильних паперах, яким автор віддає перевагу.