Вы хотите продать 500 ETH за час. Если выставить рыночный ордер, slippage может составить 0.1–0.3%, а MEV-боты сразу увидят крупный объём и начнут охоту за вашим приказом. Вместо этого используете TWAP (Time-Weighted Average Price) — разбиваете ордер на 12 слайсов по 41,67 ETH каждые 5 минут. Так вы снижаете влияние до уровня шума и сохраняете анонимность. На объёме $1 млн экономия на slippage может достигать $200–500 за счёт лимитных ордеров.
Мы разрабатываем кастомные TWAP-алгоритмы для исполнения крупных ордеров на криптобиржах. За более чем 5 лет реализовали более 50 внедрений — каждая инсталляция проходит аудит и стресс-тестирование. Гарантируем стабильность работы алгоритма даже на высоковолатильных рынках. Алгоритмическая торговля требует надёжных инструментов, и наш TWAP — один из них. Мы разрабатываем торговых роботов, основанных на TWAP стратегии, для ваших задач.
Адаптивный TWAP снижает проскальзывание на 40% по сравнению с рыночным исполнением на волатильных парах — это подтверждает наш опыт.
Проблемы, которые решает TWAP
- Рыночное влияние: единовременный ордер на 100 BTC может сдвинуть рынок на 0.1–0.3%. TWAP растягивает исполнение, снижая влияние до уровня шума.
- Slippage: при рыночном ордере slippage на объёме > $100K может достигать 0.05–0.2%. Использование лимитных ордеров в TWAP уменьшает slippage, но требует механизма конвертации при неисполнении.
- Анонимность: крупные ордера привлекают внимание MEV-ботов. Разбивка на мелкие слайсы маскирует истинный объём.
Как работает адаптивный TWAP?
Простой TWAP — равные доли через равные интервалы. Адаптивный TWAP добавляет логику реакции на рынок:
- Пропускаем интервал, если текущая цена значительно выше TWAP (не покупаем дорого).
- Увеличиваем размер ордера, если цена ниже текущего TWAP.
- Пауза при аномально высокой волатильности (например, отклонение более 2σ от средней).
Почему адаптивный TWAP эффективнее простого?
В тестах на исторических данных адаптивный подход снижает среднее превышение над рыночным TWAP на 30–40% по сравнению с простым. Особенно заметно на волатильных рынках вроде ETH/USDT.
Сравнение методов исполнения слайсов
| Метод | Исполнение | Slippage | Риск неисполнения |
|---|---|---|---|
| Market | 100% | 0.05–0.2% | Нет |
| Limit | ~70–90% | 0–0.05% | Высокий |
| Hybrid | >95% | 0–0.1% | Низкий |
Hybrid-подход: выставляем limit ордер на 0.05% выше mid-price; если через 80% интервала не исполнился — конвертируем в market. Этот метод мы используем по умолчанию.
Сравнение TWAP и VWAP
| Характеристика | TWAP | VWAP |
|---|---|---|
| Распределение объёма | Равномерное по времени | Пропорционально рыночному объёму |
| Сложность | Низкая | Средняя |
| Идеальный сценарий | Спокойный рынок, предсказуемость | Высокая ликвидность, имитация торгов |
| Риск | Неисполнение на низкой ликвидности | Сложность настройки |
Как TWAP помогает обойти MEV-ботов?
MEV-боты сканируют мемпул на предмет крупных ордеров и пытаются опередить их. Разбивая ордер на мелкие слайсы, вы делаете каждый отдельный ордер незаметным. Дополнительно можно рандомизировать интервалы и объёмы, чтобы затруднить выявление паттерна.
Пример реализации на Python
import asyncio from datetime import datetime, timedelta class TWAPExecutor: def __init__(self, symbol, total_qty, duration_minutes, exchange): self.symbol = symbol self.total_qty = total_qty self.n_slices = duration_minutes // 5 # каждые 5 минут self.slice_qty = total_qty / self.n_slices self.exchange = exchange self.executed_qty = 0 async def execute(self): interval = (5 * 60) # секунды for i in range(self.n_slices): await self.execute_slice() if i < self.n_slices - 1: await asyncio.sleep(interval) async def execute_slice(self): remaining = self.total_qty - self.executed_qty qty = min(self.slice_qty, remaining) # Используем limit order близко к mid-price для экономии на fees ticker = await self.exchange.fetch_ticker(self.symbol) mid_price = (ticker['bid'] + ticker['ask']) / 2 limit_price = mid_price * 1.0005 # 0.05% выше mid order = await self.exchange.create_limit_buy_order( self.symbol, qty, limit_price ) self.executed_qty += qty return order Мы используем библиотеку CCXT для подключения к биржам. Это позволяет поддерживать единый интерфейс для 100+ торговых площадок без привязки к конкретному API. CCXT GitHub — стандарт де-факто для этой задачи.
Когда стоит использовать TWAP?
TWAP оптимален, когда вам нужно исполнить крупный ордер незаметно и с предсказуемыми затратами. Например, при ребалансировке портфеля, входе/выходе из позиции или перекладывании средств между активами. Если же на рынке высокая ликвидность и вы готовы адаптироваться под объём, лучше подойдёт VWAP. Хотя TWAP часто применяется в DeFi как оракул, наш фокус — на исполнение на централизованных биржах.
Как мы измеряем качество исполнения?
Ключевой показатель — execution quality: средняя цена исполнения относительно рыночного TWAP за период. Если наш алгоритм исполнил по цене ниже рыночного TWAP — мы сэкономили клиенту деньги. Отчёт включает:
- Для каждого слайса: время, bid/ask спред, цена quote, цена fill.
- Итоговый slippage report с разбивкой по биржам.
- График накопленного объёма и цены.
Процесс работы
- Аналитика: изучаем объём торгов, ликвидность, типичные спреды по выбранной паре. Собираем требования: сумма, лимит по времени, риск-параметры.
- Проектирование: выбираем схему (простой/адаптивный), настраиваем чувствительность к волатильности.
- Реализация: пишем код на Python + CCXT, покрываем unit-тестами (основная логика) и интеграционными (с песочницей биржи).
- Тестирование: backtest на исторических данных (минимум за 3 месяца) и paper-trade в реальном времени 2–5 дней.
- Деплой: разворачиваем на вашем сервере или нашем VPS, подключаем уведомления (Telegram, email).
- Поддержка: мониторим исполнение первых крупных ордеров, при необходимости корректируем параметры.
Что входит в работу
- Документация: описание алгоритма, настройки, параметры запуска.
- Исходный код (полный) с комментариями.
- Доступ к дашборду мониторинга (Grafana + PostgreSQL).
- Обучение вашего инженера: 2–3 сессии по 1 часу.
- Поддержка 2 недели после деплоя (включено).
Дополнительные настройки TWAP
Дополнительные настройки TWAP
- Рандомизация объёмов слайсов для противодействия паттерн-детекции.
- Динамический расчёт интервалов на основе волатильности.
- Механизм частичного исполнения при лимитированном ордере.
Оценим ваш проект за один рабочий день — свяжитесь с нами в мессенджере или по почте. Стоимость рассчитывается индивидуально, сроки — от 5 до 30 дней в зависимости от сложности. Получите консультацию прямо сейчас — ваш крупный ордер перестанет быть проблемой. Закажите разработку адаптивного TWAP и экономьте на slippage.







