Всем привет!
Периодически на смартлабе публикуют посты по использованию машинного обучения и нейронных сетей для торговли (например,
здесь или
здесь). Судя по комментариям к постам, особого интереса тема не вызывает.
Это несколько странно, с учетом того, что в других областях применение машинного обучения развивается семимильными шагами. Мне кажется, трейдинг — как раз та область, где эти технологии должны быть (и будут) востребованы.
Основное преимущество машинного обучения перед классическим алготрейдингом — это возможность выявлять нетривиальные и скрытые зависимости. При этом вам не нужно самим программировать множество сложных условий входа в сделку. Возможно вам даже вообще не понадобится программировать.
Тут главное — не рассматривать нейросети как волшебный инструмент, которому достаточно подать цену на вход и получить точный прогноз на выходе. Такое применение сомнительно. Но если говорить об анализе множества условий — сети могут быть весьма полезны.
На цену оказывает влияние большое число различных факторов: макростатистика, политические события и новости, корпоративные отчеты, влияние одних финансовых инструментов на другие и т.д. Даже если анализировать только график, то и здесь решение по сделке нужно принимать, учитывая множество условий: объемы, гепы, пробои, закрытие предыдущего дня и т.д.
В итоге различных условий набирается достаточно много, а процесс принятия решений на их основе становится сложным.
Ваша задача, как трейдера, — это собрать множество известных вам факторов, влияющих на цену и подать их на вход нейросети, а она будет пытаться найти закономерности. Трейдер должен хорошо разбираться в рынках и уметь находить такие факторы, остальное должен сделать компьютер за него.
Какими могут быть эти факторы, кроме цены самого инструмента? Я бы выделил следующие группы:
1. Какие то общие характеристики финансового инструмента и параметры торговли, например: день недели, объем торгов, открытый интерес и т.д.
2. Факторы, вытекающие из технического анализа графика цены:- изменение цены в предыдущие дни;
- гепы, пробои уровней;
- значения каких то индикаторов (например, выше или ниже moving average).
3. Новости, политические события, корпоративные отчеты и макроэкономические события (повышение ставки и т.д.)
4. Изменения цены других финансовых инструментов и их влияние (нефть на рубль и т.д.)
Я сделал простенький сервис -
ai-finmarkets.ru, который позволит попробовать использовать нейронную сеть в своей торговле, при этом не обладая какими-либо знаниями в области программирования или нейросетей.
Вам нужно подготовить excel файл с историческим набором различных факторов и загрузить его в сервис. Сервис подаст его на вход нейросети, она обучится на основе этого файла и выдаст вам прогнозное значение на следующий период и оценку точности прогноза.
Там же можно найти более подробное описание формата файла и посмотреть пример использования сервиса для акций Apple.
В примере используются следующие факторы:
Change — процент изменения цены за прошедший квартал;
Gap — размер гэпа на следующий день после выхода отчета;
Day movement — изменение цены на следующий день после выхода отчета (с открытия сессии до момента входа в сделку);
SP500 change — изменение индекса S&P500 за прошедший квартал;
Earning delta — изменение прибыли по сравнению с прошлым кварталом согласно вышедшему отчету.
На выходе нейросеть дала мне 66% точных предсказаний по направлению сделки. Обольщаться здесь, конечно, не стоит, но как пример и основу для дальнейших исследований использовать можно. Если тема интересна, пишите в комментариях о своем опыте использования нейросетей для анализа и выявления закономерностей.
вернее что это такое понятно, а вот написать свою чот никак… начинаю разбираться и как баран на новые ворота смотрю на кучу формул… ну не математик я а там все объяснение в формулах идет ((
непонятен принцип внутренней работы, а потому сужу как нуб в сем вопросе
2. Очень многие пытались настроить сетку как Вы, в лоб. Что-то не видать успехов В чем Ваши преимущества?
1. Пока сервис считает %win/loss, учитывая только выбор направления (угадали или нет). Возможно потом добавиться еще что то, учет drowdown и прочих вещей.
2. Акцент нужно делать на факторах/условиях, а не настройках нейросети. Если подавать факторы, в которых нет закономерности — никакая сеть не поможет. Это всего лишь инструмент, который позволяет искать закономерности и использовать их, при большом количестве факторов.
Но главное это обучить сеть. Т.Е подобрать адскую кучу весов внутри каждой sma так чтобы в итоге получился нужный результат.
В теме нейро для рынка очень много неизвестных.
Какие данные подавать в сеть крайне сложный вопрос.
Метод обучения, тоже крайне непростая тема которая к тому же зависит от модели подаваемых данных.
Даже спец по сетям не факт что сумеет правильно использовать сети в рынке.