Бэктест: что он доказывает и чего не доказывает

Бэктест: что он доказывает и чего не доказывает

Бэктест: что он доказывает и чего не доказывает

Бэктест это прогон торговых правил по историческим данным, чтобы посмотреть, как бы они себя вели. Вы описываете правила, проигрываете прошлое заново и считаете, когда правила открыли бы и закрыли сделки. На выходе таблица: число сделок, доля прибыльных, доходность, максимальное снижение.

Большинство статей на этом останавливаются и объясняют, как провести тест самому. Здесь другая предпосылка.

Большинство людей бэктест не делает. Им его показывают. Продавец бота выкладывает кривую доходности. Сигнальный канал публикует таблицу результатов. Платформа ставит цифру на главную страницу.

Нужный навык это не проведение теста, а чтение того, который перед вами.

Как устроен бэктест

Три части.

Правила. Когда входить, когда выходить, каким объёмом, когда останавливаться. Если правила расплывчаты, тестировать нечего. «Покупаю, когда график выглядит сильным» это не правило.

Данные. История цены конкретного актива за конкретный период. Обычно свечи: открытие, максимум, минимум, закрытие.

Симуляция. Программа проигрывает данные и отмечает каждый момент срабатывания правил. Получается список сделок, который сворачивается в статистику.

Эта статистика и есть самый неверно читаемый документ в розничном трейдинге.

Что бэктест действительно показывает

Что правила однозначны. Если стратегию вообще удалось протестировать, значит вы описали её достаточно точно, чтобы её выполнила машина. Это уже ценно. Интуицию протестировать нельзя.

Была ли у логики преимущество в прошлом. Если правила систематически теряют деньги на исторических данных, логика скорее всего сломана. Бэктест показывает это дёшево, до того как в игре появятся реальные деньги.

Форму риска. Насколько глубоким было худшее снижение, сколько оно длилось, сколько убытков подряд случалось. Эти числа описывают, каково было бы держать стратегию, гораздо лучше, чем доходность. Подробнее в материале о максимальной просадке.

Обратите внимание: все три утверждения о прошлом. Ни одно не о будущем.

Пять способов, которыми бэктест вводит в заблуждение

Именно здесь находится содержательная часть, которую большинство статей сжимает в одно предложение.

Переоптимизация

Самая частая проблема. Настройки подгоняются под историю настолько точно, что стратегия перестаёт улавливать рынок и начинает запоминать шум конкретного периода.

Выглядит это так: период 14 работает плохо, пробуете 17, потом 21, а на 19 кривая получается отличной. Эта девятнадцатка не открытие, а совпадение. На живых данных она не воспроизводится.

Признак хрупкости простой: сдвиньте параметр немного, и если результат рушится, логика ненадёжна. Здоровая логика работает приемлемо и на соседних настройках, а не ровно на одной.

Заглядывание в будущее

Симуляция использует информацию, которой в тот момент не существовало. Классический случай: решение принимается по цене закрытия свечи, а сделка открывается внутри этой же свечи. В реальности закрытие известно только после того, как свеча закрылась.

Ошибка выглядит крошечной и завышает результат многократно.

Ошибка выжившего

Тестирование на активах, которые существуют сегодня. Десятки токенов, вышедших на биржи в 2021 году и обнулившихся к 2023, в наборе данных отсутствуют. Стратегия протестирована только на выживших, то есть на победителях.

В крипте этот эффект заметно сильнее, чем на фондовом рынке, потому что доля исчезнувших активов выше.

Игнорирование издержек

Комиссии, проскальзывание и ликвидность. Бэктест, который предполагает исполнение каждого ордера по цене на экране, описывает то, чего не бывает.

Влияние растёт вместе с частотой. Стратегия с несколькими сделками в день страдает от издержек в разы сильнее, чем стратегия с несколькими сделками в месяц. Высокочастотный бэктест после добавления реальных издержек может полностью перевернуться.

Тест в одном рыночном режиме

Период с 2020 по 2021 год делает почти любую стратегию с длинными позициями привлекательной, потому что рынок рос. Прогоните те же правила через 2022 год, и картина изменится.

Осмысленный тест охватывает рост, падение и боковик.


Стратегии AlgoTitan работают 14 дней на реальных рыночных данных в демо-режиме. Без подключения биржи, без оплаты, без карты. В демо-режиме используются виртуальные средства. Это не инвестиционная рекомендация. Посмотреть стратегии


Как читать чужой бэктест

Семь вопросов. Если ответов на большинство нет, перед вами не измерение, а рекламный материал.

1. Какой период охватывает тест? Если только рост, он сообщает крайне мало. Нужен хотя бы один полный цикл с продолжительным падением.

2. Учтены ли комиссии и проскальзывание? Если нет, результат это теоретический потолок, а не исход. Обычно это не указывают. Если не указано, считайте, что не учтены.

3. Сколько сделок? Двадцать сделок это не выборка, а частный случай с графиком. Сотни сделок дают что-то читаемое.

4. Показана ли максимальная просадка? Если есть только доходность, половина картины отсутствует. Показывать доходность без риска это сознательный выбор оформления.

5. Когда выбирались параметры? Если настройки подбирались уже после просмотра результатов тестового периода, это не бэктест, а подгонка. Честный метод: выбрать параметры на одном отрезке и проверить на другом, который алгоритм не видел.

6. Проверялась ли та же логика на другом активе или другом периоде? Логика, работающая ровно на одном активе в одном окне, вероятно под это окно и подогнана.

7. Есть ли форвард-тест? Тест на истории и тест в реальном времени отвечают на разные вопросы.

Часть этих признаков пересекается с более широким списком в материале о признаках мошеннического бота.

Бэктест и форвард-тест

Это не две версии одного экзамена. Они отвечают на разные вопросы.

Бэктест работает на истории. Он быстрый: десять лет данных прогоняются за секунды. Но это экзамен с известными ответами. Всегда остаётся возможность, осознанная или нет, скорректировать правила после просмотра результата.

Форвард-тест, он же бумажная торговля или демо-режим, работает в реальном времени. Стратегия торгует текущий рынок виртуальными средствами. Он медленный: четырнадцать дней наблюдений занимают четырнадцать дней. Но исход заранее не знает никто, поэтому подгонка невозможна.

Это делает форвард-тест не более слабым, а более строгим экзаменом.

На практике они идут последовательно. Бэктест дёшево отсеивает логику, которая не работала никогда. Форвард-тест показывает, как оставшаяся логика ведёт себя в реальных условиях. Подробнее в руководстве по демо-торговле.

Есть и третье отличие, о котором рекламные материалы не пишут: форвард-тест проверяет ещё и вас. Останетесь ли вы со стратегией, если три дня не будет ни одной сделки. Выключите ли вы её во время просадки. Прочитаете ли тихую неделю как поломку. Бэктест этого не измеряет, а решает исход часто именно это. О тихих периодах отдельно написано в материале почему бот не открывает сделки.

Частые вопросы

Насколько надёжен бэктест? Если правила точны и издержки учтены, он разумно показывает, было ли у логики преимущество в прошлом. Никаких гарантий относительно будущего он не даёт. Прошлые результаты не гарантируют будущую доходность.

Бэктест и демо-торговля это одно и то же? Нет. Бэктест использует исторические данные, демо-торговля идёт на реальных данных в реальном времени. Демо медленнее, но подогнать его задним числом нельзя.

Сколько сделок должно быть в хорошем бэктесте? Точного порога нет, но несколько десятков сделок объяснимы случайностью. Сотни дают более читаемую картину.

Почему результаты бэктеста не воспроизводятся на живых данных? Чаще всего по трём причинам: переоптимизация, неучтённые издержки и тест в одном рыночном режиме.

Достаточно ли бэктеста для криптостратегий? Сам по себе нет. Ликвидность и волатильность в крипте меняются быстро, поэтому форвард-тест это отдельный необходимый шаг.

Коротко

Бэктест это инструмент отсева, а не доказательство. Он дёшево показывает, что логика не работает. Что она будет работать, он не показывает.

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

Стратегии AlgoTitan работают 14 дней на реальных рыночных данных в демо-режиме, до подключения биржи и до оплаты. Результаты в демо-режиме смоделированы и могут отличаться от результатов реальной торговли из-за комиссий, проскальзывания и ликвидности. Торговля связана с риском убытков, включая потерю вложенных средств. Это не инвестиционная рекомендация.

Запустить демо