Быстрые движки бэктеста
Как построить движок бэктеста, который считает в сотни раз быстрее без изменения PnL: раскладка данных, кэширование, адаптивное разрешение и архитектура — от первых ускорений до внутренностей продакшена.
- 01
Jun 26, 2026#алготрейдингЛесенка скорости бэктест-движка: 298x на CPU ноутбука, идентичный PnL до последней сделки
Пять реализаций одного и того же перебора 80 комбинаций параметров, каждая проверена на идентичность PnL: pandas rolling.apply занимает 69.9 секунды, numpy — 3.1, numba — 2.0, параллельная numba — 0.23 — измеренное ускорение 298x на Apple M2 Max без единого изменения в железе, и все еще ~13x против добротной векторизованной базовой реализации. Что дает каждая ступень, почему GPU — не то недостающее звено, и где на самом деле находится узкое место в массовом переборе параметров.
- 02
Jul 2, 2026#алготрейдингНалог на фреймворк: когда ваша библиотека для бэктестов медленнее наивного цикла на pandas
Мы прогнали восемь движков для бэктестов через один и тот же перебор параметров — 150 тысяч баров, 80 комбинаций HMA-пересечения, паритет по числу сделок закреплен на 2707. Два самых популярных событийно-ориентированных фреймворка оказались медленнее, чем написанный вручную цикл на pandas, а векторизованный/компилируемый движок выполнил ту же работу примерно в 13 000 раз быстрее. Исследование накладных расходов на каждый бар, которые популярные библиотеки никогда не были рассчитаны амортизировать.
- 03
Mar 16, 2026#алготрейдингАгрегированный Parquet-кэш: как ускорить мультитаймфрейм-бэктест в сотни раз
Как предвычислить таймфреймы и индикаторы из минутных свечей, сохранить в parquet и использовать при массовом тестировании стратегий без повторных пересчётов.
- 04
