grepan
grepan личный блог
01 октября 2021, 11:53

Тестирование стратегий

Поделюсь своим подходом к тестированию стратегий. Может кому будет полезно.

Сначала я разрабатываю стратегию в среде бэктестинга на питоне, с частотой 1мин, данные система автоматически забирает с финама или mfd. Если требуется оптимизация параметров, то здесь же применяю оптимизацию и форвардный тест.
Если стратегия показывает хорошее матожидание, то следующим шагом я реализую код на луа. Раньше я использовал тестовый сервер, предоставляемый arqa technologies, но с недавних пор отказался от этого подхода, уж больно сильная разница котировок на тестовом и реальном серверах. Сейчас я делаю скрипт сразу для боевого сервера, эмулируя выставление ордеров, закладывая проскальзывание.
Какие преимущества я нашел при таком подходе:
1. Тестируется торговая стратегия на основании данных реальных стаканов котировок.
2. Одновременно тестируются механизмы мани-менеджмента и риск-менеджмента (обрывы соединения, пустые стаканы, резкие выбросы данных)
3. Частота данных при тестировании соответствует частоте данных прома.
4. Трансформация тестового скрипта в боевой занимает минуты.
5. Техническая поддержка на боевом сервере и поддержка на тестовом сервере со стороны брокера+разработчика терминала это небо и земля).

Заодно именно на боевом сервере крутится агент, который пишет тиковые данные в логи для дальнейшего скармливания нейросети. Почему так а не выкачивать в оффлайне тики? Потому что сразу получаешь синхронные по времени данные по разным инструментам и источникам (стакан, сделки). И сразу с предобработкой это кладется в нужном формате для дальнейшего использования.

А какие подходы у вас?
75 Комментариев

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн