Научная статья на тему 'Прогнозирование валютного курса EUR/USD с использованием нейронных сетей'

Прогнозирование валютного курса EUR/USD с использованием нейронных сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
1316
354
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВАЛЮТНЫЙ КУРС / ПРОГНОЗИРОВАНИЕ / НЕЙРОННЫЕ СЕТИ / АЛГОРИТМ ИМИТАЦИИ ОТЖИГА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Абрамов А. В.

Валютный рынок FOREX сегодня является сферой интересов не только крупных компаний, но и многочисленных трейдеров, основная цель деятельности которых – получить прибыль. Основополагающим фактором успеха в этом деле является предсказание будущих котировок. В статье рассматривается нейросетевая модель прогнозирования валютного курса EUR/USD, приводится описание комбинированного алгоритма обучения.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Прогнозирование валютного курса EUR/USD с использованием нейронных сетей»

УДК 004.8

ПРОГНОЗИРОВАНИЕ ВАЛЮТНОГО КУРСА EUR/USD С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ

© 2012 А. В. Абрамов

аспирант каф. программного обеспечения и администрирования информационных систем e-mail: A bramov. saracin@yandex. ru

Курский государственный университет

Валютный рынок FOREX сегодня является сферой интересов не только крупных компаний, но и многочисленных трейдеров, основная цель деятельности которых -получить прибыль. Основополагающим фактором успеха в этом деле является предсказание будущих котировок. В статье рассматривается нейросетевая модель прогнозирования валютного курса EUR/USD, приводится описание комбинированного алгоритма обучения.

Ключевые слова: валютный курс, прогнозирование, нейронные сети, алгоритм имитации отжига.

В последнее время тема «игры» на международном рынке FOREX стала весьма популярной в обществе. В сети Интернет сегодня можно найти множество предложений от брокерских компаний, которые предоставляют клиенту возможность стать участником рынка и получать прибыль от сделок. Без соответствующих инструментов и методов прогнозирования будущих значений валютного курса шансы на успех в данном виде деятельности весьма малы. Ранее было показано, что использование нейронных сетей в подобных задачах обладает рядом неоспоримых достоинств [Абрамов 2011].

Предлагаемая методика прогнозирования состоит из четырех основных этапов:

- предварительный анализ финансового ряда;

- построение нейросетевой модели;

- обучение нейронной сети по комбинированному алгоритму;

- прогнозирование с помощью обученной нейронной сети.

В качестве прогнозируемого временного ряда в рамках данной статьи выбран финансовый ряд котировок валютного курса EUR/USD, содержащий ежедневные цены закрытия [Архив котировок 2012]. Известно, что в качестве входных и выходных параметров нейронной сети не следует выбирать сами значения котировок C(t). Действительно значимыми для прогнозирования являются их изменения. В силу того, что эти изменения в большинстве случаев «гораздо меньше по амплитуде, чем сами котировки, между последовательными значениями курсов имеется большая корреляция - наиболее вероятное значение курса в следующий момент равно его предыдущему значению» [Ежов 1998: 153].

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

АС = C(t) - С(t -1)

(1)

или логарифм относительного приращения

С„ = ыСС-)). (2)

Рассмотрим график курса БИЯ/ИЗБ с 03.01.2000 по 14.05.2012 (рис. 1) [Архив котировок 2012]. Очевидно, значения котировок ограничены снизу значением 0.8, а сверху 1.6. Вычтя из каждого значения 0.7, мы получим числовой ряд, все значения которого одного порядка и лежат в диапазоне (0;1). Данная историческая особенность котировок БИЯ/ИЗБ позволяет не применять к исходному ряду преобразования (1) или (2), а воспользоваться более простой формулой для получения входных данных нейронной сети:

= С, - 0.7, (3)

где xj - входное значение, С; - исходное значение котировки.

Рис. 1. График валютного курса ЕТЖ/иЗБ

Известно, что Европейский центральный банк (ЕЦБ) имеет большое количество финансовых рычагов и оказывает наиболее существенное влияние на курс валюты Еврозоны. Наиболее важным финансовым инструментом ЕЦБ является процентная ставка, при помощи которой регулируются инфляционное давление и темпы экономического роста. Для улучшения качества прогноза данные процентной ставки ЕЦБ добавлены в обучающее множество наряду с котировками БИК/ИББ.

Для решения задачи прогнозирования временного ряда 1к, где k = 0,1,..., могут

использоваться нелинейные модели вида 2к+\ = Р(гк,..., гк_п+1), где Р(гк,..., гк_п+1) -

некоторая нелинейная функция; +1 - прогнозируемое значение ряда; гк,..., 2к_п+х -

наблюдаемые значения (предыстория ряда); п - порядок модели.

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

зрения времени обучения, простоты реализации, а также качества обобщения [Хайкин 2006].

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

где m - общее число входов нейрона у, }(и) - синаптический вес, связывающий

выход нейрона і со входом нейрона у на итерации п, (уі)(п) - значение, генерируемое на выходе нейрона і на итерации п. Функциональный сигнал (у }(и) на выходе нейрона у на итерации п равен:

где р^ - функция активации у-го нейрона. Функция активации - непрерывно

дифференцируемая нелинейная функция. В качестве функции активации выбрана функция гиперболического тангенса:

где s - индуцированное локальное поле. Используемая в данной работе сеть содержит 10 входных нейронов, 20 нейронов в скрытом слое и один выходной нейрон. На первые пять нейронов входного слоя подаются цены закрытия EUR/USD в хронологическом порядке, а на оставшиеся нейроны подаются значения процентной ставки ЕЦБ соответственно датам котировок.

Для обучения нейронной сети используется комбинация алгоритма обратного распространения ошибки и метода Simulated Annealing (имитация отжига, модельная закалка, далее - SA-алгоритм). Данный метод впервые был разработан Скоттом Киркпатриком в середине 70-х и предназначался для оптимизации проектирования интегральных схем [Heaton 2008]. Идея алгоритма была позаимствована из процесса отжига в металлургии, использующегося для повышения однородности и прочности металла. Данный процесс заключается в нагревании металла до определенной температуры и последующего медленного охлаждения, приводящего к повторной кристаллизации вещества. При высоких температурах атомы обладают высокими уровнями энергии и степенями свободы, что увеличивает их способность к реструктуризации. Последующее медленное охлаждение создает возможность для формирования более прочной и стабильной кристаллической решётки.

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

Допускается, что система может перейти в состояние с меньшим значением целевой функции из состояния с большим значением с вероятностью тем большей, чем

(4)

(5)

(6)

больше температура, которая медленно понижается на каждом шаге оптимизации. По завершению процесса система «застывает» в состоянии с минимальной температурой. На рисунке 2 представлена схема БЛ-алгоритма в общем случае.

Рис. 2. Блок-схема БЛ-алгоритма

В реализации SA-алгоритма, предназначенной для обучения нейронных сетей, под решением понимается набор весовых коэффициентов нейронов, а в качестве целевой функции выступает функция ошибки сети [Heaton 2008]. Шаг изменения температуры вычисляется по формуле

ln(b )

e

c—1

(7)

где Ь - начальная температура, е - конечная температура, с - количество циклов. В рамках данного эксперимента выбраны следующие параметры: Ь=10; е =2; с = 100.

Идея комбинирования алгоритмов заключается в следующем: обучение

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

Для обучения сети были выбраны цены закрытия пары ЕЦКУиЗБ с 19.03.2008 по 01.05.2012 [Архив котировок 2012] и соответствующие им процентные ставки ЕЦБ [Ставка ЕЦБ 2012]. Эксперимент проводился с помощью программы, разработанной на языке С#, в которой для ускорения работы предусмотрен запуск процессов обучения и прогнозирования в отдельных потоках. В результате нескольких попыток удалось обучить нейронную сеть с ошибкой 3,5%. Процесс тренировки прошел за 3488 итераций. График зависимости величины ошибки от номера шага обучения приведен на рисунке 3.

о.з

0.25

0.2

0.15

0.1

0.05

0 500 1000 1500 2000 2500 3000 3500

---Алгоритм обратного распространения ошибки ♦ БА-алгоритм

Рис. 3. Зависимость ошибки от номера итерации

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

В качестве проверочного множества нейронной сети были выбраны цены закрытия ЕЦК/иЗБ с 02.05.2012 по 10.05.2012 [Архив котировок 2012]. Результат прогнозирования цен указанного периода с помощью обученной нейронной сети приведен на рисунке 4. Среднеквадратичная ошибка прогноза составила 7,3%. В трех случаях из шести нейронная сеть верно предсказала направление движения дневной цены, а также правильно предсказала нисходящий недельный тренд.

1.34 -1-------------------------------------------------------------

1.2 -I------------------------------------------------------------------

01.05.2012 03.05.2012 05.05.2012 07.05.2012 09.05.2012 11.05.2012

—•—Реальный курс Прогноз

Рис. 4. Прогноз нейронной сети

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

Библиографический список

Абрамов А. В. Перспектива применения нейронных сетей для прогнозирования валютного рынка FOREX // Применение инновационных технологий в научных исследованиях: сб. науч. ст. по материалам Междунар. науч.-практ. конф. / редкол.: А. В. Филонович (отв. ред.) [и др.]. Курск: Юго-Зап. гос. ун-т, 2011. С. 194.

Архив котировок [Сайт]. URL: http://www.fibo.ru/trader/download_quotes.html (дата обращения 20.05.2012).

Ежов А. А., Шумский С. А. Нейрокомпьютинг и его применения в экономике и бизнесе. М.: МИФИ, 1998. 224 с.

Ставка ЕЦБ [Сайт]. URL: http://quote.rbc.ru/macro/indicator/22/169.shtml (дата

обращения 20.05.2012).

Хайкин С. Нейронные сети: полный курс, 2-е изд.: пер. с англ. М.:Издательский дом «Вильямс», 2006. 1104 с.

Heaton J. Introduction to Neural Networks for C#, 2 Ed., 1st printing, Heaton Research, Inc, 2008. 428 p.

i Надоели баннеры? Вы всегда можете отключить рекламу.