Автор: Пользователь скрыл имя, 24 Апреля 2013 в 18:42, дипломная работа
Целью данной работы является изучение опыта специалистов в области прогнозирования финансовых рынков с использованием искусственных нейросетей, а также разработка собственных подходов к прогнозированию рынка FOREX и проектированию торговых систем, пригодных для использования в торговом зале.
Для достижения поставленной цели в дипломной работе решаются следующие задачи:
а) проведение обзора специализированной литературы, ресурсов глобальной сети Интернет, а также рынка программных средств, реализующих нейросетевые принципы для решения задач прогнозирования;
б) постановка и выполнение оптов с целью определения этапов процесса решения задачи прогнозирования, которые нуждаются в автоматизации; сделать выводы по результатам опытов
ВВЕДЕНИЕ 7
1. ПРОГНОЗИРОВАНИЕ ФИНАНСОВЫХ РЫНКОВ 10
1.1. СОВРЕМЕННЫЕ ФИНАНСОВЫЕ РЫНКИ. МЕЖДУНАРОДНЫЙ ВАЛЮТНЫЙ РЫНОК FOREX 10
1.2. ПРОГНОЗИРОВАНИЕ ФИНАНСОВЫХ РЫНКОВ 12
1.2.1. Прогноз и цели его использования 12
1.2.2. Основные понятия и определения проблемы прогнозирования 13
1.2.3. Методы прогнозирования финансовых рынков 17
1.2.4. Использование систем с искусственной «памятью» для решения задач прогнозирования 22
1.3. ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ 24
1.3.1. Биологические нейронные сети 24
1.3.2. Математическая модель нейрона, искусственные нейросети 26
1.3.3. Основополагающие принципы нейровычислений 29
1.3.4. Обучение искусственных нейронных сетей 31
1.3.5. Задача прогнозирования с использованием технологии нейровычислений 33
1.4. ОБЗОР ПРОГРАММНЫХ СРЕДСТВ, РЕАЛИЗУЮЩИХ АЛГОРИТМЫ НЕЙРОВЫЧИСЛЕНИЙ ДЛЯ РЕШЕНИЯ ЗАДАЧ ПРОГНОЗИРОВАНИЯ 35
2. ПРОГНОЗИРОВАНИЕ РЫНКА FOREX С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ 42
2.1. ПОСТАНОВКА ЗАДАЧИ ПРОГНОЗИРОВАНИЯ ФИНАНСОВЫХ РЫНКОВ С ИСПОЛЬЗОВАНИЕМ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ 42
2.2. ОПИСАНИЕ ТЕКУЩЕЙ РЫНОЧНОЙ СИТУАЦИИ. ПРЕДСТАВЛЕНИЕ ВХОДНЫХ ДАННЫХ 45
2.2.1. Перемасштабирование графика цены в единичный интервал 45
2.2.2. Описание рыночной ситуации при помощи приращений котировок 47
2.2.3. Обобщение значений индикаторов технического анализа 51
2.3. ПРОГНОЗИРУЕМЫЕ ВЕЛИЧИНЫ. ПРЕДСТАВЛЕНИЕ ВЫХОДНЫХ ДАННЫХ 53
2.3.1. Классификация рыночных ситуаций. Шаблон максимальной прибыли 53
2.3.2. Аппроксимация прогнозируемых величин. Сглаженный шаблон максимальной прибыли 58
2.3.3. Классификация рыночных ситуаций по достижимости значимых уровней. 61
2.2.4. Аппроксимация отношения текущего положения цены к коридору будущих цен 62
2.4. ОБУЧЕНИЕ ИСКУССТВЕННЫХ НЕЙРОСЕТЕЙ. АНАЛИЗ РЕЗУЛЬТАТОВ 63
2.4.1. Нейросетевой индикатор для прогнозирования рынка евро/доллар 63
2.4.2. Классификация рыночных ситуаций 76
2.4.3. Оценка положения текущей цены в коридоре будущих котировок 80
2.4.4. Оценка достижимости ценой значимых уровней 82
2.4.5. Прогнозирование максимального и минимального уровней цены на один период вперед 85
2.4.6. Выводы 87
2.5. КОНЦЕПТУАЛЬНАЯ СХЕМА СИСТЕМЫ ПРОГНОЗИРОВАНИЯ 89
ЗАКЛЮЧЕНИЕ 96
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 98
ПРИЛОЖЕНИЯ 102
Рис. 2.25. Диаграмма, отражающая качество распознавания комитетом нейроэкспертов рыночных ситуаций
На рисунке 2.26 синей линией изображена ожидаемая на выходах ИНС величина, красной - величина, прогнозируемая комитетом нейроэкспертов на рынке евро/доллар в январе 2000 г.
Таким образом, хотя некоторые зависимости во временном ряде и были обнаружены комитетом нейроэкспертов, использовать полученные прогнозы для генерации сигналов о торговле не желательно, поскольку погрешность прогнозируемого значения даже больше 50% интервала колебания прогнозируемой величины.
Рис. 2.26. Динамика ожидаемой и фактически полученной комитетом величин в январе 2000 г. на рынке евро/доллар
Цель опыта: настроить нейронные сети, решающие задачу классификации рыночных ситуаций по степени достижимости значимых уровней, по сигналам индикаторов ТА. База для формирования входной информации: часовая динамика курса евро/доллар за 1999 год. Входная информация: сигналы индикаторов ТА (обучающая выборка, рассмотренная в подразделе 2.4.1). Выходная информация: классификационный признак, рассмотренный в подразделе 2.3.3.
Для решения поставленной задачи было обучено две нейросети:
а) классификатор достижимости верхних уровней - EUR_up;
б) классификатор достижимости нижних уровней - EUR_down.
Каждая из сетей содержала два внутренних слоя по 34 и по 24 нейрона, общее количество синапсов составило 1279. Обучение производилось с использованием метода генетической оптимизации. После обучения было произведено тестирование на проверочном множестве, построенном на базе часовой динамики курса евро/доллар в январе 2000 г. По результатам тестирования была получена следующая статистика:
а.) 168 из 700 - верно распознанных ситуаций по достижимости верхних уровней (24,00%). Среднее отклонение прогнозируемых значений от ожидаемых (классовых признаков) составило 0,2830.
б.) 171 из 700 - верно распознанных ситуаций по достижимости нижних уровней (24,43%). Среднее отклонение прогнозируемых значений от ожидаемых (классовых признаков) составило 0,2862.
По результатам тестирования были построены диаграммы (рис. 2.27), на которой наглядно изображаются отклонения прогнозируемых величин от ожидаемых. На указанных диаграммах по оси абсцисс отложены коды классов, значения которых должны были быть предсказаны, по оси ординат - значения, фактически полученные в результате прогнозирования. Как видно из рисунка, полученные прогнозные значения испытывают сильные отклонения от ожидаемых значений, что затрудняет практическое использование рассматриваемой модели.
На рисунке 2.28 синим цветом изображены линии, соответствующие значениям классов - ожидаемые значения, красным - фактически полученные прогнозируемые значения по результатам тестирования на проверочном множестве (рынок евро/доллар, январь 2000 г.).
Достижимость верхних Достижимость нижних
уровней уровней
Рис. 2.27. Диаграммы, отражающие качество классификации рыночных ситуаций по степени достижимости значимых уровней
Рис. 2.28. Классификация по достижимости ценой значимых уровней
В целом можно заключить, что полученные в рамках рассмотренного опыта результаты мало применимы на практике. Изучаемая модель требует доработки или пересмотра.
Прогнозирование уровней цены, которых она может достигнуть в следующем периоде, например, завтра, занимает важное место в техническом анализе. Знание коридора цен позволяет принимать решения о торговле при приближении цены к прогнозируемым границам коридора. Например, знание максимальной и минимальной цены дня, при внутридневной торговле позволяет принять решение о продаже при приближении цены к максимальному прогнозируемому уровню, в надежде на то, что цена в этот же день опустится до минимального прогнозируемого уровня. Такая стратегия торговли позволяет получать максимальную прибыль внутри прогнозируемого периода.
Цель опыта: настроить нейронные сети, решающие задачу предсказания минимальной и максимальной цен следующего периода (часа, дня), на основании предыдущих изменений котировок. База для формирования входной информации: дневная динамика курса доллар/японская йена за период с сентября 1998 г. по декабрь 1999 г. Входная информация: приращения максимальных, минимальных цен и цены закрытия дня (см. подраздел 2.2.2). Выходная информация: приращения максимальных и минимальных цен на следующий, по отношению к входному вектору, день.
Рассмотрим процесс
Для решения поставленной задачи были обучены 2 нейросети:
а) задача прогнозирование изменений максимальной цены - JPY_high;
б) задача прогнозирование изменений минимальной цены - JPY_low.
Каждая из сетей содержала один внутренний слой, содержащий 15 нейронов, общее количество синапсов составило 160. Обучение производилось с использованием метода генетической оптимизации. После обучения было произведено тестирование на проверочном множестве, построенном на базе дневной динамики курса доллар/йена в январе 2000 г.
По результатам тестирования рассчитаем некоторые показатели работы ИНС, характеризующие качество прогнозирования (см. рис. 2.29):
а) 0,4204 - среднее отклонение прогнозируемой максимальной цены от фактической;
б) 0,4009 - среднее отклонение прогнозируемой минимальной цены от фактической;
в) 77,27% - верно предсказанных
г) 72,73% - верно предсказанных
По результатам тестирования можно сделать следующие выводы. Отклонения прогнозируемых значений цены от фактических укладываются в норму стандартного уровня «стоп-лосс» для торговли на курсе долар/йена внутри дня. Полученная модель имеет потенциал для роста точности прогнозов, предположительно за счет использования дополнительной входной информации.
Рис. 2.29. Результаты тестирования модели предсказания максимальной и минимальной цен дня на проверочном множестве января-февраля 2000 года.
Результаты применения нейронных сетей для решения задачи прогнозирования курсов валют показали, что статическая нелинейная система может быть обучена так, чтобы выполнять анализ валютных рынков на начальном уровне. В целом, в большинстве из описанных в данном разделе опытов, были получены положительные результаты. Однако необходимы дальнейшие исследования, прежде чем описанные в данном разделе методики можно будет использовать в торговом зале. Не смотря на то, что результаты некоторых опытов оказались многообещающими, однозначно о возможности построения на основе рассматриваемых моделей гибкой многопараметрической системы торговли, позволяющей получать устойчивую прибыль, говорить нельзя. По результатам опытов можно высказать ряд предложений, реализация которых, возможно, могла бы способствовать получению более точных прогнозов и разработке готовых для практического применения торговых стратегий.
Во-первых, выбранный подход формирования входного (обучающего и тестового) множества не предусматривал оптимизации. Выбор иного, более продуктивного подхода к формированию входного множества, вносит в модели прогнозирования потенциал улучшения результатов. Известно, например, что последние данные более значимы для обучения. Кроме того, финансовые ряды сильно зашумлены, особенно на коротких промежутках времени (внутридневных котировках), что затрудняет обучение и определение правил торговли. Плохая обучаемость нейросетей в задачах прогнозирования может быть вызвана также внутренней противоречивостью данных в обучающем множестве. Необходима методика тщательного отбора образов, которая на момент выполнения опытов не была известна.
Во-вторых, архитектура нейросетей (количество и структура слоев), используемых в рассматриваемых опытах, задавалась исходя из эмпирических соображений, в то время как в рамках решения задачи прогнозирования на основе ИНС, может быть поставлена задача оптимизации архитектуры ИНС, под конкретное обучающее множество. Включение этапа оптимизации архитектуры ИНС в процесс решения задачи прогнозирования перед этапом обучения ИНС, может существенно повысить качество прогноза.
В-третьих, чтобы эффективно обучать ИНС предсказывать финансовые рынки внутри дня, необходимо использовать самые передовые методы обучения ИНС, например генетические алгоритмы. При практической реализации опытов, рассмотренных в подразделах 2.4.1 и 2.4.2, использовать методы генетической оптимизации синаптических весов ИНС не представлялось возможным в виду отсутствия необходимого программного обеспечения.
В-четвертых, для улучшения качества прогнозов, задача формирования комитета нейроэкспертов может быть расширена. Процесс формирования комитета можно разбивать на несколько этапов, на каждом из которых происходит отбор наилучших, с точки зрения критерия, на каждом этапе. В итоге в комитет включаются только лучшие нейроэксперты, которые обеспечивают наиболее точные прогнозы.
Рассмотренные в данном подразделе предложения учитываются при построении структурной модульной схемы программного комплекса, использующего нейросетевые методы прогнозирования финансовых рынков.
Сегодня на рынке присутствует достаточное количество программ, реализующих нейросетевые подходы для решения задач прогнозирования. Однако, не всегда они учитывают все потребности пользователей. Например, попытки применения в РИА «РосБизнесКонсалтинг» для прогнозирования цены акций программ, имеющихся на отечественном рынке, показали, что задачи подготовки исходных данных и оформления результата решены в них удовлетворительно. Работа с этими программами оказалась возможной только после написания дополнительных программ для подготовки данных и интерпретации результатов. По результатам тестирования, аналитиками РИА «РосБизнесКонсалтинг» был сделан такой вывод, чем тратить собственные средства на улучшение потребительских качеств чужой программы, лучше создать собственную программу для собственных же нужд. Описанный здесь опыт одного из крупнейших российских информационно-аналитических агентств показывает, что имеет смысл разрабатывать собственную систему прогнозирования.
Область применения будущей разработки должна быть жестко ограничена прогнозами финансовых показателей, еще одно требование к программе – максимальный комфорт для будущих пользователей. Работа с программой не должна отнимать у пользователя много времени, а результаты ее работы должны удобно интерпретироваться и быть максимально приспособлены к использованию в существующей отчетности. Другими словами, разрабатываемая система прогнозирования не должна стать еще одной нейросетевой программой, которая может применяться во всех областях, в том числе и в области прогнозирования движения цены.
На рисунке 2.30 представлена концептуальная схема системы прогнозирования. Рассмотрим назначение основных модулей этой схемы, а также технологию работы с предложенной системой.
Как видно из предложенной схемы, вся система разбивается на несколько модулей, которые, в том числе, могут оформляться в виде отдельных EXE файлов, что позволило бы использовать их, например, для формирования других систем. Параметры настройки всех модулей должны задаваться в виде сценариев, и не требовать вмешательства оператора во время обработки данных. Часть параметров в системе может задаваться в виде диапазона и шага, с которым этот диапазон необходимо пройти. В процессе работы система сама сможет выбирать значения из диапазона значений параметров, которые наилучшим способом соответствуют решению задачи. Это значит, что системой сможет пользоваться не только опытный специалист в области нейросетей, но и новичок. Разница между ними будет заключаться только в том, что новичок будет задавать большие диапазоны значений и меньший шаг, т.е. на решение задачи будет расходоваться больше машинного времени. По мере продвижения новичка в предметной области и приобретения им опыта использования программы, он будет точнее задавать параметры системы, обрабатывая больше моделей за единицу рабочего времени.
Как показывает практика, значительную
часть технологического цикла решения
прогнозных задач с применением
нейронных сетей занимает подготовка
массива входных данных. Через интерфейс
модулей загрузки данных из внешних источников,
обработки данных, формирования обучающих
и тестовых множеств система получает
и обрабатывает данные
о финансовых показателях. Учитывая специфические
особенности
системы, данные должны поступать в виде
временных рядов. Формируемые модулем
обучающие и тестовые
множества должны быть
адекватны
Лист оставлен под концептуальную схему прогнозирования (рис. 2.30)
решаемой задаче, т.е. множество входных данных должно обеспечивать не только сходимость процесса обучения, но и точность прогнозирования. Описанные обстоятельства подводят к выводу о том, что в модуль формирования входных множеств необходимо включить оптимизационные алгоритмы.
Модуль торговых стратегий (проектов) должен позволять описывать правила торговли пользователя. При построении торговой стратегии необходимо обеспечить возможность использования лимитных и/или стоп-приказов, учитывать комиссионные, маржу и проскальзывание. Проверка торговой стратегии, использующей правила, нейросетевые предсказания и индикаторы, должны проводиться на исторической базе данных системы. Моменты покупки/продажи могут отображаться на графике, чтобы у пользователя была возможность уже при тестировании торговой системы понять, насколько прибыльна ее работа. Система должна поддерживать возможность проверки на исторических данных любой торговой системы, в том числе и системы, построенной без использования нейромоделей.
Информация о работе Прогнозирование финансовых рынков с использованием искусственных нейронных сетей