ПРО-версия тестера с учетом особенностей биржевого рынка

ПРО-версия тестера с учетом особенностей биржевого рынка

Тема является продолжением темы "Нужна ли версия "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 отстает от других платформ, так что это всего лишь устранение отставания от рынка.

📎📎📎📎📎📎📎📎📎📎