Нейросети: современное оружие финансовых баталий.
Михаил Болдырев
“...стреляйте, только тихо! "
(Солдат Швейк)
Нейросетевые технологии, применяемые в финансовом анализе, давно перестали быть модной экзотикой и вызывать недоумение специалистов. От вопросов " а нужно ли это? " аналитики, ответив “да, нужно!" постепенно перешли к вопросам “как же это все-таки работает и как выбрать подходящий инструмент?" В мире накоплен громадный опыт применения нейросетей, сто из ста западных финансовых и промышленных компаний применяют нейротехнологии в том или ином виде. В России же еще год назад найти приличный нейропакет было весьма непросто. Однако к настоящему времени барьер недоверия сломлен, появились обнадеживающие результаты решения различных аналитических задач с элементами нейротехнологий в условиях суровой российской действительности. Сегодня аналитики могут выбрать себе систему построения прогнозов соответственно своему вкусу, кругу решаемых задач и финансовым возможностям. Чем стоит руководствоваться при выборе того или иного программного продукта в бурных волнах программного рынка? Если мы рассмотрим набор предложений, то обнаружим, что различные научно-ориентированные издания типа каталога 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-процессор для обработки приложений.
Все перечисленные элементы предоставляют возможность конструировать независимые нейросетевые приложения любой сложности.
На рисунке показан внешний вид модуля Neuro Shell : процесс решения задачи.

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. Результат работы, тем не менее, разный. Если вооружиться калькулятором (обычным, не “нейро”), то можно без труда выяснить, насколько быстро и надежно окупится применение вами того или иного новшества.
Выбор за вами.


