У частного алготрейдера есть 4 ключевые задачи:
- Поиск идей торговых стратегий и упаковка их в роботов;
- Проверка роботов на подгонку и устойчивость к изменениям;
- Формирование портфеля роботов с отрицательной попарной корреляцией;
- Управление этим портфелем стратегий на реальном счете (переоптимизация/замена на новые стратегии)
В данной статье попробуем решить первую задачу с помощью data mining.
Data mining (рус. добыча данных, интеллектуальный анализ данных, глубинный анализ данных) — собирательное название, используемое для обозначения совокупности методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Термин введён Григорием Пятецким-Шапироruen в 1989 году.
Чтобы проиллюстрировать что такое data mining в Metatrader 5 на срочном рынке Мосбиржи, установим в Metatrader 5 из Market mql5.com superbot (робот, которые создает других роботов).
Создавать стратегии будем со следующей вводной информацией:
- Торговый актив: фьючерс на индекс РТС (комиссия 10 рублей на 1 лот);
- Тайм-фрейм: M30;
- Капитал: 100 000 рублей капитал;
- Размер позиции: 1 контракт;
- Стоп лосс: 1 000 пунктов;
- Тип ордера: лимитный (выставляется на расстоянии 10% от дневного ATR(14).
В Metatrader 5 откроем окно “Тестер стратегии”
а закладке “Настройки” выставим необходимые условия:
На закладке “Параметры” выбираем параметры, которые будут подвергаться изменениям при оптимизации. Я выбрал структуру сигнала для входа, а также 3 поля с фильтрами.
Пополняем аккаунт на 10$ в аккаунте mql5.com и на закладке “Агенты” указываем “Использовать MQL5 Cloud Network” (помогает выполнять нужные нам вычисления в облаке), что позволяет значительно сократить время расчета. В среднем вы за платите от 10 до 50 центов за одну генерацию!
Нажимаем “Старт” и начинается процесс data mining
Спустя 6 минут, на закладке “Форвард-оптимизация” получаем так называемую “Коллекцию стратегий”. Выбор подходящих стратегий осуществляем сравнивая показатели фактора восстановления на участке бектеста (in sample) и форварда (out of sample)
Кликнув 2 раза по строке стратегии, запустится тестирование и увидим кривую доходности и бекстеста, и форварда
Если на закладке “Настройки” уберем учет форварда, то сможем увидеть объединенную кривую in sample + out of sample
Показатели закладки “Бектест”
Перейдя в закладку “Настройки” увидим значения и условия данной стратегии
Если хотим получить описание в текстовом формате, выставляем true и еще раз тестируем. В итоге superbot создает txt файл с описанием
Сама стратегия хранится в файле-контейнере с расширением ini, для сохранения необходимо нажать "Сохранить настройки". Ее легко пересылать друг другу и обратно загружать в тестер через “ Загрузить настройки”
Вывод: любая задача имеет несколько решений и в данной статье показал как можно создавать алгоритмические стратегии не придумывая логику, а подбирая параметры.
Также данный подход делает вас независимым и позволяет находить рыночные неэффективности буквально за 5-10 минут.
Да, остается проблема подгонки, которую будем решать в другой статье.
С пожеланием успехов и кайфа в алготрейдинге, Владимир Чамин, superbot.pro
P.S.: если хотите подробнее разобраться, подготовил бесплатный мини-курс из 3-х видео где показываю как выглядит процесс генерации (того самого data mining-a) алгоритмических стратегий для фьючерсов Si, Eu, Ri
Прошлые положительные результаты торговли и тестирования не гарантируют их повторение в будущем. Информация, представленная на сайте, не является индивидуальной инвестиционной рекомендацией.
Трейдинг на финансовых рынках связан с риском потери капитала.