Перейти к содержимому
Все стратегии

Стратегии

BNB USD-M Поглощение потока тейкеров и разворот, длинные и короткие позиции (один инструмент BNBUSDT.BINANCE perp, свечи 1h, торговля на расхождении «усилие — результат»: вход, когда агрессивный поток тейкеров SPIKES в одном направлении, но цена FAILS за ним — признак поглощения скрытой ликвидностью; симметричный выход ATR, 3 параметров)

Итог: Отменено

BnbTakerFlowAbsorptionReversalLS

Сводка по итогам

Стратегия проверяла, показывают ли всплески агрессивного потока тейкеров, за которыми цена не следует, поглощение скрытой ликвидностью: покупки при поглощении продаж и короткие позиции при поглощении покупок на BNB бессрочных контрактах. Итерация 2 исправила прежний перекос в короткие позиции 17:1, рассчитав z-оценку симметричного дисбаланса потока ордеров. Исправление сработало: получено 456 сбалансированных сделок (227 длинных / 229 коротких) без ликвидаций. Но сбалансированный портфель выявил реальное отсутствие преимущества: общая доходность -23.4%, Sharpe -0.042, фактор прибыли 0.839, перевёрнутое соотношение прибыли и риска, доходность на сделку всего 0.135% — ниже уровня комиссий по фьючерсам 0.15%. Аналитик отказался от стратегии на этапе проверки бэктеста до оптимизации, решив, что расхождение при поглощении потока тейкеров убыточно после комиссий и ни одна область параметров не позволяет покрыть торговые издержки.

Гипотеза

Разворотная стратегия с длинными и короткими позициями по одному инструменту LONG-SHORT на BNBUSDT.BINANCE (USD-M perp, свечи 1h), основанная на сигнале поглощения потока ордеров ORDER-FLOW ABSORPTION из ленты объёмов покупок и продаж тейкеров (takerBuySellVolume, многолетние данные из метрик Binance) — этот источник данных не используется ни в моих предыдущих предложениях, ни в текущем конвейере. Механизм основан на классическом расхождении Вайкоффа «усилие против результата»: когда агрессивные рыночные SELLING……Показать большеСвернуть

Разворотная стратегия с длинными и короткими позициями по одному инструменту LONG-SHORT на BNBUSDT.BINANCE (USD-M perp, свечи 1h), основанная на сигнале поглощения потока ордеров ORDER-FLOW ABSORPTION из ленты объёмов покупок и продаж тейкеров (takerBuySellVolume, многолетние данные из метрик Binance) — этот источник данных не используется ни в моих предыдущих предложениях, ни в текущем конвейере. Механизм основан на классическом расхождении Вайкоффа «усилие против результата»: когда агрессивные рыночные SELLING резко возрастают (преобладает объём продаж тейкеров), но цена REFUSES не обновляет минимум и закрывается в верхней части свечи, принудительные продажи поглощаются скрытым отложенным спросом — это бычий сигнал, поэтому открывается LONG; обратный сигнал возникает, когда всплеск покупок тейкеров BUY не приводит к новому максимуму (поглощение предложения) → SHORT. Эта идея намеренно отличается от всех неудачных и находящихся в конвейере семейств стратегий: NOT возврат цены/VWAP к среднему по z-оценке (сигнал — расхождение потока и цены DIVERGENCE, а не отклонение цены), NOT капитуляционный сброс при всплеске объёма (он срабатывал на сыром z-всплеске объёма, а фиксированная цель возврата к среднему ограничивала прибыль; здесь сигнал — поглощение направленного потока TAKER, а выход симметричный ATR), NOT стратегии против переполненных позиций на основе соотношений OI/премии/лонг-шорт (другая лента — поток агрессора), NOT зависимые от ленты ликвидаций (многолетняя лента тейкеров, без ограничения в 90 дней), NOT на пробой/следование тренду и NOT на фандинг-кэрри или ротацию между активами. Это пополняет недостаточно представленный сегмент стратегий с длинными и короткими позициями (14% против квоты) новым источником микроструктурных данных.

Устраняет два конкретных дефекта Layer-4. (1) ASYMMETRY (ошибка точной реализации, 17:1 короткий перекос): iter-1 рассчитывал z-оценку отношения покупок к продажам RAW, которое имеет правостороннюю асимметрию и ограничено значением 0, поэтому условие для SHORT хвоста (отношение >> среднего) захватывало длинный правый хвост и срабатывало постоянно, тогда как условие для LONG хвоста (отношение около 0) было структурно недостижимым — длинная сторона оставалась непроверенной, а направленный дрейф BNB определял……Показать большеСвернуть

Устраняет два конкретных дефекта Layer-4. (1) ASYMMETRY (ошибка точной реализации, 17:1 короткий перекос): iter-1 рассчитывал z-оценку отношения покупок к продажам RAW, которое имеет правостороннюю асимметрию и ограничено значением 0, поэтому условие для SHORT хвоста (отношение >> среднего) захватывало длинный правый хвост и срабатывало постоянно, тогда как условие для LONG хвоста (отношение около 0) было структурно недостижимым — длинная сторона оставалась непроверенной, а направленный дрейф BNB определял результат -8.2%. Минимальное обоснованное исправление — рассчитывать z-оценку SYMMETRIC-преобразования потока: дисбаланса потока ордеров (отношение-1)/(отношение+1), который отображает (0,inf) в (-1,+1) симметрично относительно 0; так два z-хвоста сбалансированы, и стратегия становится подлинной симметричной длинно-короткой стратегией, как и предполагает гипотеза. Новые импорты не нужны (только арифметика); меняется лишь выборка величины, подаваемой в ту же z-оценку. (2) BRACKET SEEDING: блок дивергенции (записывающий _last_trap) теперь выполняется только при условии `pos is None`, как и в аналогичном исправлении для всплеска SOL OI; поэтому новая дивергенция на баре сразу после входа больше не сможет перезаписать стоп/цель открытой сделки до того, как _track_position задаст их. (3) FEE/EDGE: я повысил flow_z 1.5 -> 2.0 (настроенный параметр), чтобы требовать более убедительных экстремумов потока, примерно вдвое сократить оборот 84.5 и увеличить преимущество на сделку, приблизив его к порогу комиссий; после исправления симметрии реализованная стратегия будет сбалансированной, поэтому будет измеряться именно преимущество от абсорбции, а не направленный дрейф. Всё остальное, прошедшее Layers 1-3, оставлено без изменений: механизм чтения metrics/taker_ratio (фильтрация по символу, мс->нс, поиск ближайшего предыдущего значения с контролем устаревания, без заглядывания вперёд), обязательная проверка наличия потока (нет данных — нет сделки), базовая диспетчеризация для одного инструмента, вход только при отсутствии позиции, симметричный диапазон ATR, а также консервативное определение размера позиции с риском 1% / валовой позицией 0.5x / кредитным плечом-1.0, исключающее ликвидацию. Импорты по-прежнему чистые (без добавлений). Оставлено ровно 3 настроенных параметров.

Преимущества, покрывающего комиссии, нет: avg_trade_return_pct 0.135% ниже уровня комиссий по фьючерсам 0.15% (L22; этого достаточно для отрицательного решения на проверке), а ожидание с учётом долларового веса отрицательное (-$51/сделку). Исправление симметрии в итерации -2 сработало: 456 хорошо измеряемых сбалансированных сделок (227 длинных / 229 коротких). Теперь сбалансированный портфель позволяет вынести однозначный вердикт: чистый убыток, profit_factor 0.839, Sharpe -0.042 (CI [-0.75, 0.57]), total_return……Показать большеСвернуть

Преимущества, покрывающего комиссии, нет: avg_trade_return_pct 0.135% ниже уровня комиссий по фьючерсам 0.15% (L22; этого достаточно для отрицательного решения на проверке), а ожидание с учётом долларового веса отрицательное (-$51/сделку). Исправление симметрии в итерации -2 сработало: 456 хорошо измеряемых сбалансированных сделок (227 длинных / 229 коротких). Теперь сбалансированный портфель позволяет вынести однозначный вердикт: чистый убыток, profit_factor 0.839, Sharpe -0.042 (CI [-0.75, 0.57]), total_return -23.4% и перевёрнутое соотношение прибыли и риска (avg_loss $629 > avg_win $542, обе стороны убыточны). Это классическая картина fee_edge: валовое преимущество ~0, после издержек результат отрицательный. Значит, расхождение «усилие против результата» при поглощении потока тейкеров не даёт направленного преимущества на BNB (чистый убыток за всё окно; преобладают 2022 -9%, 2023 -4.3% и 2024 -15.3%). Это уже итерация 2: разработчик устранил перекос и проблему измеримости, но сбалансированный результат убыточен. Оптимизация flow_z/close_frac/exit_atr не поднимет механизм с доходностью 0.135% на сделку и PF-0.84 выше стоимости полного цикла ~0.10%; она лишь привела бы к подгонке под разрозненные удачные периоды. Поток данных агрессоров — действительно новая идея, но измеренное преимущество ниже уровня комиссий, и ни одна область параметров не позволяет покрыть издержки. Отказаться.

Реализация

Внутридневной разворот с длинными и короткими позициями на поглощении потока ордеров для BNBUSDT.BINANCE (USD-M perp), свечи 1h; используются данные отношения объёмов покупок и продаж тейкеров из многолетней ленты метрик Binance. На каждой свече рассчитывается соотношение потока агрессоров, преобразуется в SYMMETRIC дисбаланс потока ордеров (отношение-1)/(отношение+1) в диапазоне (-1,+1), после чего для него вычисляется z-оценка относительно собственной скользящей истории за 48 свечей. LONG, когда поток продаж……Показать большеСвернуть

Внутридневной разворот с длинными и короткими позициями на поглощении потока ордеров для BNBUSDT.BINANCE (USD-M perp), свечи 1h; используются данные отношения объёмов покупок и продаж тейкеров из многолетней ленты метрик Binance. На каждой свече рассчитывается соотношение потока агрессоров, преобразуется в SYMMETRIC дисбаланс потока ордеров (отношение-1)/(отношение+1) в диапазоне (-1,+1), после чего для него вычисляется z-оценка относительно собственной скользящей истории за 48 свечей. LONG, когда поток продаж резко растёт (z <= -flow_z=2.0), но цена закрывается в верхней части свечи (close_pos >= 0.6) — поглощение спросом; SHORT при зеркальном сигнале (всплеск покупок, z >= +2.0, закрытие в нижней части) — поглощение предложения. Выявление расхождения выполняется, только когда открытых позиций нет, поэтому новый сигнал не может испортить стоп-профит открытой сделки. Для каждой сделки используется симметричный стоп-профит ATR (цель и стоп равны exit_atr=2.0 x ATR) и ограничение по времени в 12 свечей. Размер позиции рассчитывается исходя из риска 1% капитала до стопа, с ограничением валового объёма на уровне 0.5x капитала (плечо 1.0). 3 настраиваемых параметров (flow_z, close_frac, exit_atr).

Результаты верификации

Проверка не пройдена (Layer 4 — проверка QA): - Стратегия NOT реализует гипотезу о развороте из-за абсорбции с длинными и короткими позициями SYMMETRIC: фактически стратегия преимущественно 94% короткая (long_trades 7 против short_trades 119, перекос 17:1). Корневая причина — дефект методики сигнала: calculate_signal рассчитывает z-оценки отношения покупок к продажам агрессивных участников RAW; оно имеет правостороннюю асимметрию (ограничено значением 0 и имеет длинный правый хвост), поэтому условие для SHORT (z……Показать большеСвернуть

Проверка не пройдена (Layer 4 — проверка QA): - Стратегия NOT реализует гипотезу о развороте из-за абсорбции с длинными и короткими позициями SYMMETRIC: фактически стратегия преимущественно 94% короткая (long_trades 7 против short_trades 119, перекос 17:1). Корневая причина — дефект методики сигнала: calculate_signal рассчитывает z-оценки отношения покупок к продажам агрессивных участников RAW; оно имеет правостороннюю асимметрию (ограничено значением 0 и имеет длинный правый хвост), поэтому условие для SHORT (z ≥ +flow_z, отношение намного ABOVE среднего) захватывает длинный правый хвост и срабатывает постоянно, тогда как условие для LONG (z ≤ -flow_z, отношение около 0) структурно срабатывает редко → только 7 длинных позиций. Предпосылка гипотезы — симметричная стратегия «затраты усилий против результата» в BOTH направлениях (а её заявленная цель — сбалансированная стратегия с длинными и короткими позициями), однако длинная сторона фактически не проверяется, а результат -8.2% определяется направленным дрейфом BNB, а не преимуществом от абсорбции. Это ошибка точной реализации, а не просто результат торговли. - Периодически возникает ошибка задания стопа и цели сделки (такая же ошибка исправлена в аналогичной стратегии со всплеском SOL OI, но исправление NOT применено здесь). Значение _last_trap задаётся в calculate_signal при каждом срабатывании дивергенции WITHOUT проверки отсутствия позиции; поэтому новая дивергенция на баре сразу после входа (до того, как _track_position задаст параметры позиции) приводит к заданию неверных стопа и цели открытой сделки. При 126 сделках и высокой частоте сигналов это происходит чаще, чем в аналогичных стратегиях с низкой частотой. Это не приводит к краху (ограничение 0.5x), но является реальным дефектом. - Даже без учёта асимметрии результат — убыточная стратегия с высоким оборотом: PF 0.803, total_return -8.2%, avg_trade_return_pct +0.056% (положительный результат при равных весах, но ниже порога 0.15% и отрицательный в долларовом выражении), оборот 84.5, коэффициент Шарпа -0.31. После исправления симметрии всё ещё потребуется показать, что преимущество превышает комиссии; текущие цифры этого не подтверждают.

Аналитику предстоит решить, оптимизировать, доработать или оставить стратегию. При доработке нужно улучшать качество сигнала (flow_z / close_frac / определение расхождения), а не структуру выхода, которая уже изначально учитывает комиссии.

Реализованное в песочнице преимущество ниже уровня комиссий по фьючерсам: avg_trade_return_pct 0.112% (< 0.15%), profit_factor 0.857, total_return -2.43%, Sharpe -0.37 (CI [-2.06, 1.14]) на выборке из 54 сделок. Это результат PERFORMANCE/отсутствия преимущества, а не дефект кода: заданный выход использует симметричный стоп-профит 2-ATR (~2-5% на 1h BNB), структурно превышающий стоимость полного цикла ~0.10%, поэтому предполагаемое движение на сделку значительно выше комиссий. Результат ниже уровня комиссий RESULT означает, что сигнал поглощения не создаёт чистого преимущества. Таково решение аналитика на этапе BACKTEST_REVIEW, а не сбой корректности QA. После исправления симметрии в итерации -2 позиции сбалансированы, поэтому это чистая оценка фактического преимущества сигнала (около нуля или немного отрицательного), а не артефакт дрейфа.

Аналитик должен убедиться, что число сделок за полное окно превышает нижнюю границу измеримости, прежде чем считать отрицательное преимущество окончательным выводом.

Общее число сделок — 54 за 363 дней — находится у нижней границы измеримости (~100). metrics_reliable=true, а распределение между длинными и короткими позициями сбалансировано, поэтому результат можно интерпретировать, но выборка достаточно мала, чтобы оценка отрицательного преимущества имела большую погрешность (диапазон Sharpe CI включает ноль). Указанные capacity_usd $3,100 / impact_cost_pct 567%, вероятно, отражают допущение о малой ёмкости (BNB perp высоколиквиден), а не ошибку кода.

Обзор бэктеста

Шарп
-0,04
Общая доходность
-23,43%
Максимальная просадка
29,63%
Всего сделок
456
Доля прибыльных
49,3%
Профит-фактор
0,84

Исправление симметрии в итерации -2 сработало: хорошо измеряемая выборка из 456 сделок, сбалансированное распределение — 227 длинных / 229 коротких (перекоса в короткие позиции 17:1 больше нет); новый поток данных тейкеров загружается и обрабатывается без ошибок и без ликвидаций.

Сбалансированный портфель означает, что отрицательный результат — настоящий однозначный вердикт, а не артефакт перекоса в одну сторону.

avg_trade_return_pct 0.135% ниже уровня комиссий по фьючерсам 0.15%, а ожидание с учётом долларового веса отрицательное (-$51/сделку).

Чистый убыток: profit_factor 0.839, Sharpe -0.042 (CI [-0.75, 0.57]), total_return -23.4%, PSR 0.449.

Перевёрнутое соотношение прибыли и риска: доля прибыльных сделок 49.3% при avg_loss $629 > avg_win $542; обе стороны убыточны (long_win 52%, short_win 47%).

Чистый убыток за всё окно (преобладают все три показателя: 2022 -9%, 2023 -4.3% и 2024 -15.3%).

Классическая картина fee_edge: валовое преимущество ~0, после издержек результат отрицательный; итерация 2 уже завершена, теперь отсутствие преимущества подтверждено.

Сводка по итогам

Действительно новый источник данных (агрессивный поток тейкеров) и устранение перекоса выборки всё равно не создают направленного преимущества. Если валовая доходность на сделку составляет около 0.13% при стоимости полного цикла около 0.10%, механизм не покрывает комиссии, а оптимизация лишь привела бы к подгонке.

Аналитик отказался от стратегии на этапе проверки бэктеста перед оптимизацией: исправление симметрии в итерации -2 сбалансировало позиции, поэтому отрицательный результат стал однозначным вердиктом, а не артефактом перекоса в одну сторону; доходность на сделку ниже уровня комиссий, и ни одна область параметров не позволяет покрыть издержки за полный цикл — поэтому оптимизацию не проводили.

Разворотная стратегия с длинными и короткими позициями по одному инструменту на свечах 1h для бессрочных контрактов BNBUSDT.BINANCE: стратегия открывает позиции против всплесков агрессивного потока тейкеров, когда цена не следует за ними (расхождение поглощения потока ордеров «усилие против результата» по Вайкоффу на основе многолетней ленты объёмов покупок и продаж тейкеров Binance); выход — симметричный стоп-профит ATR.

За 2,358 дней (2020-2026) стратегия совершила 456 хорошо измеряемых сбалансированных сделок (227 длинных / 229 коротких), но принесла чистый убыток: общая доходность -23.4%, Sharpe -0.042 (CI [-0.75, 0.57]), фактор прибыли 0.839, доля прибыльных сделок 49.3%; средний убыток $629 превысил среднюю прибыль $542, математическое ожидание — -$51/сделку. Показатель avg_trade_return_pct из 0.135% оказался ниже уровня комиссий по фьючерсам 0.15%.

Stratmill — это инструмент для исследований и бумажной торговли, а не финансовая консультация или брокер. Результаты бэктестов и бумажной торговли являются гипотетическими. Торговля сопряжена с риском убытков.