Блог им. AIvanushkin
Тестировать будем рынок фьючерсов так как он наиболее пригоден для спекуляций, имеет торговое плечо и небольшой размер комиссий.
Размер комиссий при спекуляциях очень важен, так как чем меньше комиссия, тем меньший тайм фрейм возможно использовать в торговой стратегии и больше прибыль.
Мы будем тестировать рынок крипто валюты и для этого выбираем биржу с максимальным объёмом торгов — Binance. Binance (Futures) предлагает для торговли на сегодняшний день 268 торговых пар, дневной объем торгов Binance (Futures) более 20 миллиардов долларов, по данным CoinGecko.
Из них 160 фьючерсов к USDT. Именно их будем тестировать.
Методика и цель оптимизации
Цель настроить процесс оптимизации на поиск оптимальных параметров для торговли на следующие 7 дней. Почему 7? Потому что неделя это удобно и достаточно для статистической реализации выбранных моделей и тайм фреймов.
Оптимизация проводится простым перебором входных параметров. Период оптимизации должен быть больше периода торговли с выбранными параметрами и больше периода форвард теста. Введём период оптимизации как параметр оптимизации от 2 до 7 недель так как изначально не известно какой период необходим и достаточен.
Форвард-тест проводится на периоде 1 неделя и включает 20% конфигураций робота, которые лучше других зарекомендовала себя на этапе оптимизации.
Торговля симулирует работу торгового алгоритма в реальной работе, и включает три лучших результата полученных в ходе форвард-теста. При этом предварительно, запуская робот на реальном счете, проверяем, что получаемые реальные результаты работы соответствуют результатам симуляций торговли (с учетом биржевых комиссий и исполнения сделок). Это важно.
Итак, период торговли с выбранными параметрами — это неделя. Для проведения тестирования нужно разделить историческое окно на интервалы «оптимизаций» и «форвардов» и «торговли». После прохождения одного цикла окно торговли смещается и цикл повторяется.
Фазы, шаги и итоговая кривая схематично показаны на рисунке (период оптимизации равен 3 недели, показано для примера).
В итоге на входе системы оптимизации имеем:
Программный комплекс для тестирования с таким подходом создавался с нуля, так как на рынке для решения подобных задач подходящих программных комплексов найдено не было, плюс свой программный комплекс дает большую гибкость при проектировании и реализации торговой системы.
Цель тестирования: поиск лучшего инструмента и параметров для торговли на текущей неделе. Получение объединенной кривой результата торговли.
Продолжение следует…