Автор: Пользователь скрыл имя, 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
Как было отмечено выше, первоочередной
задачей технического анализа является
определение направления движен
Обучающее правило для прогнозирования
достижимости значимых уровней формируется
в виде классов. Рассмотрим процесс
формирования обучающего правила
для часовой динамики курса евро/доллар
за 1999 год. Указанная динамика имеет следующие
характеристики (за 24 часа): максимальный
достигнутый верхний уровень +0.0292, средний
достигнутый верхний уровень +0.0049, предельно
достигнутый нижний уровень
-0.0276, средний достигнутый нижний уровень
-0.0056, т.е. в среднем за сутки цена проходит
около 50 пунктов (вверх или вниз) и максимальное
суточное движение цены близко к 300 пунктам
(вверх или вниз). Статистически большинство
значений достигнутых уровней не превосходят
80-100 пунктов. Исходя из указанных значений,
можно формировать классы по достижимости
ценой некоторых уровней (каждые 20 пунктов),
т.е. образ попадает в первый класс, если
за следующие 24 часа цена выросла/упала
не более, чем на 20 пунктов, во второй класс,
если цена выросла/упала более, чем на
20 пунктов, но не более, чем на 40 и т.д. Распределение
количества образов по классам, при классификации
по описанному принципу, представлено
на рисунке 2.13.
Рис. 2.13. Распределение образов по
классам при классификации по
признаку достижимости значимых уровней
(евро/доллар 1999 г.)
Остается закодировать значения классов в соответствии с принципом максимизации энтропии (информационной насыщенности) выходных значений обучающего множества, описанном выше. Так, при полученном распределении ожидаемых выходных значений, коды классов примут следующие значения:
а.) для верхних уровней: x1 = 0.1125, x2 = 0.3706, x3 = 0.6162, x4 = 0.7743, x5 = 0.8635, x6 = 0.9474.
б.) для нижних уровней: x1 = 0.0810, x2 = 0.2896, x3 = 0.5229, x4 = 0.6973, x5 = 0.8126, x6 = 0.9297.
Полезной в плане предсказания является величина, характеризующая положение цены в настоящий момент относительно коридора из максимальной и минимальной цен через некоторое количество периодов в будущем. Знание текущего положения цены в коридоре будущих цен позволило бы принимать решения о торговле при приближении значений прогнозируемой величины к максимальным и минимальным значениям ряда.
Рассмотрим результат расчета временного ряда, построенного по описанному правилу на основе динамики курса евро/доллар в 1999 году при прогнозировании на 24 часа вперед (см. рис. 2.14). Данный вид прогнозируемой информации на выбранном коридоре обладает распределением близким к равномерному, но при условии наличия в обучающей выборке данных о периодах роста, падения и застоя прогнозируемого инструмента в равной пропорции. В 1999 году евро больше падала в цене, и на диаграмме можно заметить, что значений прогнозируемой величины, показывающих потенциал снижения цены больше (количество значений близких к максимуму).
Рис. 2.14. Распределение ожидаемых значений при постановке задачи прогнозирования отношения текущего положения цены к коридору будущих цен (евро/доллар 1999 г.)
Абсолютное большинство
Необходимо отметить, что раздел ТА, посвященный индикаторам, разрабатывался достаточно давно и страдает излишней простотой подхода к интерпретации рынка по одной простой причине. Например, в 60-е годы не каждый трейдер имел доступ к компьютеру и «сигнальщики» рассчитывались ими в таблицах при помощи карандаша и бумаги. Современные компьютерные и аналитические технологии предоставляют в распоряжение трейдера гораздо больше возможностей для анализа рынка.
Разработаем индикатор, которому можно было бы доверять больше чем, например, таким популярным индикаторам как RSI или Stochastic. На способ решения задачи накладывают определенные особенности следующие условия: исследовательская деятельность, выполняемая в рамках данной работы, направлена на международный валютный рынок FOREX; стратегия торговли подразумевает торговлю на коротких периодах внутри дня.
Цель опыта: сформировать комитет нейроэкпертов, который бы решал задачу прогнозирования MPP, сглаженного 6-типериодной скользящей средней, построенного на основе часовой динамике курса евро/доллар. База для формирования входной информации: часовая динамика курса евро/доллар за 1999 год. Входная информация: приращения цен закрытия за 24 часа. Выходная информация: MPP, сглаженный 6-типериодной скользящей средней.
Обучение каждой сети производилось до тех пор, пока MSE не переставала заметно уменьшаться. MSE (Mean Squared Error) - среднеквадратическая ошибка значений, формирующихся на выходах ИНС, рассчитываемая в процессе обучения «с учителем» - один из самых распространенных критериев качества обучения нейросетей. В таблице 2.1 представлены результаты обучения 10-ти ИНС. Нейронные сети не «научились» однозначно распознать хотя бы половину образов, и, кроме того, на одном и том же обучающем множестве показали разные результаты. Особо хочется обратить внимание на то, что даже сети одинаковой конфигурации показали различные «способности» к обучению. Этот факт наглядно иллюстрирует эффект «локальных минимумов» и «первоначальной точки» при обучении методом градиентного спуска (обратного распространения ошибки).
Таблица 2.1
Характеристики нейросетей, задействованных в эксперименте
Сеть |
Конфигурация |
MSE - среднеквадратическая ошибка |
Процент верно распознаваемых образов (к-т допущения 0.1), % |
EUR1 |
(24-36-1) |
0.2856 |
30,00 |
EUR2 |
(24-40-1) |
0.2915 |
28,53 |
EUR3 |
(24-36-1) |
0.2810 |
28,70 |
EUR4 |
(24-49-1) |
0.2620 |
35,04 |
EUR5 |
(24-42-1) |
0.2650 |
34,70 |
EUR6 |
(24-24-1) |
0.2824 |
27,93 |
EUR7 |
(24-28-1) |
0.2770 |
29,36 |
EUR8 |
(24-47-1) |
0.2680 |
33,70 |
EUR9 |
(24-47-1) |
0.2528 |
36,40 |
EUR10 |
(24-48-1) |
0.2600 |
35,12 |
Современные методы обучения многослойных ИНС подразумевают формирование первоначальных значений весов случайным образом и дальнейший пошаговый поиск экстремумов функции невязки. В этой связи, предсказания сетей, обученных на одной и той же выборке, в большинстве случаев, будут отличаться. Этот недостаток (элемент неопределенности) можно превратить в достоинство, организовав комитет нейро-экспертов, состоящий из нескольких ИНС. Разброс в предсказаниях экспертов позволяет получить представление «качестве» получаемых прогнозов, что можно использовать для правильного выбора стратегии игры.
Среднее значений комитета должно давать лучшие предсказания, чем средний эксперт из этого же комитета, причем, снижение ошибки может быть довольно заметным [37]. Поэтому, в предсказаниях всегда лучше опираться на средние значения всего комитета. В большинстве случаев выигрыш комитета выше, чем выигрыш каждого из экспертов. Таким образом, метод комитетов может существенно повысить качество прогнозирования.
В качестве результирующего
Полученное среднее мнение комитета можно использовать для построения индикатора. Значения среднего мнения комитета, как и предполагалось выше (см. подраздел 2.3.2), тяготеет к нижней границе оптимальных значений, колеблется с малой амплитудой около своего среднего значения. Кроме того можно увидеть, что значения характеризуются шумом (испытывают резкие смены направлений), который затрудняет использование индикатора. Все вышесказанное наглядно демонстрирует график среднего мнения (синяя линия на рис. 2.15).
Рис. 2.15. Графики среднего
мнения комитета нейроэкспертов (синяя линия)
и индикатора комитета (красная линия)
Более удобный вид индикатор примет, если его значения перед применением преобразовать так, чтобы они были более сглаженными и колебались в интервале [0;1]. Этого можно добиться путем некоторых преобразований, например: увеличением/уменьшением значения среднего мнения комитета на константу ("приподнимаем" график), растягиванием значения по направлению к краям (вычитаем 0,5, умножаем на коэффициент, прибавляем 0,5), применением функции-сигмоида, сглаживанием скользящей средней (в нашем примере 6 периодов) и т.п.
Полученный индикатор
Для анализа «качества» индикатора построим точечную диаграмму результатов теста комитета нейросетей на динамике курса евро/доллар за январь 2000 г., на которой ИНС не обучались. По оси абсцисс будем откладывать «ожидаемые» значения, а по оси ординат - соответствующие значения полученного индикатора (рис. 2.16). Синими точками на рисунке 2.16 показаны результаты прогнозирования, красными цветом отмечена ситуация, возникающая в случае 100% совпадения ожидаемых и фактических выходных значений.
Рис. 2.16. Диаграмма, отражающая качество
распознавания комитетом
По показаниям диаграммы можно сделать следующие выводы:
В том случае, когда значения, полученные в результате прогнозирования, совпадут с ожидаемыми, на диаграмме это будет изображено в виде точечной линии (красная линия на рисунке 2.16). Как видно из диаграммы (синие точки), значения индикатора «размазались» в результате преобразований (прогноз нейросетей, усреднение, растягивание), однако главные крайние значения собраны в «облака» в тех углах, в которых они и должны находиться для хороших прогнозов - «правый верхний» и «левый нижний».
Евро на протяжении 1999 года падала и уже на стадии формирования обучающей выборки было выдвинуто предположение о том, что нейросети с большей достоверностью научатся прогнозировать «продажу». Значения по оси абсцисс, лежащие в интервале [0;0.2], могут быть рассмотрены как потенциальные «продажные» сигналы, а в интервале [0.8;1] - как «покупочные». Облако в области потенциальных сигналов на продажу более концентрировано по оси ординат, а значит сигналы на продажу должны быть более точными. Будет хорошо, если при реальной работе на рынке с полученным индикатором, евро по отношению к доллару будет продолжать падать.
Средняя погрешность прогноза в
январе 2000 составила 0.2333 при единичном
интервале колебания
Следующим этапом в анализе «качества» полученных результатов будет построение простейшей торговой системы, базирующейся на основе полученного индикатора, и моделирование торговли по ней на рынке.
Под простейшей торговой системой будем понимать систему, выдающую сигналы на открытие позиции (длинной и короткой) и закрытие позиции. Такую систему можно смоделировать, используя модуль System Tester пакета для технического анализа Equis MetaStock.
System Tester позволяет подобрать для
индикаторов оптимальные
а) 0.3 - пересечение индикатором этого уровня сверху вниз будем интерпретировать как сигнал на "продажу";
б) 0.7 - пересечение индикатором этого уровня снизу вверх будем интерпретировать как сигнал на "покупку".
Такую стратегию можно
Информация о работе Прогнозирование финансовых рынков с использованием искусственных нейронных сетей