Главная Мир Форекса Статьи Нейросети работа над ошибками

Как-то раньше я уже писал про нейросети Форекс. Та статья называлась Нейросети. Будущее торговли? Недавно опять наткнулся на информацию о нейросетях, поэтому решил развить тему и написать большую и обширную статью, тем более, что мне есть от чего отталкиваться. Нейросети Форекс вот уже на протяжении последних десяти лет активно применяются различными специалистами для финансового анализа. Но что интересно. Казалось бы, технологии дорогостоящие и могут умереть, даже не развившись как следует.

Но на самом деле наблюдается совершенно иная картина. Интерес к нейросетевым технологиям неуклонно растет каждый год. Нейронные сети являются хорошим ориентиром, когда на рынке много шума, неопределенность. Поэтому их, в основном, используют в качестве дополнения к ставшему уже привычным техническому анализу Форекс. А все потому, что тех элементов технического анализа, которые входят в стандартный пакет почти любого трейдера в современных условиях быстро меняющегося рынка, становится недостаточно, так как часто возникает множество противоречивых сигналов.

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

Нейронные сети в России

На сегодняшний день, несмотря на то, что нейронные сети до сих пор остаются дорогим удовольствием и в плане изучения, и в плане применения в торговле, все равно существует достаточно много нейросетевых программ. Правда, недостатком этих программ является их отдаленность от решения задач финансового анализа. Я долго анализировал опыт применения нейросетевых программ на российском рынке и должен сказать, что не все нейротехнологии способны дать положительный результат. Как правило, хорошо отзываются о нейропакетах Brain Maker, NeuroShell и NeuroScalp.

BrainMaker – это программный комплекс, с которого, собственно, и началась история применения нейронных сетевых программ в России. Это профессиональный пакет, в котором реализованы многочисленные задумки разработчиков в плане создания многослойной нейронной сети. К тому же, данный программный комплекс является универсальным в своем роде, потому что здесь можно настраивать многочисленные параметры нейронных сетей, а также различных вариантов обучения. Правда, за последнее время наблюдается прогресс другой программы TradeStation, которая постепенно вытеснила BrainMaker и теперьо этот пакет, в основном, используется лишь в качестве надстройки TradeStation. Как правило, для проведения анализа в режиме реального времени.

NeuroShell. Отличительные особенности этой программы заключаются в том, что этот модуль был первым переведенным на русский язык нейросетевым софтом, который ко всему прочему, имел достаточно удобный интерфейс. Все это способствовало тому, что программа завоевала широкую популярность на российском рынке. Сегодня этот софт применяется для решения задач по финансовому анализу. Например, в программу встроен модуль рыночных индикаторов, за счет которого имеется возможность использовать более 20 индикаторов технического анализа в то время, когда вы будете работать с нейросетью. Как правило, весь софт NeuroShell разработан и применяется по модульному принципу. Базовым здесь является модуль классического технического анализа. В этот модуль инсталлируются различные прикладные модули, с помощью которых можно по-разному анализировать финансовые рынки. Сегодня есть различные модули, но основными являются:

- NeuroScalp – «Экспертный модуль». Это модуль, который предназначен для работы с российским рынком акций. В него инсталлированы нейросети специально для трех российских ценных бумаг: РАО Газпром, НК Лукойл и РАО ЕЭС Росиии.

- NeuroScalp «Модуль Статистика» - этот модуль применяется в основном для статистической обработки данных и проведения финансового анализа

- NeuroScalp «Модуль Нейронных сетей» - это специальный эмулятор, который имитирует многослойные нейронные сети за счет применения в своей работе генетических алгоритмов

- NeuroScalp «Модуль Карты Ко-хонена» - как видно из названия, данный модуль основан на реализации карты Кохонена в некоторых приложениях к валютному рынку

NeuroScalp. Это модуль, имеющий удобный и понятный интерфейс и который предлагает своим пользователям большое количество методов, которые могут потребоваться для реализации всевозможных идей пользователя. Так как данный пакет более функциональный, чем предыдущие, то в последующем для иллюстрации примеров я буду использовать именно его. Конечно, как и все новое, нейросети обратили на себя внимание большинства трейдеров и аналитиков валютного рынка Форекс. Но понятно, что массовое использование этой технологии все равно не дало возможности избежать типовых ошибок и различных «подводных камней».

Что я хочу дать понять в этой статье? Моей целью здесь является дать возможность нашим читателям понять все существующие методы работы с нейронными сетями. Понятно, что я не смогу рассказать обо всех мелких деталях. За этим вам лучше обратиться в многочисленные книги, либо записаться на тематические семинары по теории и практике нейронных сетей. Кроме того, я постараюсь показать те ошибки, которые наиболее часто встречаются в практике использования нейронных сетей. Я очень надеюсь, что эта информация будет полезна нашим читателям, независимо от того, к какой категории трейдеров они относятся: новички или профессионалы. Также я поэтапно рассмотрю все этапы существования нейросети, начиная от момента ее создания и до момента внедрения в торговлю. Причем на каждом этапе использования нейронных сетей мы будем анализировать типичные ошибки, которые возникают при использовании этого инструмента. Кроме этого я постараюсь дать советы и рекомендации, которые помогут вам избежать этих ошибок.

Что умеют делать нейросети Форекс

Прежде всего, как и в любой работе, мы должны определить, что мы именно хотим получить в результате работы с нейросетью. Как правило, классификация задач, которые способны решать нейросети Форекс проводится по дискретным методам (классификация) и непрерывным выходам (предсказания). Но это не все задачи, которые решают нейросети Форекс. Есть и ряд других, не менее важных задач. К таким задачам относят:

- исследовательская деятельность в области определения направления движения цены
- разработка торговых сигналов
- оценка поведения торговых индикаторов
- разработка системы, на основе которой можно было бы определить уровни, на которых должны расставляться стопы
- определение «похожих» дней
- прогноз и работа в области предсказания прихода кризиса

Все эти задачи, но особенно последние достаточно хорошо решаются за счет использования парадигмы нейронной сети – самоорганизующихся карт Кохонена. Думаю, в будущем я еще найду время на изучение подробно этой темы. Когда мне будет что рассказать, то обязательно сделаю отдельную статью на эту тему.

Как мы уже определились, самой главной целью использования нейронных сетей является разработка торговых сигналов. А настроить генерацию этих сигналов – это очень сложная задача. Для этого нужно углубленно изучать рынки и нейросети в частности. Поэтому я не хочу сразу лезть в дебри, а постараюсь научить избегать самых простых ошибок, при выполнении важных задач – прогнозировании цен и индикаторов.

Использовать Close в качестве выхода – это не совсем верно

Всегда, когда нам необходимо выйти из рынка, мы должны комплексно оценить создавшуюся ситуацию. Мы должны уметь делать предварительный анализ и оценивать правильно свои возможности. Для примера можно провести исследования на предмет прогнозирования цен High, Low и Close для определенного рынка, например, рынка акций на день вперед. В результате проведенных исследований был сделан вывод, что цена Close оценивается на будущее самым худшим образом и к тому же имеет наибольшую ошибку. В свою очередь, цены High и Low для различных активов прогнозируются с меняющимся успехом. То, что были сделаны выводы относительно худшего прогнозирования цены Close, обосновывается на мнении, что последние сделки на рынке совершают только крупные операторы. Мелкие торговцы боятся это делать. Следовательно, поведение этой категории участников рынка с трудом будет поддаваться формализации.

В итоге возникает вполне закономерный вопрос: что нам нужно прогнозировать? Относительные или абсолютные значения? Я немного порылся в литературе и вот что нашел на этот счет. Этот пример я нашел в одной из книг. Так вот, допустим, мы прогнозируем цену на актив, текущая стоимость которого составляет порядка $100, а средние дневные колебания составляют примерно 1.5$. Для этого мы будем тренировать две нейросети. Одну из них мы приспособим в качестве выхода абсолютную цену, а другую – ее изменение. Через некоторое время после обучения первая нейронная сеть будет иметь почти стопроцентную точность – 98%, а вторая лишь 60%. Что из этого следует? Только то, что абсолютные значения дают куда лучший результат, чем относительные. Вы поверили? Вы считаете, что это действительно так? А на самом деле ведь это не так. Знаете, почему? Потому что точность 98% при стоимости 100$ составляет $2. А это значительно больше, чем средние дневные колебания исследуемых нами активов. Получается, что фактически прогноз отсутствует. Что касается точности 60%, этот показатель от изменения цены составляет $0,6. Именно этот прогноз и будет нас удовлетворять больше всего.

Как видите, не так все просто, как могло бы показаться на первый взгляд. Поэтому авторы многих книг делают выводы, что не нужно делать упор на абсолютное значение, а нужно, в первую очередь, прогнозировать изменение цены. Поэтому во многих книгах вы найдете призывы автора прогнозировать именно цену. И опять же вопрос вам, уважаемые читатели: как думаете, это правильно? Отвечу: нет, неправильно! Опять же, если верить многочисленным опытам, то лучшие показатели формируются на основе прогнозируемых вариантов выхода.

Лучше использовать две нейросети с одним выходом, чем одну нейросеть Форекс с двумя выходами

Хотелось бы отметить, что для того, чтобы избежать ошибок в будущем, желательно использовать только один выход. Такая особенность определения состоит в том, что когда мы будем обучать нейросеть Форекс, то каждый выход будет пытаться настроить сеть под себя. А это негативно скажется на других выходах. Говоря проще, этот выход будет мешать другим выходам. В общем, если не углубляться в основы, то стоит учесть тот факт, что сеть с двумя выходами идут параллельно друг другу. Что это означает? Лишь то, что нейронная сеть с двумя выходами дает нам сомнительное представление о усредненном параметре, а не High и Low, как изначально мы ожидали. А если говорить про нейросети Форекс для цен Low и High, то они в данном случае независимы и в плане предсказания результатов, достоверных результатов, подходят лучше всего.

Так что же в таком случае подавать на вход?

Не менее важным этапом в подготовке является определение состава входов. И очень интересно, что здесь опять же возникают типичные ошибки, которые одно время старательно культивировались прессой. Дело в том, что многие жили по принципу «вали все на нейросети Форекс, а они сами разберутся, что им нужно, а что нет». Странно, почему многие считали такой подход правильным. Конечно, если говорить объективно, то нейронные сети Форекс умеют отсеивать незначимые входы. Но дело в том, что если «лишних» входов станет очень много, то это негативно скажется на работе всей сети, затруднит ее обучение. А самое главное то, что в результате этого снизится эффективность и достоверность прогноза. Если будет создаваться большое количество «левых» входов, то в результате нейронная сеть Форекс будет работать по принципу «сегодня будет как вчера, а завтра будет как сегодня». Именно по этой причине нужно очень аккуратно подходить к вопросу добавления новых входов.

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

Как правило, самой большой проблемой при определении состава входов является возможность определить, сколько нужно «погружаться» для величины временного окна. Именно отсюда вся информация подается на вход нейросети. И какое количество свечей подавать на вход, для того чтобы наиболее качественно обучить нейросеть Форекс? Вопрос не из легких. Ответ на него вы сможете получить лишь в результате собственных экспериментов. Причем, эта величина должна быть адекватной прогнозируемому периоду. Например, если вы планируете прогнозировать развитие ситуации в течение дня, то наиболее правильной глубиной погружения будет временной период в 5-20 дней.

Стоит заметить еще один важный нюанс. Дело в том, что большинство популярных нейропакетов имеют функцию определения чувствительности по входам. Именно эта функция рекомендуется разработчиками нейронных пакетов в качестве универсального способа отсеивания «лишних» входов. Но опять же, здесь нужно учитывать тот момент, что эта функция не является панацеей, и если вы будете использовать ее в автоматическом режиме для определения состава входов, то в данном случае вреда может быть больше, чем пользы. Обусловлена такая особенность тем, что до сих пор не решена проблема определения чувствительности по входам, но не для простых, а для многослойных нейросетей Форекс. А потом решается эта проблема всевозможными эмпирическими способами и алгоритмами. Вот по этой причине мы советуем использовать данную возможность нейросетей Форекс с особой осторожностью, причем, полученные результаты лучше проверять другими, косвенными методами. Например, можно использовать статистические методы. Это как вариант.

Из чего состоят нейросети Форекс. Параметры обучения

Построить архитектуру сети – это опять же тема не одной статьи. Но вообще, нет какой-то универсальной рекомендации, следуя которой, вы смогли бы успешно торговать с применением нейросетей Форекс. Поэтому архитектура сети – это личное. Это те параметры, которые рассчитываются на основе знаний и полученного опыта торговли. Единственное, что я могу сказать по данному поводу – это то, что сеть должна иметь разумные размеры.

Если говорить конкретнее, то такие:

- максимально допустимое число применяемых нейронов 30-40
- максимально допустимое число скрытых слоев 3-4
- в большинстве случаев, объем входных данных должен быть больше, чем количество нейронов

Как правило, многие новички заблуждаются по поводу количества нейронов. Они думают, что чем больше нейронов, тем достовернее будет прогноз нейронной сети Форекс. А это, на самом деле, является ошибкой. Чем больше будет нейросеть Форекс, тем сложнее она будет обучаться. Например, если есть сеть с 50 входами и 20 нейронами, то для такой сети нужно будет оптимизировать в 1000-мерном пространстве. Кроме того, если нейросеть будет чрезмерно большая, то это приведет к тому, что она попадет в локальные, а не глобальные минимумы функции ошибки. Ну, и, соответственно, будут становиться меньше обобщающие свойства сети. То есть, по сути нейросеть Форекс начинает запоминать обучающую выборку. А это, в свою очередь, приведет к существованию штампов. Чтобы избежать запоминания, нужно, чтобы объем данных был достаточно обширным. К примеру, если собираетесь прогнозировать на следующий день рынок акций, то нужно, чтобы выборка была примерно около 200-250 дней.

Готовим данные

Теперь у нас следующий этап. На этом этапе мы будем готовить данные. Но здесь стоит учитывать важный нюанс. Дело в том, что за последние годы динамика валютного рынка претерпела существенные изменения. Прежде всего, на нее повлияло развитие интернета и других средств коммуникаций. Все эти вещи сделали валютный рынок более динамичным. А поэтому возникла необходимость использовать специальные механизмы обучения, которые ориентированы на более свежие данные. Но помимо этого, нужно учитывать еще одну особенность. Дело в том, что те данные, которые мы берем в качестве исходных, не должны противоречить друг другу. Следовательно, чтобы решить эту проблему, нам потребуется увеличить количество входов. Далее, по мере ценообразования рынка и перехода его на новые уровни, нужно подстраиваться под новые данные и переобучать нейросети Форекс на основе новых данных.

Как обучать нейросети Форекс

Как правило, обучить нейросеть Форекс не представляет трудности. Правда, при этом следует учитывать некоторые нюансы. Например, нужно помнить, что обучение нейросети Форекс – это дело не одного дня. Это длительный процесс, который требует постоянного мониторинга и совершенствования нейросети. Кроме этого нужно понимать и еще некоторые вещи. Например, то, что при обучении вам придется столкнуться и с другими трудностями, наподобие того, что придется переучивать нейросеть Форекс. А иногда вы просто можете попасть в локальные минимумы со всеми вытекающими отсюда последствиями. Чтобы процесс обучения шел как можно быстрее, можно использовать следующие способы:

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

Как я заметил, в большинстве случаев в процессе обучения и подбора наиболее действенной архитектуры нейросети Форекс используют генетические алгоритмы. Эти элементы на сегодняшний день являются наиболее яркими представителями класса эволюционных методов и, если так разобраться, служат алгоритмом, который помогает находить глобальные экстремумы произвольной функции. Другими словами, алгоритмы представляют собой модель, которая самостоятельно обучается за счет размножения живых организмов за счет элементарного естественного отбора. Когда речь идет об этих алгоритмах, то впору применять такие понятия, как популяция, особь, наследование, а также мутация. Механизм действует так. Сперва выдвигаются самые различные решения. Затем в результате действий наиболее правильные и сильные решения объединяются. А это в свою очередь дает толчок к рождению новых решений, тогда как слабые погибают. Такие методы дают возможность обучать большие нейросети Форекс, игнорируя возможные проблемы локальных минимумов.

По поводу ошибок нейросетей Форекс

Если вы правильно обучаете нейросеть Форекс, то наиболее важные ошибки будут связаны с недостатком входной информации, а также глобальным изменением состояния того объекта, который мы собираемся прогнозировать. Как и в каждом правиле, здесь есть свои исключения. Например, важно понимать, что могут прогнозировать нейросети Форекс, а что нет. По крайней мере, такие события, как отставка премьер-министров, локальные катастрофы, войны, а также многие другие фундаментальные факторы нейросети не смогут спрогнозировать. Но даже в этом случае, нейросети Форекс будут чрезвычайно полезны. Полезны в том, что помогут получить два варианта прогноза – с возможным вариантом развития событий без переломного момента, и с ним. В результате этого у трейдера будут ценовые уровни при различных вариантах развития ситуации. А вот уже на основе этих данных уже будет выбираться отдельные варианты прогнозирования.

Что можно требовать от нейросети Форекс

Наконец, мы подошли к наиболее интересному и ответственному этапу работы с нейросетью – оценкой результатов. Но только в том случае, если мы будем определять, куда движется цена, и если после того, как мы провели весь комплекс обучения нейросетей Форекс, они выдают правильные прогнозы в 60% случаев, оценку их работы можно считать положительной.

Конечно, начинающему трейдеру будет затруднительно натренировать нейросеть Форекс до такого уровня, поэтому поначалу в своей работе желательно ориентироваться на профессионалов. Опытные трейдеры всегда смогут дать правильную оценку и получить за счет этого прибыль. Как правило, когда говорят про качество прогноза, имеют в виду допустимую среднюю ошибку и коэффициент корреляции. Я не раз видел, что в книгах сравнивают нейронные технологии и стандартные статистические методы. Так вот, в одной из книг было показано, что достаточно часто нейросеть показывает очень стабильный и качественный результат, чем те же модели ARMA, TAR и некоторые другие. Но проблема в том, что сравнить технический анализ Форекс и нейронные методы совсем не просто. Можно даже сказать, что практически невозможно. Все дело в том, что нейросети Форекс способны работать с данными, которые по своей сути противоречивы, а также с неполными данными. В результате оценки таких данных нейросети пытаются дать точные прогнозы цен и различных индикаторов за какой-то период времени. Если говорить про технический анализ, то он интерпретирует текущенее состояние цен, ориентируясь на различные априорные модели.

Нейросеть – это оружие в руках профессионала!

В статье много сказано, но если вы не поймете, какова истинная ценность нейронных технологий, то вряд ли сможете успешно применять полученные знания на практике. Самая главная ценность заключается в том, что нейронные технологии дают возможность прогнозировать развитие событий в будущем. Но вопреки мнению, что нейросети Форекс способы давать прогноз с практически 100%-й точностью, это не волшебная палочка, поэтому думать все равно придется. Почему? Да потому что от того, как вы обучите нейросети, зависит качество будущих прогнозов. Поэтому учитесь, думайте и, в конечном итоге, зарабатывайте.

В заключение немного истории о развитии нейронных технологий

Вообще сама идея обработки информации по образу устройства нервной системы родилась достаточно давно. Считается, что более 50 лет назад. Впервые в 1943 году американские ученые Питтс и Маккалох нашли разумное объяснение деятельности головного мозга, а также смогли составить математическую модель нейрона. Они придерживались мнения, что головной мозг (а именно он рассматривался в фокусе нервной системы) состоит из множества простых элементов – нейронов. Все эти элементы связаны единой структурой. Спустя 15 лет в 1958 году Розенблатт продолжил исследования ученых и реализовал их замыслы в электронном устройстве, которое имело название «Марк-1». Это устройство умело распознавать буквы, а также анализировать примеры и учитывать их в будущем.

Технология привлекла к себе внимание военных, которые постепенно поставили ее на поток, в результате чего нейронные технологии получили дальнейший толчок к развитию. Правда, через некоторое время выяснилось, что есть некоторые ограничения, которые имели существующие алгоритмы. Эти ограничения не давали возможности с достаточной долей точности решать некоторые важные задачи. В 1969 г. выяснилось, что эти ограничения невозможно устранить. Именно это открытие привело к тому, что более 20 лет к нейронным технологиям интерес был практически потерян.

И только лишь в начале 80-х годов за счет упорства ученых Хехт-Нильсена и Хопфилда разработки в области нейронных технологий возобновились. Причем, некоторые наработки, которые были достигнуты за счет этого, стали успешно внедряться в практику. Через 5 лет ученые нашли оптимальный способ обучения нейронных сетей. Этот способ получил назание обратного распространения. Кстати, если будете читать зарубежную литературу, то там этот способ известен под названием Back Propagation of Error. Этот алгоритм был сформулирован американскими математиками Хинтоном и Румельхартом.

Читайте также Форекс котировки Forex котировки Котировки форекс Русские олигархи Форекс тренд Начинающий трейдер Энергетический кризис Трейдеры форекс Форекс в россии

Источник

 
Яндекс.Метрика