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