К основному содержимому

Рыночно-нейтральный бот

как работает Market Neutral Бот, что делает каждая настройка, какие компромиссы стоят за настройкой возврата к среднему и почему один убыток может перечеркнуть серию выигрышей. Только в образовательных целях — никаких готовых настроек.

Автор: Jacob

Market Neutral Бот

Рекомендуем использовать режим Кросс-маржи для более безопасной торговли. Обратите внимание, что использование Изолированной маржи может нести повышенный риск ликвидации позиции. Также рекомендуем использовать Режим хеджирования, чтобы позиции не компенсировали и не закрывали друг друга.

Представляем наш продвинутый Market Neutral Бот. Он создан для поиска торговых возможностей с помощью количественных методов, а не направленных ставок на рост или падение рынка. Бот использует статистические модели для выявления ценовых взаимосвязей между парами криптовалют и торгует разницу между ними («спред»), когда эта разница отклоняется до нехарактерного уровня.

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


Статистический торговый движок

Market Neutral Бот использует подход статистического арбитража. Анализируя исторические рыночные данные и применяя принципы возврата к среднему, бот ищет временные неэффективности в ценовой взаимосвязи между двумя парами крипто-фьючерсов и делает ставку на то, что взаимосвязь вернётся к норме. Этот основанный на данных метод позволяет боту адаптироваться к изменяющимся рыночным условиям, а не полагаться на одно фиксированное правило.

Как работает Market Neutral Бот?

Бот следует систематическому, основанному на данных процессу из четырёх ключевых этапов.

Сбор и подготовка данных

  • Бот использует исторические данные о ценах за 3 месяца по всем отслеживаемым криптовалютам.

  • Этот набор данных является основой для всего последующего, включая кластеризацию по волатильности и тестирование на коинтеграцию.

  • Использование единообразного периода обучения поддерживает стабильность моделей и их актуальность для текущих условий.

Кластеризация по волатильности

  • Монеты группируются в два кластера волатильностиНизкая волатильность (L) и Высокая волатильность (H) — для повышения точности отбора и управления риском.

  • Краткосрочная прогнозная волатильность — оценивается по последним 15 дням с помощью модели GARCH.

  • Долгосрочная историческая волатильность — рассчитывается по полному 90-дневному набору данных.

  • Экстремальные выбросы удаляются с помощью фильтрации по межквартильному размаху, чтобы кластеризация не искажалась.

  • Каждой монете присваивается метка L или H, чтобы при тестировании на коинтеграцию бот сравнивал сопоставимое с сопоставимым.

Тест Johansen на коинтеграцию

  • Внутри каждого кластера волатильности бот оценивает каждую возможную пару из 2 монет на предмет долгосрочной ценовой взаимосвязи.

  • Тест Johansen выявляет коинтеграцию — то есть две цены движутся вместе на протяжении времени, даже если в краткосрочной перспективе расходятся. Это статистическое основание ожидать возврата спреда.

  • Для каждой коинтегрированной пары бот сохраняет монеты, бета-веса (сколько каждой монеты торговать) и ключевые статистические показатели.

Фильтрация и ранжирование спредов

  • Коинтегрированные спреды ранжируются по силе их коинтеграции (разрыв между trace-статистикой и критическим значением).

  • Бот отбирает самые сильные спреды, применяя фильтр схожести, чтобы никакие два выбранных спреда не имели более 50% одинаковых монет — это предотвращает чрезмерную экспозицию на один актив и улучшает диверсификацию.

Анализ рынка и исполнение

После того как выбраны лучшие спреды:

  • Стационарность и стандартизация — бот строит синтетический спред из пары и стандартизирует его в Z-score, который измеряет, насколько далеко спред сейчас находится от своего среднего.

  • Вход и выход по стратегии — когда спред отклоняется достаточно далеко (значимый Z-score), бот выставляет многосоставные лимитные ордера для входа. Затем он удерживает позицию, пока спред не вернётся к своей медиане, и закрывает её.

  • Управление риском и портфелем — бот применяет лимиты экспозиции по каждой монете и ограничения на общий объём распределения, а также учитывает торговые комиссии в каждом расчёте P&L.


Описание настроек

Настройки ниже позволяют настроить, когда бот входит, как он входит и как он управляет риском. Универсально правильной комбинации не существует — каждая настройка представляет собой компромисс. Разделы после этого объясняют, как рассуждать об этих компромиссах с учётом вашей собственной толерантности к риску.

Настройки позиции

Настройка

Что делает

Тейк-профит (%)

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

Стоп-лосс (%)

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

Стоп-лосс по ногам (%)

Закрывает весь спред, если любая отдельная нога (одна из двух монет) движется против вас на заданный процент — предохранитель на случай, когда одна монета ведёт себя аномально и пара перестаёт вести себя как пара.

Тип ордера

Настройка

Что делает

Авто

Бот выбирает наиболее эффективный по затратам и проскальзыванию способ входа в спред.

Маркет

Обе ноги открываются немедленно рыночными ордерами (самое быстрое исполнение, но вы платите спред/проскальзывание).

Вход двумя ногами

Выставляет лимитные ордера для обеих ног; если одна исполняется, вторая добивается рыночным ордером (лучшая цена, небольшой риск одностороннего исполнения).

Волатильность

Настройка

Что делает

Высокая

Торговать только спреды из кластера высокой волатильности (более крупные движения, более сильные колебания).

Низкая

Торговать только спреды из кластера низкой волатильности (меньшие, более спокойные движения).

Оба

Торговать спреды из обоих кластеров.

Направление торговли

Настройка

Что делает

Возврат к среднему

Входит, когда спред сильно отклонился от своего среднего, ожидая его возврата. Это классический режим парного трейдинга.

Тренд

Входит в направлении движения спреда, стремясь следовать за импульсом, а не играть против него.

Квантильная группа

Контролирует, насколько экстремальным должно быть отклонение, прежде чем бот войдёт.

Настройка

Что делает

1%

Вход только когда Z-score входит в самые экстремальные 1% исторических отклонений. Очень избирательно — редко, но статистически максимально далеко от нормы.

5%

Вход, когда отклонение входит в топ 5%. Золотая середина.

10%

Вход, когда отклонение входит в топ 10%. Наименее избирательно — более частые входы на меньших отклонениях.

Скользящее окно Z-score

Контролирует, как далеко назад смотрит бот, чтобы определить, что является «нормой» для спреда.

Настройка

Что делает

288

Короткое окно — примерно 3 дня на 15-минутных данных. «Нормальный» уровень быстро обновляется и реагирует на недавние условия.

2880

Более длинное окно — примерно 30 дней на 15-минутных данных. «Нормальный» уровень более стабилен и меняется медленно.

Условия входа

Контролирует, в какой момент отклонения бот входит.

Настройка

Что делает

Выход из канала

Триггер по пересечению — бот входит в момент, когда Z-score пересекает границу квантиля (например, пересекает вниз нижний квантиль для лонг-спреда). Он реагирует на само событие пересечения, поэтому входит рано, пока спред растягивается.

Вход в канал

Ждёт, пока спред начнёт возвращаться в свой нормальный диапазон, прежде чем войти — подтверждение того, что возврат, возможно, начался. Более поздний, более консервативный вход.

Вне канала

Условие по уровню / состоянию — бот входит, пока Z-score уже находится за границей квантиля (Z ≤ квантиля для лонга или Z ≥ квантиля для шорта), и условие остаётся действительным до тех пор, пока спред остаётся за пределами, а не только в момент пересечения.


Почему серия небольших выигрышей может быть перечёркнута одним убытком

Это самое важное, что нужно понять о возврате к среднему, и это объясняет распространённый сценарий, когда несколько сделок закрываются с прибылью, а затем один убыток уводит счёт в минус.

Стратегии возврата к среднему обычно имеют высокий процент прибыльных сделок, но неравномерную форму выплат:

  • Большинство сделок — небольшие выигрыши: спред немного растягивается, затем возвращается к своей медиане, и вы фиксируете скромную прибыль.

  • Иногда ставка просто оказывается неверной: взаимосвязь двух монет меняется (структурный слом, крупная новость по одной монете, смена рыночного режима), спред продолжает расширяться вместо возврата, и позиция превращается в крупный убыток.

Поэтому убыточная сделка в этой стратегии часто крупнее типичной прибыльной сделки. Это не сбой — это естественная форма стратегии. Прибыльная система возврата к среднему — это не та, что никогда не проигрывает; это та, где размер редкого убытка контролируется, чтобы он не мог перечеркнуть длинную серию выигрышей.

Всё в разделе о рисках ниже посвящено одной единственной цели: удержанию размера редкого убытка соразмерным множеству небольших выигрышей.


Как рассуждать о настройке ради стабильности

WunderTrading не предоставляет рекомендованных, «готовых» или гарантированных настроек. Market Neutral Бот — это инструмент, а не финансовый совет, и никакая конфигурация не гарантирует прибыль или «стабильный» результат. Рынки меняются, и настройки, которые работали в один период, могут не сработать в другой. Всегда сначала тестируйте конфигурацию на демо-аккаунте или с небольшим капиталом и рискуйте только тем, что можете позволить себе потерять. Пояснения ниже описывают, что делает каждая настройка и какие компромиссы с ней связаны, чтобы вы могли принять собственное обоснованное решение — это не конкретный набор значений для копирования.

Вместо поиска волшебных чисел полезно рассматривать каждый параметр как компромисс между двумя вещами, которые нельзя максимизировать одновременно.

Стоп-лосс — главный рычаг для вашей конкретной проблемы. Это самый прямой способ контроля над сценарием «один убыток перечёркивает мои выигрыши». Напряжение реально в обе стороны:

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

  • Слишком широкий (или отключённый) стоп позволяет одному невозвращающемуся спреду вырасти в крупный убыток, который стирает множество небольших выигрышей.

Задача — ограничить «хвост», не удушая нормальный шум. Где проходит эта граница, зависит от того, насколько волатильны выбранные вами спреды и какой размер единичного убытка способен выдержать ваш счёт.

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

Квантильная группа — избирательность против частоты. Более узкая (1%) означает меньше сделок на более экстремальных, статистически более редких отклонениях — вы чаще простаиваете, но каждый вход дальше от нормы. Более широкая (10%) означает более частые входы на меньших отклонениях — больше активности, но меньшее статистическое преимущество на сделку и большая подверженность шуму. Ни одна из них сама по себе не «безопаснее»; больше сделок может означать больше шансов на случайную неудачную.

Скользящее окно Z-score — отзывчивость против стабильности. Короткое окно (288) быстро пересчитывает «норму», поэтому оно быстро адаптируется и генерирует больше сигналов — но быстро движущийся базовый уровень может гнаться за ценой и ошибочно принять зарождающийся тренд за отклонение, против которого стоит играть. Длинное окно (2880) даёт более стабильный базовый уровень и более чистые сигналы, но медленно реагирует, когда взаимосвязь пары действительно меняется — и это запаздывание часто наступает как раз тогда, когда происходит крупный невозвращающийся убыток. Подбирайте окно под то, насколько стабильными вы считаете взаимосвязи ваших пар.

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

За пределами отдельных настроек. Две вещи, лежащие за пределами любого отдельного поля, часто важнее для ровной кривой капитала, чем параметры входа:

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

  • Геометрия Тейк-профита против Стоп-лосса — поскольку выигрыши обычно небольшие, а убытки могут быть крупными, именно соотношение между вашим типичным выигрышем и худшим убытком в действительности определяет, складывается ли высокий процент прибыльных сделок в положительный результат.


Часто задаваемые вопросы

Как настроить его для более стабильной работы? Стабильность в боте возврата к среднему определяется не столько конкретным числом, сколько контролем размера редкого убытка относительно множества небольших выигрышей — главным образом через Стоп-лосс и Стоп-лосс по ногам, разумный размер позиции и отказ от чрезмерного распределения на коррелированные спреды. См. раздел «Как рассуждать о настройке ради стабильности» выше. Не существует единой конфигурации, которую мы могли бы вам дать и которая гарантировала бы стабильный результат.

Какое условие входа выбрать — Вход в канал, Выход из канала или Вне канала? Эти три различаются тем, когда они срабатывают относительно границы квантиля:

  • Выход из канала срабатывает в момент пересечения — в тот миг, когда Z-score пересекает квантиль.

  • Вне канала срабатывает, пока Z-score уже за квантилем (Z ≤ квантиля для лонга, Z ≥ квантиля для шорта), и остаётся действительным, пока он остаётся за пределами.

  • Вход в канал ждёт, пока спред начнёт возвращаться внутрь полосы, прежде чем войти — самый консервативный, поскольку требует подтверждения того, что возврат начался.

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

Какая квантильная группа — 1%, 5% или 10%? Это выбор между избирательностью и частотой, а не регулятор безопасности. 1% = редкие, экстремальные, высокоизбирательные входы; 10% = частые входы на меньших отклонениях. Выбирайте исходя из того, как часто вы хотите, чтобы бот торговал, и насколько вы доверяете возврату меньших отклонений.

Окно Z-score — 288 или 2880? 288 (~3 дня) быстро адаптируется и даёт больше сигналов, но может принять тренд за отклонение; 2880 (~30 дней) более стабильно, но медленнее замечает, когда взаимосвязь пары действительно изменилась. Это компромисс между отзывчивостью и стабильностью.

Какой Стоп-лосс использовать? Мы не можем назвать вам число — правильный уровень зависит от волатильности ваших спредов и от вашего счёта. По сути, он должен быть достаточно широким, чтобы не закрывать сделки во время нормального расширения перед возвратом, но достаточно узким, чтобы ни одна отдельная сделка не могла перечеркнуть длинную серию выигрышей. Это настройка, наиболее прямо связанная с проблемой «один убыток перечёркивает мою прибыль».

Нужен ли мне Стоп-лосс по ногам? Это подстраховка на случай сценария, который вызывает худшие убытки — когда одна монета в паре движется аномально и нарушает предположение о рыночной нейтральности. Многие трейдеры ценят его именно по этой причине; цена этого в том, что он может иногда закрыть спред из-за кратковременного шума по одной монете. Разберитесь, от чего он защищает, а затем принимайте решение.


Итог

Market Neutral Бот от WunderTrading находит пары криптовалют, которые движутся вместе, ждёт, пока их ценовая взаимосвязь растянется до нехарактерного уровня, открывает позицию по спреду, делая ставку на возврат к норме, и закрывает её по мере возврата взаимосвязи. Это стратегия с высоким процентом прибыльных сделок и редкими более крупными убытками — поэтому хорошая настройка сводится в основном к контролю размера этих редких убытков (через Стоп-лосс, Стоп-лосс по ногам, размер позиции и диверсификацию), а не к поиску идеальной настройки входа. Сначала тестируйте любую конфигурацию на демо или с небольшим капиталом и помните, что никакие настройки не могут гарантировать прибыль.

Нашли ответ на свой вопрос?