Бэктест
Прогон бота по истории рынка: те же правила входа и выхода, но на прошлых свечах и снапшотах стакана. Показывает, как бот торговал бы, до того, как вы дадите ему деньги.
01Что это#
Бэктест берёт сборку бота целиком - стратегию, параметры, фильтры сканера, деньги - и проигрывает её по истории за выбранный период. Результат - PnL, просадка, винрейт, кривая депозита и список сделок с графиком каждой.
Запускается двумя способами: из конструктора кнопкой «Протестировать» (черновой прогон без сохранения бота) и со страницы «Бэктест» кнопкой «Новый бэктест» для любого из ваших ботов.
02Модель исполнения#
- Свечи
- Минутные, по каждой паре из фильтра
- Стакан
- Реальные снапшоты, где они есть; иначе эмуляция по свечам
- Спред
- 1 тик по умолчанию
- Проскальзывание
- 1 тик по умолчанию
- Комиссии
- Тейкер 0.05 %, мейкер 0.02 %
- Депозит
- $10 000 по умолчанию
- Период
- До 365 дней
- Скорость
- Быстрая по умолчанию, есть Тщательная, Обычная и Максимальная
Источник контекста виден на отчёте бейджем: Реальные снапшоты, Снапшоты + эмуляция или Эмуляция свечей. Для стратегий по стакану доверяйте только прогонам на реальных снапшотах: эмулированная плотность не знает, снимали ли её на самом деле.
Спред, проскальзывание и комиссии задаются перед запуском в строке «Исполнение». Если вы торгуете на бирже с другими комиссиями - поставьте свои, иначе отчёт будет оптимистичнее реальности.
Скорость прогона выбирается перед запуском: Тщательная, Обычная, Быстрая или Максимальная. Чем быстрее прогон, тем результат чуть хуже по точности: внутри каждой минутной свечи бэктест проверяет 4, 2 или 1 цену. Тщательная - это тиковый бэктест: так точнее всего видно, что сработало раньше, тейк или стоп, но считает она примерно в 6 раз дольше обычной. Последние полтора дня периода тщательная считает как обычная: тиковые данные приходят с задержкой. Быструю скорость удобно брать для первой прикидки на большом периоде, а итоговую проверку стратегий с близкими тейками и стопами делать на тщательной.
03Как запустить#
- 1Выберите ботаНажмите «Новый бэктест» и выберите бота в списке с поиском по названию, боты в нём сгруппированы по стратегиям. Если ботов нет - соберите стратегию в конструкторе.
- 2Задайте периодПресеты 7, 14, 30, 90 дней или «Всё», либо даты вручную. Бэктест сам проверяет, есть ли история за этот период, и подрезает окно, если данных нет.
- 3Проверьте депозит и исполнениеДепозит по умолчанию равен потолку маржи бота. В строке «Исполнение» - спред, проскальзывание и комиссии тейкера и мейкера; «Вернуть по умолчанию» возвращает стандартные значения.
- 4Выберите скоростьТщательная - самый точный результат, но самый долгий прогон. Обычная считает по 4 ценам на минуту. Быстрая и Максимальная считают быстрее, но результат чуть хуже по точности.
- 5ЗапуститеПрогон уходит в очередь. Название можно задать, чтобы потом найти его в истории.
04Очередь и прогресс#
Прогоны выполняются по очереди. Пока ваш ждёт, видно позицию, сколько прогонов впереди и оценку времени. Во время прогона - стадия, процент, число загруженных дней, найденные сделки и текущее время симуляции. Прогон можно отменить.
05Как читать отчёт#
- График - кривая в режимах PnL %, PnL $ или Депозит, с просадкой под ней.
- ROI по дням - на сколько процентов от депозита вырос или упал счёт за каждый день периода, как у готового бота.
- По монетам - десять лучших и десять худших пар: где стратегия зарабатывает, а где сливает.
- Сделки - список с подгрузкой; клик по сделке открывает её график с точками входа и выхода.
06Сравнение прогонов#
В истории прогонов отметьте до трёх и нажмите «Сравнить». Таблица кладёт их рядом: стратегия, период, депозит, чистый PnL, винрейт, профит-фактор, макс. просадка, число сделок. Лучшее значение в каждой строке подсвечено; доходность нормируется к депозиту, поэтому прогоны с разным депозитом сравнимы.
07Создать бота из прогона#
Понравился результат - нажмите «Создать бота» в отчёте или «+» в строке истории прогонов. Откроется конструктор с настройками этого прогона: стратегия, фильтры, стоп и тейк, размер сделки. Выберите аккаунт и сохраните бота. Так можно не терять удачные настройки, даже если тестировали черновик и закрыли конструктор, не сохранив бота.
08Ограничения#
- Плотности в режиме эмуляции - приближение по свечам, а не настоящий стакан.
- Фандинг по фьючерсам может быть смоделирован, а не взят из истории - отчёт помечает это флагом.
- Один и тот же период на разных прогонах даёт одинаковый результат: бэктест детерминирован, случайности в нём нет.
- Подгонка параметров под один период - главный способ получить красивый отчёт и убыточного бота. Проверяйте на другом периоде.