вкр_ященко (1204297), страница 4
Текст из файла (страница 4)
2.5 Использование нейронных сетей для торговых операций
В современном мире всё с большей остротой проявляется интерес к качественному прогнозированию финансовых рынков. Это связано с быстрым развитием высоких технологий и, соответственно, с появлением новых инструментов анализа данных. Однако тот технический анализ, которым привыкли пользоваться большинство участников рынка, не эффективен. Прогнозы на основе экспоненциальных скользящих средних, осцилляторах и прочих индикаторах не дают ощутимый результат, т.к. экономика часто бывает иррациональна, потому что движима иррациональными мотивациями людей.
В последние годы, у финансовых аналитиков стали вызывать большой интерес так называемые искусственные нейронные сети – это математические модели, а также их программные или аппаратные реализации, построенные по принципу организации и функционирования биологических нейронных сетей – сетей нервных клеток живого организма. Это понятие возникло при изучении процессов, протекающих в мозге при мышлении, и при попытке смоделировать эти процессы. Впоследствии эти модели стали использовать в практических целях, как правило, в задачах прогнозирования. Нейронные сети не программируются в привычном смысле этого слова, они обучаются. Возможность обучения – одно из главных преимуществ нейронных сетей перед традиционными алгоритмами. Технически обучение заключается в нахождении коэффициентов связей между нейронами. В процессе обучения нейронная сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение. Способности нейронной сети к прогнозированию напрямую следуют из ее способности к обобщению и выделению скрытых зависимостей между входными и выходными данными. После обучения сеть способна предсказать будущее значение некой последовательности на основе нескольких предыдущих значений и/или каких-то существующих в настоящий момент факторов. Следует отметить, что прогнозирование возможно только тогда, когда предыдущие изменения действительно в какой-то степени предопределяют будущие. Например, прогнозирование котировок акций на основе котировок за прошлую неделю может оказаться успешным, тогда как прогнозирование результатов завтрашней лотереи на основе данных за последние 50 лет почти наверняка не даст никаких результатов.
Использование нейронных сетей в форекс экспертах позволяет осуществлять прием нескольких потоков информации и на выходе получать один результат.
Прежде чем использовать нейронную сеть при форекс прогнозировании, нужно ее обучить нахождению и корректировке паттернов. Процесс обучения и тестирования является довольно требовательным по временпи, но обеспечивает возможность нейронной сети прогнозировать будущую ситуацию на основе данных ретроспективы. При возникновении пар данных на входе и на выходе нейронная сеть обучается выявленным зависимостям и применению этой зависимости к вновь поступившим данным. Таким образом, сеть сопоставляет полученный результат со своим прогнозом и может осуществить возврат для настроек значимости определенных зависимостей до тех пор, пока не получит правильные выводы.
Для «тренировки» нейронной сети используются два разных набора данных: набор для обучения и набор для тестирования. Преимуществом нейросетей является то, что процесс обучения в них идет постоянно, путем сопоставления своих прогнозов с поступающими данными. Дополнительно к этому нейронные сети комбинируют фундаментальные и технические данные для их оптимального использования. Сети обладают достаточной собственной мощностью для выявления неучтенных паттернов и их дальнейшего применения в прогнозировании для достижения максимально точного выходного результата.
Однако,преимущества нейронных сетей при прогнозировании в форекс торговле в то же время могут быть и их недостатками. Выходящая информация имеет то же качество, что и поступающая. Нейронная сеть может обнаружить паттерн из разных типов информации даже при отсутствии каких-либо взаимосвязей. Способность применять интеллект без оглядки на эмоции – основное достоинство машины перед человеком – одновременно является и недостатком нейронной сети, поскольку при повышенной волатильности на рынке сеть не может присвоить вес внезапно возникшему эмоциональному фактору.
В настоящее время существует множество форекс роботов, чья работа основана на использовании нейронных сетей. Тем не менее, они не являются Граалем, поиском которого занимается уже не одно поколение форекс трейдеров.
Рисунок 2.4 – Визуализация сложной нейронной сети
3 ПРОГРАММНЫЕ ИНСТРУМЕНТЫ ДЛЯ ТОРГОВЛИ НА
ЭЛЕКТРОННОЙ БИРЖЕ
Для написания программы для торговли на бирже были рассмотрены несколько программных инструментов, подходящих для выполнения поставленной задачи. Такими являются Basicforapplication и язык MQL. После сравнения вышеперечисленных инструментов было выявлено, что MQLбольше подходит для данной задачи, так как является языком более гибким и имеющим больше возможностей в области нейронных сетей.
3.1 Язык MQL
MetaQuotesLanguage5или MQL5 – встроенный язык программирования торговых стратегий, разработанный компанией MetaQuotesSoftwareCorp. на основе своего многолетнего опыта в создании торгово-информационных платформ. Этот язык позволяет писать собственные программы-эксперты, автоматизирующие управление торговыми процессами и идеально подходящие для реализации собственных торговых стратегий. Кроме того, на MQL5 можно создавать собственные технические индикаторы, скрипты и библиотеки функций.
В состав MQL5 включено большое количество функций, необходимых для анализа текущих и пришедших ранее котировок, встроены основные индикаторы и функции по управлению торговыми ордерами и контролю над ними. Для написания кода программы используется текстовый редактор экспертов MetaEditor, выделяющий цветом различные конструкции языка MQL4, что позволяет пользователю лучше ориентироваться в тексте экспертной системы.
Программы, написанные на MetaQuotesLanguage 5, имеют различные свойства и предназначение:
-
советник – это механическая торговая система (МТС), имеющая привязку к определенному графику. Советник запускается на выполнение при возникновении события, которое он может обработать: события инициализации и деинициализации, событие прихода нового тика, событие от таймера, событие от изменения стакана цен, события от графика и пользовательские события. Советник может не только работать в режиме информирования о возможности совершить сделку, но и автоматически совершать сделки на торговом счете, направляя их прямо на торговый сервер;
-
пользовательский индикатор – технический индикатор, самостоятельно написанный пользователем в дополнение к индикаторам, уже интегрированным в клиентский терминал. Пользовательские индикаторы, также как и встроенные, не могут автоматически торговать и предназначены только для реализации аналитических функций;
-
скрипт – программа, предназначенная для одноразового выполнения каких-либо действий. В отличие от экспертов, скрипты не обрабатывают никаких событий, кроме события запуска;
-
библиотека – библиотека пользовательских функций, предназначенная для хранения и распространения часто используемых блоков пользовательских программ. Библиотеки не могут самостоятельно запускаться на выполнение;
-
включаемый файл – исходный текст часто используемых блоков пользовательских программ. Такие файлы могут включаться в исходные тексты экспертов, скриптов, пользовательских индикаторов и библиотек на этапе компиляции. Использование включаемых файлов более предпочтительно, чем использование библиотек, из-за дополнительных накладных расходов при вызове библиотечных функций.
Рисунок 3.1 – Окно редактора MetaEditor
3.2 Торговые индикаторы
В торговле на Форекс, трейдеры применяют большое количество различных индикаторов, которые позволяют получать точные входы в рынок. Все эти инструменты имеют различные подходы к определению сигналов, но многие из них схожи по своемустроению.
1. Скользящее среднее. Среднее скользящее значение – инструмент, который популярен в среде аналитиков и позволяет следить за изменением тенденции.
Главные задачи инструмента:
-
определить время появления нового разворота рынка;
-
предупредить участника рынка о развороте или завершении тенденции.
С помощью средних скользящих можно отследить тенденцию на этапе ее развития. При этом параметр стоит рассматривать с позиции измененных линий тренда.
Начинающие трейдеры часто используют скользящее среднее для прогнозирования изменения цены. Но это ошибка. Среднее скользящее – инструмент, который не опережает, а отстает от рынка. С его помощью нельзя спрогнозировать изменение цены в будущем, ведь этот индикатор отражает ситуацию по факту, изменяясь уже после корректировки цены. Вот почему данный инструмент называют «запаздывающим».
Рисунок 3.2 – Индикатор скользящего среднего на паре USDCHF
Процесс построения среднего скользящего – целаяметодика, подразумевающая сглаживание параметров цены. Суть индикатора - подравнять кривую и отразить средние параметры ценовых значений. Благодаря такой корректировке, анализировать рынок и его изменения становится проще. Но стоит учесть, что при построении этот индикатор уже отстает от рыночной динамики.
– простое скользящее среднее.
– экспоненциальное скользящее среднее.
2. Параболическая система SAR представляет собой один из самых эффективных аналитических инструментов по определению тренда. Главное преимущество этого индикатора относительно остальных трендовых индикаторов – указание четкого ориентира для выхода с рынка, а также определение ложных трендов. Параболическая система представлена на графиках в виде точек, которые располагаются под ценовыми барами – в случае восходящего тренда, или над ними – при нисходящем тренде.
Рисунок 3.3 – Индикатор параболическаяSAR на паре AUDUSD
Точки этого индикатора – это значения цен, при достижении которых, трейдеру стоит закрывать позиции. Использование параболической системы в качестве системы автотрейдинга является не самой лучшей идеей, из-за большого количества ложных сигналов. Самые эффективные результаты этот индикатор дает в сочетании с остальными трендовыми индикаторами.
3. Стохастический осциллятор отображает способность участников валютного рынка установить цену закрытия на уровне предыдущего временного периода. Достижение верхней границы сигнализирует о достижении рынком «перекупленного» состояния, а нижней – «перепроданного». Уровни стохастического осциллятора эффективны только в том случае, если на рынке нет сформированного тренда, в противном случае – велика вероятность получения ложных сигналов. Для устранения этого недостатка можно использовать этот индикатор совместно с индикатором скользящим средним.
Рисунок 3.4 – Стохастический осциллятор на паре USDCHF
Наиболее распространенной формулой расчета является:
где
– скользящаясредняя с периодом N от минимальной цены за последние 3 периода.
– скользящаясредняя с периодом N от максимальной цены за последние 3 периода.
4. Ценовой осциллятор RSI (индекс относительной силы) следует за значениями цен закрытия, изменяя свой показатель в диапазоне от 0 до 100. Так же как и стохастический осциллятор, RSI использует логику определения текущего состояния рынка. Главной особенностью RSI является то, что его значения могут использоваться в совокупности с методами графического анализа. Линии трендов, ценовые фигуры и уровни сопротивления/поддержки превосходно работают с RSI.
Рисунок 3.5 – Ценовой осциллятор RSI на паре USDCHF















