ПРО-версия тестера с учетом особенностей биржевого рынка
Тема является продолжением темы "Нужна ли версия "PRO" тестера стратегий?", с акцентом на особенностях биржевого рынка.
Итак ниже основной список недостатков текущего тестера МТ5, который сформирован мной на основе 3х лет разработки роботов на МТ5 и платформах S#, TradeMatic, опыта как позитивного так и во многом негативного.
- Для продвинутых пользователей - Торговые операции
- Визуализация тестирования - Алгоритмический трейдинг, торговые роботы
- Интернет трейдинг на Форексе и фондовых рынках с MetaTrader 5
КРИТИЧЕСКИ НЕДОСТАКИ, которые должны быть устранены в ПРО-версии
1. "Граальность" генерации тиков / Отсутствие стаканогеренации
Суть недостатка в текущей версии: Генерация стаканов как таковая отсутствует, используется генерация тиков, по которым можно открыть позиций без ограничения учета ликвидности рынка. Т.е. тестер допускает полный набор позиции для любого экстремума цены, и т.о. советник набирает позиции, которые в реальной торговле не открылись вообще либо открылись бы по приведенной в отчете цене с гораздо меньшим объемом.
Последствия данного недостатка: полная непригодность тестера для HFT -роботов, и весьма ограниченная пригодность для всех торговых систем, работающих на ТФ ниже Н1. Форум полон воплей пользователей, которые посоздавали "граалей" и затем слили свои деньги.
Тут я не рассматривают вопрос тестирования на барах открытия – для HFT это вообще чушь, но и для свечных систем ограниченно пригодно, т.к. биржевой рынок в любом случае имеет ограничение на ликвидность + в марабозах мы встречает тот же экстремум на открытиях, только несколько реже.
Что требуется в ПРО-версии тестера:
- хранение ордер-логов ключевых биржевых инструментов на сервере брокера,
- на каждом тике генерация стаканов 5х5 в обе стороны с заполнением согласно ОЛ,
- тестирование в режиме тайм-фрейм С1 (одна секудна).
Конкурентное преимущество для МТ5: высокое. Обработка ордер-лога и стаканогенерация по ОЛ есть только у S #, однако там подразумевается что пользователь сам купил ОЛ, что весьма накладно с учетом стоимости как данных, как и их хранения. Поэтому ПРО-тетстер с оплатой за ордер-лог данные через брокера будет обладать недостижимым для иных систем преимуществом
Данная фича подразумевает, что оплата ПРО-версии должна быть в виде "подписки" на услугу у брокера, и MQ будет получать свою часть прибыли от брокера.
2. Отсутствие функций запуска и управления тестированием из кода советника
Суть недостатка в текущей версии: тестирование запускается только через ручной запуск, либо через подкладку ини-файла в отдельную версию терминала; отсутствуют функции МКЛ5, позволяющие автоматизировать запуск тестирования/оптимизации на заданных из кода параметрах.
Последствия данного недостатка: алготрейдерам приходится записывать промежуточные итоги в Excel , программировать на WinAPI для управления вторым терминалом, в общем страдать и изгаляться по-черному.
Что требуется в ПРО-версии тестера:
- специальные функции МКЛ5 для управления параметрами запуска тестирования и оптимизации советника из кода самого советника,
- простое программное сохранение набора лучших параметров в xml -файл и их загрузка для следующего этапа тестирования.
Конкурентное преимущество для МТ5: по данному показателю МТ5 отстает от других платформ, так что это всего лишь устранение отставания от рынка.
СЕРЬЕЗНЫЕ НЕДОСТАКИ, которые должны быть устранены в ПРО-версии
3. Отсутствие Walk forward тестирования
Суть недостатка в текущей версии: реализовано простое forward тестирование, без возможности задания ролловера по периодам.
Последствия данного недостатка: необходимость вручную прогонять множество forward тестов, сохраняя результаты в Excel .
Что требуется в ПРО-версии тестера:
- полнофункциональное walk forward тестирование, с отбором наиболее устойчивых во времени наборов параметров,
- задание длины базового периода, задание длины смещения от одного прогона к другому,
В целом тема достаточно много обсуждалась на форуме, так что можно не комментировать.
Конкурентное преимущество для МТ5: высокое, в основном данный алгоритм многие программируют сами в иных платформах, и поэтому встроенный Walk forward будет существенным преимуществом на рынке.
4. Ограниченность истории для тестирования на М1
Суть недостатка в текущей версии: собственно наличие истории на сервере у брокера и простота ее закачки, является сейчас существенным технологическим преимуществом МТ5 перед многими платформами, где алготрейдеру еще нужно возиться с закачкой и обработкой сырых данных. Однако многие брокеры, в частности Открытие/БКС хранят историю по М1 только за последние два года, чем подрывают данное конкурентное преимущество МТ5.
Последствия данного недостатка: недостаточная верификация устойчивости советникам к разным фазам рынка и экономическим ситуациям.
Что требуется в ПРО-версии тестера:
- обеспечить на стороне брокера наличие данных по М1 за последние 10 лет по наиболее ликвидным и торгуемым биржевым инструментам,
Конкурентное преимущество для МТ5: повышение реального удобства, приведение действительности к обещаниям рекламных слоганов.
5. Недостаточность итоговых параметров для мониторинга работы на реальном счете
Суть недостатка в текущей версии: нет автоматического расчета и вывода пользователю показателей, важных для последующего мониторинга работы советника на реальном счете, в частности:
- сопоставимая годовая доходность,
- средняя месячная доходность.
- средняя месячная просадка.
Последствия данного недостатка: необходимо выгружать все сделки в Excel и досчитывать данные показатели вручную, либо с применением Матлаб.
Что требуется в ПРО-версии тестера: по итогам тестирования автоматический расчет приведенных выше показателей работы советника.
Конкурентное преимущество для МТ5: существенно, так как на иных платформах чаще всего их тоже приходится кодить вручную.
6. Отсутствие показателя "Открытый интерес"
Суть недостатка в текущей версии: ОИ представлен только как описательный показатель фьючерсных инструментов.
Последствия данного недостатка: невозможность использовать данные ОИ в работе советника, невозможность построить индикаторы с использованием ОИ и пр.
Что требуется в ПРО-версии тестера:
- обеспечить на стороне брокера наличие данных по ОИ на уровне М1 и выше за последние 10 лет по наиболее ликвидным и торгуемым биржевым фьючерсам,
- обеспечить функции расчета индикаторов по ОИ в режиме реальный торгов, но и подгрузкой необходимой истории из файлов с историческими данными.
Конкурентное преимущество для МТ5: существенно, так как многие даже платные дата-фиды не дают эти данные в нормальном виде.
Конечно на Маркете есть пара софтин, которые позволяют пользователя начать "записывать" ОИ и даже дописать файлы историческими значениями. Но все это очень громоздко и неуклюже, так как в реальности подключить такой исторический дата-фид для работы советника весьма проблематично и требует громадного объема доп. кодирования.
И наконец вкратце
ПОЛЕЗНЫЕ МОМЕНТЫ, которые хотелось бы видеть в ПРО-версии
7. Моделирование ГО по фьючерсам на основе алгоритма МОЕХ
8. Прокрутка "На дату" в Визуализаторе стратегий после завершения тестирования
9. Центральное хранение истории для локальных агентов
10. Возможность включить инструмент в качестве параметра для оптимизации.
Данные пункты кончено можно обойти с помощью "костыликов" лидо вовсе обойтись без них.
Но чем удобней тестер, тем приятней с ним работать.
Отчет по Волкин-Форварду должен содержать общую сумму форвардов данной серии.
Для волкнг-форварда должна быть возможность установки НАЧАЛЬНОГО сета. Чтобы стартовые условия были одинаковыми для всех волкинг-форвардов и начальный сет не затирался последующими результатами
Возможность оптимизации параметров по очереди .
Возможность игнорирования нулевого результата.
alk forward тестирование, с отбором наиболее устойчивых во времени наборов параметров,
А как вы себе это представляете? Чисто визуально - в каком виде? Таблица, график? И что значит ."наиболее устойчивые". Наиболее часто повторяемые? Или наиболее результативные? Результативные по какому критерию?
Не проще ли просто выдать результат промежуточных тестов волкинг-форварда в виде списка всех полученных в результате оптимизации параметров - а там уж пусть каждый пользователь сам решает, как их анализировать, поскольку наиболее часто повторяемые значения бэков не обязательно приводят к хорошим форвардам.
С начальным сетом или без него, это уже скажем так нюансы. Лучше конечно оба варианта))
Насчет "устойчивости" - для себя я ее определяю как обеспечение прибыльности работы в заданном % количестве out-of-sample прогонов. Например задание 95% для walk forward тестирования с out-of-sample периодом равным 1 месяцу будет говорить о том, что вообще-то разработчик готов "пережить" 1 убыточный месяц за 2 года работы советника. Еще более правильно задавать двойную связку: прибыльность + ограничение по % просадки, но это понятно более ресурсоемко.
С начальным сетом или без него, это уже скажем так нюансы. Лучше конечно оба варианта))
Насчет "устойчивости" - для себя я ее определяю как обеспечение прибыльности работы в заданном % количестве out-of-sample прогонов. Например задание 95% для walk forward тестирования с out-of-sample периодом равным 1 месяцу будет говорить о том, что вообще-то разработчик готов "пережить" 1 убыточный месяц за 2 года работы советника. Еще более правильно задавать двойную связку: прибыльность + ограничение по % просадки, но это понятно более ресурсоемко.
Предположим, вы решили не учитывать один убыточный сет. ОК 24-1 =23 Те. у вас остается 23 прибыльных сета . Я не представляю как вы будете из 23-х что-то там решать, а, главное, зачем. Да и ЛАДНО! Пусть они у вас будут! Но мне, как общему пользователю терминала такая функция не нужна! У меня ведь волкин ПОСЛЕДОВАТЕЛЬНЫЙ, т.е. учитывающий инерционность системы и , естественно, я буду для работы брать последний, самый актуальный сет. Поэтому я и говорю - должна быть общая таблица-отчет, в том числе содержащая сохраненный сет для каждого бэка. А уж каждый потом может оттуда выдергивать в экселе, что ему понравится.
Что же до начального сета -Это принципиально! Иначе как вы собираетесь сравнивать результаты волкин-форвардов между собой, если начальные условия будут разными? Если не предусмотреть такую функцию, то вам придется ВРУЧНУЮ ставить один и тоТ же сет.
Сеты при этом могут сохраняться в виде ссылок на файлы. Т.е. если нужен традиционный развернутый отчет по конкретному отрезку - дважды щелкай по иконке и тестер прогоняет еще раз данный отрезок с полным традиционным отчетом и картинками.
КРИТИЧЕСКИ НЕДОСТАКИ, которые должны быть устранены в ПРО-версии
1. "Граальность" генерации тиков / Отсутствие стаканогеренации
Суть недостатка в текущей версии: Генерация стаканов как таковая отсутствует, используется генерация тиков, по которым можно открыть позиций без ограничения учета ликвидности рынка. Т.е. тестер допускает полный набор позиции для любого экстремума цены, и т.о. советник набирает позиции, которые в реальной торговле не открылись вообще либо открылись бы по приведенной в отчете цене с гораздо меньшим объемом.
Последствия данного недостатка: полная непригодность тестера для HFT -роботов, и весьма ограниченная пригодность для всех торговых систем, работающих на ТФ ниже Н1. Форум полон воплей пользователей, которые посоздавали "граалей" и затем слили свои деньги.
Тут я не рассматривают вопрос тестирования на барах открытия – для HFT это вообще чушь, но и для свечных систем ограниченно пригодно, т.к. биржевой рынок в любом случае имеет ограничение на ликвидность + в марабозах мы встречает тот же экстремум на открытиях, только несколько реже.
Что требуется в ПРО-версии тестера:
- хранение ордер-логов ключевых биржевых инструментов на сервере брокера,
- на каждом тике генерация стаканов 5х5 в обе стороны с заполнением согласно ОЛ,
- тестирование в режиме тайм-фрейм С1 (одна секудна).
Конкурентное преимущество для МТ5: высокое. Обработка ордер-лога и стаканогенерация по ОЛ есть только у S #, однако там подразумевается что пользователь сам купил ОЛ, что весьма накладно с учетом стоимости как данных, как и их хранения. Поэтому ПРО-тетстер с оплатой за ордер-лог данные через брокера будет обладать недостижимым для иных систем преимуществом
Данная фича подразумевает, что оплата ПРО-версии должна быть в виде "подписки" на услугу у брокера, и MQ будет получать свою часть прибыли от брокера.
2. Отсутствие функций запуска и управления тестированием из кода советника
Суть недостатка в текущей версии: тестирование запускается только через ручной запуск, либо через подкладку ини-файла в отдельную версию терминала; отсутствуют функции МКЛ5, позволяющие автоматизировать запуск тестирования/оптимизации на заданных из кода параметрах.
Последствия данного недостатка: алготрейдерам приходится записывать промежуточные итоги в Excel , программировать на WinAPI для управления вторым терминалом, в общем страдать и изгаляться по-черному.
Что требуется в ПРО-версии тестера:
- специальные функции МКЛ5 для управления параметрами запуска тестирования и оптимизации советника из кода самого советника,
- простое программное сохранение набора лучших параметров в xml -файл и их загрузка для следующего этапа тестирования.
Конкурентное преимущество для МТ5: по данному показателю МТ5 отстает от других платформ, так что это всего лишь устранение отставания от рынка.