Автор: Пользователь скрыл имя, 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
Люди, использующие в своей повседневной работе технический анализ, приняли за аксиому утверждение о том, что история на рынке повторяется, что финансовые рынки поддаются прогнозированию. Это утверждение, однако, оспаривается приверженцами теории "Случайности цен", которая утверждает, что картина цен на биржевых и финансовых рынках - произвольные хаотичные изменения. Естественно, в действиях "биржевой" толпы - как всякого столпотворения - немало случайного. Однако наблюдатель может выявить повторяющиеся модели поведения толпы и на их основе сделать ставку на сохранение или на разворот тенденции. Человеку дана память. В памяти трейдеров - прежние курсы валют, и это влияет на их сегодняшние решения о купле и продаже. Благодаря памяти существуют явления поддержки (support) - пола цен - и сопротивления (resistance), или их потолка. Однако теоретики "случайности цен" упускают из виду тот факт, что память о прошлом влияет на поведение человека в настоящем.
В ценах заложена информация о спросе и предложении. Участники финансовых рынков используют эту информацию для принятия решений о купле и продаже. Обычные люди приобретают больше товара на распродаже и меньше, когда цены на него высоки. На финансовом рынке игроки не уступают им в практичности. Каждая цена - это сиюминутное соглашение о ценности достигнутое всеми участниками рынка, каждая цена отражает действия или их отсутствие - всех участников рынка. Таким образом, график можно представить как глазок в психологическое нутро толпы. Анализ графиков - анализ поведения участников рынка.
Специалисты по графикам изучают поведение рынка, пытаясь выявить текущие модели цен (price patterns - ценовые шаблоны, образы). В соответствии с аксиомой о "повторении истории на рынке" их цель - найти выигрышный вариант при повторении данных моделей. На обучение "качественному" выявлению моделей на графиках у трейдера может уйти от нескольких месяцев до нескольких лет практической и теоретической работы.
Если предположить, что история на рынке повторяется, следовательно, имеет смысл разработать систему, способную «запоминать» прошлые рыночные ситуации и соответствующие им последствия (т.е. их продолжения) с целью последующего сопоставления со складывающимися на рынке ситуациями. Каким образом такую систему можно реализовать? Простейшим решением такой задачи будет база данных, в которую можно записывать закодированные определенным образом рыночные ситуации. Для составления прогноза необходимо было бы просматривать все записи, которых для достижения прогноза необходимой точности должно быть огромное количество. Данная идея по причинам сложности доступа к данным, сложности критериев сопоставления информации и проч. представляется не конструктивной.
Способность к "запоминанию" свойственна системам реализующим нейросетевые принципы обработки данных. Известно, что прогнозирующую систему на базе искусственных нейронных сетей (ИНС) можно обучать довольно большим объемам информации, в которой система может выявлять зависимости, не поддающиеся обнаружению при использовании других методов обработки информации.
Идея ИНС развивается уже около полувека. Сегодня, по этому направлению, накоплена большая теоретическая база. На практике, прогнозирующие системы, базирующиеся на нейросетевых технологиях, внедряются все большими темпами (по большей части в США).
Сеть нейронов человеческого мозга
представляет собой высокоэффективную
комплексную систему с
Сегодня, как и 40 лет назад, не подвергается сомнению то, что мозг человека работает принципиально иным образом и более эффективно, чем любая вычислительная машина, созданная человеком. Именно этот факт в течение ряда лет побуждает и направляет работы ученых по созданию и исследованию искусственных нейронных сетей.
К первым попыткам раскрыть секреты
анатомической организации
Рис. 1.1. Схема биологического нейрона.
Окрашивание по Гольджи позволило выявить огромное разнообразие нейронов по форме тела, разветвленности дендритной части и длине аксона. Кахаль выявил различия между клетками с короткими аксонами, взаимодействующими с соседними нейронами, и клетками с длинными аксонами, проецирующимися в другие участки мозга. Несмотря на различия в строении, все нейроны проводят информацию одинаково.
Связи между нейронами опосредуются химическими передатчиками - нейромедиаторами - выделяющимися из окончаний отростков нейронов в синапсах. Можно считать, что при прохождении через синапс сила импульса меняется в определенное число раз, которое будем называть весом синапса. Импульсы, поступившие к нейрону одновременно по нескольким дендритам, суммируются. Если суммарный импульс превышает некоторый порог, нейрон возбуждается, формирует собственный импульс и передает его далее по аксону. Важно отметить, что веса синапсов могут изменяться со временем, а значит, меняется и поведение соответствующего нейрона.
Еще в начале века нейрофизиологам стала ясна исключительно важная роль синапсов в обучении. Действительно, сигналы мозга, проходя через них, могут в разной степени усиливаться или ослабляться. Обращает на себя внимание и такой факт. Мозг новорожденного и взрослого человека содержат примерно одинаковое количество нейронов. Но только у взрослого человека он отличается упорядоченностью межнейронных синаптических связей. По-видимому, обучение мозга и есть процесс изменения архитектуры нейронной сети, сопровождаемый настройкой синапсов.
Биологическая нейронная теория очень развита и сложна. Чтобы построить математическую модель процессов, происходящих в мозгу, примем несколько предположений:
а) каждый нейрон обладает некоторой передаточной функцией, определяющей условия его возбуждения в зависимости от силы полученных сигналов; кроме того, передаточные функции не зависят от времени;
б) при прохождении синапса сигнал меняется линейно, т.е. сила сигнала умножается на некоторое число; это число будем называть весом синапса или весом соответствующего входа нейрона;
в) деятельность нейронов синхронизирована, т.е. время прохождения сигнала от нейрона к нейрону фиксировано и одинаково для всех связей; то же самое относится ко времени обработки принятых сигналов.
Необходимо заметить, что веса синапсов могут меняться со временем - это принципиальная особенность. Именно изменение этих весов отвечает за возможность различной реакции организма на одни и те же условия в разные моменты времени, т. е. возможность обучения.
Нужно признать, что все эти предположения достаточно сильно огрубляют биологическую картину. Например, время передачи сигнала напрямую зависит от расстояния между нейронами (оно может быть достаточно большим). Тем удивительнее, что при этих упрощениях полученная модель сохраняет некоторые важные свойства биологических систем, в том числе адаптивность и сложное поведение.
Построим математическую модель нейрона (далее мы будем называть ее нейроном). Нейрон — это несложный автомат, преобразующий входные сигналы в выходной сигнал (см. рис. 1.2). Сигналы силы x1, x2, ..., xn, поступая на синапсы, преобразуются линейным образом, т.е. к телу нейрона поступают сигналы силы w1*x1, w2*x2, ..., wn*xn (здесь wi — веса соответствующих синапсов).
Рис. 1.2. Математическая модель нейрона
Для удобства к нейрону добавляют еще один вход (и еще один вес w0), считая, что на этот вход всегда подается сигнал силы 1. В теле нейрона происходит суммирование сигналов:
(1.1) |
Затем применяет к сумме некоторую фиксированную функцию f и выдает на выходе сигнал силы Y = f(S).
Эта модель была предложена Маккалоком и Питтсом еще в 1943 г. При этом использовались пороговые (ступенчатые) передаточные функции (см. рис. 1.3, а), и правила формирования выходного сигнала Y выглядели особенно просто.
Рис. 1.3. Активационные функции
используемые при моделировании ИНС
В 1960 г. на основе таких нейронов Розенблатт
построил первый в мире автомат для
распознавания изображений
Одна из наиболее часто используемых передаточных функций называется сигмоидной (или логистической) (см. рис. 1.3, в, г, д) и задается формулой:
(1.2) |
Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:
(1.3) |
Простейшую ИНС можно представить в виде одного «слоя» нейронов, соединенных между собой, как показано на рисунке 1.4.
Рис. 1.4. Простейшая нейросеть из трех нейронов
Основополагающие принципы нейрокомпьютинга - это родовые черты, объединяющие принципы работы и обучения всех нейрокомпьютеров. Главное, что их объединяет - нацеленность на обработку образов. Сформулируем эти парадигмы в концентрированном виде безотносительно к биологическим прототипам, как способы обработки данных.
Отличительной чертой нейросетей является глобальность связей. Базовые элементы искусственных нейросетей - формальные нейроны - изначально нацелены на работу с широкополосной информацией. Каждый нейрон нейросети, как правило, связан со всеми нейронами предыдущего слоя обработки данных (см. рис. 1.5, иллюстрирующий наиболее широко распространенную в современных приложениях архитектуру многослойного персептрона). В этом основное отличие формальных нейронов от базовых элементов последовательных ЭВМ - логических вентилей, имеющих лишь два входа. В итоге, универсальные процессоры имеют сложную архитектуру, основанную на иерархии модулей, каждый из которых выполняет строго определенную функцию. Напротив, архитектура нейросетей проста и универсальна. Специализация связей возникает на этапе их обучения под влиянием конкретных данных.
Рис. 1.5. Глобальность связей в искусственных нейросетях
Типичный формальный нейрон производит простейшую операцию - взвешивает значения своих входов со своими же локально хранимыми весами и производит над их суммой нелинейное преобразование:
Нелинейность выходной функции активации Y = f(S) принципиальна. Если бы нейроны были линейными элементами, то любая последовательность нейронов также производила бы линейное преобразование, и вся нейросеть была бы эквивалентна одному нейрону (или одному слою нейронов - в случае нескольких выходов). Нелинейность разрушает линейную суперпозицию и приводит к тому, что возможности нейросети существенно выше возможностей отдельных нейронов.
Массовый параллелизм
Отсутствие глобального плана вычислений в нейросетях предполагает и особый характер их программирования. Оно также носит локальный характер: каждый нейрон изменяет свои «подгоночные параметры» - синаптические веса - в соответствии с поступающей к нему локальной информацией об эффективности работы всей сети как целого. Режим распространения такой информации по сети и соответствующей ей адаптации нейронов носит характер обучения. Такой способ программирования позволяет эффективно учесть специфику требуемого от сети способа обработки данных, ибо алгоритм не задается заранее, а порождается самими данными - примерами, на которых сеть обучается. Именно таким образом в процессе самообучения биологические нейросети выработали столь эффективные алгоритмы обработки сенсорной информации.
Характерной особенностью нейросетей является их способность к обобщению, позволяющая обучать сеть на ничтожной доле всех возможных ситуаций, с которыми ей, может быть, придется столкнуться в процессе функционирования. В этом их разительное отличие от обычных ЭВМ, программа которых должна заранее предусматривать их поведение во всех возможных ситуациях. Эта же их способность позволяет кардинально удешевить процесс разработки приложений.
Привлекательной чертой нейровычислений является единый принцип обучения нейросетей - минимизация эмпирической ошибки. Функция ошибки, оценивающая данную конфигурацию сети, задается извне - в зависимости от того, какую цель преследует обучение. Но далее сеть начинает постепенно модифицировать свою конфигурацию - состояние всех своих синаптических весов - таким образом, чтобы минимизировать эту ошибку. В итоге, в процессе обучения сеть все лучше справляется с возложенной на нее задачей. Не вдаваясь в математические тонкости, образно этот процесс можно представить себе как поиск минимума функции ошибки E(w), зависящей от набора всех синаптических весов сети w (см. рис.1.6).
Информация о работе Прогнозирование финансовых рынков с использованием искусственных нейронных сетей