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

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

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

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

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

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

Тестер стратегий должен соответствовать определенным стандартам, например, торговые результаты, полученные через тестер стратегий должны быть максимально приближенными к торговым результатам на реальных торгах. Количество сделок на тестере и на реальных торгах должно быть одинаковым. Если на реальных торгах было сделано шесть сделок, а на тестере стратегий только четыре или если на тестере стратегий была сделана сделка в плюс, в то время когда на реальных торгах была сделка в минус, то такой тестер стратегий не соответствует предъявляемым к нему стандартам. Без тестера стратегий невозможно создание самообучающегося интеллектуального торгового робота на алгоритмах искусственного интеллекта. В зависимости от количества и сложности торговых стратегий, на их разработку и разработку тестера стратегий нужны многие годы работы.

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

Комментарии (5)


  1. NumLock
    14.12.2021 18:27

    Рекомендации от нашей семьи

    Хабр как удалить комментарий отправленный в не ту статью по ошибке?


  1. EddyLan
    14.12.2021 20:04

    Чернила закончились?


  1. mgis
    14.12.2021 20:47

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


  1. Mox
    14.12.2021 22:57

    Я пробовал делать reinforcement learning для торговли, подключал все индикаторы все что можно, все это все равно оказывалось в убытке даже по итогам бэктестинга.

    Прошлое не содержит информации о будущем.


  1. vgogolin
    15.12.2021 01:57

    Учишь его, учишь на истории... а потом в реальном рынке и ликвидность не ликвидность оказывается, и потенциал не такой потенциальный... Да и люди не люди... Бросаешь всё и идёшь в программисты )

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