В библиотеку

Источник:Известия Томского политехнического университета. – 2006. – Т. 309. – № 8.- c. 197-201.

ПРОГНОЗИРОВАНИЕ ДИНАМИКИ ЦЕН НА ФОНДОВОМ РЫНКЕ

А.А. Мицель, Е.А. Ефремова

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

     Введение

      Задача прогнозирования поведения сложных динамических систем, особенно в экономике и со­циальной сфере является трудноформализуемой. Прогноз таких систем должен опираться почти ис­ключительно на выявлении скрытых закономерно­стей в накопленных данных. Предсказание финан­совых временных рядов - типичный пример тако­го рода задач. Механизм формирования биржевой цены, определяемый коллективной психологией участников торгов, неизвестен, но имеется история соответствующего временного ряда [1].
      В научной литературе [1-3] приводится боль­шое количество математических моделей и мето­дик для анализа финансовых рынков. Наибольшую популярность получили два основных подхода -фундаментальный и технический анализ.
      Фундаментальный анализ - это направление в анализе ценных бумаг, которое стремится опреде­лить их истинные стоимости, исходя из изучения связанных с ними экономических факторов. Ис­тинные стоимости сравниваются с текущими цена­ми с целью определения величин отклонения. Но для определения конкретного момента соверше­ния сделки фундаментального анализа зачастую бывает недостаточно. В этой области применяется технический анализ [2].
      Технический анализ исходит из постулата, что все объективные данные о компании - эмитенте (запасы сырья, ожидаемые дивиденды, экономиче­ское состояние и т. д.) уже заложены в текущую це­ну акции. Поэтому полагается, что динамика ры­ночной стоимости акции не является непосред­ственной реакцией на события, а зависит только от оценки событий участниками рынка [1].
      В последнее десятилетие наблюдается устойчи­вый рост популярности технического анализа. Тех­нический анализ сосредотачивается на индивиду­альном поведении данного финансового инстру­мента, вне его связи с остальными ценными бума­гами. Такой подход психологически обоснован со­средоточенностью участников именно на том ин­струменте, с которым они в данный момент работа­ют. Поведение рыночного сообщества имеет много аналогий с поведением толпы, характеризующимся особыми законами массовой психологии. Частич­ная предсказуемость рынка обусловлена относи­тельно примитивным коллективным поведением игроков, которые образуют единую хаотическую динамическую систему с относительно небольшим числом внутренних степеней свободы [2].
      Использование нейронных сетей для анализа финансовой информации является альтернативой (или дополнением) для традиционных методов ис­следования, таким как статистический анализ и экспертный анализ индикаторов технического ана­лиза, фундаментальных показателей. В силу своей адаптивности одни и те же нейронные сети могут использоваться для анализа нескольких инстру­ментов и рынков, в то время как найденные игро­ком для конкретного инструмента закономерности из области технического анализа могут работать ху­же или не работать вообще для других инструмен­тов.
      Системы, базирующиеся на искусственных нейронных сетях, в последние годы все активнее используются для прогнозирования финансовых рынков. Отличие этого подхода от технического анализа состоит в следующем.
      Во-первых, нейросетевой анализ, в отличие от технического, не предполагает никаких ограниче­ний на характер входной информации. Это могут быть как индикаторы данного временного ряда, так и сведения о поведении других рыночных ин­струментов. Недаром нейронные сети активно ис­пользуют именно институциональные инвесторы (например, крупные пенсионные фонды), рабо­тающие с большими портфелями, для которых осо­бенно важны корреляции между различными рын­ками.
      Во-вторых, в отличие от технического анализа, основанного на общих рекомендациях, нейронные сети способны находить оптимальные для данного инструмента индикаторы и строить по ним опти­мальную опять же для данного ряда стратегию предсказания. Более того, эти стратегии могут быть адаптивны, меняясь вместе с рынком, что особен­но важно для молодых активно развивающихся рынков, в частности, российского.
      Нейросетевое моделирование в чистом виде ба­зируется лишь на данных, не привлекая никаких априорных соображений. В этом его достоинство и одновременно недостаток. Имеющихся данных мо­жет не хватить для обучения, размерность потен­циальных входов может оказаться, слишком вели­ка. Для преодоления этих типичных в области фи­нансовых предсказаний трудностей можно вос­пользоваться опытом, накопленным техническим анализом [1]. В данной работе на основе аппарата нейронных сетей рассматривается задача прогнози­рования динамики цен на финансовом рынке [2, 3].



      Методика предсказаний финансовых временных рядов на основе нейронных сетей

     Нейронные сети - это обобщенное название нескольких групп алгоритмов, обладающих одним ценным свойством - они умеют обучаться на при­мерах, извлекая скрытые закономерности из пото­ка данных. При этом данные могут быть неполны, противоречивы и даже заведомо искажены. Если между входными и выходными данными существу­ет какая-то связь, пусть даже не обнаруживаемая традиционными корреляционными методами, нейронная сеть способна автоматически настро­иться на нее с заданной степенью точности. Кроме того, современные нейронные сети обладают ря­дом дополнительных возможностей - они позво­ляют оценивать сравнительную важность различ­ных видов входной информации, уменьшать ее объем без потери существенных данных, распозна­вать симптомы приближения критических ситуа­ций и т. д. [4, 5].
     Общая схема нейросетевого предсказания вре­менных рядов [2] представлена на рис. 1.


Рис. 1. Схема нейросетевого предсказания финансовых временных рядов

     Общая схема нейросетевого предсказания вре­менных рядов включает следующие этапы [2, 3]:

  1. Определение временного интервала. Формирование базы данных.
  2. Кодирование входов - выходов (нейронные сети могут работать только с числами).
  3. Нормировка данных (результаты нейроанализа не должны зависеть от выбора единиц измерения).
  4. Предобработка данных (удаление очевидных регулярностей из данных облегчает нейронным сетям выявление нетривиальных закономерностей).
  5. Обучение нескольких нейронных сетей с различной архитектурой (результат обучения зависит как от размеров сети, так и от ее начальной конфигурации).
  6. Отбор оптимальных сетей - тех, которые дадут наименьшую ошибку предсказания.
  7. Адаптивное предсказание и принятие решений.
     Далее кратко рассмотрим некоторые моменты этой технологической цепочки. Хотя общие прин­ципы нейромоделирования применимы к задаче прогнозирования в полном объеме, предсказание финансовых временных рядов имеет свою специ­фику.
     На первом этапе определяются базовые харак­теристики данных, которые заданы торговой стра­тегией. Формируется база данных.
     Подзадача получения входных образов для фор­мирования входного множества в задачах прогно­зирования временных рядов часто предполагает использование «метода окон». Метод окон состоит в определении двух окон Wiи W0с фиксированны­ми размерами n и m соответственно. Эти окна, спо­собны перемещаться с некоторым шагом по вре­менной последовательности исторических данных, начиная с первого элемента, и предназначены для доступа к данным временного ряда, причем первое окно Wi, получив такие данные, передает их на вход нейронной сети, а второе - W0 - на выход. Полу­чающаяся на каждом шаге пара Wi> W0 использует­ся как элемент обучающей выборки (распознавае­мый образ, или наблюдение). Каждый следующий вектор получается в результате сдвига окон вправо на один шаг. Предполагается наличие скрытых за­висимостей во временной последовательности, как множестве наблюдений. Нейронная сеть, обучаясь на этих наблюдениях и соответственно настраивая свои коэффициенты, пытается извлечь эти закономерности и сформировать требуемую функцию прогноза. На основе метода окон возможен одно-шаговый или многошаговый прогноз [5].
     Далее следует отметить, что одним из ключевых моментов в анализе финансовых временных рядов - является предобработка данных, которая способ­ствует успешному обучению нейронной сети, и мо­жет включать целый набор методов. Главная задача при предобработке данных - снижение избыточ­ности, что приведет к повышению информативно­сти примеров и, тем самым, повысит качество ней-ропредсказаний. Эффективным методом отбора наиболее информативных входов является алго­ритм box-counting. Эффективными являются также вейвлет-преобразование входных данных, фильтры Кальмана, спектральная обработка [2].
     Архитектура нейронной сети зависит от поста­вленной задачи, в большинстве случаев наиболее оптимальной архитектурой для прогнозирования финансовых временных рядов будет являться мно­гослойный персептрон с обратным распростране­нием ошибки [6].
     Оценка ошибки предсказаний не менее важна, чем само предсказанное значение. Поскольку прогнозирование никогда не сможет полностью уничтожить риск при принятии решений, необхо­димо явно определять неточность прогноза. Прог­нозирующая система должна обеспечивать опреде­ление ошибки прогнозирования, также как и само прогнозирование. Такой подход значительно снижает риск объективно связанный с процессом при­нятия решений.
     На основе описанной методики [3-5] авторами разработан алгоритм и реализована автоматизиро­ванная система.



      Подготовка входных и выходных данных

     Для работы с системой использовались данные (рыночные котировки акций, обращающихся на ММВБ), полученные путем экспорта из програм­мы Интернет-трейдинга «Альфа -директ» [7].
     Данные по каждому временному интервалу имеют пять значений:
  1. цена открытия (цена, по которой была заключена первая сделка по данному финансовому инструменту);
  2. цена закрытия (цена, по которой была заключена последняя сделка);
  3. максимальная цена продаж;
  4. минимальная цена продаж;
  5. объем акций, проданных в этот временной период.
     В качестве входных данных рассматривались дневные значения цен закрытия на различных вре­менных периодах по акциям.



      Предобработка входных данных

     В качестве входов и выходов нейронной сети были выбраны не сами значения цен закрытия, котировок (обозначим их Ct), а изменения котировок на момент времени t. Действительно значимыми для предсказаний являются изменения котировок. Так как эти изменения, как правило, гораздо меньше по амплитуде, чем сами котировки, между последовательными значениями курсов имеется большая корреляция - наиболее вероятное значение курса в следующий момент равно его предыдущему значению [2]:

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

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



      Архитектура сети

     В системе реализован многослойный персеп-трон, количество входов и скрытых слоев является динамическим (определяется пользователем систе­мы), это позволяет осуществить эксперименталь­ный подбор оптимальной структуры сети для каж­дого финансового инструмента. Многослойный персептрон с обратным распространением ошибки является наиболее оптимальной архитектурой для данного класса задач (аппроксимации функций), т. к. прогнозирование финансовых временных ря­дов основывается на фундаментальном допущении - замене экстраполяции аппроксимацией [2, 3].
     Для обучения нейронной сети используется ал­горитм обратного распространения ошибки.
     Обучение сети разбивается на следующие эта­пы:
  1. Инициализация сети.
    Весовым коэффициентам и смещениям сети присваиваются малые случайные значения из ди­апазона от 0 до 1 и, соответственно, и в дальней­шем происходит их подстройка по выходному сиг­налу.
  2. Определение элемента обучающей выборки (<текущий вход>, <желаемый выход>).
    Текущие входы (x0,x1,...,xn), должны различаться для всех элементов обучающей выборки.
    При использовании многослойного персептрона для прогноза динамики цен формируем один выход, определяющий направление изменения, т. е. рост или падение цен.
  3. Вычисление текущего выходного сигнала.
    Текущий выходной сигнал определяется в соот­ветствии с традиционной схемой функционирова­ния многослойной нейронной сети.
  4. Настройка синаптических весов.
    Для настройки используется алгоритм обратно­го распространения ошибки, т. е. используется ре­курсивный алгоритм, который сначала применяет­ся к выходным нейронам сети, а затем проходит сеть в обратном направлении до первого слоя [2]. Синаптические веса настраиваются в соответствии с формулой

    где ωij(t) - вес от нейрона i или от элемента входного сигнала к нейрону j в момент времени t, xi - вы¬ход нейрона i, r - темп обучения, gi - значение ошибки для нейрона j

    где dj и уj - желаемый и текущий выходы нейрона j.
     Выбор функции ошибки обусловлен тем, что целью прогнозирования финансовых рядов является получение и максимизация прибыли. Поэтому, в прогнозировании финансовых рядов важна не близость прогноза к истинному значению (что обеспечивает минимизация функции среднеквадратичной ошибки), а одинаковая направленность прогноза и истинного значения. Таким свойством обладает функция yj [2,3].
     На основе экспериментальных данных было показано, что наиболее оптимально активационная функция описывается выражением:

     Активационная функция преобразовывает средневзвешенную сумму выходных сигналов в вы­ходной сигнал:

где T - порог нейрона.



      Результаты работы системы

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


Рис. 2. Вид пользовательского интерфейса работы системы

     Под точностью прогноза понимается верно угаданный знак изменения цены. Сеть обучалась на 200 примерах, затем подавались на вход как известные ей цены, на которых она обучалась (обучающая выборка), так и те которые ещё не встречались (тестирующая выборка). Сеть содержала два скрытых слоя, три входа и один выход. На вход обученной сети подавались обучающая выборка из трех цен. Обучение проводилось с использованием метода окон.
     В целом, в большинстве из проделанных опытов, были получены положительные результаты (количество верно угаданных значений цены составило 60...75 %, а количество верно определенных знаков, т. е. верно угаданной тенденции рынка, составляло 85...90 %).



      Заключение

     По результатам опытов можно высказать ряд предложений, реализация которых должна способствовать получению более точных прогнозов и разработке готовых для практического применения торговых стратегий.
     Во-первых, архитектура нейронной сети (количество и структура слоев), задавалась исходя из эмпирических соображений, в то время как в рамках решения задачи прогнозирования на основе нейронных сетей может быть поставлена задача оптимизации архитектуры сети под конкретное обучающее множество.
     Во-вторых, использование различных архитектур сетей, случайность выбора первоначальных синаптических коэффициентов, а также использование других параметров сети приводит к тому, что предсказания различных нейронных сетей, обученных на одних и тех же примерах, могут отличаться. Явно «неудачные» варианты сетей отпадают на этапе тестирования. А более или менее «удачные» сети следует ис­пользовать совместно, организовав так называемый комитет сетей, применяя для принятия решения значения выходов всех входящих в комитет сетей.
     Легко показать, что среднее значение выходов комитета должно давать лучшие предсказания, чем средняя сеть из этого комитета. В силу неравенства Коши имеем:

где εi - ошибка i-ой сети в комитете, L - количество сетей в комитете.
     Полученный вывод говорит о преимуществе использования среднего значения выходов комитета нейронных сетей для принятия решения. Более того, можно использовать не среднее значение выходов, а среднее взвешенное. Веса выбираются адаптивно, максимизируя эффективность предсказаний комитета на обучающей выборке. В итоге, лучшие сети будут вносить наибольший вклад, в то время как предсказания сетей, дающих худшие результаты, будут вносить меньший вклад, и не будут портить предсказания [2].
     Дальнейшие исследования должны быть направлены на оптимизацию процесса предобработки данных. Известно, например, что последние данные более значимы для обучения. Кроме того, финансовые ряды сильно зашумлены, особенно на коротких промежутках времени (внутридневных котировках), что затрудняет обучение и определение правил торговли.
     На основе проведенных экспериментов можно сделать вывод, что применение нейронных сетей при построении адекватной модели могут помочь получению прибыли во время работы на финансовых рынках.



      Список литературы

  1. Шарп У.Ф., Александер Г., Бэйли Дж.В. Инвестиции. - М.:Инфра-М, 1998. - 1028 с.
  2. Ежов А.А., Шумский С.А. Нейрокомпьютинг и его применения в экономике и бизнесе. - М.: МИФИ, 1998. - 222 с.
  3. Панфилов П.Н. Введение в нейронные сети // Современный трейдинг. - 2001. - № 2. - С. 12-17.
  4. Розенблатт Ф. Принципы нейродинамики. Перцептроны и теория механизмов мозга. - М.: Мир, 1965. - 302 с.
  5. Уоссермен Ф. Нейрокомпьютерная техника. - М.: Мир, 1992. - 250 с.
  6. Горбань А.Н. Обучение нейронных сетей. - М.: СП «Параграф», 1990 - 160 с.
  7. Интернет-брокер «Альфа Банка». - http://alfadirect.ru/
Источник:Известия Томского политехнического университета. – 2006. – Т. 309. – № 8.- c. 197-201.

В библиотеку