Наиболее популярный обучающий алгоритм – это обратное распространение ошибки, состоящее из взаимосвязанных процессов. В прямом процессе входной сигнал проходит через сеть, генерируя определенный выход. В обратном процессе ошибка (разница между желаемым и полученным выходом) передается от выходных слоев к входным с одновременной модификацией связей нейронов так, чтобы (при последующем прогоне информации через сеть) ошибка на выходном слое уменьшилась. В этом состоит обучение сети.
Опишем методику нейросетевого прогнозирования рассматриваемых в статье финансовых инструментов.
Успех нейросетевых предсказаний зависит от типа информации, подаваемой на вход, и от того, какие характеристики выходных данных значимы в задаче прогноза. В построенной сети на один из входов подавались значения дневных доходностей анализируемых финансовых инструментов, выраженные следующим образом: изменению 1,5 % соответствовало значение 1,5. На другой вход подавались дневные доходности, усредненные за последние 5 дней. Использование сглаживающих средних было необходимо в связи с высокой шумовой компонентой в данных. Выходом сети было сдвинутое на 1 день назад значение 5-дневного скользящего среднего. Таким образом, сеть давала прогноз сглаженного 5-дневного среднего на один день в будущее.
Из всевозможных конфигураций нейросетей была выбрана рекуррентная нейросеть с обратной связью от скрытого слоя ко входному (см. рис. 3.1).
Рис. 3.1. Архитектура нейронной сети Элмана-Джордана, использованной для прогноза
Источник: составлена автором по материалам [18, с. 145; 19, с 125]
Этот тип сетей с обучением методом обратного распространения ошибки успешно использовался для предсказания финансовых рынков, поскольку именно рекуррентная сеть выучивает закономерности в последовательности величин, что необходимо для работы с временными рядами. Недостатком такой сети является длительное время обучения. Послойные сети, обучаемые этим методом, на каждый идентичный входной паттерн отвечают одним и тем же паттерном на выходе. Рекуррентные сети могут отвечать на один и тот же входной паттерн по-разному, в зависимости от того, какой паттерн был предшествовавшим. Таким образом, для них существенна последовательность обучающих примеров. Иными словами, рекуррентные сети могут быть обучены так же, как стандартные сети с обратным распространением ошибки, однако обучающие примеры должны быть упорядочены и не могут предъявляться сети в случайно выбранном порядке. Существенная разница с послойными сетями заключается в наличии у сети Элмана-Джордана дополнительного блока, хранящего информацию о предыдущих входах. Он может быть интерпретирован как блок долговременной памяти нейросети.
Нейроны скрытого слоя сети Элмана-Джордана имеют логистическую функцию активации f(x)=1/(1+exp(-x)), тогда как нейроны выходного слоя обладают линейной функцией активации. Такая комбинация позволяет аппроксимировать любую функцию с конечным числом разрывов с заданной точностью. Мы использовали симметричную логистическую функцию активации f(x)=(2/(1+exp(-x)))-1. Это не влияло на предсказательные свойства сети, но приводило к более быстрой сходимости алгоритма обучения для данного типа временных рядов. По сути, единственным требованием к сети было достаточное число нейронов в скрытом слое, поскольку их число должно возрастать пропорционально сложности анализируемых данных (сложность данных оказалась такой, что удалось ограничиться 100 нейронами в скрытом слое).
Наиболее трудным в использовании нейросетей является выбор момента остановки обучения. Если сеть обучать недолго, то она не выучит выборку обучающих примеров. Если сеть обучать слишком долго, то она выучит примеры с шумами со сколь угодно высокой точностью, но окажется неспособной обобщать примеры (т. е. будет действовать схожим образом на данных, не входивших в обучающее множество). Для преодоления этой трудности мы использовали процедуру калибровки с тем, чтобы оптимизировать сеть, применяя ее к независимому тестовому множеству примеров в процессе обучения. Калибровка позволяет найти оптимум нейросети на тестовом множестве, означая способность сети к обобщению, т. е. получению хороших результатов на новых данных. Это достигается вычислением среднеквадратичной ошибки между реальными и предсказанными выходами. Мы использовали среднеквадратичную ошибку как стандартную статистическую меру качества фитирования.
3.2. Нейросетевые прогнозы доходностей
Опишем необходимые технические детали, связанные с обучением и прогнозом использованной нами нейросети на описанных выше данных.
Из каждого временного ряда выделялось 3 подмножества:
· тренеровочное (примеры, на которых обучалась сеть) – первые 900 значений для всех фьючерсов;
· тестовое (примеры, которые служили для предотвращения переучивания сети или калибровки) – значения фьючерсных рядов с 901 по 1100;
· рабочее (примеры, которые сеть не видела) – последние 200 значений для фьючерсных временных рядов.
Результаты предсказания нейросетью рабочего множества всех проанализированных временных финансовых рядов приведены на рис. 3.2, 3.3, 3.4.
Рис. 3.2. Нейросетевые предсказания 5-дневных сглаженных относительных изменений котировки фьючерса на марку ФРГ – DM
Источник: составлена автором
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженный в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Рис. 3.3. Нейросетевые предсказания 5-дневных сглаженных относительных изменений котировки фьючерса на евродоллар – ED
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженный в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Рис. 3.4. Нейросетевые предсказания на рабочем множестве 5-дневных сглаженных относительных изменений котировки фьючерса на биржевой индекс S&P500 – SP
Источник: составлена автором
Верхний рисунок – графики фактического и предсказанного нейросетью изменений, выраженных в процентах; рисунок в середине – совпадение знака предсказания на каждый день; нижний рисунок – модуль ошибки предсказания, выраженных в процентах. По горизонтальной оси отложены номера отсчетов (дней).
Эффективность предсказаний нейросети проверялась сравнением фактического значения и предсказанного нейросетью.
Критериями качества предсказания служили следующие параметры:
Число эпох и время обучения – показатели, как долго сеть способна улучшать предсказания на тестовом множестве. Под эпохой обучения понимают однократное предъявление сети набора обучающих примеров. Число эпох и время обучения меняются в зависимости от заданных темпа обучения и момента, устанавливаемых из желаемой точности предсказания. Чем меньше их значения, тем более точен результат и тем дольше обучается нейросеть. В использованной сети оба параметра имели значение 0,003.
Коэффициент Q сравнивает точность нейросетевой модели с точностью модели, в которой предсказания одинаковы и совпадают со средним значением всех примеров. Для последней модели коэффициент Q равен нулю. Самый лучший результат достигается, если Q принимает значение 1, для очень хорошего результата Q близок к 1, для очень плохого - в окрестности 0. Если нейросетевое предсказание оказывается хуже, чем предсказание на основе среднего по всем примерам, то значение Q может оказаться меньше 0.
- r-квадрат – коэффициент детерминации, равный отношению дисперсии предсказанных значений к дисперсии фактических, показывая, какая часть дисперсии предсказанных значений объясняется уравнением регрессии.
- Средняя ошибка – усредненный по обработанным примерам модуль разности между предсказанным и фактическим значениями.
- Максимальная ошибка – это максимальный модуль разности между предсказанным и фактическим значениями среди всех обработанных примеров.
- % правильного предсказания знака изменения – это отношение числа примеров, для которых знак реального и предсказанного значения совпадают, и общего числа обработанных примеров, умноженное на 100.
Ниже с их помощью оценена эффективность нейросетевых предсказаний динамики фьючерсных котировок для SP, ED, DM. Результаты сведены в таблицу 1. Она состоит из трех блоков. Второй содержит статистику, относящуюся ко всем данным по трем временным рядам, а именно, к 1173 отсчетам для S&P500 и по 1170 отсчетов для марки ФРГ и евродоллара. Третий блок отражает статистику по рабочим множествам: из 77 отсчетов для S&P500 и 74 отсчетов для марки ФРГ и евродоллара.
Таблица. 3.1.
Численные характеристики качества нейросетевого прогнозамеждународных финансовых инструментов
характеристика качества | Фьючерс на S&P500 | Фьючерс на марку ФРГ | Фьючерс на евродоллар |
Число эпох обучения | 30512 | 6779 | 1873 |
Время обучения (часов округленно) | 19 | 4 | 1 |
Число примеров для обучения | 1173 | 1170 | 1170 |
Коэффициент Q | 0,7408 | 0,7594 | 0,7436 |
r–квадрат | 0,7431 | 0,7612 | 0,7452 |
Средняя ошибка, % | 0,182 | 0,196 | 0,179 |
Мах. Ошибка, % | 2,172 | 1,291 | 2,281 |
% правильных предсказаний знака изменения | 86 | 83 | 83 |
Число примеров для предсказаний | 77 | 74 | 74 |
Коэффициент Q | 0,8032 | 0,5897 | 0,4517 |
r–квадрат | 0,8062 | 0,6319 | 0,5697 |
Средняя ошибка, % | 0.217 | 0,279 | 0,201 |
Мах. Ошибка, % | 0.799 | 1,046 | 1,234 |
% правильных предсказаний знака изменения | 88 | 86 | 88 |
Источник: составлена автором.