Использование нейронных сетей в инвестировании и трейдинге
Электронная нейросеть – это сеть, имитирующая работу биологической нейросети, то есть человеческого мозга. Правда, до уровня мозга человека сегодняшним электронным нейросетям ещё невероятно далеко. По своей сложности они с трудом дотягивают до уровня мозга улитки, далеко не самого интеллектуального представителя животного мира.
И в то же время, даже такие нейросети способны быть результативными, во многом превосходя возможности обычных компьютерных программ.
Отличие логической программы от нейросети
Подавляющее большинство программ на любых устройствах являются логическими и работают по чётко определённой формуле. Например, бухгалтерская программа берёт значения каждого дня и суммирует их в показатель месяца, затем берёт значения всех 12 месяцев и вычисляет сумму за год, среднее арифметическое и так далее.
Такие программы очень точны и оперативны, однако они не способны выйти за пределы своего алгоритма и мало пригодны для работы в меняющихся условиях. Например, если бы количество дней в месяце и недель в году было бы ежедневно меняющейся величиной, наша бухгалтерская программа тут же перестала бы корректно работать. А между тем, финансовые рынки как раз и предполагают такие постоянно меняющиеся условия. Поэтому и требуются новые решения, которые не только знают общий алгоритм, но и учитывают изменения. Подобным алгоритмом являются нейросети.
В отличие от стандартной «логической» программы, нейросеть способна учитывать изменения и отклонения от стандартных значений, улавливать тенденции и самообучаться, а самое главное – анализировать множество факторов.
Например: выходя из дома, человек решает, как ему одеться. За основу берётся последнее значение (то, как он одевался вчера). Однако вносятся коррективы с учётом показаний термометра (измеряемая величина), силы ветра, вероятности осадков (субъективно определяемые величины). А если с каждым днём температура падает на градус, нейросеть мозга определяет эту тенденцию, и человек предполагает, что скоро потребуется пальто.
Такие возможности очень привлекают инвесторов и трейдеров. В отличие от стандартного индикатора, нейросеть была бы способна почти полностью заменить трейдера, улавливая тренды, делая выводы и самокорректируясь. Поэтому постоянно предпринимаются попытки для того, чтобы создать такую программу, которая обладала бы возможностями нейросетей и была бы простой в использовании для трейдера.
Строение и обучение нейросетей
Биологическая нейросеть состоит из множества клеток – нейронов, которые соединены синапсами (отростками для передачи сигнала дальше по сети). При этом синапс, в отличие от обычного провода, выполняет не только функцию передачи, но также может усиливать либо ослаблять сигнал, корректируя его значимость для итогового анализа. Биологическая нейросеть может состоять из многих миллионов нейронов и синапсов, что является чрезвычайно сложной структурой.
Электронная нейросеть в целом повторяет структуру биологической. Она состоит из:
• Входных нейронов (поступление информации).
• Одного или несколько слоёв свободных нейронов (обычно не более 3).
• Выходных нейронов (выдача готового результата).
Роль синапсов в электронной нейросети играют так называемые сумматоры. Они придают поступающим значениям нужный коэффициент, который может меняться в обе стороны в процессе работы нейросети. Тот факт, что она сама корректирует значение этого коэффициента, и является сутью её обучения.
Нейросети делятся на простые и сложные (персептроны) в зависимости от количества слоёв нейронов (1 или более). Также они подразделяются на:
• Прямые.
• Рекуррентные.
Прямые нейросети предполагают, что сигнал идёт от входа до выхода по прямой, как поезд по рельсам. Рекуррентные допускают возможность, что полученное промежуточное значение может снова отсылаться на вход и проходить нейросеть с начала. Биологический мозг – рекуррентная сеть, и это одна из причин, почему понять принцип его работы почти невозможно.
Каждая нейросеть – это система анализа данных, в перспективе очень мощная и точная, но требующая специальной настройки (обучения). Причём, с учётом самообучения нейросети, её настройка не сводится к выставлению конкретных параметров, по которым она будет работать. Принцип обучения совсем иной:
• На вход подаётся некое значение.
• Заранее известно, какое значение должно быть на выходе.
• В случае, если выходное значение отличается от нужного, сеть корректируется, пока разница не станет минимальной.
Звучит нетрудно, но задача усложняется тем, что нейросеть не просто запоминает ответы 2*3=6, 7*10=70. Обучив её верно решать первый пример со значениями 2 и 3, разработчик переходит к обучению со входными данными 7 и 10, при этом в процессе обучения меняются веса (коэффициенты), в том числе, и для значений 2 и 3. Получается, что итоговым результатом должен стать такой набор коэффициентов, чтобы система давала верные результаты для большого количества входных значений с минимальной погрешностью, а это уже нетривиальная задача.
Вторым вариантом обучения нейросети является так называемый метод обратно распространения ошибки, когда полученное на выходе значение, если оно отличается от исходного, передаётся назад по тем же самым нейронам, по которым оно пришло на выход, и в процессе передачи веса этих нейронов увеличиваются или уменьшаются, затем следует новая попытка, и так до тех пор, пока результат не станет оптимальным.
Преимущества нейросетей
Главным преимуществом, как уже говорилось, является то, что нейросети обучаются самостоятельно. Они способны анализировать множество факторов одновременно (например, при биржевой торговле это будут данные и фундаментального, и технического анализа), прогнозировать ситуации, работать с самыми обширными базами данных, в том числе противоречивых.
Второе важное преимущество – высочайшая скорость анализа и возможность решать задачи, почти недоступные для обычных логических программ.
Недостатки нейросетей
Главный недостаток – то, что они могут работать только при наличии связей прошлого и будущего, то есть наличия неких циклов и трендов. Впрочем, при их отсутствии любой прогноз невозможен.
Для нейросетей характерны все проблемы статистических методов, потому что они работают на основе статистики. К таким проблемам относится, например, то, что положительный результат в прошлом не гарантирует такого же результата в будущем.
Чем сложнее нейросеть, тем больше она похожа на «чёрный ящик»: подавая что-то на вход, мы не можем предположить, что мы получим на выходе. А получая результат, не имеем никаких данных о том, каким способом он был получен.
Наконец, разработка нейросетей и нейрокомпьютеров стоит дорого, и чем мощнее такое оборудование и ПО, тем дольше и дороже его разработка, тем сложнее использование.
Кроме того, в области нейросетей нет и не может быть готовых коробочных решений по принципу «установил и работай». Каждый случай индивидуален, требует знаний, навыков и длительной настройки.
Нейросеть в трейдинге: перспектива или реальность?
Сами по себе программы, работающие по принципу нейросети, сегодня не редкость. Это, например, NeusoShell, NeuroLab или NeuralWorks. Такое и подобное ПО уже активно используют банки для прогнозирования изменений в экономике, страховые компании, высчитывающие риски. А в Британии был проведён эксперимент, в ходе которого нейросеть на реальных случаях 300 тысяч пациентов просчитывала риск сердечных заболеваний, и результат оказался точнее, чем у врача-человека.
Ещё одна сфера, где нейросети явно лидируют – распознавание лиц. Двухлетний малыш, используя биологическую нейросеть мозга, мгновенно и безошибочно отличает родителей от незнакомых людей, в то время как для логических программ, даже очень мощных, это с трудом решаемая задача.
Активно используют нейросети и поисковые системы Яндекс и Google, для которых самообучаемость программ стоит на самом первом месте.
Однако указанные выше недостатки нейросетей всё же заметно тормозят их развитие.
Что касается конкретно трейдинга, то уже установлено, что электронные нейросети дают очень плохие результаты на краткосрочных масштабах. Однако трейдеров и инвесторов это вряд ли способно удивить, потому что ни один другой алгоритм на малых масштабах тоже не даёт высокой точности. Кстати, точность нейросетевых алгоритмов для трейдинга составляет около 50-60%, но и это вполне привычно, потому что у стандартных индикаторов не выше.
В целом можно сказать, что главная причина, по которой трейдеров и инвесторов привлекают нейросети – это их гигантский потенциал и перспективность. Уже сегодня ничто не мешает воспользоваться подобной программой и попытаться построить модель для анализа рыночных данных, причём такая попытка вполне может оказаться успешной. Но ещё больших изменений можно ждать впереди, когда произойдёт развитие нейросетей и, вполне возможно, именно они станут главным рабочим инструментом трейдера.
Перспектива развития нейросетей выглядит жутковато. Самообучающийся алгоритм. Более скоростной, адаптивный, но не имеющий единого центра принятия решений (сколько создателей — столько и нейросетей). Не обременённый чувствами и моралью. Я пессимист ?