Тестирование модели на новых данных
В предыдущем разделе мы провели оптимизацию параметров нашего советника на обучающей выборке и определили оптимальный набор параметров. Теперь нам предстоит проверить работоспособность нашей модели на новых данных. Согласитесь, мы создаем модель для возможности заработать на финансовом рынке. Пока мы только обучили модель и оптимизировали параметры советника на исторических данных за период с 2015 по 2020 год включительно. Мы определили оптимальный набор параметров, позволяющий получить прибыль на исторических данных. К сожалению, мы не можем отправиться в прошлое и заработать на исторических данных. Мы лишь можем запустить наш советник на торговом счете и надеяться на соизмеримую доходность советника в будущем. Чтобы подтвердить или опровергнуть возможность получения прибыли в будущем, проведем тестирование нашего советника с обученной моделью и оптимизированными параметрами на исторических данных вне обучающей выборки — на данных за 2021 год. Таким образом, мы проверим доходность модели на новых данных.
Как и в случае с оптимизацией параметров, мы переходим в тестер стратегий MetaTrader 5 и на вкладке Settings указываем период тестирования 2021 год, выбираем тип моделирования на основе реальных тиков и отключаем оптимизацию параметров. Также не забудем указать корректный финансовый инструмент и таймфрейм.
После этого переходим на вкладку параметров советника и указываем значения параметров, которые мы определили в предыдущем разделе. Запускаем процесс тестирования кнопкой Start.
![Форвард-тестирование модели Форвард-тестирование модели](/ru/neurobook/img/forward_testing1.png)
Форвард-тестирование модели
![Форвард-тестирование модели Форвард-тестирование модели](/ru/neurobook/img/forward_testing2.png)
Форвард-тестирование модели
На периоде тестирования советник получал прибыль на длительном временном интервале. В целом год был закрыт с положительным результатом. Надо сказать, что для тестирования модели мы используем довольно упрощенный алгоритм советника без использования мани-менеджмента и блока сопровождения позиции. Но и в таком варианте советник демонстрирует прибыль. Это свидетельствует об общей прибыльности торговых сигналов, генерируемых моделью. Потенциально добавление мани-менеджмента и блока сопровождения позиции позволит повысить доходность работы советника.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing3.png)
Результаты форвард-тестирования модели
График изменения баланса демонстрирует боковое движение в первой половине года, но с мая наблюдается четкая тенденция к росту капитала.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing4.png)
Результаты форвард-тестирования модели
Анализ работы советника на новых данных показал, что по некоторым показателям он даже превосходит значения, полученные на обучающей выборке. К примеру, фактор доходности на новых данных составил 1,48, в то время как на обучающей выборке при оптимизации параметров данный показатель был на уровне 1,22. Уровень маржинальности в данном случае не показателен, так как все торговые операции осуществлялись с минимальным объемом, что сильно завысило данный показатель.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing5.png)
Результаты форвард-тестирования модели
В целом за весь 2021 год советник открыл 36 позиций, 21 из которых была закрыта с прибылью. Это составило 58.33% от общего числа позиций. Полученное значение очень близко к 60% ожидаемой доходности от сигналов модели. Напомню, что пороговым уровнем совершения торговых операций является 60% вероятность движения цены в прогнозируемом направлении (параметр TradeLevel=0.6).
Максимальное количество идущих подряд убыточных сделок равно трем, а максимальное количество прибыльных — шести.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing6.png)
Результаты форвард-тестирования модели
Мы не встраивали в наш советник фильтрацию сделок по времени выполнения торговых операций, как и не давали временных ориентиров для обучаемой модели. В результате мы видим, что советник открывает позиции более или мене равномерно в течение всех торговых сессий.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing7.png)
Результаты форвард-тестирования модели
В течение же недели мы видим значительное превосходство по открытию позиций в среду (около 30%). Далее идут пятница и понедельник. Меньше всего открывается позиций во вторник и четверг.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing8.png)
Результаты форвард-тестирования модели
Максимальную же доходность советник получает в среду и понедельник. При этом показатель отношения прибыли к убытку лучше в понедельник. В пятницу полученные прибыль и убыток балансируют в районе точки безубыточности. А вот во вторник и четверг убытки превосходят полученную прибыль. Такой анализ позволяет потенциально увеличить доходность советника, исключив заведомо убыточные сделки. К примеру, если мы добавим фильтр открытия позиций по дням недели, то можем увеличить общую доходность советника за счет совершения сделок только в понедельник и среду.
![Результаты форвард-тестирования модели Результаты форвард-тестирования модели](/ru/neurobook/img/forward_testing9.png)
Результаты форвард-тестирования модели
В целом же результат получения прибыли советником на новых данных позволяет сделать следующие выводы:
- В процессе проведения технического анализа возможно выделение неких паттернов, способных генерировать довольно устойчивые сигналы для совершения торговых операций с доходностью не менее 60%.
- Использование моделей нейронных сетей позволяет выявлять такие паттерны.
- Создание советника на базе нейронных сетей позволяет добиться устойчивой доходности на протяжении длительного временного интервала.