Тестирование крипто-ботов: сроки аудита, затраты и переоснащение
Прибыльный бэк-тест крипто-торгового бота — это описание симуляции, а не свидетельство того, что стратегия даст тот же результат вживую. Прежде чем сравнивать доходность, определите, что знал симулятор, когда он это знал и какие затраты на выполнение он взимал.
Начинайте с временной метки, а не с кривой капитала
Предположим, что стратегия использует значение закрытия свечи для генерации входа. Если симуляция также завершится именно на этом закрытии без реалистичного решения и задержки исполнения, она может предоставить боту цену, которую он не мог получить после наблюдения за завершенной свечой. Запишите временную метку сигнала отдельно от первой подходящей временной метки выполнения.
Та же проблема возникает, когда набор данных содержит изменения или индикаторы, присоединенные к более ранней метке времени. На тот момент стратегия должна была иметь действительную историческую ценность. Сегодняшний очищенный набор данных не является автоматически точной записью вчерашнего набора данных.
Повторная настройка меняет значение хорошего результата
Выбор лучшего набора параметров из сотен попыток создает проблему выбора. Комбинация может соответствовать шуму в период разработки. Ведите учет неудачных попыток, а не только таблицы побед.
[Руководство по исследованию QuantConnect] (https://www.quantconnect.com/docs/v2/cloud-platform/backtesting/research-guide) обсуждает переоснащение и меры предосторожности при проведении исследований. Полезным практическим расширением является заморозка стратегии перед оценкой более позднего, нетронутого периода времени. Если эта оценка приведет к дальнейшей настройке, она станет данными разработки; зарезервировать новый итоговый тест.
Сделайте расходы видимыми
Ниже приведен гипотетический пример бухгалтерского учета, а не наблюдаемая стратегия:
| Товар | Сумма в долларах США |
|---|---|
| Валовая симулированная торговая прибыль | 300 |
| Плата за вход и выход вместе | -120 |
| Предполагаемое проскальзывание исполнения | -100 |
| Финансирование выплачено, за вычетом поступлений | -90 |
| Чистый результат моделирования | -10 |
Арифметика такая: 300 – 120 – 100 – 90 = -10 USDT. Затраты могут изменить знак результата. Не пересчитывайте спред дважды, если он уже включен в моделируемые цены исполнения. Финансирование должно соответствовать фактическому положению, ставке и срокам расчетов в тесте, а не удобной фиксированной годовой ставке.
Спросить, возможны ли заливки
Затронутая лимитная цена не означает, что весь ордер был бы исполнен. Позиция в очереди, конкурирующие заказы, доступная глубина и частичное исполнение имеют значение. Крупный рыночный ордер не должен автоматически получать лучшую отображаемую цену для всего своего размера.
Тестируйте изменения в задержке, комиссиях и проскальзывании. Стратегия, которая работает только с одним оптимистичным предположением о выполнении, хрупка. Тестируйте недостающие данные, отклоненные заказы и потерю соединения как отдельные сценарии эксплуатации; одни лишь исторические свечи не могут хорошо их смоделировать.
Сравнение условий
Сообщайте о датах тестирования, инструментах, лимитах позиций, количестве сделок, обороте, просадке и предположениях о капитале вместе с доходом. Растущий рыночный результат может в основном отражать подверженность активам. Сравните с подходящим пассивным эталоном за те же даты и используйте последовательный подход к затратам и денежным средствам.
Нетронутый период ожидания и небольшое наблюдение за торговлей бумагами могут выявить ошибки реализации, но ни то, ни другое не гарантирует будущей прибыли. Не увеличивайте капитал только потому, что короткая демонстрация является положительной.
Результат, который можно просмотреть
Полезный отчет о боте предоставляет воспроизводимые настройки, происхождение данных, правила отметки времени, все материальные затраты и четкое разделение между разработкой и оценкой. Прежде чем использовать предположения для конкретной платформы, ознакомьтесь с текущим [таблицей комиссий OrangeX] (https://www.orangex.com/agreement/fee-rates). В этой статье оцениваются симуляции, но не утверждается, что OrangeX предлагает конкретного бота или продукт для бэктестинга.
Решение заключается в том, выдержат ли доказательства реалистичные предположения, а не в том, какая диаграмма выглядит наиболее гладкой. Все численные результаты, приведенные выше, являются иллюстративными.