Содержание статьи
Нейросеть теперь и в трейдинге, встречайте первый публичный алгоритм для торговли
4. Интеграция нейронной сети в торговый терминал
Но мы, конечно, хотели бы использовать постулат :“То, что для НС сегодня, для нас — завтра”. Машина времени какая-то. Однако мы понимаем, что все-таки самая лучшая нейронная сеть — это наш мозг. И мы можем использовать этот постулат максимум с 50% успехом (если мы говорим о вероятности да или нет), а то и хуже. Но ведь есть еще и третий вариант: “То, что для НС вчера, для нас — сегодня”. Или так: “ То, что для нас сегодня, для НС— вчера”. Разберем, что для нас означают эти постулаты в трейдинге:
Уважаемые трейдеры — у нас есть демо версия нейросети с безлимитом по времени , мы готовы
предоставить любому желающему бесплатно протестировать её и ещё принять предложения
по улучшению сигналов за вознаграждение.
чтобы получить демо версию программы — пишите в поддержку телеграм
И здесь мы задумаемся — а, что же происходит в самой совершенной нейронной сети — нашем мозге. А, оказывается, все довольно просто — пронаблюдав эти индикаторы, у нас в голове складывается образ, какого-то одного, общего индикатора, подающего нам сигнал, на основе которого мы и принимаем решение. А если хотите, то цепочка сигналов складывается в индикатор. И тут нам приходится задуматься — если мы изучаем индикаторы в определенный момент времени и заглядываем в прошлое максимум на несколько периодов — как нам исследовать эти индикаторы одновременно на протяжении нескольких предшествующих лет и на основании этого исследования построить единый индикатор с дальнейшей возможностью его оптимизации.
Прежде чем приступать к разработке любой торговой системы, мы задаемся вопросом — на каких принципах данная система будет функционировать? У нас есть два основополагающих принципа использования флетов и продолжение тенденции. Не будем рассматривать более узкие производные от них, внутридневная торговля или нет, на фундаментальных данных, на новостях, на открытии рынков и т.д. Мне пришлось сталкиваться с описанием нейросетевых продуктов, где их авторы в примерах использования предлагали прогнозирование каких либо курсов — акций, валют и т.д.
Но основным достоинством такого способа передачи информации является то, что мы на каждом этапе можем контролировать передаваемые и получаемые данные. Это я считаю одним из основ дальнейшей успешной торговли с использованием нейронной сети. И кажущаяся громоздкость подготовки самой нейросетевой системы, в результате оборачивается достоинством при реальной работе, так как мы уменьшим до минимума вероятность получения программной ошибки либо ошибки логико структурной схемы системы. Все-таки сама система перед ее применением требует поэтапного тройного тестирования. На этом мы остановимся подробнее позднее.
Хотя сам способ передачи информации программно нам дает возможность открываться только на следующем тике после прихода сигнала от нейронной сети. Но если система не использует супер краткосрочные моменты совершения сделок, это не существенно. Забегая вперед, отмечу, что в данной статье я рассматриваю систему “по ценам открытия”. И опять-таки, забегая вперед и исходя из вышесказанного, мы приходим к выводу, что системы с таким способом передачи информации требуют тестов либо по контрольным точкам, либо по всем тикам. Тесты систем на нейронных сетях на контрольных точках и всех тиках практически идентичны. Хотя ранее, при разработке традиционных торговых роботов, я сталкивался с проблемой значительного ухудшения итогов торгов при переходе на тест по всем тикам.
Но мы можем переложить функцию терминала по расчету индикаторов на нейронную сеть, обучив их определенным образом. И далее обучать нейронную сеть уже на этих индикаторах. То есть от эксперта нам понадобится передать в модуль нейронной сети только относительные ценовые данные, которые используются в формулах индикаторов. И впоследствии принять от нейронной сети несколько “единичек” и “ноликов” и, сравнив их, принять решение.
В зависимости от того, на каких обучающих выборкам мы будем подготавливать нейронную сеть, мы получим различные индикаторы отклика сети. И, следовательно, сможем строить различные стратегии торгов. А комбинация различных стратегий даст нам более стабильный конечный результат. Один вариант я представил в предыдущих разделах. Там мы делали выборку по экстремумам торгового периода. Приведу еще один пример.
Нейронная сеть это сложно или просто?
Нейросети будут постепенно заменять рутинную работу человека, в каких-то областях они заменят специалистов и будут делать все гораздо быстрее. Но мир не един, где-то мир движется, а где-то ползет. Цитата в тему: «Будущее уже наступило, просто оно еще неравномерно распределено.»
— Уильям Гибсон
В файлы “Open1,2,3” мы непосредственно получаем отклик НС. Первая строка – предшествующий отклик. Вторая – отклик в реальном времени. Данный формат является частным случаем. В зависимости от условий ведения торгов он может отличаться. Как и само количество файлов откликов. В данном случае это обусловлено тем, что в самом модуле НС используется три сети, обученные на разных временных отрезках.
Наверное, каждый новичок, который приходит на валютный рынок и пытается реально на нем торговать, не имея какой либо системы, брал в руки лист бумаги и рисовал на нем таблицу понравившихся индикаторов. Далее напротив каждого из этих индикаторов ставил либо плюсики и минусики, либо стрелочки, либо проценты вероятности движения цены, исходя из графика индикатора в терминале. Потом он подводил итог своим наблюдениям и принимал определенное решение на вхождение в рынок в определенном направлении, а если продвинулся еще дальше, то и решение входить ли в рынок вообще или оставаться вне него.
При подготовке торговых систем на основе нейронных сетей я использую три этапа тестирования. Первый этап я назвал быстрым тестированием. Это основной этап подготовки системы в смысле ее общей работоспособности. На этом этапе мы систему можем оптимизировать, и на оптимизацию у нас не уходит много времени. Здесь мы используем скрипт или эксперт для подготовки файла исторических данных после “истории”, на которой мы обучали нейронную сеть и по текущее время. Потом мы по этим данным получаем отклики от сети с помощью скрипта из среды матлаб и по ним строим индикатор. С помощью этого индикатора мы и оптимизируем наши НС отклики на вхождение в рынок и выход из него. На рисунке ниже приведен пример этого индикатора. Этот индикатор является интерпретацией 52 производных от 12 пользовательских индикаторов. Хотя это могут быть и стандартные индикаторы терминала.
Чтоб не затеряться в мыслях, про флетовые сделки. Мы превратили две ложки дегтя в мёд простым, но чертовски действенным способом. Лавирование позициями дополнительными сделками. Так как любой сигнал — это направление движения цены, то мы точно знаем как можно добирать и скидывать части позиции без ошибок. Проще, как говорится, показать:
Интеграция нейронной сети и торгового терминала особой проблемы не составляет. Этот вопрос я решил путем передачи информации через файлы, создаваемые терминалом и программой нейронной сети. Если кто-то скажет, что это замедляет действия системы на принятие решения, то я остановлюсь на основных достоинствах такого способа передачи информации. Ну, во-первых, информация, передаваемая терминалом, минимальна – всего несколько десятков байт. Посмотрите на строку файла, который записывается терминалом.