Прогнозирование финансовых рынков с использованием искусственных нейросетей

       

Концептуальная схема системы прогнозирования


Сегодня на рынке присутствует достаточное количество программ, реализующих нейросетевые подходы для решения задач прогнозирования. Однако, не всегда они учитывают все потребности пользователей. Например, попытки применения в РИА «РосБизнесКонсалтинг» для прогнозирования цены акций программ, имеющихся на отечественном рынке, показали, что задачи подготовки исходных данных и оформления результата решены в них удовлетворительно. Работа с этими программами оказалась возможной только после написания дополнительных программ для подготовки данных и интерпретации результатов. По результатам тестирования, аналитиками РИА «РосБизнесКонсалтинг» был сделан такой вывод, чем тратить собственные средства на улучшение потребительских качеств чужой программы, лучше создать собственную программу для собственных же нужд. Описанный здесь опыт одного из крупнейших российских информационно-аналитических агентств показывает, что имеет смысл разрабатывать собственную систему прогнозирования.

Область применения будущей разработки должна быть жестко ограничена прогнозами финансовых показателей, еще одно требование к программе – максимальный комфорт для будущих пользователей. Работа с программой не должна отнимать у пользователя много времени, а результаты ее работы должны удобно интерпретироваться и быть максимально приспособлены к использованию в существующей отчетности. Другими словами, разрабатываемая система прогнозирования не должна стать еще одной нейросетевой программой, которая может применяться во всех областях, в том числе и в области прогнозирования движения цены.

На рисунке 2.30 представлена концептуальная схема системы прогнозирования. Рассмотрим назначение основных модулей этой схемы, а также технологию работы с предложенной системой.

Как видно из предложенной схемы, вся система разбивается на несколько модулей, которые, в том числе, могут оформляться в виде отдельных EXE файлов, что позволило бы использовать их, например, для формирования других систем. Параметры настройки всех модулей должны задаваться в виде сценариев, и не требовать вмешательства оператора во время обработки данных.
Часть параметров в системе может задаваться в виде диапазона и шага, с которым этот диапазон необходимо пройти. В процессе работы система сама сможет выбирать значения из диапазона значений параметров, которые наилучшим способом соответствуют решению задачи. Это значит, что системой сможет пользоваться не только опытный специалист в области нейросетей, но и новичок. Разница между ними будет заключаться только в том, что новичок будет задавать большие диапазоны значений и меньший шаг, т.е. на решение задачи будет расходоваться больше машинного времени. По мере продвижения новичка в предметной области и приобретения им опыта использования программы, он будет точнее задавать параметры системы, обрабатывая больше моделей за единицу рабочего времени.

Как показывает практика, значительную часть технологического цикла решения прогнозных задач с применением нейронных сетей занимает подготовка массива входных данных. Через интерфейс модулей загрузки данных из внешних источников, обработки данных, формирования обучающих и тестовых множеств система получает и обрабатывает данные

о финансовых показателях. Учитывая специфические особенности

системы, данные должны поступать в виде временных рядов. Формируемые модулем   обучающие   и   тестовые   множества   должны   быть   адекватны

Лист оставлен под концептуальную схему прогнозирования (рис. 2.30)

решаемой задаче, т.е. множество входных данных должно обеспечивать не только сходимость процесса обучения, но и точность прогнозирования. Описанные обстоятельства подводят к выводу о том, что в модуль формирования входных множеств необходимо включить оптимизационные алгоритмы.

Модуль торговых стратегий (проектов) должен позволять описывать правила торговли пользователя. При построении торговой стратегии необходимо обеспечить возможность использования лимитных и/или стоп-приказов, учитывать комиссионные, маржу и проскальзывание. Проверка торговой стратегии, использующей правила, нейросетевые предсказания и индикаторы, должны проводиться на исторической базе данных системы.




Моменты покупки/ продажи могут отображаться на графике, чтобы у пользователя была возможность уже при тестировании торговой системы понять, насколько прибыльна ее работа. Система должна поддерживать возможность проверки на исторических данных любой торговой системы, в том числе и системы, построенной без использования нейромоделей.

Модуль формирования комитета совместно с модулем оптимизации нейронных сетей обеспечивают формирование такой выборки нейросетей, которая обеспечивает наилучшие результаты при прогнозировании.

Такой отбор может производиться по следующей схеме. Среди множества обученных конфигураций нейросетей проводится отбор победителей на двух этапах по критерию надежности. Первый отбор сетей-кандидатов

для решения прогнозной задачи происходит на этапе их обучения, второй - на этапе применения. Процентное соотношение отобранных на этапе обучения нейроэкспертов к общему числу обученных сетей-кандидатов может доходить до 1%. Т.е. в комитет может попадать, например,

только каждая сотая нейросеть. Прогноз строится системой на основе линейной комбинации лучших отобранных из комитета на этапе применения нейроэкспертов.

Задача обучения возлагается на модуль обучения нейросетей. Как показывает практика, для того, чтобы нейронная сеть смогла отыскать зависимости во временном ряде, необходимо использовать передовые алгоритмы обучения. Хорошие результаты сегодня показывают методы обучения, базирующиеся на генетических алгоритмах.

В модуле интерфейса пользователя реализовывается обеспечение работы пользователя с системой. Рассмотрим технологическую цепочку работы с предложенной системой прогнозирования.

На первом шаге пользователь создает проект (торговую систему, стратегию), при помощи встроенных возможностей описывает ее, устанавливает ключевые параметры. В тех местах, где в системе предполагается использовать прогнозы нейронных сетей, настраиваются модели прогнозирования.

На втором этапе для каждой модели прогнозирования настраиваются параметры модулей, связанных с процессом обучения нейроэкспертов и получения результатов: какие данные требуются, где они могут быть найдены, шаблоны преобразования входных и выходных величин, параметры алгоритма обучения, настройки оптимизации модели и т.п.


На этом этапе пользователь может также сам участвовать в создании базы данных с финансовыми показателями.

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

После обучения достаточного для формирования комитетов количества нейроэкспертов, по правилам описанным в торговой системе (проекте), прогнозирующая система может генерировать сигналы, которые можно рассматривать как непосредственные приказы на торговлю. Можно предусмотреть несколько способов подачи сигнала на торговлю, например, через интерфейс пользователя – посредством сообщений, аудио и видеоэффектов, через локальные сети и Интернет – посредством сервиса ICQ, передачи сообщения на пейджер, передачи непосредственного приказа брокеру.

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

ЗАКЛЮЧЕНИЕ


Содержание раздела