Нейросети и
анализ временных рядов. В части, касающейся финансистов... Михаил Болдырев, ТОРА-Центр Нейросетевые технологии, применяемые в финансовом анализе, давно перестали быть модной экзотикой и вызывать недоумение специалистов. От вопросов “ а нужно ли это? ” аналитики, ответив “да, нужно!” постепенно перешли к вопросам “как же это все-таки работает и как выбрать подходящий инструмент ?” В мире накоплен громадный опыт применения нейросетей, сто из ста западных финансовых и промышленных компаний применяют нейротехнологии в том или ином виде. В России же еще год назад найти приличный нейропакет было весьма непросто. Однако к настоящему времени барьер недоверия сломлен, появились обнадеживающие результаты решения различных аналитических задач с элементами нейротехнологий в условиях суровой российской действительности. Сегодня аналитики могут выбрать себе систему построения прогнозов соответственно своему вкусу, кругу решаемых задач и финансовым возможностям. Чем стоит руководствоваться при выборе того или иного программного продукта в бурных волнах программного рынка? Если мы рассмотрим набор предложений, то обнаружим, что различные научно-ориентированные издания типа каталога 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. Результат работы, тем не менее, разный. Если вооружиться калькулятором (обычным, не “нейро”), то можно без труда выяснить, насколько быстро и надежно окупится применение вами того или иного новшества. Выбор за вами TORA-Centre (c) 1995-98 . |