Прогнозирование финансовых рынков с использованием искусственных нейросетей

       

Нейросетевой индикатор для прогнозирования рынка евро/доллар


Абсолютное большинство трейдеров при прогнозировании финансовых рынков используют технический анализ (ТА). Одним из наиболее популярных разделов ТА является анализ при помощи индикаторов. Даже если торговая система трейдера не основана на индикаторах, он все равно использует  3-5 «дежурных сигнальщиков» в своей работе. Не существует индикатора, который бы со 100% уверенностью выдавал сигналы на вход в рынок и выход из него, так как индикаторы просто представляют текущую рыночную ситуацию в удобном виде и не позволяют однозначно сказать, что будет в будущем.

Необходимо отметить, что раздел ТА, посвященный индикаторам, разрабатывался достаточно давно и страдает излишней простотой подхода к интерпретации рынка по одной простой причине. Например, в 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.1 видно, что хуже обученные сети характеризуются меньшими значениями коэффициента корреляции. В результате хуже обученные нейросети из комитета вносят меньший вклад в общее мнение и не искажают предсказания.

Полученное среднее мнение комитета можно использовать для построения индикатора. Значения среднего мнения комитета, как и предполагалось выше (см. подраздел 2.3.2), тяготеет к нижней границе оптимальных значений, колеблется с малой амплитудой около своего среднего значения. Кроме того можно увидеть, что значения характеризуются шумом (испытывают резкие смены направлений), который затрудняет использование индикатора. Все вышесказанное наглядно демонстрирует график среднего мнения (синяя линия на рис. 2.15).



Рис. 2.15. Графики среднего мнения комитета нейроэкспертов (синяя линия)

и индикатора  комитета (красная линия)

Более удобный вид индикатор примет, если его значения перед применением преобразовать так, чтобы они были более сглаженными и колебались в интервале [0;1]. Этого можно добиться путем некоторых преобразований, например: увеличением/уменьшением значения среднего мнения комитета на константу ("приподнимаем" график), растягиванием значения по направлению к краям (вычитаем 0,5, умножаем на коэффициент, прибавляем 0,5), применением функции-сигмоида, сглаживанием скользящей средней (в нашем примере 6 периодов) и т.п.

Полученный индикатор изображен красной линией на рисунке 2.15. Интерпретировать его сигналы можно следующим образом: при приближении индикатора к верхней границе интервала [0;1] необходимо покупать, при приближении индикатора к нижней границе интервала [0;1] необходимо продавать.



Для анализа «качества» индикатора построим точечную диаграмму результатов теста комитета нейросетей на динамике курса евро/доллар за январь 2000 г., на которой ИНС не обучались. По оси абсцисс будем откладывать «ожидаемые» значения, а по оси ординат - соответствующие значения полученного индикатора (рис. 2.16). Синими точками на рисунке 2.16 показаны результаты прогнозирования, красными цветом отмечена ситуация, возникающая в случае 100% совпадения ожидаемых и фактических выходных значений.



Рис. 2.16. Диаграмма, отражающая качество распознавания комитетом рыночных ситуаций.

По показаниям диаграммы можно сделать следующие выводы:

В том случае, когда значения, полученные в результате прогнози­рова­ния, совпадут с ожидаемыми, на диаграмме это будет изображено в виде точечной линии (красная линия на рисунке 2.16). Как видно из диаграммы (синие точки), значения индикатора «размазались» в результате преобра­зова­ний (прогноз нейросетей, усреднение, растягивание), однако главные крайние значения собраны в «облака» в тех углах, в которых они и должны находиться для хороших прогнозов - «правый верхний» и «левый нижний».

Евро на протяжении 1999 года падала и уже на стадии формирования обучающей выборки было выдвинуто предположение о том, что нейросети с большей достоверностью научатся прогнозировать «продажу». Значения по оси абсцисс, лежащие в интервале [0;0.2], могут быть рассмотрены как потенциальные «продажные» сигналы, а в интервале [0.8;1] - как «покупочные». Облако в области потенциальных сигналов на продажу более концентрировано по оси ординат, а значит сигналы на продажу должны быть более точными. Будет хорошо, если при реальной работе на рынке с полученным индикатором, евро по отношению к доллару будет продолжать падать.

Средняя погрешность прогноза в январе 2000 составила 0.2333 при единичном интервале колебания индикатора. Это означает, что однозначных заключений о покупке или продаже по полученному индикатору делать нельзя, слишком велика погрешность (»46% интервала изменения величины) Реально сигналы, подаваемые индикатором комитета, можно рассматривать только как «скорее вниз, чем вверх» или «скорее вверх, чем вниз» и т.п.



Следующим этапом в анализе «качества» полученных результатов будет построение простейшей торговой системы, базирующейся на основе полученного индикатора, и моделирование торговли по ней на рынке.

Под простейшей торговой системой будем понимать систему, выдающую сигналы на открытие позиции (длинной и короткой) и закрытие позиции. Такую систему можно смоделировать, используя модуль System Tester пакета для технического анализа Equis MetaStock.

System Tester позволяет подобрать для индикаторов оптимальные уровни, при пересечении которых возникает сигнал на открытие или закрытие позиции. По результатам нескольких тестов значимые уровни можно расставить следующим образом (рис. 2.17):

а) 0.3 - пересечение индикатором этого уровня сверху вниз будем интерпретировать как сигнал на "продажу";

б) 0.7 - пересечение индикатором этого уровня снизу вверх будем интерпретировать как сигнал на "покупку".

Такую стратегию можно интерпретировать следующим образом: закры­ваем одну позицию, открываем другую в обратном направлении. При пересечении значимых уровней (на рисунке 2.17 синие горизонтальные линии) моделируются сигналы на покупку или продажу. График сигналов, используемых при обучении (сглаженный MPP), построен на рисунке синей линией. Из графика видно как индикатор «пытается повторить» идеальный сигнал. Обучение комитета нейро-экспертов проводилось по данным 1999 года. Протестируем индикатор комитета нейросетей на часовых котировках евро/доллар за январь 2000 года, т.е. на данных, которые не использовались в процессе обучения.



Рис. 2.17. Пример применения индикатора (красная линия)

Торгуя по такой системе в январе 2000 года на рынке евро/доллар, можно было заработать 488 пунктов (или 4,8 «фигуры» на лексиконе трейдеров), что составляет 57% годовых (12*4,8) для «немаржинальной» торговли (рис. 2.18). Стрелками на графике отмечены моменты открытия и закрытия позиций (длинных и коротких соответственно), внизу красной линией изображен индикатор (рис. 2.18).



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



Рис. 2.18. Результат торговли в январе 2000 г. на рынке евро/доллар

(красная линия вверху)

При разработке нейросетевого индикатора попытаемся в качестве входных данных использовать производные ценовой динамики, а именно - сигналы индикаторов технического анализа (ТА). Очевидные достоинства применения входных данных такого рода описаны выше.

Цель опыта: сформировать комитет нейроэкпертов, который бы решал задачу аппроксимации MPP, сглаженного 6-типериодной скользящей средней, по сигналам индикаторов технического анализа. База для формирования входной информации: часовая динамика курса евро/доллар. Входная информация: значения индикаторов ТА. Выходная информация: сглаженный 6-типериодной скользящей средней MPP.

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

Из множества индикаторов ТА для обучающей выборки отберем следующие двенадцать:

а) Williams' %R (14);

б) Dynamic Momentum Index;

в) Price ROC (24);

г) Chande Momentum Oscillator (20);

д) Chaikin A/D Oscillator;

е) CCI-Standard;

ё) Forecast Oscillator;

ж) Swing Index;

з) Stochastic Oscillator;

и) Relative Momentum Index;

й) Binary Wave Composite (as trend);



к) MACD  (as trend).

Обучение каждой сети производилось до тех пор, пока MSE не переставала заметно уменьшаться. Результаты обучения 10-ти нейросетей представлены в таблице 2.2.

В качестве результирующего значения будем использовать мнение комитета указанных 10 нейросетей. Мнение комитета получается путем нахождения взвешенного по результирующей ошибке среднего мнения каждой сети, в результате чего хуже обученные сети имеют меньше шансов влиять на общее мнение комитета.

Полученное среднее мнение комитета можно использовать для построения индикатора. Значения среднего мнения комитета зашумлены, что затруднят использование индикатора, кроме того, в результате усреднения выходных значений ИНС уменьшилась амплитуда колебаний рассматриваемой величины. Интервал колебаний уменьшился с [-0.5;0.5] до [-0.3;0.3].

Таблица 2.2.

Характеристики нейросетей, задействованных в эксперименте

Сеть

Архитектура

MSE

Доля верно распознава­емых образов

(к-т допущения 0.1), %

EUR1

(12-25-20-8-1)

0.1905

51,17

EUR2

(12-24-16-8-1)

0.1860

51,82

EUR3

(12-24-18-12-1)

0.1900

49,69

EUR4

(12-24-18-12-1)

0.1870

48,57

EUR5

(12-24-24-24-16-8-1)

0.1630

59,56

EUR6

(12-24-18-12-1)

0.1803

51,01

EUR7

(12-24-20-16-1)

0.1800

51,86

EUR8

(12-24-20-16-1)

0.1813

50,28

EUR9

(12-28-24-1)

0.1670

48,48

EUR10

(12-28-24-1)

0.1756

48,42

Таким образом, конечные значения индикатора получены путем сглаживания мнения комитета 3-хпериодной скользящей средней и домножения на коэффициент (в нашем примере 1,5).

Проверить «качество» индикатора можно на данных, которые не использовались при обучении ИНС. Протестируем обученные ИНС на часовой динамике курса евро/доллар за январь 2000. Для анализа «качества» индикатора построим точечную диаграмму, на которой по оси абсцисс будем откладывать желаемые «идеальные значения», а по оси ординат - соответствующие значения полученного индикатора (рис. 2.19).


Точками красного цвета показано «желаемое» соотношение ожидаемых и фактически полученных выходных значений.

Как видно из диаграммы, значения полученного индикатора испытывают большие отклонения от «идеальных» значений (среднее отклонение составило 0.2053, что меньше, правда, чем в предыдущем опыте). Кроме того, сигналам на продажу можно доверять больше, чем сигналам на покупку (концентрированное облако из синих точек в левом нижнем углу).



Рис.2.19. Диаграмма, отражающая качество распознавания комитетом рыночных ситуаций (синие точки).

Потенциальную прибыльность торговли по сигналам полученного индикатора оценим по результатам простейшей торговой стратегии:

а) пересечение индикатором определенного верхнего уровня будет сигналом к покупке базовой валюты (евро);

б) пересечение индикатором определенного нижнего уровня будет сигналом к продаже базовой валюты (евро);

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

Для получения лучших стратегий уровни необходимо подбирать оптимизационными методами. В рассматриваемом здесь опыте эти уровни были установлены в следующих местах: верхний (0.25), серединный (0), нижний (-0.25), при интервале индикатора [-0.5;0.5] (см рис. 2.20). При пересечении значимых уровней моделируются сигналы на покупку или продажу. На рисунке 2.20 сглаженный MPP изображен синей линией в нижней части  рисунка, индикатор комитета - красной.

Торгуя по избранной системе в январе 2000 года на рынке евро/доллар, можно было заработать 580 пунктов (или примерно 6 фигур), что составляет 69,6% годовых (12*5,8) для «немаржинальной» торговли и 6960% годовых (12*5,8*100) для «маржинальной» торговле с плечом 100, но без учета комиссионных. Моменты открытия и закрытия позиций (длинных и коротких соответственно) отмечены стрелками на рисунке 2.21, в нижней части рисунка красной линией изображен индикатор комитета нейроэкспертов.



Рис. 2.20. Пример применения индикатора (красная линия)



Рис. 2.21. Результат торговли в январе 2000 г.на рынке евро/доллар

(красная линия вверху).

Результаты проведенного опыта оказались более успешными в сравнении с предыдущим. Большинство ИНС «научились» распознавать около половины предъявленных при обучении образов. MSE на выходах ИНС также оказалась меньше, чем в предыдущем опыте.


Содержание раздела