Использование нейросетевых технологий (на базе пакета программ BrainMaker Pro) для анализа ситуации на российском фондовом рынке.

В данной статье рассматривается класс ПО, предназначенного для решения весьма широкого круга задач в самых разных областях - от медицины до финансов. В частности, программы этого класса позволяют моделировать те или иные ситуации на фондовом рынке с использованием методологии нейросетей. Чтобы разобраться с технологией построения последних, возьмем, к примеру, разработанный фирмой California Scientific Software нейропакет BrainMaker Pro (BMP) для Windows. Он, как и все прочие нейропакеты, реализует универсальные алгоритмы вычислительной математики, независимые от предметной области их применения.

Методология анализа данных

Сопоставление нейропакетов со статистическим ПО

Во многих публикациях говорится о преимуществах применения нелинейных моделей перед линейными в финансовых приложениях. Однако построение таких математических моделей пользователем-"нестатистиком" - процесс весьма трудоемкий (попробуйте это сделать, взяв, например, пакет SPSS). Если же задача была хорошо поставлена, то с помощью нейропакета искомая нелинейная модель строится почти автоматически. Преимущества нейросетей становятся заметными тогда, когда довольно часто изменяются "правила игры". Именно поэтому нейросети подходят для определения состояния фондового рынка, характеризующегося целым набором постоянно изменяющихся показателей-признаков. Видимо, поэтому специалист, не искушенный в тонкостях статистических методов, предлагаемых такими "статмонстрами", как универсальные пакеты SAS или SPSS, может предпочесть нейросети, которые в общем-то проще настраивать и перестраивать. Существуют, естественно, и специализированные пакеты, например Forecast Expert фирмы "Про-Инвест-Консалтинг" для анализа временных рядов и Stat-Media фирмы "Полихимэкс" для классификации данных, которые существенно упрощают процесс построения моделей. Однако в них, как правило, заложены не слишком разнообразные методы анализа. Такие важные достоинства статистических моделей, как "прозрачность" процесса их построения, хорошая интерпретируемость и возможность численной оценки значимости получаемых прогнозов, помогут лишь пользователям-специалистам. А вот нейросеть легко обучить решению хорошо поставленных задач может в принципе и неспециалист.

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

Пример системы поддержки принятия решений

Ниже рассмотрим применение BMP для краткосрочного прогноза котировок корпоративных ценных бумаг, или акций. Для наглядности возьмем акции РАО "ЕЭС России", обращающиеся, в частности, на внебиржевых электронных торгах в Российской торговой системе (РТС).

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

Пусть - код текущей котировки акции в системе РТС, а Ез - ее цена на момент закрытия торгов, иначе "цена закрытия" на 18 часов. Из среды MS Excel с помощью механизма DDE (dynamic data exchange) трейдер может вызвать настроенный ранее на решение конкретной задачи пакет BMP. В рамках нашего примера нейропакет выполнял прогноз относительного приращения (в %) цены закрытия:

D(Eз) = 100Ё(Т-Y)/Y,

где Т - величина Eз "сегодня" (today), а Y - "в предыдущий торговый день" (yesterday). На рис. 1 приведены для сравнения величины относительных приращений Ез ("на каждый день вперед" в течение двух рабочих недель), полученные с помощью нейросети, и реальные данные из РТС.

Что анализируют трейдеры

Трейдер, принимающий решения о купле-продаже акций, работая непосредственно с одной или несколькими информационными системами (Reuters, Dow Jones Telerate, Bloomberg, Tenfore), может наблюдать в многооконной среде с различной степенью подробности текущие значения и графики интересующих его индексов на мировых фондовых биржах, основные кросс-курсы валют и другие показатели валютного, фондового и кредитного рынков.

На принятие решений о купле-продаже акций, естественно, влияют макроэкономические и политические события, сообщения о которых через каждые 5-10 минут появляются в текстовом окне монитора и сопровождаются комментариями различных экспертов, включая разнообразные слухи. Также трейдеру доступна дополнительная информация из ЦБ России и других источников о величинах показателей рынков.

Обязательно нужно учитывать психологию трейдеров, поскольку для них большую роль играют ожидания интересующих их событий. Например, в 16 часов многие московские трейдеры внутренне готовы к конкретной тенденции поведения индекса Доу-Джонса на Нью-Йоркской фондовой бирже, которая откроется лишь в 17-30 по московскому времени с учетом его сдвига по часовым поясам.

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

В рассматриваемом примере для настройки нейросети были использованы показатели, собранные в рабочие дни 1997 г., но, к сожалению, далеко не полностью было учтено изменение макроэкономической ситуации в России, кроме биржевого курса доллара, курсов покупки и продажи доллара Центральным банком РФ и ставки рефинансирования.

Выбранные показатели-признаки характеризовали текущее состояние рынков на момент закрытия торгов: одни - российского кредитного, другие - валютных рынков России и основных стран, остальные - мировых фондовых рынков (индексы бирж США, стран Европы и Юго-Восточной Азии) и фондового рынка России. Учитывались также котировки государственных ценных бумаг России на Лондонской фондовой бирже.

Таким образом, трейдер может к 9 часам утра за несколько минут получить прогноз и приращения цены, и ее величины на вечер того же дня. Ему нужно лишь взять из системы Reuters или сети Internet и ввести в электронную таблицу примерно 20 из упомянутых выше показателей, часть из которых была доступна еще с вечера предыдущего дня. Результаты расчета появляются в таблице, из которой с помощью DDE вызывалась нейросеть. После предварительного анализа ретроспективных данных была построена нейросеть с входным слоем из 13 нейронов, одним скрытым из 8 и выходным из одного нейрона. Подаваемые на вход нейросети 13 признаков рассчитывались по 20 исходным признакам (иногда бралось соотношение тех или иных ставок или цен). Выходной слой вычислял величину D(Eз)

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

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

По работе нейросети на независимом наборе данных, который не использовался при ее настройке, оценивается качество последней. Прогноз для нашего примера выполнялся с точки зрения оценки попадания цены закрытия в одну из категорий: А (она возрастет выше, чем на +0,9%); В (она изменится по абсолютной величине меньше, чем на 0,9%) и С (она упадет ниже, чем на -0,9%). При А трейдер может утром заключать контракты на покупку акций, при С - на продажу, а при В - выйти из торгов акциями РАО "ЕЭС России".

Затем искусственная нейросеть обучалась на конкретных состояниях финансовых рынков, которые имели место до 12 декабря 1997 г. (см. таблицу).

Для этих примеров к моменту измерения признаков (т. е. до 9 утра "сегодня"), вошедших в материал обучения, была известна цена закрытия вечером того же дня. Эта цена приводится в последней колонке таблицы и вычисляется нейросетью на выходе. На входы сети подаются после несложной предварительной обработки данные из всех остальных колонок.

Подробнее о нейросетях

Нейросеть с точки зрения моделирования сложных систем

Одним из главных отличий нейросетей, повышающим эффективность вычислительного процесса, является возможность так называемого распараллеливания вычислений. Префикс "нейро", а также слово "нейрон" используются "жрецами новой философии", видимо, скорее в популяризаторских целях или вообще для рекламы, нежели для проведения аналогии с механизмом работы биологических нейронов. В ее основе лежит понятие "искусственного нейрона", который позволяет реализовать на практике нелинейную функцию многих переменных. Она отображает совокупность входных переменных в вещественное число из отрезка [0,1] и зависит от набора G числовых коэффициентов (весов), рассматриваемого в качестве параметра этой функции. Последняя имеет вполне определенный вид и реализуется двумя элементами - сумматором и нелинейным преобразователем. Первый вычисляет взвешенную сумму входных значений, т. е. компонент вектора признаков, второй выполняет само нелинейное преобразование F(x;G), где G - набор весов на входе нейрона. В зависимости от конкретного пакета пользователь может сам выбрать вид этого преобразования (задаваемого в пакете BMP параметрически). В результате получается выходное значение нейрона z=F(x;G). Так как обычно несколько нейронов "принимают сигналы" из предыдущего слоя, то набор весов на входе такого j-го нейрона обозначим Gj.

Пример данных, поступающих на вход нейросети

ДатаСтавка, Mibor 1Индекс Dow JonesКросс-курс иены, Иена/долл.Цена закрытия акций, долл.
3 ноября 1997 г.23,169001250,234
4 ноября 1997 г.*177005126,20,237
11 декабря 1997 г.287800130,10,247
* Следующие строки таблицы опущены, так как данные в тексте статьи не используются.

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

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

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

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

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

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

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

В результате настройки получается нелинейная модель связи входов и отклика t(x)=W(x;(G1,..., Gn)) в виде аппроксимации реальной их связи T(x). Здесь через (G1,..., Gn) обозначена совокупность всех весовых коэффициентов в нейросети некоторой фиксированной архитектуры. На основе построенной модели можно, подав на ее входы набор значений показателей для новых данных, оценивать отклик.

Нейросети являются универсальным средством аппроксимации функции многих переменных Т(х) (подробнее см. "Мир ПК", №6/98, с. 166), поэтому описанный подход позволяет, наряду с применением традиционных моделей многомерной статистики, решать типичные прикладные задачи - классификации, распознавания и прогнозирования.

Критерии выбора и обсуждение

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

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

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

Таким образом, для анализа данных наиболее эффективно использовать комбинацию статистических и нейросетевых методов. Одним из лучших доступных пакетов, в котором это реализовано, видимо, можно считать SPSS 8.0 расширенной конфигурации, включающий, кроме того, нейросетевой модуль Neural Connection. Однако цена такого программного средства для зарегистрированных пользователей впечатляет (см. "Мир ПК", № 8/97, с. 32 и обзор на сервере http://www.cemi.rssi.ru/ruswin/publication/ ep97001t.htm ). Весьма полезными для математиков и аналитиков могут оказаться и альтернативные SPSS пакеты SAS и особенно Statistica. Не следует забывать и о специализированных программах анализа временных рядов, жестко конкурирующих с соответствующими модулями названных выше пакетов. Из российских к наиболее удачным можно, скорее всего, отнести "Мезозавр" (ЦЭМИ РАН), "Эвристу" (Центр статистических исследований) и вышеупомянутый Forecast Expert.

На мировом рынке предлагается более 15 коммерческих нейропакетов, информацию о которых можно найти на сервере http://www.scitechint.com . Докладчики на последней нейроконференции в ИПУ РАН (1998 г., март) рекомендовали аналитикам, не являющимся исследователями в области нейросетей, NeuroSolution, Neural Works Pro-II/+5.0 (фирмы NeuralWare) и NeurOn-Line (Gensym).

Платой за прикладную универсальность нейропакета будет либо его высокая цена, либо необходимость привлечения к работе высококвалифицированного аналитика. Чем сильнее развит интеллектуальный компонент и выше "прозрачность" нейропакета, тем он дороже. Так, комплекс The AI Trilogy (фирмы Ward System) с нейропакетом NeuroShell 2.0 продавался летом за 3500 долл.; впрочем, это характерно и для статистических пакетов. Серьезные требования предъявляются к качеству ведения используемой базы данных, особенно в случае ограниченного объема материала обучения, а также к производительности процессора ПК. Для пакета BMP последнее имеет значение при 20 входных показателях и более, так как время счета увеличивается примерно экспоненциально с ростом числа нейронов и обучающих примеров.

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

К недостаткам нейросетей относятся "непрозрачность" процесса их работы и трудности интерпретации результатов, а также то, что в них, в отличие от экспертных систем с логическим выводом при анализе и систем data mining, приходится приводить исходные данные к цифровой форме (как и для статистических пакетов). Кроме того, правильно настроенная нейросеть, хотя и может адекватно оценивать сходные ситуации, обычно плохо проводит анализ принципиально новых ситуаций, не представленных ранее примерами в материале обучения.

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

Возможные затруднения

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

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

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

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

  
Рис. 2. Комплект документации для BMP

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

Документация на пакет BMP, к сожалению, не полностью удовлетворяет этим требованиям: в ней подробно описаны многие моменты, которые интуитивно ясны и могут быть легко освоены методом проб и ошибок, а вот некоторые принципиальные вопросы представлены поверхностно. В связи с этим пользователю-аналитику, недостаточно хорошо знакомому с нейросетями, применять его будет довольно сложно. Именно поэтому серьезные фирмы создают хорошо организованную службу сопровождения - "горячую линию" по телефону, а также обучают пользователей приемам эффективной работы с программным продуктом. n

ОБ АВТОРЕ

Степанов Владимир Сергеевич - канд. физ.-мат. наук, старший научный сотрудник ЦЭМИ РАН, stepanov@cemi.rssi.ru, факс: 253-01-9