d9e5a92d

Панфилов П. - Нейросетевые прогнозы в техническом анализе

Трейдер вызывает лифт. Лифт останавливается, и двери открываются.

В кабине лифта стоят три знакомых аналитика. Трейдер: Так, быстро.

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

Выбор интервала прогноза

Фондовый рынок не может быть описан с помощью линейных моделей традиционного технического анализа, так как имеет элементы нелинейности и хаотичности (фрактальности) в поведении котировок ценных бумаг и индексов. Как отмечалось в предыдущей статье (Введение в нейронные сети, СТ 2'2001), нейронные технологии позволяют учитывать эту нелинейность в создаваемых моделях и добиваться приемлемых прогнозов.
Перед началом любого прогнозирования необходимо определиться с временным интервалом, на который делается прогноз. Величина этого интервала определяется следующими соображениями.
Чем меньше интервал прогноза, тем меньше его ценность с практической точки зрения, но при этом возрастает его точность. Прогнозы на сверхкоротких интервалах времени вообще теряют практическое значение.

Например, прогнозирование курса валюты на рынке Forex на 1-5 минут вперед со средней точностью 2-5 пипсов реально, но на практике эта точность съедается проскальзованием и комиссионными брокера и такие прогнозы невозможно использовать.
С другой стороны, чрезмерное увеличение интервала прогнозирования проводит к уменьшению точности прогноза, и, более того, на больших интервалах времени нейросетевые прогнозы имеют такую ошибку, что теряется сам смысл их применения. Чтобы проиллюстрировать зависимость ошибки прогноза от длины временного интервала, спрогнозируем курс швейцарского франка и значение индекса SP для разных интервалов.

Результаты прогноза приведены в табл. 1.
Из табл. 1 хорошо видно, что с увеличением интервала качество прогнозирования ухудшается и растет ошибка.

Вероятность правильного прогнозирования направления с увеличением интервала стремится к 50 %, что равносильно отсутствию прогноза вообще.
Из всего вышесказанного можно сделать вывод о целесообразности прогнозирования с использованием нейронных сетей в диапазоне от 30 минут до 1-3 дней. Причем прогнозы на коротких интервалах времени более эффективны как дополнение к уже имеющейся торговой системе, оптимизирующие входы и выходы из рынка.

Для большей наглядности далее в данной статье прогнозы делаются на один день вперед, если не оговорено иное.

Погружение временного ряда

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

При этом актуальной проблемой является выбор глубины погружения временного ряда. Под глубиной погружения понимается число прошлых временных отсчетов, используемых для формирования входных данных, подаваемых на входы нейросети для получения одного прогноза.
Очевидно, что при малой глубине погружения нейросеть будет делать прогнозы с меньшей точностью, чем при большем погружении. Но очень большое погружение может затруднить обучение и опять же уменьшить точность получаемых прогнозов.
Это объясняется тем, что увеличение числа не информативных или дублирующих входов приводит к усложнению задачи обучения, а также уменьшает внутреннюю нелинейность нейросети. Прогнозы нейросети с большим числом входов становятся похожими на результаты, получаемые с помощью линейной регрессии.
Эксперименты по прогнозированию индекса SP500 на день вперед показали, что оптимальная глубина погружения находится в диапазоне 5-20 баров (дней). Результаты двух прогнозов на тестовой выборке с разными значениями глубин погружения показаны на рис. 1.
Помимо глубины погружения входов, на качество прогнозов сильно влияет предобработка входных данных. Их необходимо подготавливать, прежде чем подавать на вход нейросети.

Это вызвано несколькими обстоятельствами.
Во-первых, все активационные функции нейронов работают в определенном диапазоне. Обычно это диапазон -1... + 1, но возможны варианты.

Например, для прогнозирования булевых переменных (прогноз направления) можно использовать нейроны с активационными функциями в диапазоне 0...+1. Поэтому входные данные нужно как минимум преобразовать (нормировать) в этот диапазон.


Во-вторых, как уже отмечалось, входные данные содержат шум, который нельзя спрогнозировать и учесть в моделях. Также любой фондовый рынок в своей истории содержит аномальные (редкие) события, например падение индекса Доу-Джонса более чем 600 пунктов


Рис. 1. Прогноз индекса SP500 (High) при глубине погружения 5 и 10 баров
14.04.2000 или падение рубля в августе 1998 года. Все это не типичное поведение рынка, которое встречается в истории 1-2 раза, и такие события нужно либо выбрасывать при прогнозировании, либо применять такие виды нормировки, которые позволяют сгладить эту ано
мальность. Методы отсеивания редких событий и нормировки данных имеют хорошо отработанный математический аппарат в теории вероятности и математической статистики.

Что прогнозировать?

Рисунок 1 интересен еще одним моментом полученная корреляция прогноза составляет величину большую, чем 0,999. При получении такого прогноза первая мысль такова: отличный прогноз, но что-то не так.

Да, не стоит забывать, что в этом эксперименте прогнозировалось абсолютное значение индекса SP500.
Если вычислить среднее значение изменений SP500 за последние 400 дней, то оно составит 22,99 пункта. При абсолютной величине индекса 1300-1500 результаты этого прогноза уже не будут казаться столь радужными.
Здесь мы вплотную подошли к вопросу о том, какие характеристики прогнозируемой величины лучше использовать в качестве выхода нейросети при прогнозировании. На эту тему в специальной литературе по финансовому прогнозированию есть многочисленные рекомендации.

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

Между ценами актива существует большая корреляция. Наиболее вероятной ценой будущего бара будет цена на предыдущем баре.

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



Рис. 2. Прогноз приращения High для индекса SP 500
обучении можно использовать более старые данные.
Все эти преобразования являются обратимыми и позволяют легко перейти от прогнозируемых величин к реальным ценам активов для их использования в трейдинге. Для иллюстрации этих рекомендаций было проведено прогнозирование не абсолютных значений цен High для индекса SP500 (рис.

1), а его приращений ^^Щбудущего бара) High(текущего бара)). Результаты тако
уменьшилось с 8,1 до 7,11 пунктов. Все это подтверждает правильность использования приращений в нейросете-вых прогнозах.
Использование дополнительных входов
Нейросети предоставляют пользователю уникальную возможность самостоятельной регуляции фундаментальности получаемых прогнозов. Если вы убеж-



Рис. 3. Прогноз приращения цены High для акций Cisco Systems Inc.
денный технарь и работаете на рынке, используя технический анализ, то это ваш инструмент. Подавайте на вход нейронной сети только цены, индикаторы и осцилляторы технического анализа.

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

Корреляция прогноза стала значительно меньше 0,684, но она более реально отражает его качество. При переходе к прогнозированию приращений стандартное отклонение ошибки прогноза
Если же вы тяготеете к фундаментальному анализу, то нейросети и вас не обойдут стороной. Подавайте на входы цены на смежных рынках, индексы, фундаментальные показатели экономики (GDP, PPI и т. д.) и вы получите свой фундаментальный прогноз.
Для иллюстрации эффективности использования в прогнозе дополнительной информации помимо цен и индикаторов были натренированы две нейросети для прогноза приращения цены High акций Cisco Systems Inc. В одной использовались только классические данные технического анализа, в другой дополнительно к ним использовалось значение индекса SP500 и Доу-Джонса на предыдущий день.

Результаты этих прогнозов на тестовой выборке отображены на рис. 3. Введение дополнительных входов (использовалось 4 входа функции от цены закрытия SP500 и Доу-Джонса) позволило увеличить корреляцию с прогнозируемой величиной с 0,651 до 0,761.
Вышеприведенный пример наглядно демонстрирует, что при правильном подборе входов нейросети, которые наиболее полно описывают поведение прогнозируемого актива, можно получить прогнозы с высокой точностью. Подбор оптимального количества и списка входов для прогноза той или иной величины является ключевым моментом в прогнозе и требует определенных усилий и знаний в предметной области от разработчика нейросети.

Определение числа выходов является более простой задачей, имеющей четкое решение.
Нейронные сети можно применять как для одномерного, так и для многомерного анализа данных, то есть нейросеть может иметь несколько выходов, предназначенных для прогнозирования разных значений. Если вы используете при обучении алгоритм обратного распространения ошибки (Введение в нейронные сети, СТ 2'2001), то лучше всего использовать нейросеть с одним выходом. Это объясняется используемой целевой функцией суммарной квадратичной ошибки.

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

Тогда два противоположных симметричных выхода могут быть оптимизированы с помощью одной целевой функции.

Технология ExpertLine

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

Оценка эксперта кодируется значением в диапазоне -1...+1, причем трейдер определяет текущее состояние рынка одним из пяти значений (табл. 2):
При работе по этой технологии трейдер вводит свою оценку, и нейронная сеть строит прогноз. Более того, интересно построить все пять прогнозов (по всем экспертным оценкам) для одного состояния рынка и вывести их в виде графика.

Пример такого графика приведен на рис. 4. На графике показаны две ExpertLine для швейцарского франка (прогноз часовые бары).
На рисунке видна ярко выраженная нелинейность линий ExpertLine. Это объясняется влиянием на рынок поведения толпы и других психологических факторов.

Отметим такой интересный момент из графика: при росте рынка минимальные цены будут ниже, чем при спокойном рынке.
Основным недостатком технологии ExpertLine является тот момент, что трейдер фактически должен угадать поведение рынка, а нейросеть укажет цели движения. Но это компенсируется высокой точностью прогноза и возможностью корректировки прогноза внутри прогнозируемого интервала, например при выходе данных и неожиданных фундаментальных событиях, то есть трейдер
Прогнозирование
индикаторов
В конце этой статьи коснемся вопроса о прогнозировании индикаторов и осцилляторов технического анализа. Насколько актуален данный вопрос?
В техническом анализе есть отдельное направление механические торговые системы (МТС). Эти системы пользуются
имеет возможность корректировки прогнозов по мере развития событий. Более того, зная одну цену дня (например,



high) можно путем проекции на графике ExpertLine определить другую (low).
Результаты технологии ExpertLine очень схожи с типичными рекомендациями аналитиков: если рынок будет расти, то до уровня сопротивления XYZ. Эта технология позволяет уменьшить неопределенность в принятии решений и перейти от таких понятий, как рост, падение, продолжение тренда, к конкретным ценам актива.
заслуженным уважением у трейдеров. Такие системы позволяют сочетать как различные правила торговли, так и контроль за капиталом, что делает их очень привлекательными для новичков на рынке.
Любая МТС базируется на каком-то множестве индикаторов и торговых правилах, преобразующих эти индикаторы в сигналы покупки и продажи. Поэтому прогнозирование используемых в торговой системе индикаторов на бар вперед


Рис. 5. Прогнозирование приращения скользящей средней
позволит нам получать опережающие торговые сигналы и повысить общую эффективность МТС.


Рис. 6. Прогнозирование индикатора RSI
На рис. 5 приведен прогноз приращения простой скользящей средней (функция mov в MetaStock) длиной 5 баров для акций Dell Computer Corp. на день вперед.
При прогнозировании была достигнута корреляция 0,921, которая гораздо больше, чем корреляция прогноза прироста цен (например, рис. 2).

Это объясняется тем, что индикатор скользящая средняя играет роль фильтра, сглаживая выбросы в выходных данных, и, соответственно, его прогнозируемость больше, чем цены бара. Качество полученного прогноза позволяет эффективно использовать его на практике как в качестве опережающего индикатора, так и в МТС.
При прогнозировании осцилляторов, которые нормированы в каком-либо диапазоне величин, можно прогнозировать абсолютные значения осциллятора. На рис.

6 показаны результаты нейросетево-го прогноза индикатора RSI (функция rsi в MetaStock) длиной 8 для акций Intel Corp.
В качестве объекта прогноза была выбрана абсолютная величина индикатора RSI, которая лежит в диапазоне от 0 до 100. При прогнозировании была использована нейронная сеть с двумя внутренними слоями (6+2 нейрона) и достигнута корреляция прогноза 0,922. Причем, если посмотреть на график корреляции, то он представляет собой более размытое облако, чем график корреляций при прогнозе цен. Это объясняется нормировкой прогнозируемой величины в диапазоне от 0 до 100.

Полученный прогноз также можно использовать в МТС и при анализе будущих событий на рынке. Высокое значение корреляции прогноза также объясняется тем, что при вычислении прогнозируемой величины (индикатор RSI) используется 7 прошлых цен и только одно будущее значение.
Реальная сила нейронных сетей состоит в возможности находить сложные нелинейные зависимости в многомерных входных данных, которые не могут быть получены другими, классическими методами. Но для получения этих результатов от пользователя требуется определенный уровень знаний и навыков как в предметной области (фондовый рынок), так и в области технологии нейросетей.

Только такое сочетание позволит эффективно применять эти перспективные методы на практике.



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