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

       

Классификация рыночных ситуаций. Шаблон максимальной прибыли


Поскольку сети с прямой связью являются универсальным средством аппроксимации функции, их с успехом можно использовать для решения задач классификации [1]. Богатые возможности отображения особенно важны в тех случаях, когда на основе нескольких оценок строится высокоуровневая процедура принятия решений. Известно много приложений ИНС с прямой связью к задачам классификации. Как правило, они оказываются эффективнее других методов, потому что нейронная сеть генерирует бесконечное число нелинейных регрессионных моделей.

Задача классификации может быть решена на сети с одним выходным нейроном, достаточно только разработать способ кодировать k классов. При применении нейронных сетей как классификаторов при прогнозировании финансовых рынков необходимо помнить о важности выбора обучающего правила и предварительной предобработке данных. Тем не менее, необходимо подчеркнуть, что классификация рыночных ситуаций в принципе возможна [1]. Ведь технический анализ стремится предсказать, главным образом, направление изменения цены (вниз, вверх, на том же уровне), а не величину этого изменения. Рассмотрим процесс формирования обучающего правила для задачи классификации рыночных ситуаций.

Пользователям программ технического анализа, в частности программы Equis MetaStock, известна встроенная система максимальной прибыли - MAXIMUM PROFIT SYSTEM (MPS). Алгоритм моделирования торговли построен по принципу «зачислять в прибыль, что возможно», будь то движение цены в течение одного часа или последовательность направ­лен­ных движений в течение нескольких часов. Но, как известно, в реальной жизни невозможно «выигрывать» каждую «свечку», особенно если торговля идет на коротких периодах, например на «часовом интервале» - слишком малые и незначительные колебания совершает курс. В несколько модифи­цированном виде MPS может оказаться полезной в качестве обучающего правила для прогнозирующих ИНС. Попробуем разработать MPS, которая была бы более приближена к реальным условиям торговли на рынке.


Во-первых, необходимо определить, сколько пунктов должен содержать в себе «значимый» для торговли ход цены. Среди практикующих трейдеров «взять фигуру» (100 пунктов) при игре внутри дня (т.е. на часовом интервале) практически по любой валюте считается отличным завершением удачной сделки. Несколько меньший «выигрыш» также вполне устроит любого трейдера. Таким образом, можно говорить о присутствии определенных ориентиров, на которые нацелен трейдер в своей работе. Эти ориентиры могут появиться чисто из эмпирических соображений, однако, они могут быть вполне обоснованы статистически. Рассмотрим, например, часовую динамику евро/доллар за 1999 год, нас будут интересовать абсолютные изменения курса за 24 часа:

а) максимальное изменение курса за 24 часа = 0.0277;

б) минимальное изменение курса за 24 часа = 0.0000;

в) среднее изменение курса за 24 часа = 0.0047.

Из приведенных данных видно, что среднее значение суточного колебания курса евро равняется примерно 50 пунктов, т.е. на них вполне можно рассчитывать при торговле внутри дня. С учетом рисков и комиссионных положим «значимым» для торговли ход (направленное движение рынка) в 70 пунктов. Т.е. при торговле на рынке евро/доллар нас будут интересовать ходы не менее указанной цифры. На исторических данных вполне можно выполнить разметку, в каких местах следует покупать, в каких продавать, в каких ожидать покупки или продажи. Существуют предпосылки разработки алгоритма, формирующего так называемый шаблон (карту) максимальной прибыли - MAXIMUM PROFIT PATTERN (MPP). MPP - имеет сходство с индикатором, однако рассчитывается он не по прошлым данным, а по будущим. Сигналами MPP, например, могут быть:

а.) 1 - «покупка»,

б.) 0.8 - «ожидание покупки»,

в.) 0.2 - «ожидание продажи»,

г.) 0 - «продажа».



Моделирование торговли на исторических данных с построенным на их основе MPP приносит максимальную прибыль с учетом ограничения - реагирование только на ход, покрывающий не менее определенного количества пунктов, в нашем примере 70 (см.


рис. 2.9). Стрелками на рисунке отмечены моменты, в соответствии с сигналами MPP потенциально пригодные для торговли (покупки и продажи соответственно).

На исторических данных моделирование торговли показывает максимальную прибыль, однако у «правого края» графика невозможно продлевать MPP, поскольку цены будущих периодов неизвестны (задача как раз и состоит в том, чтобы их прогнозировать). Однако сигналы MPP могут оказаться полезными, например в качестве обучающего правила для ИНС.

В рассмотренных источниках встречаются постановки задач обучения ИНС, в которых брались заведомо неоптимальные правила для обучения, однако, по утверждению авторов, они добивались положительных результатов. Например, некоторые исследователи в качестве обучающего правила использовали значения, рассчитанные методом пересечения скользящих средних (Crossing Moving Averages - СMA) [1], в то время как известно, что торговля по такому правило редко приносит прибыль.



Рис. 2.9. График динамики курса евро/доллар (вверху), сигналы MPP

(внизу - синяя линия), усредненное значение MPP (внизу - красная линия).

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

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

Исходя из этих соображений, можно предложить следующий практический метод кодирования ординальных переменных (см. рис. 2.10). [37]. Единичный отрезок разбивается на n отрезков - по числу классов - с длинами пропорциональными числу примеров каждого класса в обучающей



Рис. 2.10. Иллюстрация способа кодирования ординальных переменных с учетом количества примеров каждой категории.

выборке: Dx = Pk/P, где Pk - число примеров класса k, а P - общее число примеров. Центр каждого такого отрезка будет являться численным значением для соответствующего ординального класса.


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