Автор: Пользователь скрыл имя, 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
Рис. 1.6. Обучение сети как задача оптимизации
В основе большинства известных
сегодня алгоритмов обучения нейросетей
лежит метод градиентной
Таким образом, одна и та же структура связей нейросети эффективно используется и для функционирования, и для обучения нейросети. Такая структура позволяет вычислять градиент целевой функции почти так же быстро, как и саму функцию. Причем вычисления в обоих случаях распределенные - каждый нейрон производит вычисления по мере поступления к нему сигналов от входов или от выходов.
Итак, базовой идеей большинства алгоритмов обучения является учет локального градиента в пространстве конфигураций для выбора траектории быстрейшего спуска по функции ошибки. Функция ошибки, однако, может иметь множество локальных минимумов, представляющих субоптимальные решения (см. рис. 1.6). Поэтому градиентные методы обычно дополняются элементами стохастической оптимизации, чтобы предотвратить застревание конфигурации сети в таких локальных минимумах. Идеальный метод обучения должен найти глобальный оптимум конфигурации сети.
В последнее десятилетие наблюдал
Во-первых, нейросетевой анализ не предполагает никаких ограничений на характер входной информации. Это могут быть как индикаторы данного временного ряда, так и сведения о поведении других рыночных инструментов. Вот почему нейросети активно используют именно институциональные инвесторы (например, крупные пенсионные фонды), работающие с большими портфелями, для которых особенно важны корреляции между различными рынками.
Во-вторых, в отличие от теханализа,
основанного на общих рекомендациях,
нейросети способны находить оптимальные
для данного инструмента
На постановку задачи прогнозирования временных рядов дополнительные условия накладывает выбор архитектуры ИНС. Нейронные сети класса «многослойные перцептроны» являются основной «рабочей архитектурой» современной теории нейровычислений. Подавляющее большинство приложений связано именно с применением такого типа ИНС. Как правило, используются сети, состоящие из последовательных слоев нейронов. Хотя любую сеть без обратных связей можно представить в виде последовательных слоев, именно наличие многих нейронов в каждом слое позволяет существенно ускорить вычисления, используя матричные ускорители. В немалой степени популярность персептронов обусловлена широким кругом доступных им задач. В общем виде они решают задачу аппроксимации многомерных функций, т.е. построения многомерного отображения F: xÞy, обобщающего заданный набор примеров {xt, yt}.
В зависимости от типа выходных переменных (тип входных не имеет решающего значения), аппроксимация функций может принимать вид: классификации (дискретный набор выходных значений), или регрессии (непрерывные выходные значения). Многие практические задачи распознавания образов, фильтрации шумов, предсказания временных рядов и др. сводится к этим базовым постановкам.
Задача прогнозирования
Многие задачи специально сводят к задачам классификации, где результатом прогноза на ИНС является класс, к которому принадлежит переменная, а не ее конкретное значение. Формирование классов должно проводиться в зависимости от того, каковы цели прогнозирования. Общий подход состоит в том, что область определения прогнозируемой переменной разбивается на классы в соответствии с необходимой точностью прогнозирования. Классы могут представлять качественный или численный взгляд на изменение переменной.
Сегодня разработано большое количество программных продуктов, пригодных для применения там, где возникает необходимость использования технологии нейровычислений. Существуют универсальные нейросетевые пакеты, предназначенные для решения любых задач, которые можно решить при помощи нейронных сетей, от распознавания речи и образов до решения задач прогнозирования (Brain Maker Pro, NeuroSolution), но, как показывает практика, такие программные продукты не всегда удобны для решения задач прогнозирования временных рядов. Существует класс нейросетевых программных продуктов, предназначенных исключительно для решения задач прогнозирования временных рядов. Эти продукты ориентированы на финансовых работников - трейдеров, биржевых аналитиков и т.д., часто обладают дружественным графическим интерфейсом, и проектируются таким образом, чтобы человек, имеющий даже поверхностное представление о нейронных сетях, смог быстро их освоить. К таким программным продуктам относятся: Neuro Builder 2001, NeuroShell Day Trader, BioComp Profit, NeuroScalp.
Наиболее популярные сегодня в России следующие программные про-дукты, реализующие нейросетевые подходы к решению задач прогно-зиро-вания: Brain Maker Professional, NeuroShell Day Trader, Neuro Builder 2001.
Пакет Brain Maker Professional, цена $850 - предназначен для построения нейронных сетей обратного распространения. Пакет включает в себя программу подготовки и анализа исходных данных NetMaker, программу построения, обучения и запуска нейросетей BrainMaker, а также набор утилит широкого назначения. Программный пакет ориентирован на широкий круг задач - от создания прогностических приложений до организации систем распознавания образов и нейросетевой памяти. Значительное количество функций программы ориентировано на специалистов в области исследования нейросетей. Следует отметить, что организация внутреннего представления нейросетевых моделей является “прозрачной” и легко доступной для программного наращивания. В программе BrainMaker предусмотрена система команд для пакетного запуска. Существует интерфейсная программа-функция для включения обученных сетей в программы пользователя. В целом пакет может быть интегрирован в программный комплекс целевого использования.
Программа BrainMaker предназначена для построения нейросети по некоторым исходным установкам, ее обучение в различных режимах, модификацию параметров сети. Программа имеет значительное количество контрольных функций для оптимизации процесса обучения. Помимо этого, программа предоставляет ряд методов анализа чувствительности выходов сети к различным вариациям входных данных, при этом формируется подробный отчет, в соответствие с которым можно дополнительно оценить степень функциональной зависимости входных и выходных значений.
NeuroShell Day Trader v. 3.0, цена $2590 - нейросетевая
система, которая учитывает
NeuroShell Trader с легкостью читает стандартные текстовые файлы open/high/low/close/volume, которые поставляют большинство соответствующих агентств. В частности, NeuroShell Trader работает с текстовыми файлами, файлами в формате MetaStock (включая версию 6) и файлами данных в формате, используемом программами TradeStation, SuperCharts и Wall Street Analyst, которые Omega Research распространяет на своих компакт-дисках. Зачастую эти данные непосредственно могут быть использованы в качестве входных переменных для нейронной сети.
В NeuroShell Trader имеется обширная библиотека из более чем 800 технических индикаторов. Помимо стандартных индикаторов, таких как скользящие средние (moving averages), норма изменения (rate-of-change) или стохастические линии (stochastics), NeuroShell Trader дает возможность реализовать собственные индикаторы путем комбинации готовых функций из внушительного списка, в который входят условия «если-то», арифметические операторы, тригонометрические функции и многое другое.
Однако одним из основных достоинств рассматриваемого продукта является то, что нейронные сети являются встроенными, а не являются чем-то привнесенным извне и используемым отдельно. Они присутствуют в меню под рубрикой "Predictions"(Прогнозы) наряду с "Indicators"(Индикаторами) и "Data"(Данными). Мастер прогноза (Prediction Wizard) позволяет выбрать, что пользователь хочет предсказывать. Это могут быть цены закрытия (close), их процентные изменения или иные данные или индикаторы. Существует возможность устанавливать, на сколько дней вперед делать предсказания.
Neuro Builder 2001 Advanced, цена $3500 - продукт, принадлежащий к категории наукоемких, высокотехнологичных, узкопрофессиональных инструментов. Это 32-битное приложение, работающее под управлением ОС Windows 95/98/NT 4.0. В своей категории - специализированные программы для финансовых аналитиков - Neuro Builder 2001 занимает пограничное положение между серийными программами и заказными системами. Она может быть использована как самостоятельный продукт, может выступать составной частью сложного аналитического комплекса. Ниже перечислены семь главных отличительных характеристик программы Neuro Builder 2001:
а) программа Neuro Builder 2001 - приложение, созданное специально для решения задач прогнозирования на финансовых рынках;
б) программа Neuro Builder 2001 - приложение, позволяющее использовать нейросети в повседневной работе так же просто, как и привычные для трейдеров инструменты - программы технического анализа и электронные таблицы;
в) программа Neuro Builder 2001 - приложение, позволяющее пользователю использовать навыки, приобретенные при работе с Microsoft Office - технологичность и регулярность, которые обеспечиваются автоматизацией работы программы по разработанным пользователем сценариям и оформление отчетов программой по созданным им шаблонам;
г) программа Neuro Builder 2001 - единственный на сегодняшний день серийно выпускаемый программный продукт, содержащий модуль исследования данных до определения архитектуры нейросети - Best Builder, позволяющий автоматизировать определение входного вектора параметров задачи с учетом влияния каждого параметра входного вектора на предполагаемый результат;
д) программа Neuro Builder 2001 - не является «черным ящиком»; подробная документация содержит описание всех структур и файлов, включая временные файлы. Все файлы с данными системы хранятся только в двух форматах - текстовый и EXCEL;
е) программа Neuro Builder 2001 - продукт, не зависящий от источника данных; в состав программы входит модуль Data Builder Light, позволяющий преобразовывать финансовые данные из множества популярных форматов, в формат данных программы Neuro Builder 2001 и исправлять ошибки в данных параллельно с их преобразованием;
ж) программа Neuro Builder 2001 - позволяет использовать найденные решения неоднократно; данные для конкретной задачи всегда формируются на этапе ее решения через запрос к базе данных и сразу уничтожаются после получения результата; между сеансами работы хранится только описание способа получения данных из локальной базы;
з) программа Neuro Builder 2001 реализована в виде множества независимых модулей, взаимодействующих в рамках комплекса по документированным интерфейсам; каждый из программных модулей оформлен в виде выполняемой программы (EXE) и отвечает за решение одной из конкретных подзадач в составе общей задачи прогнозирования на финансовых рынках; каждый из модулей в состоянии работать как в составе комплекса программы Neuro Builder 2001, так и совместно с любыми другими программами, поддерживающими его интерфейс.
Технология применения программы Neuro Builder 2001 ориентирована на регулярность получения результатов и экономию рабочего времени аналитика. Так программа Neuro Builder 2001 обеспечивает минимальный период прогнозирования, соответствующий одним суткам. В конце торгового дня в базу данных программы заносятся цены завершившегося дня, и программа запускается на обработку новых данных по заранее подготовленному сценарию. Контроль оператора в процессе счета не требуется. В начале следующего торгового дня по результатам обсчета уже можно получить прогноз цен закрытия этого дня. Таким образом, основное время работы программы приходится на ночь, и задача - прогноз на день вперед - решена. Участие пользователя состоит в подготовке корректных сценариев для работы программы и обеспечении бесперебойной подачи питания компьютеру, на котором запущена программа. Особенно хочется подчеркнуть, что пакет Neuro Builder 2001 разработан отечественной фирмой «РосБизнесКонсалтинг».
Информация о работе Прогнозирование финансовых рынков с использованием искусственных нейронных сетей