sergeygaz
sergeygaz личный блог
01 апреля 2019, 12:44

Как я искусственный интеллект торговать научил

Однажды великий гуру трейдинга и знаток анекдотов Александр Михайлович (который Герчик) в одном из своих семинаров рассказал про один случай, когда он пытался алгоритмизировать работу с уровнями и нанял целого математика, чтобы тот разработал мат.аппарат и запрограммировал сигналы для отбоя/пробоя. Целый математик бился над задачей как рыба об лед, но, видимо, математик он был так себе и поэтому задачу решить не смог.

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

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

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


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

Однажды у меня возникла идея: а не прикрутить ли ИИ к торговле и не обыграть ли мне это казино биржу?
Ведь ИИ сможет определять тренды и паттерны за меня, обучаясь самостоятельно.

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

Во-первых, я открыл для себя такой гениальный язык, как Python.
Как думаете, сколько строчек занимает программа на питоне для распознавания текста из картинки? 4 строки!
А программа на питоне, читающая данные из Excel, выполняющая их фильтрацию и выводящая гистограмму? 6 строчек!!
В какой еще полноценной программе, работающей и на Windows и на Маке и на Линуксе, вы сможете нарисовать синусоиду всего за 5 строк кода?!

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


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

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

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

Из интересного:

— Логику принятия нейросетью решений объяснить нереально. Модель каким-то образом видит известные мне паттерны. Плюс она видит что-то еще, мне непонятное.

— Уровни таки работают (Тимофей, привет!). За все виды уровней не скажу, но проверенная мной пара вариантов — да.

— Технический анализ в отрыве от фундаментала — работает

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

175 Комментариев
  • Anton Shabunin
    01 апреля 2019, 12:50
    Тема си   цифер (какое преимущество?) не раскрыта.
  • Pringles
    01 апреля 2019, 12:50
    Предсказать цену актива в следующем году или даже в следующем месяце можно, но точность будет крайне низкая

    такой прогноз любой аналитеГ без всякого ИИ сделает
  • Kapeks
    01 апреля 2019, 12:53
    лям баксов сделал?
  • Андрей К
    01 апреля 2019, 12:54
    А в продакшн вывели? И если не секрет, как быстро такая штука принимает решения?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн