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

Стратегии

BTC Предоставление ликвидности сеткой в диапазоне, только мейкерские ордера (один инструмент: бессрочный контракт BINANCE USD-M, бары по 15 мин; извлечение прибыли из колебаний с помощью лестницы пассивных LIMIT ордеров вокруг скользящей средней; шаг сетки значительно больше комиссии мейкера за полный круг; пауза при тренде и ограничение позиции; ответ на губительное воздействие такерских комиссий на возврат к среднему; параметров: 4)

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

BtcMakerGridLiquidityProvision

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

Эта стратегия была действительно новым для портфеля типом — предоставлением ликвидности только мейкерскими ордерами. Её разработали, чтобы преодолеть губительное воздействие такерских комиссий, погубившее все стратегии возврата к среднему в этой сессии: стратегия извлекает прибыль из колебаний цены в сетке с помощью пассивных post-only лимитных ордеров, шаг которых значительно превышает комиссию мейкера за полный круг около 0.04%; ей также удалось избежать тайм-аута производительности через 300 с, погубившего……Показать большеСвернуть

Эта стратегия была действительно новым для портфеля типом — предоставлением ликвидности только мейкерскими ордерами. Её разработали, чтобы преодолеть губительное воздействие такерских комиссий, погубившее все стратегии возврата к среднему в этой сессии: стратегия извлекает прибыль из колебаний цены в сетке с помощью пассивных post-only лимитных ордеров, шаг которых значительно превышает комиссию мейкера за полный круг около 0.04%; ей также удалось избежать тайм-аута производительности через 300 с, погубившего предыдущую попытку мейкерской стратегии. Она выиграла в 78% из 13,295 сделок, но в этом и заключалась ловушка: прибыльные сделки были крошечными (средняя — $22), а убытки имели тяжёлые хвосты. Во время устойчивого нисходящего тренда 2022 стратегия накапливала длинную позицию против движения, пока счёт не был полностью ликвидирован 2022-03-06 (-100%, 2022 февраля -107%). Защита от трендовых пауз и ограничения размера позиции, на которых строилась стратегия, явно не сдержали именно тот фактор, губительный для сетки, который был назван в гипотезе. При проверке аналитик отказался от неё уже после первой итерации: настройка grid_step/n_levels/mid_lookback/trend_threshold не спасёт стратегию, обнуляющую счёт, а лишь сдвинет дату краха.

Гипотеза

Маркет-мейкинговая стратегия предоставления ликвидности GRID на BTCUSDT.BINANCE (USD-M бессрочный контракт, свечи по 15 мин), которая извлекает прибыль исключительно из колебаний в диапазоне с помощью PASSIVE лимитных ордеров MAKER — целенаправленный структурный ответ на точную причину провала всех тейкерских стратегий возврата к среднему в этой сессии. Все они погибли одинаково: реальное, но крошечное преимущество на колебаниях (−0.05%–−0.2% на сделку) съедала комиссия тейкера за круг около 0.10%. Исполнение……Показать большеСвернуть

Маркет-мейкинговая стратегия предоставления ликвидности GRID на BTCUSDT.BINANCE (USD-M бессрочный контракт, свечи по 15 мин), которая извлекает прибыль исключительно из колебаний в диапазоне с помощью PASSIVE лимитных ордеров MAKER — целенаправленный структурный ответ на точную причину провала всех тейкерских стратегий возврата к среднему в этой сессии. Все они погибли одинаково: реальное, но крошечное преимущество на колебаниях (−0.05%–−0.2% на сделку) съедала комиссия тейкера за круг около 0.10%. Исполнение мейкером на Binance USD-M обходится примерно в 0.02% за сторону (около 0.04% за круг), экономя около 0.06% за цикл; это может превратить погранично убыточный захват колебаний в прибыльный — этот эффект ещё ни разу не измеряли (единственная попытка мейкерской торговли провалилась из-за 300-секундного PERF TIMEOUT, а не из-за отсутствия преимущества). Механизм: поддерживать обновляемую среднюю между лучшими ценами покупки и продажи (EMA) и выставлять лестницу пассивных ордеров LIMIT — лимитные покупки ниже этой средней, продажи выше — с интервалом grid_step (по умолчанию около 0.35%; значение WELL выше комиссии мейкера за круг около 0.04%, чтобы каждая исполненная пара покупка → продажа покрывала комиссии с запасом), охватывающую ±N уровней (по умолчанию 4). При колебании цены исполненные покупки накапливают длинную позицию, которую продают на следующем верхнем уровне, и наоборот; каждый завершённый цикл приносит grid_step за вычетом комиссий мейкера. Это определённо не относится к провалившимся семействам: NOT возврат к среднему с тейкерскими ордерами (NOT только мейкерские, и расчёт комиссий обратный); NOT ротация факторов (мои три ожидающие ротации занимают эту нишу — это другая стратегия TYPE); NOT следование за трендом; NOT опционы/кэрри/ликвидации; NOT затухание сигнала по отдельной акции (направленного прогноза нет — это симметричное предоставление ликвидности). Стратегия рассчитана на двух известных врагов сетки: (1) трендовые рынки TRENDING — фильтр тренда (крутой наклон EMA или выход цены за границы сетки) PAUSES новые ордера на убыточной стороне и закрывает позицию по жёсткому стопу, предотвращая катастрофу из-за накопления позиции против тренда; (2) PERF TIMEOUT — уровни сетки рассчитываются один раз при ребалансировке, а исполнения проверяются за O(1) на свечу по максимуму и минимуму, без повторного просмотра истории. Стратегия закрывает два пробела в портфеле: в нём нет стратегий предоставления ликвидности, а краткосрочные стратегии представлены недостаточно (6.8%). 4 параметры (grid_step, n_levels, ретроспективный период EMA/средней цены, порог приостановки при тренде).

Гипотеза реализована напрямую: (1) MAKER-ONLY — все ордера сетки используют order_factory.limit(post_only=True): биржа отклоняет их, если они пересекают рынок, гарантируя исполнение мейкером (около 0.02% за сторону, или 0.04% за круг). grid_step 0.35% >> 0.04%, поэтому каждая пара покупки и продажи приносит чистую прибыль после комиссий; расчёт комиссий обратен тому, который погубил тейкерские стратегии возврата к среднему в этой сессии. (2) LADDER вокруг ROLLING MID — EMA(mid_lookback) задаёт среднюю цену;……Показать большеСвернуть

Гипотеза реализована напрямую: (1) MAKER-ONLY — все ордера сетки используют order_factory.limit(post_only=True): биржа отклоняет их, если они пересекают рынок, гарантируя исполнение мейкером (около 0.02% за сторону, или 0.04% за круг). grid_step 0.35% >> 0.04%, поэтому каждая пара покупки и продажи приносит чистую прибыль после комиссий; расчёт комиссий обратен тому, который погубил тейкерские стратегии возврата к среднему в этой сессии. (2) LADDER вокруг ROLLING MID — EMA(mid_lookback) задаёт среднюю цену; n_levels размещает ордера post-only на покупку ниже и на продажу выше, с интервалом grid_step. Исполнения порождают противоположные лимитные ордера TP (покупка исполнена → продажа на один шаг выше; продажа исполнена → покупка на один шаг ниже) — классическая самоподдерживающаяся сетка, извлекающая прибыль из колебаний. (3) TREND-PAUSED — фильтр тренда по наклону EMA и выходу цены за границы сетки закрывает позицию и останавливает выставление ордеров во время трендов, предотвращая катастрофу из-за накопления позиции против тренда. (4) INVENTORY-CAPPED — жёсткий предел чистой экспозиции (inv_cap_mult*n_levels*level_qty) и естественно ограниченная лестница ±n_levels удерживают экспозицию в заданных пределах; при превышении сетка отключается, позиция закрывается рыночным ордером. (5) NO PERF TIMEOUT — уровни рассчитываются один раз при смене режима и восстанавливаются за on_order_filled; проверка каждой свечи выполняется за O(1). Ровно 4 настраиваемых основных параметра (grid_step, n_levels, mid_lookback, trend_threshold). Площадка: необходимы фьючерсы BINANCE (MARGIN), поскольку преимущество основано на комиссиях мейкера, а сетка симметрично предоставляет ликвидность для длинных и коротких позиций; мейкерская комиссия 0.10% и возможность только длинных позиций на спотовом рынке устранили бы преимущество. Кредитное плечо намеренно установлено на 1.0: сетки накапливают позицию против движения, поэтому плечо создаёт неправильный риск (об этом прямо предупреждает описание архетипа сетки); размер позиции рассчитывается с учётом config.leverage, поэтому останется согласованным, если плечо когда-либо увеличат. Стратегия закрывает два пробела в портфеле (нет стратегий предоставления ликвидности; краткосрочные стратегии представлены недостаточно) и часто торгует на 15-минутных BTC (колебания 0.35% постоянны), избегая провалов no_trades/verification_loop. Проверено: статический анализ слоя 1 PASSED; все 6 синтетических сценариев слоя 2 PASSED с непрерывным, не замороженным сигналом.

Полная ликвидация счёта 2022-03-06: total_return -100%, max_drawdown 100% (максимум CI — 100.07%), а доходность за весь период начиная с марта 2022 составляет ровно 0.0: стратегия обанкротилась через 2 лет периода и не восстановилась. Это именно тот структурный фактор, губительный для сетки, от которого гипотеза обещала защитить: неограниченное накопление длинной позиции против устойчивого нисходящего тренда 2022 (февраль 2022 = -107%), которое фильтр приостановки по наклону EMA и ограничение позиции явно не……Показать большеСвернуть

Полная ликвидация счёта 2022-03-06: total_return -100%, max_drawdown 100% (максимум CI — 100.07%), а доходность за весь период начиная с марта 2022 составляет ровно 0.0: стратегия обанкротилась через 2 лет периода и не восстановилась. Это именно тот структурный фактор, губительный для сетки, от которого гипотеза обещала защитить: неограниченное накопление длинной позиции против устойчивого нисходящего тренда 2022 (февраль 2022 = -107%), которое фильтр приостановки по наклону EMA и ограничение позиции явно не сдержали. Дополнительные метрики подтверждают, что стратегия сломана и имеет отрицательное преимущество: profit_factor 0.646, коэффициент Шарпа -0.95 (CI [-3.32, -0.83] целиком отрицательны), коэффициент Сортино -0.89, information_ratio -2.45, PSR 0.0, return_skew -45.7 / эксцесс 2179 (катастрофический левый хвост), а avg_trade_return_pct 0.14% даже до краха ниже минимального уровня комиссий фьючерсов 0.15%. Оптимизация grid_step/n_levels/mid_lookback/trend_threshold не спасёт стратегию, ликвидирующую счёт: настройка параметров лишь сдвинет дату краха, но не устранит присущий сетке с плечом риск накопления позиции против тренда. Стратегия фундаментально сломана; она не стоит 2 часов оптимизации.

Реализация

Сетка для торговли в диапазоне и стратегия предоставления ликвидности, только мейкерными ордерами, на BTCUSDT.BINANCE USD-M perp (свечи 15 мин.). Поддерживает скользящую котировку mid по bid/ask EMA и выставляет лестницу из PASSIVE post-only ордеров LIMIT: n_levels лимитных ордеров на покупку ниже mid и n_levels лимитных ордеров на продажу выше с интервалом grid_step (0.35%). Покупки накапливают длинную позицию ниже mid, продажи — короткую выше; после каждого исполнения сразу выставляется противоположный лимитный……Показать большеСвернуть

Сетка для торговли в диапазоне и стратегия предоставления ликвидности, только мейкерными ордерами, на BTCUSDT.BINANCE USD-M perp (свечи 15 мин.). Поддерживает скользящую котировку mid по bid/ask EMA и выставляет лестницу из PASSIVE post-only ордеров LIMIT: n_levels лимитных ордеров на покупку ниже mid и n_levels лимитных ордеров на продажу выше с интервалом grid_step (0.35%). Покупки накапливают длинную позицию ниже mid, продажи — короткую выше; после каждого исполнения сразу выставляется противоположный лимитный ордер тейк-профит на расстоянии grid_step, поэтому каждый завершённый цикл покупка→продажа (или продажа→покупка) приносит grid_step за вычетом примерно 0.04% за полный цикл мейкерных сделок. Поскольку grid_step (0.35%) значительно превышает стоимость полного цикла мейкерных сделок, каждое использованное колебание покрывает комиссии с запасом — в этом структурное преимущество исполнения мейкерными ордерами (0.02%/сторона) перед тейкерными (0.05%/сторона), из-за которых прежние попытки возврата к среднему провалились. Контроль рисков: фильтр тренда по наклону EMA (|наклон| за slope_window > trend_threshold) и пробой ценового диапазона (цена отклоняется от якоря сетки более чем на envelope_mult*n_levels*grid_step) вызывают полную остановку: все выставленные ордера отменяются, позиция закрывается по рынку, а новые ордера ликвидности не выставляются, пока рынок снова не перейдёт к торговле в диапазоне. Независимое ограничение позиции закрывает её, если чистая экспозиция превышает inv_cap_mult*n_levels*level_qty. Лестница перестраивается только при смене режима, а ордера пополняются по событиям в on_order_filled, поэтому работа на каждом баре имеет сложность O(1) (без повторного сканирования истории — значит, нет тайм-аута PERF).

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

Аналитику следует ABANDON на этапе BACKTEST_REVIEW: преимущество от комиссий мейкера проверено напрямую и не спасает извлечение прибыли из колебаний сетки.

Опровержение основной гипотезы (вывод аналитика, а не ошибка кода): ключевая ставка гипотезы — исполнение мейкером (около 0.04% за полный круг) превращает извлечение прибыли из колебаний в положительное. Песочница с мейкерскими исполнениями и комиссиями опровергает это: total_return -37.3%, коэффициент Шарпа -1.51 (CI [-3.28, +0.19]), profit_factor 0.68, max_drawdown 38.3% за 1536 сделок. Классический признак краха сетки из-за тренда: win_rate 78%, но avg_loss $347 составляет около 5.4x avg_win $64, эксцесс 54.96, tail_ratio 0.42. Преимущество мейкера IS извлекалось на каждом цикле, но потери от накопления позиции против тренда перевешивают его; trend_threshold=0.012 слишком свободный для 15-минутного BTC.

Считай песочницу оптимистичной верхней границей; реальные исполнения дадут худший результат, что дополнительно подтверждает отказ от стратегии.

Реалистичность мейкерских исполнений в бэктесте завышена, а вся гипотеза опирается на неё: при исполнении по барам предполагается, что пассивный лимитный ордер post_only исполняется полностью при любом касании максимума/минимума, без учёта позиции в очереди и неблагоприятного отбора. В реальности мейкерские сделки страдают от неблагоприятного отбора и конкуренции в очереди, поэтому на реальном счёте результат будет хуже и без того -37% результата в песочнице.

Для этой сетки важнее ожидаемая сумма в долларах / profit_factor (0.68), чем avg_trade_return_pct.

Вводящая в заблуждение метрика на сделку: avg_trade_return_pct = 0.155% едва превышает порог 0.15%, однако avg_trade_pnl_usd составляет -$24, а total_return -37.3%. Среднее значение на единицу номинала определяется множеством небольших прибыльных циклов, тогда как убытки в долларах сосредоточены в крупных закрытиях накопленной позиции. Поэтому значение выше 0.15% — это артефакт, а не свидетельство жизнеспособности стратегии.

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

Шарп
-0,95
Общая доходность
-100,00%
Максимальная просадка
100,00%
Всего сделок
13295
Доля прибыльных
78,3%
Профит-фактор
0,65

Действительно новый тип стратегии (предоставление ликвидности только мейкерскими ордерами), отсутствующий в действующем портфеле

Гипотеза об обратном эффекте комиссий мейкера (около 0.04% за полный круг против примерно 0.10% у такера) сама по себе экономически обоснована

Защита от тайм-аута производительности (исполнения событийным способом за O(1)) сработала: запуск завершился без тайм-аута через 300 с, погубившего предыдущую попытку мейкерской стратегии

ACCOUNT LIQUIDATED на 2022-03-06 — total_return -100%, max_drawdown 100%; стратегия погибла и не принесла доходности за последние примерно 4 лет периода

Основной фактор, губительный для сетки (накопление позиции против тренда), реализовался на медвежьем рынке 2022, несмотря на защиту фильтром трендовой паузы и ограничением позиции: февраль 2022 был -107%

profit_factor 0.646, коэффициент Шарпа -0.95 (CI [-3.32, -0.83] полностью отрицательны), коэффициент Сортино -0.89, information_ratio -2.45, PSR 0.0

Катастрофический тяжёлый левый хвост: return_skew -45.7, эксцесс 2179, largest_loss -$1,416 против avg_win $22

avg_trade_return_pct 0.14% ниже минимального уровня комиссий фьючерсов 0.15% ещё до краха

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

Обратный эффект комиссий мейкера действительно решил проблему губительных комиссий (защита от тайм-аута производительности тоже сработала), но главный риск сетки с плечом — накопление позиции против устойчивого тренда. Фильтра приостановки при тренде с наклоном EMA и ограничения позиции недостаточно, чтобы сдержать его, поэтому высокая доля прибыльных сделок скрывает катастрофический левый хвост, ликвидирующий счёт.

От стратегии отказались на этапе проверки бэктеста до оптимизации из-за полной ликвидации счёта: реализовался именно тот фактор, губительный для сетки, от которого она должна была защищать, — неограниченное накопление длинной позиции против устойчивого нисходящего тренда 2022 (февраль 2022 -107%), которое фильтр приостановки по наклону EMA и ограничение позиции явно не сдержали. Настройка параметров могла бы лишь сдвинуть дату краха, но не устранить присущий стратегии риск накопления позиции против тренда.

Стратегия предоставления ликвидности с сеткой для торговли в диапазоне, только мейкерными ордерами, на BTCUSDT.BINANCE (USD-M perp, свечи 15 мин.), собирает прибыль с колебаний цены с помощью лестницы пассивных лимитных post-only ордеров вокруг скользящей котировки mid по bid/ask EMA. Ордера расположены значительно дальше, чем примерно 0.04% за полный цикл мейкерных сделок. Фильтр приостанавливает торговлю при тренде, а ограничение позиции призвано защитить от катастрофических убытков при накоплении позиции против тренда — это структурный ответ на комиссионные издержки тейкерных сделок, погубившие стратегии возврата к среднему.

Счёт ликвидирован: совокупная доходность -100%, максимальная просадка 100%, крах 2022-03-06, нулевая доходность за последние примерно 4 лет; фактор прибыли 0.646, коэффициент Шарпа -0.95 (CI полностью отрицательный), информационный коэффициент -2.45, катастрофический левый хвост (асимметрия -45.7, эксцесс 2179), а avg_trade_return_pct 0.14% ниже минимального уровня комиссий 0.15% ещё до краха. Всего 13,295 сделок, доля прибыльных — 0.78.

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