Вы находитесь на странице: 1из 5

Нейросети и анализ временных рядов.

В части, касающейся финансистов...

Михаил Болдырев, ТОРА-Центр

Нейросетевые технологии, применяемые в финансовом анализе, давно перестали быть


модной экзотикой и вызывать недоумение специалистов. От вопросов “ а нужно ли это? ”
аналитики, ответив “да, нужно!” постепенно перешли к вопросам “как же это все-таки
работает и как выбрать подходящий инструмент ?” В мире накоплен громадный опыт
применения нейросетей, сто из ста западных финансовых и промышленных компаний
применяют нейротехнологии в том или ином виде. В России же еще год назад найти
приличный нейропакет было весьма непросто. Однако к настоящему времени барьер
недоверия сломлен, появились обнадеживающие результаты решения различных
аналитических задач с элементами нейротехнологий в условиях суровой российской
действительности. Сегодня аналитики могут выбрать себе систему построения прогнозов
соответственно своему вкусу, кругу решаемых задач и финансовым возможностям. Чем
стоит руководствоваться при выборе того или иного программного продукта в бурных
волнах программного рынка? Если мы рассмотрим набор предложений, то обнаружим, что
различные научно-ориентированные издания типа каталога PC Select снабдят вас
информацией о десятках и сотнях разнообразных нейросистем. Специализированные
издания вроде каталога Wall Street & Technology Byer’s Guide ограничат ваш выбор уже
полутора десятками. А крупные западные банки класса City Bank of New York почему-то
останавливают свой выбор на единицах , в числе которых, например, система Ward
System. Это позволяет сделать вывод о существовании для аналитических продуктов
некоторого набора специфических требований, выполнение которых является
практическим программным стандартом.

Давайте посмотрим на примере системы Ward System. возможности современных


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

1. Как ЭТО работает ?

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


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

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

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

Это вопрос гибкости работы и дальнейшего развития программного продукта. Существует


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

Ward System представляет собой именно систему создания нейросетей, состоящую из


трех функционально независимых модулей: конструктор сетей Neuro Shell, оптимизатор с
использованием генетических алгоритмов Genetic Hunter (поставляется как приложение
под Excel 5(6) ), набор библиотек для разработки приложений Neuro Windows,
содержащий библиотеки для C, Visual Basic, Access, Excel и 32-битных приложений. В
качестве опций также поставляются блок построения технических индикаторов и batch-
процессор для обработки приложений.

Все перечисленные элементы предоставляют возможность конструировать независимые


нейросетевые приложения любой сложности.

3. А что внутри ?

Нейросети.

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

Ward System содержит


15 нейросетевых
алгоритмов,
объединенных в 5
основных групп. Стоит
обратить внимание на
наличие “сетей
Кохоненна”,
незаменимых для
решения задач
кластерного анализа,
сетей со
стохастическими
алгоритмами обучения
(прекрасно обучаемых
на неполных данных,
каковые, увы,
встречаются в России
весьма часто) и двух
вариантов
рекуррентных сетей, включая оригинальную технологию Ward, обладающих свойством
“ассоциативной памяти” и прекрасно решающих задачи временных прогнозов.
Не последнюю роль в Ward System играют также методы обучения конструируемых сетей.
Хорошо продуманные способы задания тестовых множеств в сочетании с несколькими
вариантами обучающих алгоритмов - от стандартных до скоростных и заданием
различных критериев остановки обучения предоставляет широкие возможности для
экспериментов .

Конвертеры.

Все современные нейропродукты содержат ту или иную систему конвертеров,


позволяющих пользоваться данными, подготовленными в популярных исходных
форматах. Ward System может импортировать текстовые файлы, таблицы, подготовленные
в Excel и Lotus, двоичные файлы известного формата, а также данные в формате Meta
Stock. Стоит заметить, что Meta Stock - не только программный продукт, но и формат
деловой информации, популярный во всем мире и славящийся высокой компактностью
данных в сочетании с надежностью их передачи. По наличию конвертера Meta Stock
вообще можно судить о степени проработанности аналитического продукта. Итак,
продуманная система конвертеров сама по себе избавляет вас от большой головной боли в
деле подготовки данных.

Работа с текстами.

Представьте, что у вас возникла необходимость предъявлять сети к обучению не только


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

Ward System предоставляет также возможность обратной операции, т.е. представления


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

Задание правил в явном виде.

Представьте другую задачу: часть правил, которыми вы пользуетесь, уже задана явно. И
неплохо бы предъявить эти праила для обучения нейросети. С другой стороны,
представление результатов работы в нейросети в виде чисел также не всегда удобно и
может потребовать дополнительных преобразований данных. Для случаев, когда вы
располагаете правилами, которые можно представить в виде “если... - то... иначе...” , в
системе Ward System предусмотрена возможность задания таких правил и до работы
нейросети, и после. Таким образом можно задавать различные ограничивающие и
решающие условия в процессе решения задачи данным инструментом.

Другой способ задания правил в Ward System - работа с индикаторами технического


анализа. Давно известно, что включение технических индикаторов в процесс обучения
существенно повышает не только точность прогнозов, но и их стабильность и
статистическую достоверность. Однако постоянные упражнения с табличными
процессорами в этом благородном занятии отнюдь не способствуют экономии ваших сил и
времени. Для решения этой проблемы в Ward System существует блок Market Indicator
Package. Весьма полный их список с возможностью автоматического подбора параметров
и переноса выбранных значений в подготовленный набор входных данных существенно
облегчают работу аналитика.
Оптимизация решений с помощью генетических алгоритмов пакета Genetic Hunter.

Применение генетических алгоритмов в процессах оптимизации решений, а также их


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

4. Задача решена. Что дальше ?

После того, как пройден весь цикл решения задачи, существует два пути: пользоваться в
дальнейшей работе блоком Neuro Shell, что вполне приемлемо для одного специалиста,
решающего некоторый круг задач, либо создать для каждой задачи независимое
приложение в виде отдельного файла, который может использоваться другими
программами и представляет собой “упакованную” нейросеть с описанными функциями
передачи данных и команд управления. Генерация такого приложения занимает, кстати,
несколько секунд. Дальше поле деятельности остается за библиотекой Neuro Windows,
благодаря которой можно для каждого пользователя в вычислительной системе, которому
требуется решение данной задачи, создать “экран” в соответствии с его вкусом и
пожеланиями. То есть если решается проблема постановки работы всего аналитического
отдела, то во-первых, отпадает необходимость приобретения отдельного пакета на каждое
рабочее место, во-вторых, отпадает необходимость достаточно долгого и дорогостоящего
обучения каждого сотрудника отдела работе с нейросетями, в-третьих, помимо своей
законченности система приобретает весьма важное свойство - становится весьма
“человеконезависимой”, что благоприятно сказывается на качестве решаемых задач.

5. Удобство работы.

Если вы проводите за клавиатурой по нескольку часов в день, то это свойство не


покажется вам излишним. Качество написания интерфейса программы и его
продуманность в первую очередь определяют тот момент, когда программа полетит в
корзину. И если речь идет о достаточно дорогом программном продукте, не претендующем
на такой полет, то к выбору оружия “по руке” стоит отнестись серьезно с самого начала.
Как и к проблеме аппаратной совместимости. Если уж написано : “PC-совместимый
компьютер” - значит так и должно быть для всех “совместимых”. То же касается и
вопросов наличия внятной документации, и уровня организации поддержки фирмой -
производителем. У системы Ward System здесь все безупречно. Как правило, серьезные
фирмы блюдут свою репутацию, и рекомендации их клиентов могут стать лучшим
аргументом для вашего выбора.

Кстати, думаю, вам будет интересно узнать о том, что фирма - разработчик Ward System
готовится провести в самое ближайшее время презентацию русской версии системы. Что
ж, большому кораблю, как говорится...

6. Требования к специалистам, работающим с нейросетями.

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

Судя по описанным свойствам, можно оценить систему Ward System как выбор, близкий к
оптимальному среди нейронных сетей. Во всяком случае, по соотношению
“цена/функциональные возможности” на горизонте ничего похожего не наблюдается.
Кстати , о цене. Многочисленный опыт применения разнообразных программных
продуктов, как удачных, так и “вовсе нет”, показывает, что дешевых решений здесь искать
не стоит. Нейросетей существует 28 различных типов. Все они объединены в 5 основных
групп, все или почти все они в том или ином виде содержатся во всех нейропакетах - от
500-долларового Neuralist до системы Falcon за $ 1500000. Результат работы, тем не менее,
разный. Если вооружиться калькулятором (обычным, не “нейро”), то можно без труда
выяснить, насколько быстро и надежно окупится применение вами того или иного
новшества.

Выбор за вами