Перейти до вмісту
Усі стратегії

Стратегії

Контртрендова стратегія на екстремумах фінансування безстрокового контракту Hyperliquid SOL — довгі та короткі позиції, один інструмент: FADE скупчення позицій, коли ковзна Z-оцінка фінансування досягає екстремуму (дуже позитивне фінансування = надмірне кредитне плече в довгих позиціях → SHORT; дуже негативне = капітуляція коротких позицій → LONG), з підтвердженням через відсутність цінового підтвердження, вихід за повернення фінансування до норми / стопом ATR / часовим стопом (SOLUSDT.HYPERLIQUID, 4 год, 3 параметрів)

Результат: Відхилено

HyperliquidSolFundingExtremeContrarian

Механізм спрацьовує без проблем і дає достатню вибірку (201 угод за 953 днів) без тайм-ауту — реалізація фінансування O(log n) працює як задумано

Гіпотеза

Контртрендова стратегія LONG-SHORT для одного інструмента, керована POSITIONING, на безстроковому контракті Hyperliquid SOL, побудована навколо механічного сигналу NON-OHLCV — FUNDING безстрокових контрактів — який використовується у спосіб OPPOSITE щодо відмерлого сімейства cash-and-carry у фабриці стратегій. Це NOT дельта-нейтральний кері (який відмер, бо прибуток і збиток від фінансування були надто малими порівняно із шумом базису) і NOT ціновий моментум (кошики моментуму HL — 0/84). Натомість фінансування……Показати більшеПоказати менше

Контртрендова стратегія LONG-SHORT для одного інструмента, керована POSITIONING, на безстроковому контракті Hyperliquid SOL, побудована навколо механічного сигналу NON-OHLCV — FUNDING безстрокових контрактів — який використовується у спосіб OPPOSITE щодо відмерлого сімейства cash-and-carry у фабриці стратегій. Це NOT дельта-нейтральний кері (який відмер, бо прибуток і збиток від фінансування були надто малими порівняно із шумом базису) і NOT ціновий моментум (кошики моментуму HL — 0/84). Натомість фінансування використовується як індикатор скупчення позицій / позиціонування для вибору моменту контртрендової угоди DIRECTIONAL: добре задокументовано, що за екстремально позитивного фінансування безстрокових контрактів довгі позиції мають надмірне кредитне плече та платять за утримання — такий стан історично передує LOWER подальшій дохідності безстрокових контрактів (ризик сквізу / масового вимивання позицій), а симетрично екстремально негативне фінансування позначає капітуляцію коротких позицій, яка передує відскокам. Обрано, щоб одночасно заповнити три недостатньо представлені категорії: HYPERLIQUID (6.8% проти цільового значення 20%), long_short (14.2%) та безпечну щодо даних перевагу поза OHLCV, яка не належить до кладовища перенавчених стратегій OHLCV. Один інструмент і 3 параметрів обрано навмисно, щоб зберегти можливість реалізації (кошики з кількох інструментів HL загинули через тайм-аути під час написання коду) та протидіяти перенавчанню. IMPLEMENTATION NOTE: підтримуйте базовий рівень фінансування як ковзну двобічну чергу, що оновлюється інкрементально (O(1) на оновлення) — NEVER повторно скануйте весь ряд фінансування всередині on_bar (цей шаблон спричиняв повторні тайм-аути пісочниці тривалістю 300 с).

Ітерація 2 виправляє єдиний збій рівня -2 (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`, усі шість сценаріїв). `_StrategyProxy` рівня -2 переприв’язує кожен викличний атрибут стратегії до простої обгортки через `types.MethodType`, що перетворює статичний метод `_bar_ts` базового класу з одним аргументом на прив’язаний метод — тому `self._bar_ts(bar)` отримує два аргументи. Мінімальне виправлення замінює цей єдиний виклик допоміжною функцією `_bar_timestamp_ns(bar)` рівня модуля, яка……Показати більшеПоказати менше

Ітерація 2 виправляє єдиний збій рівня -2 (`FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given`, усі шість сценаріїв). `_StrategyProxy` рівня -2 переприв’язує кожен викличний атрибут стратегії до простої обгортки через `types.MethodType`, що перетворює статичний метод `_bar_ts` базового класу з одним аргументом на прив’язаний метод — тому `self._bar_ts(bar)` отримує два аргументи. Мінімальне виправлення замінює цей єдиний виклик допоміжною функцією `_bar_timestamp_ns(bar)` рівня модуля, яка безпосередньо читає `bar.ts_event` (із резервним використанням `ts_init`) — поведінка ідентична, а переприв’язування проксі на неї не впливає. Більше нічого не змінено: імпорти, структура класу, розбір фінансування, логіка сигналів, входи, виходи та визначення розміру позицій побайтово ідентичні previous_code, що пройшов рівень 1, тож жодна попередня перевірка не може зазнати регресії. Зауважте, що `_bar_interval_ns` і далі викликається з `__init__`, який виконується на справжньому екземплярі до будь-якого переприв’язування проксі, тому це на нього не впливає. Кредитне плече 2.0 використовується в `position_size` через `self.config.leverage` в обмеженні сукупної номінальної вартості позицій.

Контртрендова торгівля проти екстремумів фінансування на одному інструменті з від’ємним математичним очікуванням — немає переваги, яку можна оптимізувати. PF 0.60, total_return -33.7%, коефіцієнт Шарпа -0.42, математичне очікування -$156/угоду, і avg_trade_return_pct -0.37% (від’ємне, нижче порога комісій Hyperliquid 0.15%, L22). Збитки в кожному році (2024 -14.8%, 2025 -13.8%, 2026 -6.5%), причому частка прибуткових угод як для довгих, так і для коротких позицій нижча за -43%, а avg_loss > avg_win —……Показати більшеПоказати менше

Контртрендова торгівля проти екстремумів фінансування на одному інструменті з від’ємним математичним очікуванням — немає переваги, яку можна оптимізувати. PF 0.60, total_return -33.7%, коефіцієнт Шарпа -0.42, математичне очікування -$156/угоду, і avg_trade_return_pct -0.37% (від’ємне, нижче порога комісій Hyperliquid 0.15%, L22). Збитки в кожному році (2024 -14.8%, 2025 -13.8%, 2026 -6.5%), причому частка прибуткових угод як для довгих, так і для коротких позицій нижча за -43%, а avg_loss > avg_win — контртрендова торгівля систематично опиняється з хибного боку руху, а єдиний прибутковий місяць зумовлений одним аномальним днем +10.77% (куртозис 9.8). Механізм реалізовано якісно (без тайм-ауту, фінансування зараховано), але він належить до двох сімейств, у яких не вижила жодна стратегія: повернення до середнього / торгівля проти руху на одному інструменті (L55) та спрямована торгівля одним безстроковим контрактом із додатковим фільтром за фінансуванням (L73). Фільтр відсутності цінового підтвердження не додав реальної переваги. Знак переваги на одну угоду від’ємний, і жодне налаштування параметрів не може його змінити. Не варто витрачати 2 годин на оптимізацію. Типовий сценарій невдачі: fee_edge/no_edge контртрендова торгівля одним безстроковим контрактом із фільтром за фінансуванням.

Реалізація

Контртрендова стратегія з довгими та короткими позиціями на одному безстроковому контракті Hyperliquid SOL (4-годинні бари). Фінансування використовується як індикатор скупчення позицій: ковзна z-оцінка значення hl_funding_rates відносно його власного розподілу за попередній період повертається на кожному барі як неперервний сигнал. Проти екстремально позитивної z-оцінки (скупчені довгі позиції, що переплачують) відкривається SHORT; проти екстремально негативної z-оцінки (капітуляція коротких позицій) відкривається LONG, але лише коли ціна не підтверджує позиціонування натовпу (ціна закриття не встановлює нового максимуму/мінімуму за confirm_bars барів). Виходи за повернення фінансування до норми (|z| <= exit_z), за стопом ATR, зафіксованим на момент входу, або за календарним часовим стопом, відлік якого ведеться від position.ts_opened. Розмір позиції визначається передусім ризиком: спрацювання стопа ATR коштує ~risk_frac капіталу, з незалежним обмеженням сукупної номінальної вартості позицій.

Результати перевірки

CLEAN RESTART 2026-09-04 — історію вердиктів і записи навчання цього запуску було видалено, а його перезапущено з етапу перевірки. Попередня відмова сталася через конвеєр, а не через ринок: механізм Layer-2 неправильно прив’язував допоміжні методи @staticmethod (виправлено), QA видавав остаточні вердикти щодо продуктивності на неоптимізованому димовому тесті (видалено — QA тепер оцінює лише коректність), а тайм-аути пісочниці були спричинені нестачею слотів для бек-тестів (виправлено). Гіпотеза й код стратегії не змінювалися. Перевірте код за його суттю; продуктивність буде визначено пізніше повним бек-тестом та оптимізатором.

Звузити _param_bounds до 3 основних налаштовуваних параметрів (entry_z, exit_z, funding_lookback_prints); зафіксувати параметри ризику/інфраструктури як константи.

Гіпотеза рекламує підхід «навмисно 3 параметрів, щоб протидіяти перенавчанню», але _param_bounds надає 11 параметрів для оптимізації. Механізм правильний, але 11-вимірний пошук із покроковою перевіркою на наступних часових відрізках суперечить заявленому обґрунтуванню захисту від перенавчання та підвищує ризик PBO. Не блокує подальшу роботу.

Не потрібно; зазначено для аналітика.

Усі синтетичні сигнали рівня -2 застигли на 0.0 (дані фінансування не було введено), тому торговий шлях виконання перевірявся лише в пісочниці (яка здійснила 65 угод на реальних даних фінансування). Не є критичним.

Огляд бектесту

Шарп
-0,42
Загальна дохідність
-33,71%
Максимальна просадка
40,24%
Усього угод
201
Частка прибуткових
42,3%
Профіт-фактор
0,60

Механізм спрацьовує без проблем і дає достатню вибірку (201 угод за 953 днів) без тайм-ауту — реалізація фінансування O(log n) працює як задумано

Один інструмент, один додатковий потік (hl_funding_rates), проблем із даними/перевіркою немає; фінансування враховується в PnL

Від’ємне математичне очікування: profit_factor 0.60, total_return -33.7%, математичне очікування -$156/угоду

avg_trade_return_pct -0.37% — негативне значення, значно нижче за 0.15% комісійний поріг Hyperliquid (L22)

Збитки в усіх трьох роках (2024 -14.8%, 2025 -13.8%, 2026 -6.5%) — стійка відсутність переваги, а не її згасання

Обидва напрями збиткові (частка прибуткових довгих угод 42%, коротких — 42%), причому avg_loss > avg_win — торгівля проти екстремумів фінансування опиняється з хибного боку руху

Єдиний позитивний місяць — це один викидний день +10.77% (ексцес 9.8); базовий рух цін рівномірно негативний

Спрямована контртрендова торгівля одним інструментом із фільтром за фінансуванням — класи повернення до середнього (0/174) та спрямованої торгівлі одним безстроковим контрактом із додатковим фільтром (L73), у яких не вижила жодна стратегія

Історія ітерацій

Перевірка не пройдена (Layer 2 — синтетичні сценарії): Використані параметри: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] Перевірте, що __init__ встановлює всі атрибути з self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - steady_downtrend: TypeError:……Показати більшеПоказати менше

Перевірка не пройдена (Layer 2 — синтетичні сценарії): Використані параметри: ['exit_z', 'entry_z', 'atr_bars', 'risk_frac', 'min_prints', 'confirm_bars', '_param_bounds', 'atr_stop_mult', 'max_hold_bars', 'max_lag_seconds', 'max_notional_frac', 'funding_lookback_prints'] Перевірте, що __init__ встановлює всі атрибути з self.parameters.get(). - steady_uptrend: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - steady_downtrend: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - flat_ranging: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - volatility_spike: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - zero_volume: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000) - price_gap: TypeError: FactoryStrategy._bar_ts() приймає 1 позиційний аргумент, але отримано 2 (часова мітка бару: 1735690500000)

Stratmill — це інструмент для дослідження та паперової торгівлі, а не фінансова консультація чи брокер. Результати бектестів і паперової торгівлі є гіпотетичними. Торгівля пов'язана з ризиком втрати коштів.