Нейронные сети их сильные и слабые стороны при использовании в форекс экспертах. Нейросеть для торговли на бирже


Программа Trading Solutions. Нейронные сети для вашего анализа рынка

Нейронные сети  - это искусственный интеллект, который способен анализировать полученные результаты и подобно человеку делать работу над ошибками.

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

Ведь постоянная рутинная работа вокруг оптимизации множества параметров алгоритма просто отпадает.

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

Лучший брокер 2017 года.

Торгуй по крупному только с ведущим брокером.

Trading Solutions предназначена для прогнозирования рынка на основе нейронных сетей, благодаря чему вы сможете получать торговые сигналы на их основе, а также провести историческое тестирование, прежде чем воспользоваться алгоритмом.

Стоит заметить, что программа позволяет черпать исторические данные из нескольких источников, что позволяет охватить финансовые активы с всевозможных бирж.

Установка Trading Solutions

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

Установка  Trading Solutions ничем не отличается от установки любой другой программы на ваш персональный компьютер.

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

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

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

Работа с программой Trading Solutions

К сожалению, Trading Solutions – это зарубежная разработка и в ней отсутствует поддержка русского языка, что вызывает некоторые трудности в ее использовании.

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

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

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

Для того чтобы задать критерии, по которому происходит создание нейронной сети нажмите правой кнопкой мыши на название актива и в появившемся меню выберите «Ad New Field».

Перед вами появится список вариантов, среди которых вы можете проанализировать полученные сигналы, создать оптимальные сигналы, создать звуковое оповещение и многое другое. Для того чтобы создать критерии для создания алгоритма выберите опцию «Apply Rules entry/exit systems».

Затем появится окно со списком различных стандартных индикаторов как макд, скользящее средне, стохастик и ряда встроенных стратегий.

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

Для того чтобы сгенерировать нейронную сеть по всем возможным критериям программы необходимо вызвать дополнительное меню правой кнопкой мыши на выбранном вами активе и выбрать опцию «Apply a Trading Solution».

После генерации вы получите в самом нижнем окне результаты, после чего щелкните два раза мышью на полученный отчет.

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

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

Для того чтобы вычислить корреляцию вызовите дополнительное меню с помощью правой кнопки мыши на выбранном вами активе и среди предложенного списка опций нажмите на «Analyze Correlation».

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

После того как программа проанализирует критерии вы получите таблицу со списком активов а также значением их корреляции.

В заключение стоит отметить, что программа Trading Solutions является полноценным продуктом, который позволяет анализировать, а также прогнозировать поведение финансовых активов на основе нейронных сетей.

Скачать программу Trading Solutions

forexluck.ru

Нейросети для торговли на Форекс

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

Как мы прекрасно знаем, многие подобные проекты в итоге оказывались обёртками для мошеннических схем, либо просто терпели фиаско. Сегодня ситуация начала постепенно меняться в лучшую сторону, так как стали появляться нейросети для Форекс.

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

Нейросеть анализирует факторы и ищет наилучший вариант решения проблемы

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

Например, если человек посмотрит на Солнце, глаза непроизвольно зажмурятся, т.е. мозг сам читает поступающую информацию, а затем отдаёт команды отдельным участкам тела, с целью минимизировать потенциальный риск для здоровья.

То же самое происходит и при падении какого-либо предмета, в частности, у всех здоровых людей на грохот за спиной (вне поля зрения) срабатывает рефлекс – пригнуться или прикрыть голову руками. Мы даже не осознаём, как организм сам анализирует ситуацию, моделирует потенциальные последствия и принимает решение.

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

Почему «должны»? Дело в том, что я не встречал ни одной полноценной нейронной сети, которая способна в автоматическом режиме приносить стабильный доход на валютном рынке. Связано это с несколькими факторами.

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

Во-вторых, нейросеть для Форекс предъявляет высокие требования к ресурсам компьютера, особенно это касается процессора, поэтому придётся потратиться на «железо».

И ещё одно важное обстоятельство, которое мешает создать полноценный искусственный интеллект – это постоянная изменчивость среды, т.е. условия на рынке меняются с такой скоростью, что приспособиться к ним крайне сложно.

Тем не менее, сегодня уже можно делать первые шаги в нейросетевом моделировании, и преуспели в этом, между прочим, программисты MetaQuotes.

 

Что необходимо для создания ручной нейросети для Форекс

Любая сеть состоит из трёх основных составляющих – входные данные, нейроны и конечные данные (решения).

Три составляющие нейросети

Теоретически, исходных данных можно задать бесконечно много, в частности, на рынке это могут быть следующие факторы и показатели:

  • Цена – обязательный компонент, без которого нейросеть на Форекс теряет смысл;
  • Объём – ключевой элемент во многих торговых стратегиях;
  • Ставки Центробанков – основной макроэкономический индикатор для денежного рынка;
  • Инфляция – на валюты разных стран данный показатель влияет по-разному;
  • Цены активов-поводырей – как правило, это котировки нефти, меди, металлов и прочих инструментов, от экспорта которых зависит экономика анализируемой страны.

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

 

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

Пример шаблона по стратегии

В представленной системе мы имеем дело с несколькими нейронами:

  • Первый отвечает за определение тренда;
  • Второй распознаёт точки входа;
  • Третий регулирует объём сделок для получения максимальной прибыли;
  • Четвёртый занимается обучением.

Обращаю внимание – это лишь скелет самой элементарной нейросети на Форекс, а представить механизм её работы можно при помощи встроенного в MT4 тестера стратегий, вернее, его модуля, который называется «генетический алгоритм».

Встроенный в MT4 тестер стратегий

Если поставить галку напротив данного пункта, в процессе очередной оптимизации тестер начнёт сам заниматься обучением стратегии. Иными словами «генетический алгоритм» станет подбирать параметры не обычным перебором, а таким образом, чтобы результат каждого нового эксперимента приносил наибольшую прибыль.

На графике ниже представлен результат оптимизации параметров стохастического осциллятора по средствам «генетического алгоритма».

Результат оптимизации параметров стохастического осциллятора нейросети

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

Если же «умный» модуль отключить, то результат оптимизации будет выглядеть следующим образом:

Отключение модуля генетического алгоритма

Таким образом, время тестирования (обучения торговой стратегии) может существенно увеличиться, так как терминал в каждом новом опыте не учитывает результат предыдущего эксперимента и начинает из раза в раз повторять одни и те же ошибки.

Фактически, «генетический алгоритм» из тестера - это классическая нейросеть на Форекс, вернее, её обучающий модуль, так как входные данные и остальные нейроны трейдер добавляет самостоятельно.

В идеале, подобные операции должны выполняться автоматически, т.е. в процессе работы советника (закончился период – робот сам изучил результаты и скорректировал параметры), но сегодня приходится использовать полуавтоматические сети.

Учитывая данное обстоятельство, я рекомендую очень осторожно относиться к рекламе нейросетей для Форекс, поскольку их «золотое время» ещё не наступило. Возможно, лет через пять появятся первые прототипы подобных советников, которые смогут обогнать по доходности банковские депозиты.

 

myoption.ru

Нейросети в торговле

Нейросети в торговле

Замечаю сильную тенденцию развития искусственных нейронных сетей (ANN — Artificial neural network). Недавно был большой бум открытия различных структур и способов их построения и обучения. (Сверточные, реккурентные и пр.)

«Ну и че?» — Спросите вы.

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

«Ну и че?» — Снова спросите вы.

Конкретно для нас с вами: 1) Роботы и алгоритмы нового уровня способные не просто торговать на высоких скоростях по фиксированным алгоритмам, а еще и обучаться с различной скоростью и дисперсией на меняющемся рынке кратно быстрее любого человека. Рынки станут еще более сложным организмом чем являются сейчас. 2) Предугадывание поведенческих и психологических паттернов — если сейчас маркетинговые системы на ANN могут по вашим действиям в интернете понять и предугадать ваши покупки\поездки\подарки\работу в настоящем и близком будущем, то через несколько лет возможно будет загнать совокупность новостных лент\графиков\котировок в нейросеть и обучить на прибыльную торговлю. 3) Возможность появления нового «Бума» схожего с ".com" и криптовалютами. В ходе которого появится несколько гигантов которые будут продавать, джина в бутылке как сейчас смартфоны — летающего\плавающего\ездящего\прямоходящего робота способного подстроиться именно под Вас и выполнять любые Ваши прихоти (подай пиво, перенеси диван, забери малого со школы, купи билеты на отпуск в Крым, запри дверь и включи с*кс режим) единственным ограничением которого будет стоимость Вашей подписки. 4) Появление нейроинтерфейсов которые заменят аналоговое управление комьютером и другой электроникой, что вкупе с технологией виртуальной реальности даст возможность почти буквально «Жить в интернете» не двигая ни одной мышцой своего тела. (привет матрица)

Короче много чего изменится. Одна проблема на мой взгляд — нет дешевых и маленьких генераторов\аккумуляторов. Как только появятся готовьтесь к взрыву потребительского спроса на высокие технологии.

На десерт можете погуглить:  Convolutional neural network,  Reccurent neural network,  Deep machine learning.

P.S.: На этом фоне крипто бум такая мелкая фигня правда?

smart-lab.ru

Торговые советники и нейронные сети на рынке Форекс

Последним ноу-хау в сфере форекс экспертов является использование нейронных сетей. Этот термин был заимствован из систем искусственного интеллекта. Технически, нейронные сети, попросту говоря, имитируют механизмы работы мозга человека. Главная характерность таких систем – способность к обучению на основе результатов своих действий.

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

Суть и преимущества нейронных сетей

Использование нейронных сетей в форекс экспертах позволяет осуществлять прием нескольких потоков информации и на выходе получать один результат.

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

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

Недостатки нейросетей

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

В настоящее время существует множество форекс роботов, чья работа основана на использовании нейронных сетей. Тем не менее, они не являются Граалем, поиском которого занимается уже не одно поколение форекс трейдеров. Важно всегда помнить главное правило форекс трейдинга при использовании нейронных сетей – всегда занимайтесь обучением системы, ее тестированием и оптимизацией, и успех не заставит себя ждать.

Вам также будет интересно

fortrader.org

Нейросетевая автоматичекая торговая система

Описание:

Нейросетевой советник для metatrader 4 Реализация машины с памятью на основе k-ближайших соседей. Функция Euclidean_Metric – представляет собой классификатор. Функция по имеющейся базе векторов описывающих либо сделки, либо ситуации на рынке определяет принадлежность входного вектора к какой-либо группе векторов из базы. Вектора на группы разделяются в этом примере просто: Если сделка закрылась с положительным результатом то это класс 1, если с отрицательным результатом то класс 0. Поиск ближайших соседей многомерного вектора производиться при помощи евклидова расстояния. Затем просчитываем сколько из этих k-векторов принадлежат к классу 1, после чего делим это число на общее количество соседей(т.е. на k) и получаем вероятность принадлежности данного вектора к классу 1. Из-за “плохих” выбранных координат векторов мы не можем доверять полностью( просто выше 0,5 или ниже 0,5) классификации, поэтому дополнительно введено пороговое значение, т.е. если вероятность прибыльности будущей сделки выше, допустим, 0,7 то входим в рынок. В качестве измерений(координат) векторов взяты отношения мувингов, предположив что отношения стационарны и раз расклассифицировав вектора(сделки) можно будет использовать такую классификацию и на форварде. Но не всё так просто :) . Подробное описание Хайкин С. «Нейронные сети: полный курс»(Методы Обучения). Также смотрите статью "Математические основы kNN".

Настройки:

Base - true пишем файл с базой векторов, false торгуем с классификацией. Обязательно сначала нужно протестировать эксперта с Base = true, и только потом тестировать с Base = false.buy_threshold = 0.6 порог на все Buy позиции. Если вероятность покупки выше этого порога, то эксперт покупает. Этот параметр относится к тестированию с Base = false.sell_threshold = 0.6 аналогично параметру buy_threshold.inverse_position_open_? = true - Если вероятность сделки на покупку очень мала то значит вероятность продажи очень велика. Этот параметр позволяет открывать сделки когда возникают такие ситуации.invers_buy_threshold=0.3 порог, когда вероятность прибыльной Buy позиции меньше то входим на Sellinvers_sell_threshold=0.3 аналогично invers_buy_threshold.

График тестирования без применения метода k-ближайших соседейГрафик тестирования без применения метода k-ближайших соседейГрафик тестирования с применения метода k-ближайших соседейГрафик тестирования с применения метода k-ближайших соседейСкачать

tradexperts.ru

Изучаем нейросети при помощи программы Neuro-lab

С вчерашнего вечера занимаюсь нейросетями в приложении Neuro-Lab к Велслабу. Ранее были периодические попытки разобраться в этом вопросе и дело постепенно продвигалось. Главной помехой было, конечно же, предубеждение против метода использования нейросетей в игре на биржах и внебиржевых рынках, так как сложилось мнение что это всего лишь подгонка под исследуемую кривую. Но теперь стал сомневаться в таком одностороннем подходе. Все-таки, нейросеть это как разумная голова человека, который постигает мир и учится на своих ошибках. Так же и здесь постигается скрытый эзотерический смысл узоросплетений конкретного графика.

Но сначала, конечно, необходимо разобраться с самой программой -- что куда нажимать и что где искать. После напряженного изучения ситуация прояснилась. Все можно проделывать вообще без навыков программирования, так что думаю, зря пугали в видео из предыдущего поста что спекулировать на биржах без знания языка C# невозможно. Тем более что программа на выходе выдает простейший индикатор со значениями от 0 до 100 и с помощью его остается только создать скрипт через мастер стратегий. Ну или в крайнем случае, если есть уже готовый сложный скрипт, добавить индикатор вручную -- это пара строчек всего. Вот пример всей системы в мастере стратегий:

2

Попробовал потренировать фьючерс РТС (дневки) на паттернах. Сначала брал InSample первые 50% графика. То есть тренировка происходила на первой половине графика. Потом мастерил стратегию -- до 2011 года система зарабатывала, но потом начинался небольшой слив. Тогда потренировал первые 75% графика. В этом случае на OutOfSample уже перестало сливать, но и не зарабатывало. Тогда потренировал последние 20%. В этом случае на OOS (первые 80%) получилась нормальная восходящая кривая. То есть можно предположить что до 2011 года на Ri зарабатывали вообще любые системы, не только трендовые, главное чтобы системно.

Вот что получилось для одного контракта фьючерса на индекс РТС без проскальзываний и комиссионных:

1A

1

3

Но это, конечно результат учебный и теоретический. Почему учебный? Потому что был применен просто один натренированный индикатор без всяких фильтров и условий, полученный за 2-3 символических минуты тренировки, просто чтобы посмотреть что из этого выйдет. Почему теоретический? Потому что график фьючерса на РТС, которым мы пользуемся имеет неправильные бары, не соответствующие торговой действительности из за того что OPEN нового дня начинается всегда на уровне CLOSE вчерашнего, а по этой цене иногда позиции открыть невозможно. Поэтому точно протестировать на таком графике нельзя. То есть, график является чисто теоретическим, а не реальным. Поэтому и результат тоже теоретический. Просто постигаем нейро-торговлю... :)

jc-trader.livejournal.com

создание алгоритма для прогнозирования поведения фондовых индексов / Блог компании ITI Capital / Хабр

Ученые факультета вычислительной техники из исламского университета Азад, расположенного в ОАЭ, опубликовали работу, посвященную прогнозированию поведения фондовых индексов на основе технологий нейронных сетей, генетических алгоритмов и data mining с использованием опорных векторов. Мы представляем вашему вниманию главные мысли этого документа.

Введение
Одним из популярных направлений финансово анализа в последние годы является прогнозирование цен акций и поведения фондовых индексов на основе данных о предыдущих торговых периодах. Для получения сколько-нибудь релевантных результатов необходимо использование подходящих инструментов и корректных алгоритмов.

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

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

При работе на фондовом рынке используют два вида анализа.

1) Технический анализ

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

2) Фундаментальный анализ

Для долгосрочных стратегий инвестирования используется фундаментальный анализ. Он подразумевает использования для прогнозирования цены акций определенной компании, информацию о финансовых и прозводственных показателях ее деятельности.

Также, при прогнозировании возможных движений цен необходимо понимать существующие на финансовом рынке риски для действующих на нем игроков:

  • Торговый риск — объём средств, которым рискует трейдер. К примеру, если он покупает финансовый актив на тысячу долларов, то торговый риск будет равняться этой сумме.
  • Рыночный риск — что может случиться на рынке под влиянием в том числе глобальных экономических событий или событий в конкретной стране, где расположен финансовый рынок или акции компаний из которой торгуются на бирже.
  • Маржинальный риск — если для совершения сделок используются заемные средства, возникает маржинальный риск. Взятые «в долг», к примеру, у брокера, деньги в конечном итоге придется вернуть, и если у трейдера будет недостаточно свободных средств на счете для этого, то его позиции будут принудительно закрыты даже если это не подразумевалось его торговой стратегией.
  • Риск ликвидности — не из каждого финансового инструмента можно быстро «выйти».
  • Риск переноса позиций «овернайт» — сохранение позиций в промежуток между торговыми днями или на протяжении нескольких торговых дней несет в себе риск, поскольку трейдер не может знать, что случится в то время, когда биржа не работает. Возможно на открытие торгового дня повлияет какое-то событие, и цена акций сразу сместится невыгодным для инвестора образом.
  • Риск волатильности — цена акций колеблется в определенных диапазонах. Чем шире диапазон колебания цены, тем выше волатильность конкретного финансового инструмента.
Прогнозирование поведения фондовых индексов
Одним из популярных инструментов, использующихся для решения задач прогнозирования цен акций, является дерево принятия решений. В свою очередь, наиболее эффективным методом сбора и анализа данных является data mining. Существует несколько моделей использования data mining, которые реализуют различные подходы к сбору и анализу полученной информации.

В нашем случае исследователи выбрали модель CRISP-DM (Cross-Identity Standard Process for Data Mining). Данный метод был разработан консорциумом европейских компаний в середине девяностых годов прошлого века. Модель включает семь основных шагов:

  1. Определение целей для поиска информации (данные о каких акциях нужны).
  2. Поиск нужных данных.
  3. Упорядочивание данных в модели классификации.
  4. Выбор техники для реализации модели.
  5. Оценка модели с помощью известных методов.
  6. Применение модели в текущих рыночных условиях для генерации рекомендации о целевом действии — к примеру, покупка или продажа акции.
  7. Оценка полученных результатов.
После сбора данных для принятия решений используется дерево классификации. У такого подхода есть три основных преимущества: он быстрый, простой и позволяет добиваться высокой точности. В качестве параметров модели в данном случае были выбраны предыдущая цена, цена открытия, максимум, минимум, закрытие и целевое действие (previous, open, max, min, last, action).

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

Задача формализуется так, чтобы ее решение могло был закодировано в виде вектора генов («генотип»), где каждый ген может представлять бит, число или какой-либо другой объект. Далее случайным образом создается множество генотипов начальной «популяции», которые оцениваются с помощью специальной функции приспособленности. В итоге каждому генотипу присваивается значение «приспособленности» — именно оно определяет, насколько хорошо он решает задачу.

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

Одним из методов генерирования предсказаний о будущих движениях цен является машинное обучение. В данном случае исследователи использовали метод опорных векторов. Исследователи собрали финансовые данные с биржи NASDAQ, а также о некоторых финансовых инструментах и индексах. В резульате для NASDAQ точность предсказаний, сгенерированных системой, составила 74.4%, 77,6% для индекса DJIA и 76% для S&P500.

Для машинного обучения использовались следующие формулы:

Прежде всего, определялось xi(t), где i ∈ {1, 2, …}.

F = (X1, X2, … Xn)T, где

Для оценки используемой модели использовался метод вычисления среднеквадратичной ошибки (RMSE, Root of Mean Square Error):

Мультиклассовая классификация
Для минимизации рисков и повышения прибыли используется модель опорных векторов. Она подразумевает классификацию данных в три категорий: позитивную, негативную и нейтральную. Это помогает выявлять наиболее рискованные прогнозы и отклонять их. Для создания такого мультиклассового классификатора, неободимо определить ширину центральной зоны:

tp: true positive fp: false positive fn: false negative
Предложенная модель
Как было отмечено выше, собираемые данные имели шесть атрибутов. Для использования в дереве принятия решений данные должны быть конвертированы в дискретные значения. Для этого можно использовать критерий, основанный на цене закрытия рынка. В случае, если величина open, max, min и last превышает предыдущее значение атрибута в ходе текущего торгового дня, то позитивное значение должно быть заменено на предыдущий атрибут. Напротив, негативное значение устанавливается вместо предыдущего атрибута, а если значения равны, то устанавливается соответствующий атрибут.

Вот так выглядит набор данных по шести атрибутам до их перевода в дискретные значения:

А вот так после перевода:

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

В данном исследовании рассматривается два возможных сценария действий.

Сценарий #1
Необходимо проделать следующие действия:
  1. Собрать финансовые данные о торгах за 30 дней.
  2. Выделить данные по шести атрибутам в 9 моментов времени в течение одного торгового дня.
  3. Для каждого набора сформировать матрицу.
  4. Вычислить XX^T и применить метод опорных векторов для генерирования собственного значения.
  5. Вычисление среднего объёма продаж и покупок.
  6. Вычисление среднего значения каждого торгового дня.
  7. Присвоение разных весов для первого дня, седьмого и тридцатого дня, а также среднего значения месяца.
  8. Для генерирования рекомендации о действии необходимо сравнить текущее значение с первым, седьмым, тридцатым днем, а также средним значением за весь месяц.
  9. Если результат предсказания за 4 торговых дня одинаковый, то следует осуществить покупку, если присутствует совпадение для трех торговых дней, то покупка будет иметь риск в 25%, для двух дней риск составит 50%.
Для каждого торгового дня из тридцати необходимо сгенерировать матрицу, в которой Xi представляет девять разных моментов в течение одного дня:

После этого вычисляется R = XXT — каждую матрицу нужно умножить на транспонированную версию. Затем подсчитывается опорный вектор и его собственное значение.

Сценарий 2
В данном случае выполняются все те же шаги, однако метод опорных векторов применяется не к «сырым» данным, а к матрице, полученной после автокорреляции. Для каждого торгового дня генерируется матрица автокорреляции:

Здесь используется следующая формула:

После автокорреляции мы получаем новую матрицу (матрицу Теплица):

И уже для нее подсчитывается опорный вектор и собственное значение. Для сравнения отклонения от среднего значения среди различных торговых дней, вычисляется среднее значение, дисперсия и стандартное отклонение, которые хранятся в векторе.

Заключение
Для получения наилучших результатов исследователи применили все описанные методы шаг за шагом: начиная с фундаментального анализа, использования генетического алгоритма, нейронных сетей, машинного обучения и метода опорных векторов.

При этом добиться стопроцентной точности прогнозов изменения значений фондовых индексов добиться не удалось. Для различных финансовых инструментов точность предсказания поведения индексов на промежутке в один торговый день довольно сильно отличается:

Наилучшим результатом стала точность в 70,8% для немецкого индекса DAX. Для достижения большей точности при долгосрочных прогнозах (период больше 30 дней), использовалась следующая формула:

Pr {vt+1 – vt > ct }, где ct = -(vt-ts – vt)

В этом случае наилучший результат точности прогноза составил 85,0%.

Другие материалы о прогнозировании цен акций и использовании алгоритмов на фондовом рынке:

habr.com


Смотрите также

.