Ідея коротко
Ernie Chan керує фондом QTS Capital і сервісом PredictNow.ai. В інтерв'ю він описує стратегію фонду Tail Reaper. Це внутрішньоденний моментум на ф'ючерсі S&P 500: якщо ринок за день сильно виріс, до кінця сесії фонд у лонгу, якщо сильно впав, у шорті. Лонг і шорт бувають у різні дні. Позиція ліквідується того самого дня.
Більше автор нічого не розкриває. Час входу, поріг «сильного» руху, стоп і розмір він не називає. Усе це нижче задали ми. Схему взято з академічної лінії market intraday momentum, на яку автор посилається без назв робіт: сигнал рахується від учорашнього закриття, угода йде в останні 30 хвилин сесії.
Поверх базового правила у фонду стоїть шар ризику на машинному навчанні. Він вирішує, чи торгувати цього дня і яким обсягом. Автор прямо каже, що початкова версія без щорічних доопрацювань уже не працює. Картка описує саме початкову ідею і просту заміну шару ризику.
Чому це може працювати
Пояснення автора: вимушене ребалансування. Маркет-мейкери опціонів, які продали коли й пути, тримають коротку гамму. Коли ринок за день сильно виріс, їхня книга стала короткою за дельтою. До кінця дня, щоб повернутися до нейтральної дельти, їм треба докупити ф'ючерси або акції, і ця купівля штовхає ринок далі вгору. При падінні все дзеркально: вони продають.
Chan називає таку стратегію каузальною. Ефект має причину, і поки причина не зникла, ефект лишається, навіть якщо про нього давно писали. Зв'язок при цьому шумний, на ринок щодня впливає багато інших факторів. Тому фонд тримає просте правило входу і складний шар ризику. Завдання шару не шукати угоди, а вирішувати, в які дні не торгувати або торгувати менше. На думку автора, машинне навчання працює саме тут: відмова від угоди ні з ким не конкурує.
Друга властивість, яку називає автор: стратегія трендова і тому поводиться як long volatility, хоча опціонів не торгує. Цифр щодо стратегії в інтерв'ю немає, ні доходності, ні кількості угод. Автор каже, що ефект описано в багатьох академічних роботах, але жодної не називає. Посилання нижче наші, а не автора. Схема картки (доходність від учорашнього закриття до останньої півгодини і пояснення хеджуванням гамми дилерами) відповідає роботі Baltussen, Da, Lammers і Martens (2021, Journal of Financial Economics). Раніша робота Gao, Han, Li і Zhou (2018) прогнозує останню півгодину за першою півгодиною сесії, рахуючи її від учорашнього закриття. Ми використовуємо обидві роботи лише як зразок схеми, їхні висновки й числа з інтерв'ю не звіряли.
Правила
Сигнал (ідея автора, вікна й поріг Finetiq)
// інструмент: ф'ючерс E-mini S&P 500 (ES) або мікроконтракт MES // автор: фонд торгує лише ф'ючерс на S&P 500
// 5-хвилинні бари, час біржі Нью-Йорка
PrevClose = ціна ES о 16:00 ET попередньої сесії // Finetiq: закриття кеш-сесії, не settlement і не 17:00 ET
Px1530 = Close бару 15:25–15:30 ET // Finetiq: угода лише в останні 30 хвилин
DayRet = Px1530 / PrevClose - 1
Sigma = StdDev(доходності 16:00 ET → 16:00 ET, 20 днів) // Finetiq: поріг у частках звичайного денного ходу
Z = DayRet / Sigma
// автор: сильне зростання → лонг до кінця дня, сильне падіння → шорт
IF Z >= +K THEN BUY AT NEXT BAR OPEN // вхід о 15:30 ET; Finetiq: K = 0.5
IF Z <= -K THEN SELL SHORT AT NEXT BAR OPEN
// Finetiq, прочитання без порога: щодня за знаком DayRet (K = 0)
Вихід і обмеження
// автор: щодня позиція закривається, через ніч не переноситься
EXIT за закриттям бару 15:55–16:00 ET // Finetiq: час закриття кеш-сесії
Long: StopLoss = EntryPrice - 0.3 * ATR(14, D1) // Finetiq: аварійний стоп, перевірити й без нього
Short: StopLoss = EntryPrice + 0.3 * ATR(14, D1)
не більше однієї угоди за день // Finetiq
IF скорочена сесія (закриття 13:00 ET) // Finetiq
вікно зсувається на 12:30–13:00 ET, PrevClose той самий
Розмір (Finetiq)
// автор: щодня це нова позиція, розмір обирається заново
BaseSize = Equity * 0.5% / (0.3 * ATR(14, D1) * PointValue) // Finetiq: ризик 0.5% до стопа
Contracts = floor(BaseSize)
Варіант B. Проста модель замість ML-шару автора (Finetiq)
Автор описує шар так: модель оцінює ймовірність того, що стратегія заробить сьогодні. Висока ймовірність дає більше капіталу, низька менше або нуль. Фактори й модель не розкрито. Нижче прозора заміна на даних, доступних роздрібному трейдеру.
// усі ознаки відомі до 15:30 ET
X = [ |Z|,
VIX на закритті вчора,
геп відкриття / Sigma,
прапорець третьої п'ятниці місяця,
прапорець дня рішення ФРС ] // Finetiq
p = логістична регресія P(угода прибуткова | X) // Finetiq
навчання на попередніх 750 днях, перенавчання раз на квартал // лише минулі дані
IF p < 0.5 THEN Size = 0 // автор: «не торгувати цього дня»
IF p >= 0.5 THEN Size = BaseSize * min(1.5, 1 + 5 * (p - 0.5)) // Finetiq
Параметри
| Параметр | Значення | Звідки |
|---|---|---|
| Інструмент | ф'ючерс S&P 500 (ES, MES) | автор |
| Напрямок | за рухом дня, лонг і шорт | автор |
| Утримання | усередині дня, закриття щодня | автор |
| Шар ризику | вирішує, чи торгувати і яким обсягом | автор (модель не розкрито) |
| Опорна ціна | ES о 16:00 ET попередньої сесії | Finetiq |
| Момент сигналу | закриття бару 15:25–15:30 ET | Finetiq |
| Вихід | 16:00 ET | Finetiq |
| Нормування | StdDev денних доходностей за 20 днів | Finetiq |
| Поріг K | 0.5, перевіряти 0–1.0 | Finetiq |
| Аварійний стоп | 0.3 × денного ATR(14) | Finetiq |
| Ризик на угоду | 0.5% капіталу | Finetiq |
| Варіант B: ознаки | |Z|, VIX, геп, експірація, ФРС | Finetiq |
| Варіант B: навчання | 750 днів, раз на квартал | Finetiq |
Що перевірити
- Чи є ефект узагалі. Прочитання без порога: щодня позиція за знаком DayRet з 15:30 до 16:00 ET. Порахуйте середню угоду в пунктах і окремо після витрат: щонайменше один тік прослизання на вході й на виході плюс комісія. Угода триває 30 хвилин, і середній результат у пару тіків витрати з'їдять повністю.
- Сила дня. Поріг K = 0, 0.25, 0.5, 1.0. Якщо середня угода зростає разом із порогом, зв'язок із величиною денного ходу є. Якщо ні, поріг лише скорочує вибірку.
- Вікно. Сигнал о 15:00, 15:30 і 15:45 ET при виході о 16:00 ET. Окремо вихід о 16:15 ET, коли ф'ючерс ще торгується. Якщо результат тримається лише в одному вікні, це підгонка.
- Час. Результат за роками, окремо до і після 2022 року, коли в опціонів на S&P 500 з'явилися експірації на кожен день тижня. Хеджування дилерів залежить від устрою опціонного ринку, а автор сам говорить про затухання початкової версії.
- Властивість long volatility. Кореляція денного результату з |DayRet| і з денною зміною VIX. Результат у 2008, 2020 і 2022 роках. Автор стверджує, що стратегія заробляє в дні великих рухів.
- Стоп. Без стопа проти 0.3 і 0.6 денного ATR. Усередині півгодини стоп може вибивати якраз волатильні дні, які дають прибуток.
- Шар ризику. Варіант B проти основного правила, лише на даних після періоду навчання. Якщо B виграє лише на навчальній вибірці, шар підігнаний.
Особливості платформ
TradingView (Pine Script)
- Сесія
ES1!починається о 18:00 ET попереднього дня, денний бар закривається пізніше 16:00 ET. Опорну ціну беріть з 5-хвилинного бару, що закрився о 16:00 ET, і зберігайте уvar-змінній. Вікно угоди:time(timeframe.period, "1530-1600", "America/New_York"). - За замовчуванням ордер виконується на відкритті наступного бару: вхід о 15:30, вихід через
strategy.closeна барі 15:55 піде на відкриття бару 16:00. Для виходу точно о 16:00 ET зручнішеprocess_orders_on_close = true, але тоді й вхід виконається за закриттям сигнального бару. Оберіть один режим. - Дні із закриттям о 13:00 ET вбудований календар не позначає, задавайте їх масивом дат.
- Глибина внутрішньоденної історії залежить від тарифу. Для перевірки за роками й кризами 5-хвилинних барів може не вистачити.
MultiCharts і TradeStation (EasyLanguage)
Timeце час закриття бару. Сигнальний бар 15:25–15:30 маєTime = 1530, вхідBuy next bar at marketпройде на відкритті бару зTime = 1535.- Вихід за ціною 16:00 ET на барі з
Time = 1600:Sell this bar on closeдля лонгу іBuy to cover this bar on closeдля шорту.SetExitOnCloseу реальній торгівлі не спрацьовує. - Денний бар ф'ючерса в TradeStation закривається за settlement. Sigma й опорну ціну рахуйте за внутрішньоденними закриттями 16:00 ET, інакше поріг і сигнал будуть від іншої ціни.
- Якщо символ іде за повною сесією CME, «учорашнє закриття» денного бару припаде на 17:00 ET. Запам'ятовуйте ціну 16:00 ET самі.
MetaTrader 5 (MQL5)
- Ф'ючерс ES є в небагатьох брокерів. CFD на S&P 500 (US500, SPX500) повторює індекс або ф'ючерс зі спредом, і останні 30 хвилин на ньому коштують дорожче, ніж на біржі.
- 15:30 і 16:00 ET переводьте в серверний час брокера з урахуванням літнього часу в США і на сервері. У тестері
TimeGMT()дорівнює серверному часу і не допомагає. - Денний бар CFD закривається опівночі за часом сервера, а не о 16:00 ET. PrevClose і Sigma рахуйте за барами M5.
- Сигнал беріть із закритого бару (індекс 1) і перевіряйте появу нового 5-хвилинного бару, інакше вхід повторюватиметься на кожному тіку.
Де ідея може зламатися
- Правила повністю наші. Автор назвав інструмент, напрямок, закриття щодня і призначення шару ризику. Вікна, поріг, стоп, розмір і заміна ML-шару це стартові значення для перевірки.
- Автор сам каже, що початкова версія не працює і живе завдяки доопрацюванням майже щороку. Просте правило з картки ближче до початкової версії, і слабкий результат на останніх роках для неї очікуваний.
- Робоча частина стратегії фонду прихована в шарі ризику. Відтворити його неможливо, а сервіс, який будує такі шари, автор продає.
- Цифр щодо стратегії в інтерв'ю немає. Усі властивості, включно з long volatility, це твердження автора.
- Середня угода коротка й маленька. Прослизання в один тік на вході й виході може обнулити результат, особливо на CFD.
- З порогом сигнали скупчуються у волатильні періоди. Результат може триматися на парі кризових років.
- Потік хеджування дилерів змінюється разом з опціонним ринком. Ефект може зсунутися в часі всередині дня або послабшати, і на історії це виглядатиме як поломка.