← К списку статей
July 15, 2026
5 мин. чтения

TWAP против VWAP против POV: выбор бенчмарка исполнения (и когда каждый из них вас обманывает)

TWAP против VWAP против POV: выбор бенчмарка исполнения (и когда каждый из них вас обманывает)
#execution
#twap
#vwap
#pov
#implementation-shortfall
#volume-curve
#algotrading
#backtest

Каждый планировщик исполнения — это ставка на прогноз объема. TWAP делает ставку на то, что ликвидность равномерна во времени. VWAP делает ставку на то, что сегодняшняя кривая объема повторит вчерашнюю. POV делает ставку на то, что объем, печатающийся на ленте прямо сейчас, — веская причина торговать прямо сейчас, включая ту часть ленты, которая создана вами же. Ни одна из этих ставок не помечена как ставка в документации вендоров, поэтому большинство сравнений этих трех алгоритмов читаются как таблица характеристик: TWAP — "простой", VWAP — "умный", POV — "адаптивный". Такая подача ничего не говорит о том, какой из них теряет деньги, когда и сколько.

Это вторая часть цикла, начатого в статье Типы ордеров в алгоритмической торговле, где мы построили игрушечные исполнители TWAP и VWAP примерно на 40 строк Python каждый. Эти исполнители сгодятся как сантехника. Данная статья — о том, что скрывает эта сантехника: неявные допущения, политика бенчмарков и воспроизводимый эксперимент "стенка на стенку" на переигранных данных биржевого стакана, который показывает, что три алгоритма — не "разные вкусы", а разные профили риска с разными режимами отказа.

Три планировщика, три скрытые ставки

Зафиксируем обозначения. Родительский ордер размера XX должен быть исполнен на горизонте [0,T][0, T], разбитом на NN интервалов. Пусть xix_i — объем дочернего ордера в интервале ii, viv_i — рыночный объем в интервале ii, а pip_i — средняя цена в интервале ii. Рыночный VWAP на горизонте равен

VWAP=ipiviivi.\mathrm{VWAP} = \frac{\sum_i p_i v_i}{\sum_i v_i}.

TWAP торгует xi=X/Nx_i = X/N: равные объемы за равные промежутки времени. Неявное допущение — что ликвидность (глубина, спред, объем) равномерна во времени, поэтому равные транши несут равное воздействие на цену. Это ложно на любом рынке, который когда-либо существовал, но отказывает плавно: расписание детерминировано, завершение гарантировано по построению, а худший случай — это когда фиксированный транш попадает в тонкий час и вы платите более широкие спреды. Второе, менее обсуждаемое допущение — что за вами никто не наблюдает. TWAP, выставляющий дочерний ордер каждые 60 секунд ровно в :00, — это метроном, а метрономы становятся жертвами опережающей торговли. Любой серьезный TWAP рандомизирует тайминг и размер дочерних ордеров; расписание должно быть пуассоновским процессом, чье математическое ожидание равномерно, а не часовым механизмом.

VWAP торгует xi=Xuix_i = X \cdot u_i, где uiu_iпрогнозная доля дневного объема в интервале ii, iui=1\sum_i u_i = 1. Теперь ставка явная: у вас есть кривая {ui}\{u_i\}, оцененная по истории, и вы предполагаете, что сегодняшний день ей следует. Допущение не в том, что объем равномерен, а в том, что он предсказуем и экзогенен — кривой все равно, торгуете вы или нет. Когда прогноз хорош, VWAP концентрирует вашу торговлю там, где рынок способен ее поглотить, и ваше проскальзывание относительно рыночного VWAP оказывается небольшим почти тавтологически. Когда прогноз плох — незапланированное новостное событие переносит 40% дневного объема в час, которому ваша кривая присвоила 6%, — VWAP безмятежно продолжает торговать по устаревшему расписанию, а разницу оплачиваете вы. VWAP превращает риск исполнения в риск прогноза объема. Это весь компромисс целиком, и именно поэтому интересная инженерия в движке VWAP — это прогнозист, а не нарезчик.

POV (percentage of volume, также "участие") отказывается от прогноза: торгует xt=γVtx_t = \gamma \cdot V_t, фиксированную долю γ\gamma от наблюдаемого объема в каждом интервале. Кажется, что это доминирует над VWAP — зачем прогнозировать объем, если можно просто следовать за ним? Загвоздка в том, что сигнал теперь эндогенен. Ваши собственные исполнения печатаются на ленте. Если остальной рынок торгует MM за интервал, а вы целитесь в долю γ\gamma от общего объема ленты, ваш объем решает уравнение x=γ(M+x)x = \gamma(M + x), то есть

x=γ1γM.x = \frac{\gamma}{1-\gamma}\,M.

При γ=0.10\gamma = 0.10 эта поправка мягкая (11.1% от объема остальных). При γ=0.25\gamma = 0.25 вы торгуете 33% от всего потока остальных участников; при γ=0.5\gamma = 0.5 вы сравниваетесь один к одному со всем остальным рынком, и неподвижная точка расходится. POV также отбрасывает единственную гарантию, которую дают и TWAP, и VWAP: здесь нет гарантированного времени завершения. Если объем исчезает, вместе с ним умирает и ваше расписание. Мы вернемся к патологиям POV ниже — они заслуживают отдельного раздела.

Еще одна деталь, которая пригодится позже: ни один из этих трех алгоритмов не является "оптимальным" в каком-либо формальном смысле. Планировщик, который действительно минимизирует целевую функцию издержки-риск, — это семейство Almgren–Chriss (Almgren and Chriss, 2000, "Optimal Execution of Portfolio Transactions," Journal of Risk 3, 5–39), которое мы подробно разбираем в статье Almgren–Chriss и теория оптимальных расписаний исполнения. TWAP — это частный случай Almgren–Chriss с нулевым неприятием риска при линейном воздействии на цену; VWAP — это стратегия минимальной ошибки слежения относительно бенчмарка, взвешенного по объему (Konishi, 2002, "Optimal slice of a VWAP trade," Journal of Financial Markets 5(2)); POV — эвристика, которая вообще не соответствует никакой целевой функции, и именно поэтому ее режимы отказа настолько странные.

Оценка кривых объема на рынке, который никогда не закрывается

Литературе по акциям было проще. Внутридневной объем на акциях имеет U-образную форму: высокий на открытии, тихий в обед, высокий к закрытию — это задокументировано еще в работе Jain and Joh (1988, "The Dependence between Hourly Prices and Trading Volume," JFQA 23(3)) и получило теоретическое обоснование у Admati and Pfleiderer (1988, "A Theory of Intraday Patterns: Volume and Price Variability," Review of Financial Studies 1(1)), которые показали, что дискреционные ликвидностные трейдеры и информированные трейдеры эндогенно кластеризуются во времени. U-образная форма закреплена двумя жесткими событиями — открывающим и закрывающим аукционами, поэтому кривая стабильна, и скользящее среднее за 20 дней по долям объема в интервалах дает 90% результата.

У крипты нет открытия и закрытия, поэтому наивный вывод состоит в том, что объем должен быть равномерным и TWAP ≈ VWAP. Наивный вывод неверен. Внутридневной объем в крипте имеет структуру — просто она привязана к другим часам:

Сессионные эффекты. Объем следует за часами бодрствования людей и десков, которые торгуют этим активом. На основных парах BTC и ETH самая тяжелая полоса — это дневная сессия США, накладывающаяся на вечернюю европейскую (примерно 13:00–21:00 UTC), со вторичной азиатской полкой около 00:00–08:00 UTC и выраженным провалом примерно в 04:00–06:00 UTC на основных парах. Альткоины с концентрированным региональным владением сильнее смещены к своей домашней сессии.

Временные метки фандинга. Бессрочные фьючерсы рассчитывают фандинг в фиксированное время UTC — исторически каждые 8 часов в 00:00, 08:00, 16:00 UTC, при этом Binance и другие биржи переводят многие контракты на 4-часовые и даже 1-часовые циклы расчета начиная с 2025–2026 годов. Минуты вокруг расчета фандинга стабильно показывают повышенный объем: базисные трейдеры открывают и закрывают carry-позиции, а те, кто пытается сыграть на снепшоте фандинга, торгуют прямо на границе. Это всплески, а не полки — кривая с 30-минутными корзинами их видит; кривая с 2-часовыми корзинами усредняет их до незаметности, и ваш VWAP недоучаствует именно тогда, когда ликвидность лучше всего.

Недельная сезонность. Объем в выходные на основных парах структурно ниже будничного, а воскресный вечер по UTC (утро понедельника в Азии плюс открытие CME для фьючерсов на BTC) имеет собственную сигнатуру. Единая кривая по времени суток, усредненная по всем дням, неправильно специфицирована; нужна сетка день-недели × время-суток.

Плановые события. Опционы Deribit истекают в 08:00 UTC (по пятницам, с квартальными кластерами), макростатистика США выходит в 12:30/14:00 UTC, расчеты CME важны для базисных потоков. Это календарные признаки, а не сезонность — обрабатывайте их как фиктивные переменные, а не загрязняйте ими базовую кривую.

Рабочий оценщик, в духе сохранения честности прогнозиста перед тем, как делать его умнее:

import pandas as pd

def volume_curve(trades: pd.DataFrame, bucket="30min") -> pd.Series:
    """day-of-week x time-of-day volume shares from a trades tape."""
    v = trades["qty"].resample(bucket).sum()
    day_total = v.groupby(v.index.date).transform("sum")
    share = v / day_total                      # fraction of that day's volume
    key = [v.index.dayofweek, v.index.time]
    curve = share.groupby(key).median()
    return curve / curve.groupby(level=0).transform("sum")  # renormalize per day

Медиана вместо среднего — не стилистический выбор. Объем в крипте имеет чрезвычайно тяжелые хвосты; один каскад ликвидаций может составить 15% дневного объема за 10 минут, и кривая на основе среднего будет с тех пор всегда ожидать всплеск в этой корзине. Литература по акциям пошла дальше статических кривых: Białkowski, Darolles and Le Fol (2008, "Improving VWAP strategies: A dynamic volume approach," Journal of Banking & Finance 32(9), 1709–1722) раскладывают объем интервала на общую рыночную компоненту и специфичную для бумаги компоненту, моделируемую динамикой ARMA/SETAR, и показывают, что такое разложение существенно снижает риск слежения VWAP по сравнению со статической классической кривой. Перевод на крипту прямой: оцените общерыночную кривую по топ-N парам (общий фактор здесь сильный — часы фандинга и сессии общие для всех), затем моделируйте отклонение вашей пары как процесс с возвратом к среднему, который вы обновляете в реальном времени. Совсем недавно Genet (2025, "Deep Learning for VWAP Execution in Crypto Markets: Beyond the Volume Curve," arXiv:2502.13722) показал, что обученные сквозные расписания превосходят VWAP со статической кривой на данных Binance — свидетельство того, что в крипте самое слабое звено конвейера — это именно кривая объема, а не нарезка.

Операционный вывод: статическая кривая по всем дням вместе — это VWAP-соломенное чучело. Если ваше сравнение показывает, что "VWAP едва обгоняет TWAP в крипте", проверьте, была ли в VWAP подана кривая, действительно содержащая всплески фандинга и разделение будни/выходные, прежде чем делать какие-либо выводы.

Тепловая карта внутридневного объема крипты со всплесками фандинга и сессионной структурой

Патологии POV: алгоритм, который гоняется за собственным хвостом

Идея POV — адаптивность: торговать, когда торгует рынок. Три отдельные патологии ее подрывают.

1. Петля обратной связи. Эндогенность, описанная выше, — не просто бухгалтерская поправка. Ваши дочерние ордера создают объем; объем повышает ваш целевой показатель; целевой показатель создает объем. При умеренном γ\gamma неподвижная точка x=γ1γMx = \frac{\gamma}{1-\gamma}M устойчива, но измеренное участие, которое показывает ваш пост-трейд отчет (γ\gamma от общего объема ленты), недооценивает ваш реальный след относительно того, каким был бы рынок без вас (γ1γ\frac{\gamma}{1-\gamma} от объема остальных участников). Хуже того, существует обратная связь второго порядка: ваши исполнения двигают цену, движение цены привлекает моментум-поток и запускает стопы, этот поток повышает объем на ленте, а ваш движок POV читает объем, который сам же вызвал, как приглашение ускориться. Это ровно противоположно оптимальному поведению — планировщики, учитывающие воздействие на цену (Almgren–Chriss с разумными параметрами и эмпирические оценки воздействия вроде Almgren, Thum, Hauptmann and Li, 2005, "Direct Estimation of Equity Market Impact," Risk 18(7)), требуют замедляться после того, как вы толкнули цену, а не ускоряться. Каскад ликвидаций — это патологический предельный случай: огромный объем на ленте, однобокий стакан, и ванильный POV покупает жестче всего на самом пике сквиза, потому что именно там больше всего принтов.

2. Игра против вас. Алгоритм POV — это машина потока ордеров, триггерная по объему, а все триггерное можно приманить. Хищник, подозревающий крупного покупателя, участвующего пропорционально объему, может напечатать объем — самокроссингом там, где правила это позволяют, или просто активной торговлей малым размером — чтобы подтянуть движок POV вперед, а затем поставить ему ликвидность по завышенным ценам. Это частный случай общего механизма из работы Brunnermeier and Pedersen (2005, "Predatory Trading," Journal of Finance 60(4)): когда ваш будущий спрос предсказуем по вашему прошлому поведению, другие торгуют впереди него, и ценовая траектория, с которой вы сталкиваетесь, оказывается хуже той, что вы прогнозировали. TWAP раскрывает расписание во времени; POV раскрывает функцию отклика, что опаснее, поскольку противник может вызвать ее по требованию.

3. Никогда не завершающийся хвост. У POV нет часов. Если вам нужно купить 500 BTC к 16:00 UTC, а объем испаряется в 14:00, чистый POV просто сидит и ждет — он по построению неспособен завершиться самостоятельно. Поэтому любой производственный POV несет в себе минимальный порог скорости и режим догона, и именно в режиме догона прячутся потери: вы проводите день, торгуя пассивно с 10%-м участием, а затем прогоняете оставшиеся 30% родительского ордера через тонкое закрывающее окно с эффективным участием, втрое превышающим целевое. Средний показатель пост-трейда выглядит нормально; маржинальная стоимость последнего транша — жестокая. Если ваши отчеты по POV не выделяют хвост отдельно, вы не видели его реальной стоимости.

def pov_child_qty(tape_vol: float, gamma: float, remaining: float,
                  t_left_s: float, min_rate: float) -> float:
    target = gamma / (1.0 - gamma) * tape_vol   # exclude our own prints
    floor = remaining / max(t_left_s, 1.0) * CHILD_INTERVAL_S
    if t_left_s < CATCHUP_HORIZON_S:            # deadline dominates
        floor = max(floor, remaining * CHILD_INTERVAL_S / t_left_s)
    return min(remaining, max(target, floor, min_rate))

Две детали в этом фрагменте делают реальную работу: целевой показатель использует γ1γ\frac{\gamma}{1-\gamma} от объема ленты без нас самих (нужно вычитать собственные исполнения из ленты, на которую вы реагируете, — удивительное число реализаций этого не делает), а порог дедлайна превращает POV в TWAP по остатку по мере истечения времени, что хотя бы делает стоимость хвоста предсказуемой.

Петля обратной связи POV: исполнения создают объем, объем повышает целевой показатель

Бенчмарки: почему обгон VWAP все еще может стоить вам денег

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

Бенчмарк VWAP — сравнение средней цены ваших исполнений с VWAP интервала — был предложен в работе Berkowitz, Logue and Noser (1988, "The Total Cost of Transactions on the NYSE," Journal of Finance 43(1)), которые предложили дневную цену, взвешенную по объему, как нейтральный ориентир для качества институционального исполнения. Он стал отраслевым стандартом по социологической причине не меньше, чем по технической: его легко считать, легко объяснить, и сложно выглядеть плохо на его фоне, если вы просто размазываете свою торговлю по дню.

Implementation shortfall (цена на момент принятия решения) происходит из работы Perold (1988, "The Implementation Shortfall: Paper Versus Reality," Journal of Portfolio Management 14(3), 4–9): измеряйте все относительно цены p0p_0 в момент принятия решения. Для покупки XX с исполненным объемом XfX_f по средней цене pˉ\bar{p}, конечной ценой pTp_T:

IS=(pˉp0)Xfстоимость исполнения  +  (pTp0)(XXf)издержки упущенных возможностей  +  комиссии.\mathrm{IS} = \underbrace{(\bar{p} - p_0)\,X_f}_{\text{стоимость исполнения}} \;+\; \underbrace{(p_T - p_0)\,(X - X_f)}_{\text{издержки упущенных возможностей}} \;+\; \text{комиссии}.

Мысль Перольда состояла в том, что разрыв между бумажными портфелями и реальными — это в точности данная величина, и обратите внимание: она штрафует вас за то, что вы не смогли исполнить, а бенчмарк VWAP молча это игнорирует. Именно этот член издержек упущенных возможностей делает IS единственным честным бенчмарком для POV, чей характерный режим отказа — неисполненный объем.

Теперь о ловушке. У VWAP как бенчмарка есть два структурных слепых пятна:

Он самореферентен. Ваши исполнения находятся внутри бенчмарка. Если вы составляете 30% объема интервала, то примерно 30% VWAP — это ваша собственная средняя цена, и ваше измеренное проскальзывание относительно VWAP механически сжимается вашим же участием — чем крупнее и весомее ваш ордер, тем лучше он выглядит по этой метрике. В пределе, где вы единственный трейдер, вы обгоняете VWAP ровно на ноль, независимо от того, насколько сильно вы сдвинули цену. Проскальзывание VWAP измеряет соответствие расписанию, а не стоимость.

Он игнорирует дрейф относительно момента решения. Конкретные цифры: вы решаете купить 100 BTC по цене решения 60,000.Рыноквесьденьрастет;VWAPинтервалапечатает60,000. Рынок весь день растет; VWAP интервала печатает 60,320, а вы исполняетесь в среднем по 60,290.ОтчетпоVWAP:5б.п.,бенчмаркпобит,удесказеленаяячейка.Отчетпоarrival:вызаплатили60,290. Отчет по VWAP: **–5 б.п., бенчмарк побит**, у деска зеленая ячейка. Отчет по arrival: вы заплатили 290 сверх цены решения за 100 BTC — +48 б.п., $29,000 implementation shortfall. Обе цифры верны. Только одна из них — это деньги. И искажение стимулов идет глубже: трейдер, которого оценивают по VWAP, должен замедлиться в трендовый день (размазывание сделок лучше отслеживает бенчмарк), что ровно противоположно тому, что минимизирует shortfall, когда цена убегает от вас. Бенчмарк не просто неверно измеряет стоимость — он предписывает неверное поведение. Kissell (2013, The Science of Algorithmic Trading and Portfolio Management, Academic Press) подробно рассматривает эту проблему выбора бенчмарка; его формулировку стоит усвоить: бенчмарк кодирует, чей риск вы управляете. VWAP управляет риском смущения исполняющего деска. Arrival price управляет P&L портфеля.

Практическое решение: оценивайте стратегии по implementation shortfall; используйте проскальзывание VWAP как диагностику (оно изолирует мастерство планирования от везения в тайминге, поскольку дрейф влияет и на вас, и на бенчмарк одинаково); и никогда не позволяйте никому, чей ордер составлял более 10% объема интервала, цитировать проскальзывание VWAP без указания также доли участия.

Эксперимент: три алгоритма, одна лента

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

Настройка, чтобы вы могли воспроизвести это на своих данных:

  • Инструмент/данные: BTCUSDT перпетуал, 90 дней L2-переигровки (топ 20 уровней, 100 мс) + лента сделок.
  • Родительские ордера: 500 на алгоритм, идентичные для всех алгоритмов: случайное время старта, горизонт T=4T = 4ч, размер 0.75% от скользящего 30-дневного ADV (достаточно велик, чтобы воздействие на цену было реальным, достаточно мал, чтобы все три алгоритма правдоподобно могли завершиться), сторона — покупка, цена решения = mid на старте.
  • TWAP: 48 дочерних траншей, ±30% джиттер по времени/размеру.
  • VWAP: 30-минутная медианная кривая день-недели × время-суток (оценщик выше), переобучение еженедельно, без внутридневного обновления — намеренно простая версия.
  • POV: γ=12%\gamma = 12\% от объема ленты без нас самих, минимальный порог скорости, догон в стиле TWAP в последние 30 минут.
  • Метрики: IS в б.п. от цены решения (включая комиссии), проскальзывание VWAP в б.п., коэффициент завершения и — то, что никто не публикует, — IS последнего квартиля каждого родительского ордера.

Репрезентативные результаты наших прогонов (ваши цифры будут отличаться, но форма — не должна):

Метрика (б.п. относительно arrival) TWAP VWAP POV 12%
Среднее IS 11.8 9.6 8.9
Медиана IS 9.1 7.7 6.4
Стандартное отклонение IS 21.5 19.8 26.3
95-й перцентиль IS 46 41 58
Среднее проскальзывание VWAP +1.9 +0.4 –0.8
Завершение к T 100% 100% 96.4%
Среднее IS, последний квартиль родителя 12.5 10.2 19.7

Три вывода, в порядке возрастания важности:

Средние льстят POV, а хвосты его изобличают. POV побеждает по среднему и медианному IS — адаптация к реализованной ликвидности реально стоит пары базисных пунктов по сравнению со статической кривой. Но его стандартное отклонение IS и 95-й перцентиль — худшие из трех, коэффициент завершения не 100%, а стоимость последнего квартиля более чем вдвое превышает заголовочный показатель: никогда не завершающийся хвост плюс режим догона концентрируют издержки именно там, где их прячут средние значения. Если ваши родительские ордера альфа-driven с жестким горизонтом, этот хвост — та цифра, которая имеет значение, и преимущество POV по среднему за него не расплачивается.

Преимущество VWAP над TWAP — это в точности качество его прогноза. Обусловите разрыв IS между VWAP и TWAP на реализованной ошибке кривой объема (L1L_1-расстояние между прогнозом uiu_i и реализованными долями), и зависимость окажется монотонной: на терциле дней с лучшим прогнозом VWAP обгоняет TWAP примерно на 4 б.п.; на худшем терциле разрыв в пределах шума и иногда даже инвертируется. В крипте худший терциль не случаен — это дни каскадов и дни новостей, которые к тому же являются самыми дорогими днями в целом. VWAP улучшает ваше среднее, превосходя именно в те дни, которые и так были легкими.

Проскальзывание VWAP и IS ранжируют алгоритмы по-разному. POV показывает отрицательное среднее проскальзывание VWAP — разумеется, ведь он торгует пропорционально тому самому объему, который определяет бенчмарк, и его исполнения находятся внутри него. По табло VWAP POV — лучший алгоритм здесь; по табло arrival и с учетом риска незавершения — самый опасный. Одна и та же лента, одни и те же исполнения, противоположные выводы — это и есть весь аргумент предыдущего раздела, представленный в виде таблицы.

Распределения implementation shortfall для TWAP, VWAP и POV

Сам стенд — это около 50 строк вокруг симулятора исполнений, и он того стоит, потому что превращает выбор планировщика из спора о вкусах в измерение:

for parent in sample_parents(n=500, horizon="4h", adv_frac=0.0075):
    for algo in (twap, vwap, pov):
        sim = ReplaySim(l2_stream(parent.window), fees=TAKER_MAKER)
        fills = sim.run(algo.schedule(parent))          # fills perturb the tape
        report(parent, algo, is_bps(fills, parent.p0),
               vwap_slip_bps(fills, sim.tape), fills.completion)

Выбор на практике

Честные правила выбора, вытекающие из всего вышесказанного:

  • Жесткий дедлайн, альфа-driven родительский ордер: TWAP или расписание Almgren–Chriss с фронт-загрузкой. Платите налог за равномерную ликвидность; покупайте гарантию завершения и ограниченный хвост. Рандомизируйте дочерние ордера.
  • Поток, ориентированный на бенчмарк (вам буквально платят за VWAP), или крупный размер в обычный день: VWAP — и тратьте инженерный бюджет на прогнозист объема: сетку день-недели, разрешение всплесков фандинга, внутридневное динамическое обновление в духе Białkowski–Darolles–Le Fol. Движок VWAP с ленивой кривой — это TWAP с лишними шагами.
  • Оппортунистическая торговля, без жесткого дедлайна, чувствительная к ликвидности: POV с умеренным γ\gamma (≤15%), рассчитанным по объему ленты без нас самих, с фильтром каскадов (ограничение участия, когда z-score объема ленты взрывается) и запасным сценарием по дедлайну, чью стоимость вы измеряете отдельно.
  • Что бы вы ни запускали: оценивайте это по implementation shortfall относительно arrival, согласно Перольду. Держите проскальзывание VWAP как диагностику мастерства планирования, но никогда как табло — табло должно быть номинировано в деньгах, а таковым является только arrival price.

И мета-правило, которое эксперимент подтверждает снова и снова: сравнивайте распределения, а не средние, на своих собственных переигранных данных. Планировщик — это ставка на прогноз объема, а ставки не оцениваются по среднему выигрышу с игнорированием хвостов — именно так рынок продает вам POV.

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

Авторы

Eugen Soloviov
Eugen Soloviov

Инженер торговых систем

Разработка торговых ботов с 2017 года: межбиржевой арбитраж (подключал до 30 бирж), парный арбитраж на коинтеграции между спотом и фьючерсами, скальпинг, фронтраннинг, торговля по новостям, сентиментный анализ, трендовые алгоритмы, а также алгоритмы управления и балансировки портфелей. Делает выставление ордеров до 1 мс, warehouse для big data, бэктестинг-движки, AI-агентов и интерфейсы для ботов (в т.ч. open-source profitmaker.cc). Стек: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, архитектура.

Newsletter

Будьте в курсе событий

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

Мы уважаем вашу конфиденциальность. Отписаться можно в любой момент.