Как протестировать стратегию MEV перед…
**Краткий ответ**. Полезный бэктест MEV воспроизводит реальные исторические блоки через форкнутый узел, запускает код вашей стратегии в тех же условиях, с которыми столкнулся реаль

Краткий ответ. Полезный бэктест MEV воспроизводит реальные исторические блоки через форкнутый узел, запускает код вашей стратегии в тех же условиях, с которыми столкнулся реальный поисковик, и выдает чистый P&L по каждой попытке за вычетом газа. Все, что меньше — таблица прибылей и убытков, модель «только цены», модель «средних возможностей» — дает фантастические доходы, которые исчезают в производстве. Потратьте как минимум 2 недели на бэктестинг, прежде чем начать использовать реальный капитал. Стоимость — дешевые вызовы RPC; альтернатива — реальные деньги.
Почему большинство «бэктестов» MEV бесполезны
Пять наиболее распространенных иллюзий бэктестинга:
- Предположение об оптимальном исполнении. «Я бы поймал каждый арбитраж» — нет, вы бы упустили ~70% из-за более быстрых поисковиков.
- Без моделирования газа. Подсчитывает валовую прибыль, игнорирует поблочный газовый режим.
- Состояние статического пула. Предполагается, что глубина/цена пула в одном блоке сохраняется для соседних блоков.
- Нет штрафа за задержку. Считает вашу стратегию мгновенной по сравнению с потоком в реальном времени.
- Предвзятость выжившего. Тестирование проводится только в те месяцы, когда вы помните, что все было хорошо.
Все пять завышают доходность в 3–10 раз. Реальное развертывание, которое «должно было приносить 50 тысяч долларов в месяц», обычно приносит 4 тысячи долларов или ноль.
Три уровня бэктеста
Уровень 1 — воспроизведение в таблице (не доверяйте этому). Возьмите исторические данные о возможностях и умножьте на коэффициент захвата. Подходит для прикидки на салфетке, но не для решения «годен/не годен».
Уровень 2 — форк-симуляция для каждой возможности (приемлемо). Воспроизведите каждую возможность, сделав форк узла Reth или Geth на нужном блоке и симулировав вашу транзакцию. Учитывает газ, проскальзывание, пути реверта.
Уровень 3 — Непрерывное воспроизведение с моделью задержки (реальная вещь) Воспроизводите непрерывный диапазон блоков, моделируйте выполнение своей стратегии параллельно с историческими txs конкурентов, моделируйте задержку-потерю и вероятность включения. Выводит реалистичную скорость захвата каждого заполнения.
Большинство институциональных фирм MEV используют уровень 3. Агент FRB поставляет механизм воспроизведения уровня 3; настройте свою стратегию и выберите диапазон блоков.
Объяснение цикла уровня 3
For each historical block in [start, end]:
fork = fork_node(block_number = block - 1)
state = fork.get_pool_state(target_pools)
competitor_txs = block.transactions // what actually happened
for each potential opportunity in state:
your_tx = your_strategy.build(state)
if your_tx is None: continue
landing_block = simulate_inclusion(
your_tx,
competitor_txs,
latency_ms = your_measured_latency,
bid = your_bid_function(opportunity)
)
if landing_block:
pnl = simulate_pnl(fork, your_tx, landing_block)
log(pnl)
Цикл работает с неделями или месяцами истории. Выпуск представляет собой распределение прибылей и убытков, а не среднее значение.
Выбор правильного диапазона блоков
Бэктест как минимум:
- 8 недель недавней истории. Достаточно недавние, поэтому конкурентная среда и глубина пула схожи.
- Как бычий, так и чоп-режим. Чисто бычье тестирование вводит в заблуждение.
- Все дни недели. MEV выходного дня отличается от буднего дня.
Избегать:
- Короткие, тщательно подобранные диапазоны, которые «хорошо выглядят»
- Периоды, охватывающие крупные изменения структуры рынка (например, форк или крупное развертывание DEX)
- Недели экстремальной волатильности, если только они не являются вашим целевым режимом
Калибровка задержки
Это самый пропускаемый шаг. Ваша реальная задержка = mempool_observe_to_signed_tx + network_to_relay + relay_to_proposer. Измерьте все три:
- Наблюдение для подписания: временная метка от ожидающего события WSS до подписанного вами сообщения. Типичное: 8–40 мс.
- Сеть-ретранслятор: выполните проверку связи с конечными точками ретрансляции. Типичное: 4–60 мс.
- Релей-предлагатель: вне вашего контроля, ~20–60 мс.
Итого: 30–160 мс в 2026 году. Используйте в симуляторе ваше измеренное число, а не обнадеживающее.
Моделирование газового режима
Газ во время периода бэктеста не был газом в течение следующих 8 недель жизни. Решения:
- Используйте фактические для блока цены газа для каждого воспроизводимого блока. Бэктест отражает исторический режим.
- Стресс-тест путем надувания газа в 1,5, 2, 3 раза для моделирования неблагоприятных режимов.
- Смещается квантиль ставки стресс-теста (ваша ставка перемещается с 60-го на 75-й процентиль включения).
Если ваша стратегия выдерживает режим 2x gas, у нее есть маржа.
Моделирование неудачных попыток
Опыт реальных поисковиков:
- Откат пакета (другие транзакции в пакете меняют состояние пула в середине блока)
- Прорывы проскальзывания (кэп защитил вас от прибыльного, но рискованного исполнения)
- Невключенные пакеты (проиграли аукцион)
Backtest должен включать эти виды отказов. Моделирование торгов должно решать следующие задачи:
- Включение: ставка > предельная.
- Проигрыш конкуренту: смоделированная ставка конкурента > ваша
- Самовозврат: состояние изменилось в середине блока.
Бэктест, который показывает 100% включение, не работает.
Как выглядит «хороший» результат
Хорошо проведенное бэктестирование уровня 3 дает:
- Гистограмма распределения прибылей и убытков (не одно число)
- Доля включения в зависимости от размера возможности
- Кривая просадки за период
- Таблица чувствительности к задержкам (сколько вы потеряете при +20 мс, +50 мс)
- Таблица чувствительности к газу (сколько вы потеряете при +50% газа)
- Коэффициент Шарпа (средняя доходность / стандартное отклонение)
Откажитесь от любого «бэктеста», который показывает только восходящую зеленую линию. Это маркетинговый материал, а не бэктест.
Walk-forward валидация
После того как бэктест показал хороший результат, запустите walk-forward валидацию:
- Настройте стратегию на неделях 1–6.
- Зафиксируйте параметры.
- Запустите на неделях 7–8 без дальнейшей настройки.
- Сравните результаты.
Если недели 7–8 отстают от недель 1–6 более чем на 30 %, вы перетренировались. Корректируйте абстракции стратегии, а не ее параметры.
От бэктеста к реальной торговле: переходный мост
Переход в реальную торговлю — в три шага:
- Бумажная торговля в продакшене — бот работает на живых данных, формирует транзакции, но не подписывает и не отправляет их. Сравните бумажный P&L с реальными результатами по мемпулу.
- Живая торговля на минимальном капитале — 5–10% от планируемого банкролла, реальные отправки транзакций. Запустите на 7–14 дней.
- Полное развертывание — как только показатели бумажной торговли и минимального капитала совпадут с результатами бэктеста, масштабируйтесь до целевого банкролла.
Если показатели бумажной торговли или минимального капитала отстают от бэктеста более чем на 40%, не масштабируйтесь. Сначала разберитесь в причинах.
Распространенные диагностические ошибки
Когда результаты живого тестирования на исторических данных ниже, типичные причины (по порядку):
- Реальная задержка выше, чем при калибровке. Измерьте еще раз.
- Число конкурентов выросло. В период бэктеста было меньше поисковиков.
- Глубина пула упала на ваши целевые пары. Перевыберите цели.
- Новый поток частных заказов, который вы не видите. Проверьте документацию сборщика/релея.
- Смена газового режима. Повторите ставку.
По нашему опыту, более 60% случаев неэффективности связаны с (1) и (2).
Инструменты
В 2026 году полезные инструменты для бэктестинга:
- Foundry с
forgeдля моделирования вилок - Reth выполняется в архивном режиме для доступа к историческому состоянию.
- Anvil для быстрого форкинга
- TheGraph для индексированного исторического состояния пула.
- Механизм воспроизведения агента FRB для сквозного воспроизведения уровня 3 (встроенный)
Стоимость настоящего бэктеста
Реальная стоимость ресурсов:
- Архивный RPC: 50–200 долларов США в месяц за доступ для бэктестинга (или самостоятельное размещение узла архива).
- Вычисления: 2–8 виртуальных ЦП + 32–64 ГБ ОЗУ.
- Хранилище: 4–12 ТБ для полного архива (меньше при использовании хостинга)
- Время: 4–24 часа на каждое бэктестирование целевой цепочки.
Бюджет 500–2 тыс. долларов США единовременно на установку и 100–300 долларов США в месяц на постоянную работу. Дешево по сравнению с предотвращением потерь.
Часто задаваемые вопросы
Могу ли я выполнить бэктест без архивного узла?
Ограничено. Хостинговые архивы (Alchemy, QuickNode) работают, но становятся дороже при большом объеме запросов. Для серьезной работы создайте себе узел архива Reth.
Какова должна быть продолжительность периода бэктестинга?
Минимум 6 недель; 12+ недель лучше. Менее 4 недель статистически бессмысленно.
Стоит ли мне проводить бэктест в тестовой сети?
Нет. В тестовой сети другая конкуренция, газовая динамика и состояние пула. Бэктест по истории основной сети.
Будет ли агент FRB проводить для меня бэктест?
Да — для встроенных модулей стратегии (атомарное арбитражное решение, ликвидация, JIT, снайпинг). Пользовательские стратегии требуют самостоятельного запуска механизма воспроизведения.
Что, если мой бэктест покажет огромную прибыль?
Будьте скептичны. Проверьте свойства уровня 3 (модель задержки, моделирование газа, моделирование неудачной попытки). Большинство бэктестов с «огромной отдачей» не работают по одному из этих измерений.
Связанное чтение
- Вероятность включения 101
- Руководство по калькулятору рентабельности и бюджета газа
- Как долго MEV станет прибыльным
- Управление рисками для торговых ботов MEV
- Быстрый старт FRB
В данной статье описывается инженерная практика. Результаты бэктеста никогда не гарантируют реальных результатов. Не финансовый совет.
Похожие статьи
Дальнейшее чтение и инструменты
Обсуждение
Примечаний пока нет. Добавьте первое наблюдение или поделитесь ссылкой со своей командой на X (@MCFRB).