Статья опубликована в журнале «Труды Кубанского государственного аграрного университета». Июнь 2010.

 

УДК 336.761.533

О.А. Шумкова, аспирант КубГАУ

Д. Н. Карлов, аспирант КубГТУ

Е.А. Шумков, к.т.н., доцент КубГТУ

 

МНОГОКОНТУРНАЯ СИСТЕМА АНАЛИЗА ФИНАНСОВОГО РЫНКА

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

 

 

MULTILOOP SYSTEM OF THE ANALYSIS OF FINANCIAL MARKET

O.A. Shumkova, Kuban State Agrarian University

D. N. Karlov, E.A. Shumkov, Kuban State Technological University

 

Principles of construction of systems of the analysis of the data working on the financial markets in a mode of real time are considered. The multiloop control system of the analysis of stochastic time numbers is offered.

 

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

 

Neural net, back propagation algorithm, reinforcement learning, self – modified policies, success story algorithm, forex, genetic algorithm, control system.


Прогнозирование котировок курсов на финансовых рынках – сложное занятие, нет ни одного метода, дающего стабильное статистическое преимущество. Наиболее распространенными методами являются: фундаментальный анализ, технический анализ, математическая статистика, нейросетевой анализ и применение методов теории хаоса [4].

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

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

Для введения в суть проблемы рассмотрим распространенный технический индикатор Bollinger Bands (далее BB), обычно называемый «полосы Боллинджера» [1]. Данный индикатор формируется из трех линий: верхняя линия (TL), средняя линия (ML) и нижняя линия (BL). Формулы линий:

                                                     (1)

,                                         (2)

,                                         (3)

 

где ML по сути – скользящая средняя. В формулах: Price – одна из цен OLHC (цены Open, Low, High, Close, то есть цены Открытия, Минимальная, Максимальная и Закрытия бара - далее цены OLHC; обычно используется цена Закрытия), D – число стандартных отклонений. StdDev – стандартное отклонение, которое вычисляется по формуле:

,                                           (4)

Таким образом, в данном техническом индикаторе трейдеру необходимо подстраивать несколько параметров: тип используемой цены (одна из цен OLHC), период n, число стандартных отклонений D. Это параметры настройки самого индикатора. Но есть еще и правила торговли, то есть параметры для приказов на продажу и покупку при использовании данного индикатора. В случае полос Боллинджера действуют следующие правила:

а) если цена выходит за пределы полосы, то следует ожидать продолжения текущей тенденции;

б) если за пиками и впадинами за пределами полосы следуют пики и впадины внутри полосы, то наиболее вероятен разворот тенденции;

в) движение цены, начавшееся от одной из границ полосы, обычно достигают противоположной границы.

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

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

 

Рисунок 1. Хромосома приказа покупки

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

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

Под данную постановку задачи хорошо подходит технология OLAM (OnLine Analytical Mining) – «добыча» данных в режиме реального времени. Покажем разработанную авторами структуру OLAM в применении к задаче анализа финансовых рынков (см. Рисунок 2). Программно система может быть реализована в нескольких блоках, причем ядром является сам торговый терминал, в котором можно реализовать несколько модулей. Учитывая, что большое количество вычислений существенно замедлит терминал, то целесообразно котировки транслировать в отдельную БД и обрабатывать данные из БД отдельными программными средствами или средствами СУБД, в терминал же выводить уже готовую к использованию информацию.

Рисунок 2. OLAM - система финансового рынка

 

На схеме показаны основные модули системы. В частности, для автоматической работы системы необходима система управления (далее СУ), как общая, так и отдельных модулей. Покажем СУ прогнозированием с использованием нейросетевой топологии «Внутренний учитель» (класс обучения с подкреплением) [2, 3]. В качестве метода прогнозирования выберем нейронную сеть типа многослойный персептрон, алгоритм обучения RPROP (данный алгоритм характеризуется высокой скоростью обучения, но менее точен, чем допустим алгоритм обратного распространения ошибки). Схема одного из модулей СУ прогнозированием  - нейросетевого, показана на Рисунке 3.

Рисунок 3. Нейросетевой модуль прогнозирования

При построении СУ необходимо определить критерий качества работы системы, который позволит оценить эффективность работы системы. Для топологии «Внутренний учитель», таким критерием является коэффициент эффективности (аналог подкреплению в классических системах обучения с подкреплением [5]). В случае успешной работы системы коэффициент эффективности растет, в противном случае снижается. На основе коэффициента эффективности система может «понять» насколько изменение ее поведения повлекло за собой изменение качества работы, а также перестроить систему на более успешную работу. Алгоритм такой подстройки известный как SSA (Success Story Algorithm), реализован на основе принципа SMP (SelfModifying Policies), заключающегося в том, что правила, заложенные в систему, включают в себя правила, изменяющие самих себя [6]. Другими словами, в правилах заранее предусмотрены такие, которые изменяют именно правила.

Для технической реализации принципа SMP для подобного объекта в топологии «Внутренний учитель» применяется двухкомпонентная нейронная сеть. Здесь первая компонента – «Решатель» (непосредственно для прогнозирования), обучена правилам управления объекта (то есть прогнозированию), которые могут меняться в процессе функционирования (так как временные ряды котировок нестационарные, то приходится периодически переобучать прогнозирующую нейронную сеть под новые данные). Политика SMP реализована компонентой «Учитель» (обучающая нейронная сеть), обученной правилам самообучения. В процессе работы системы эти правила применяются к Решателю, изменяя политику его работы. При этом Учитель так же реализован с помощью нейронной сети, только с методом обучения обратного распространения ошибки.

В случае управления прогнозирующим модулем критерием качества целесообразно выбрать коэффициент эффективности следующего вида:

,                                                             (5)

где  - прогнозное значение, а  - реальное значение на  - й итерации. Таким образом, система оценивает – хорошо она прогнозирует или плохо на текущей итерации.

А также дополнительный критерий:

,                                               (6)

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

Над всеми СУ сектора прогнозирования строится главная СУ методов прогнозирования, которая выбирает лучшую систему прогнозирования, а также генерирует новые СУ методов прогнозирования с новыми параметрами и удаляет СУ не прошедшие по критерию качества за определенный временной интервал.

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

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

,                                            (7)

где  - номер актива в портфеле,  - количество активов в портфеле,  - номер цикла управления,  - доход, полученный на итерации управления, *- затраты, произведенные на итерации управления, - объем рынка.

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

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


Литература:

1.     Колби, Р. Энциклопедия технических индикаторов рынка / Р. Колби. пер. с. англ. – 2-е изд. – М.: Альпина Бизнес Букс, 2004. – 837 с.

2.     Стасевич, В.П. Адаптивные системы на основе самообучающихся нейросетей / В.П. Стасевич, Е.А.Шумков, В.И. Ключко, С.А. Воротников/ / Науч. журнал «Труды КубГТУ». – Краснодар, КубГТУ, 2002. – Т.XVI. –Сер. Совершенствование образовательных технологий. – Вып.2. с. 192 – 198.

3.     Шумков, Е.А. Обучение и самообучение в адаптивных системах управления / Е.А.Шумков, В.П. Стасевич, В.Н. Зуева / / Известия вузов Северо-Кавказский регион. Технические науки. Новочеркасск, 2006. - №2. – с. 84 – 86.

4.     Kovalerchuk, B. Data Mining in finance / B. Kovalerchuk, E. Vityaev / / Kluwer academic publishers. New York, 2000. – 322 p.

5.                Prokhorov, D. Adaptive critic desighs / D. Prokhorov, D. Wunsch / / IEEE Transactions on Neural Networks, September 1997, pp. 997 – 1007.

6.                Schmidhuber J., Zhao J., Schraudolph. Reinforcement Learning with self – modifying policies. In S. Thrun and L. Pratt, eds., “Learning to learn”, pages 293 – 309, Kluwer, 1997.


Рейтинг@Mail.ru


 
 
Разделы сайта:
Апшеронск Спорт VBA Форекс Сочи-2014 Нейросети Студентам
Связь с Администратором сайта, E-mail: apsheronka@mail.ru
Апшеронск, Краснодарский край

Размещение рекламы на сайте
Карта сайта

При перепечатке материалов сайта http://apsheronsk.bozo.ru - обязательная активная гиперссылка на сайт!