BTCUSDT.BINANCE Perp 4H Дисбаланс Потоку Taker-Buy/Sell Long-Only Слідування за Трендом (3-Параметр, Order Flow + Збіг Тренду, Чисто Тік-Агрегований Сигнал)
Результат: Відхилено
BtcPerpTakerFlowImbalanceTrendLong4H
Підсумок результатів
Ця стратегія проклала новий шлях для фабрики, керуючи сигналами від агрегованого дисбалансу taker order-flow замість ціни, і подвоїлася як інфраструктурний тест, який пройшов успішно — серія taker завантажилася і згенерувала 191 чистих угод після виправлення ітерації-3, яке зробило обмеження застарілості налаштовуваним параметром 14-день, узгодженим з розрідженим каденсом метрик. Її показники були найчистішими у когорті: базовий Sharpe 0.90 з низькою просадкою та позитивною alpha, що оптимізується до Sharpe 1.96, проходячи чутливість без обривів та долаючи holdout. Але під дефляцією він розпався: DSR 0.318, оптимізований Sharpe нижче за 2.31 рівень удачі, 87% ймовірність перенавчання бектесту, та перенавчений walk-forward, чиї out-of-sample вікна включали одне негативне. Аналітик відмовився від неї як від best-of-225 перенавчання, чия новизна та локальна стабільність не могли замінити статистичну значущість, з подальшим застереженням, що перенесений вперед сигнал taker міг деградувати у застарілий proxy для long-only BTC beta у bull-heavy вибірці.
Одноактивна long-only стратегія слідування за трендом на BTCUSDT.BINANCE perp з використанням 4H барів, де спрямований сигнал керується AGGREGATED TAKER ORDER FLOW (з trade_ticks додаткових даних), а не індикаторами, похідними від ціни (які були вичерпно протестовані і здебільшого не працюють емпірично згідно з логом відмов цієї сесії). Це справді NEW клас механізму для портфоліо фабрики — кожна попередня стратегія, яку я переглядав, використовує сигнали, похідні від OHLCV (рівні цін, ковзні середні, дохідності,……Показати більшеПоказати менше
Одноактивна long-only стратегія слідування за трендом на BTCUSDT.BINANCE perp з використанням 4H барів, де спрямований сигнал керується AGGREGATED TAKER ORDER FLOW (з trade_ticks додаткових даних), а не індикаторами, похідними від ціни (які були вичерпно протестовані і здебільшого не працюють емпірично згідно з логом відмов цієї сесії). Це справді NEW клас механізму для портфоліо фабрики — кожна попередня стратегія, яку я переглядав, використовує сигнали, похідні від OHLCV (рівні цін, ковзні середні, дохідності, vol, коефіцієнти). Дисбаланс taker-buy/taker-sell є INFORMATIONALLY DISTINCT від ціни: він вимірює WHO бере ліквідність (агресивні покупці проти агресивних продавців), що академічна мікроструктурна література (Easley-Kiefer-O'Hara PIN 1996, Easley-Lopez-de Prado-O'Hara VPIN 2012) встановила як предиктивний там, де сама ціна — ні. Механізм: на кожному закритому 4H барі агрегувати тіки угод бару у taker_buy_volume проти taker_sell_volume, обчислити дисбаланс = (buy - sell) / (buy + sell). LONG, коли дисбаланс 4H > +0.05 (стійкий taker buying) AND ціна > 100-бар SMA (збіг тренду — потік має погоджуватися з трендом). Вихід, коли дисбаланс стає негативним OR ціна падає нижче SMA. Сигнали order-flow мають фундаментально інший статистичний профіль, ніж невдалі сигнали цінового моментуму: вони безпосередньо спостерігають AGENT BEHAVIOR (яка сторона готова платити спред), а не INFERRING поведінку агента з ціни (яка є відстаючим наслідком поведінки). Лише 3 параметрів (значно нижче стелі 5-парам). Частота угод: ~40-80 угод/рік за 6+ років тік-даних угод Binance → 240-480 загальних угод → 16-32 OOS угод на вікно walk-forward, комфортно вище підлоги 5-угод. Це також критичний INFRASTRUCTURE TEST: якщо дані trade_ticks правильно завантажуються в конвеєр фабрики (data_specification.md перераховує їх у catalog_data_types і прапорець subscribe_trade_ticks існує), це відкриває цілком новий клас механізму для майбутніх досліджень. Якщо вони не завантажуються (подібно до розриву funding rate HL, який блокував стратегії 9), сам збій є інформативним і виводить на поверхню інфраструктурний тікет, який варто подати.
Зворотний зв'язок вимагав DIAGNOSTIC, а не ще однієї спроби вгадати схему. Я запитав data/supplementary/metrics/BTCUSDT/*.parquet безпосередньо: 334,643 рядків, стовпець taker_long_short_vol_ratio, часова мітка в мс; рядків-на-рік 2023=12,096 / 2024=16,990 / 2025=14,688, і EVERY місяць 2023-01..2025-12 має >=288 рядків (безперервно, лише розріджено порівняно з щільними 5-хв даними 2020-2022). Отже, gate (3) 'рядки не існують -> подати тікет' є хибним, і передумова gate (2) про невідповідність схеми лоадера також……Показати більшеПоказати менше
Зворотний зв'язок вимагав DIAGNOSTIC, а не ще однієї спроби вгадати схему. Я запитав data/supplementary/metrics/BTCUSDT/*.parquet безпосередньо: 334,643 рядків, стовпець taker_long_short_vol_ratio, часова мітка в мс; рядків-на-рік 2023=12,096 / 2024=16,990 / 2025=14,688, і EVERY місяць 2023-01..2025-12 має >=288 рядків (безперервно, лише розріджено порівняно з щільними 5-хв даними 2020-2022). Отже, gate (3) 'рядки не існують -> подати тікет' є хибним, і передумова gate (2) про невідповідність схеми лоадера також хибна (мій лоадер вже читає саме цей стовпець + ключ часової мітки). Справжня коренева причина була нижче за течією у моєму власному коді: обмеження застарілості 24h у _taker_imbalance. Я перевірив офлайн на реальному parquet сховищі, скануючи синтетичні 4H бари за 2023-2025: обмеження 24h позначає лише 24.9% барів сигналом taker (після гейтів imbalance>0.05 та price>SMA це стискається до спостережуваної експозиції ~2.79%), тоді як обмеження 14-день позначає 95.3% — тому кожне вікно walk-forward з 3-вікнами буде заповнене угодами. Функція _taker_imbalance вже переносить найближче at-or-before співвідношення вперед, коли ковзне вікно 4h порожнє; лише обмеження це блокувало, тому виправлення — це один регулятор (max_lag_hours=336) без ZERO зміни логіки сигналу, входу/виходу чи розміру позиції та без NO fallback до price-proxy. Це зберігає механізм order-flow недоторканим і нарешті робить його тестованим через весь період бектесту. Застереження для аналітика: покриття taker 2023-2025 справді тонше за 2020-2022 (~12% від щільності 5-хв), тому перенесений сигнал грубіший у ті роки; зворотне заповнення щільних 5-хв метрик для 2023-2025 покращило б точність, але серія достатньо безперервна місяць-до-місяця, щоб зараз валідувати walk-forward.
Провалений дефляційний тест Шарпа з екстремальною ймовірністю перепідгонки на спробі 1. DSR=0.3175 (проти 0.95 бару), is_significant=FALSE, з оптимізованим Шарпа 1.9615 BELOW 225-спробового очікувано-максимального бару везіння 2.3078, і — вирішально — PBO=0.8664 (87% ймовірність того, що відбір параметрів є перепідгонкою). Згідно з фреймворком низький DSR у поєднанні з дуже високим PBO є вирішальною підставою для відмови. Walk-forward це підтверджує: is_overfitted=TRUE із середнім IS 3.91, що падає до середнього……Показати більшеПоказати менше
Провалений дефляційний тест Шарпа з екстремальною ймовірністю перепідгонки на спробі 1. DSR=0.3175 (проти 0.95 бару), is_significant=FALSE, з оптимізованим Шарпа 1.9615 BELOW 225-спробового очікувано-максимального бару везіння 2.3078, і — вирішально — PBO=0.8664 (87% ймовірність того, що відбір параметрів є перепідгонкою). Згідно з фреймворком низький DSR у поєднанні з дуже високим PBO є вирішальною підставою для відмови. Walk-forward це підтверджує: is_overfitted=TRUE із середнім IS 3.91, що падає до середнього OOS 0.962, і OOS вікон [2.76, 1.32, -1.19] (одне негативне). Високий probabilistic_sharpe (0.9964) — це класична пастка PSR-проти-DSR — він ігнорує 225-спробовий відбір, який PBO/DSR штрафують. Справжні позитиви (0 обривів чутливості, позитивний sharpe_ci_low +0.4252, коректно прохідний коефіцієнт відкладеної вибірки 1.213) вимірюють локальну стабільність та одне сприятливе вікно walk-forward, а не значущість, і не можуть скасувати 87% PBO з обраним Шарпа нижче бару везіння. Не ітерувати (спроба 1 з 2, вже ітерація 3): чутливість вже чиста з 0 обривами, тож перебір повністю дослідив стабільну область, але OOS все одно падає, і PBO становить 0.87 — перепідгонка полягає у walk-forward SELECTION по 225 спробах, а не у виправному обриві, і лише з 3 основними параметрами другий перебір best-of-225 знову знаходить ті самі конфігурації перепідгонки. Не revise_hypothesis: дисбаланс taker-flow є механізмом першого тесту без промованого аналога, що застряг на мертвій цілі, тож немає нічого доведеного, що можна перенацілити на новий інструмент. Додаткова обережність (не підтверджена коренева причина): сигнал 'order flow' виводиться з розрідженої серії метрик taker_long_short_vol_ratio з перенесенням із застарілістю 14 днів, а не з сирих тіків угод, тому під час розріджених періодів 2023-2025 він може бути одним знімком, утримуваним до двох тижнів уперед — деградуючи до застарілого, малоінформативного проксі та підриваючи передумову 'інформаційно відмінно від ціни'; у поєднанні з трендом лише довгих позицій BTC у переважно бичачій 6-річній вибірці (базова альфа 0.02, benchmark_correlation 0.30), значна частина прибутку може бути бетою. FAILURE PATTERN: справді новий механізм order-flow з незвично чистим профілем (0 обривів чутливості, позитивний CI-низький, прохідна відкладена вибірка) усе ще може бути перепідгонкою best-of-225 — тут PBO 0.8664 з DSR 0.32 та оптимізований Шарпа (1.96) нижче 2.31 бару везіння, плюс is_overfitted walk-forward з негативним OOS вікном, є вирішальним. Чиста сітка чутливості та одне сприятливе вікно відкладеної вибірки NOT рятують оптимізацію, відбір якої є 87% ймовірно перепідігнаним; новизна та локальна стабільність не є статистичною значущістю.
Реалізація
Long-only 4H слідувач за трендом на BTCUSDT.BINANCE perp, чий спрямований сигнал є агрегований дисбаланс TAKER ORDER-FLOW (з серії метрик taker_long_short_vol_ratio), обмежений 100-бар SMA фільтром тренду. LONG, коли дисбаланс taker > +0.05 і close > SMA; вихід, коли дисбаланс стає нижче exit_imbalance або close < SMA. Ітерація 3 виправляє розрив експозиції 2023-2025: прямий запит сховища метрик довів, що серія taker існує CONTINUOUSLY місяць-за-місяцем через 2020-2026 і правильно завантажується; збій був власним обмеженням застарілості стратегії 24h, яке було значно суворішим за розріджений (1-30-день внутрішньомісячний) каденс рядків метрик 2023-2025. Обмеження тепер є параметром (max_lag_hours, типово 336h=14 днів), який переносить найближче at-or-before співвідношення taker вперед через розріджені проміжки.
Огляд бектесту
Шарп
0,90
Загальна дохідність
36,26%
Максимальна просадка
13,11%
Усього угод
191
Частка прибуткових
40,8%
Профіт-фактор
1,34
Функціональний та інфраструктурний тест успішний: серія метрик taker-flow завантажується і керує 191 входами (0 падінь) — доводить, що справді новий клас механізму order-flow проходить через конвеєр
Сильні скориговані на ризик метрики до оптимізації: Sharpe 0.90, Sortino 1.77, Calmar 2.24, max_drawdown лише 13.1%, profit_factor 1.34
Позитивна alpha (+0.021), низька beta (0.043) та низький benchmark_correlation (0.30) — диференційований, частково ринково-нейтральний потік прибутку
Здорова вибірка угод (191) за ~6 років підтримує значущий walk-forward з адекватними OOS угодами на вікно
Асиметрична виплата (avg_win ~2x avg_loss) пояснює відсоток виграшів нижче -50% — нормальний профіль трендового слідкувача, не дефект
Ризик цілісності механізму: 14-день перенесення застарілості робить сигнал taker-flow майже постійним протягом розріджених 2023-2025 проміжків, тому таймінг угод може керуватися гейтом тренду SMA — можливо, це стратегія цінового тренду в одязі order-flow
sharpe_ci_low -0.635 (CI охоплює 0) — значущість ще не встановлена; потрібен deflated-Sharpe gate
information_ratio -0.65 проти buy-hold (частково пом'якшено низькою кореляцією)
Справді новий клас механізму для портфоліо (агрегований дисбаланс taker order-flow) — інформаційно відмінний від вичерпаних сигналів, похідних від ціни
Чутливість PASSED з 0 обривами — параметри локально стабільні в межах тестованої сітки
sharpe_ci_low позитивний (+0.4252), і holdout справді пройшов (коефіцієнт 1.213, holdout_sharpe 1.167 проти позитивного WF-OOS 0.962)
PBO=0.8664 — 87% ймовірність перенавчання бектесту; низький DSR + дуже високий PBO є вирішальним no-promote
Walk-forward is_overfitted=TRUE: середній IS 3.91 стискається до середнього OOS 0.962, з OOS вікнами [2.76, 1.32, -1.19] (одне негативне)
probabilistic_sharpe 0.9964 — це класична пастка PSR-проти-DSR — ігнорує 225-спробовий відбір, який PBO/DSR штрафують
Базова конфігурація CI охоплює 0 (базова sharpe_ci_low -0.6354); базова alpha лише 0.02 з benchmark_correlation 0.30 — long-only BTC тренд у bull-heavy вибірці важко відокремити від beta
Застереження щодо цілісності механізму: 'order flow' виводиться з розрідженої серії метрик taker-ratio з перенесенням застарілості на 14 днів, а не з сирих тіків угод — під час 2023-2025 сигнал може бути знімком, утримуваним вперед до двох тижнів, деградуючи у застарілий proxy (позначено для перевірки, не підтверджено)
всі > 0
Не NOT оптимізувати — taker-flow сигнал має структурний 2023-2025 збій даних (угоди існують лише у 2020-2022 та 2026; annual_returns пропускає 2023/2024/2025; exposure_pct 2.79%), тому walk-forward з 3-вікнами запускатиме ціле вікно на нульових даних, і перевагу order-flow неможливо валідувати. Зміна лоадера з толерантністю до схеми в ітерації 2 NOT не закрила розрив, а це означає, що наступний крок — діагностичний, а не ще одна спроба вгадати схему: (1) Безпосередньо запитати каталог/сховище додаткових даних і……Показати більшеПоказати менше
Не NOT оптимізувати — taker-flow сигнал має структурний 2023-2025 збій даних (угоди існують лише у 2020-2022 та 2026; annual_returns пропускає 2023/2024/2025; exposure_pct 2.79%), тому walk-forward з 3-вікнами запускатиме ціле вікно на нульових даних, і перевагу order-flow неможливо валідувати. Зміна лоадера з толерантністю до схеми в ітерації 2 NOT не закрила розрив, а це означає, що наступний крок — діагностичний, а не ще одна спроба вгадати схему: (1) Безпосередньо запитати каталог/сховище додаткових даних і підтвердити, чи `metrics` обсяг taker buy/sell (або taker_long_short_vol_ratio) рядки PHYSICALLY EXIST для BTCUSDT 2023-01 по 2025-12. Вивести кількість рядків і фактичні назви стовпців/ключів часових міток для вибірки 2024. (2) Якщо рядки існують під ще однією схемою (назва стовпця або ключа часової мітки, яку ваш лоадер все ще не розпізнає), розширити `_row_ratio`/`_row_ts`/`_load_taker_flow`, щоб їх читати, і перезапустити; підтвердити, що exposure_pct зростає, а угоди заповнюють 2023-2025. (3) Якщо рядки NOT існують (метрики серії taker ніколи не збиралися/не заповнювалися для тих років), це інфраструктурна/проблема збору даних, як і передбачала гіпотеза — код стратегії не може це виправити, тому подайте тікет на збір даних для багаторічних метрик taker-flow і DO NOT повторно подайте цю стратегію на оптимізацію, поки дані не охоплять весь період бектесту. Тільки коли серія taker-flow безперервно покриває 2020-2026, це варто оптимізувати; механізм багатообіцяючий, але наразі нетестується.
Підсумок результатів
Справді новий механізм з незвично чистим профілем — нуль обривів чутливості, позитивний Sharpe CI-низький, та успішний holdout — все одно може бути best-of-N перенавчанням, тому майбутня робота повинна розглядати високий PBO плюс deflated Sharpe нижче за рівень удачі як вирішальне незалежно від локальної стабільності, і повинна перевірити, що сигнал додаткових даних (тут серія taker, перенесена вперед до 14 днів через розріджені 2023-2025 проміжки) не деградує у застарілий proxy цінового тренду.
Аналітик полишив його після оптимізації (спроба 1 з 2, вже ітерація 3): попри прохідну чутливість (0 обривів), позитивний Шарпа CI-низький (+0.425), та коректну відкладену вибірку (коефіцієнт 1.213), він не пройшов дефляційний тест Шарпа (DSR 0.318 проти 0.95, не значущий) з оптимізованим Шарпа 1.96 нижче 225-спробового бару везіння 2.31, і — вирішально — PBO 0.866 (87% ймовірність перепідгонки) поряд із walk-forward, позначеним як перепідігнаний (середнє in-sample 3.91, що падає до середнього OOS 0.96, з негативним вікном -1.19).
Long-only 4H стратегія слідування за трендом на BTCUSDT.BINANCE perp, спрямований сигнал якої надходив від агрегованого дисбалансу order-flow taker buy/sell (з серії метрик taker-ratio), а не від ціни, з входом у long, коли дисбаланс taker-buy перевищував +0.05, а ціна була вище 100-бар SMA — навмисно новий, трипараметровий клас механізму order-flow та інфраструктурний тест того, чи дані taker-flow проходять через конвеєр.
Інфраструктурний тест пройшов успішно (серія тейкера завантажилася та забезпечила 191 чистих входів), і базовий бектест був сильним для фабрики: Шарпа 0.904, дохідність +36.3%, профіт-фактор 1.34, відсоток виграшів 40.8%, лише 13.1% максимальної просадки, з позитивною альфою (0.021) та низькою кореляцією з бенчмарком (0.30). Оптимізація підняла його до Шарпа 1.96, дохідності +88.2%, просадки 10.8%, та профіт-фактора 1.76.
Stratmill — це інструмент для дослідження та паперової торгівлі, а не фінансова консультація чи брокер. Результати бектестів і паперової торгівлі є гіпотетичними. Торгівля пов'язана з ризиком втрати коштів.