Сделан в рамках соревнования Хакатон [GO ALGO] организатором которого выступает биржа MOEX.
Было поставлено две задачи:
1) Для себя - исследовать данные, провести backtest, разработать свой торговый алгоритм и реализовать
2) Разработать решение для инвесторов на рынке акций
Данные, сигналы и аналитика для алгоритмической торговли нужно брать через API AlgoPack.
Чтобы упростить жизнь не только себе, но и получить отличный инструмент для:
- исследования данных
- создания и тестирования торговых стратегий
- возможности интуитивной разработки торговой стратегии
- создания своих индикаторов или использования уже 100+ готовых индикаторов
- работы в live режиме с брокерами - с возможностью выставлением заявок на покупку/продажу и др.
мы разработали библиотеку backtrader_moexalgo, которая интегрирует API AlgoPack с гибкой и популярной системой создания торговых роботов и получилась такая связка MOEX API AlgoPack + Backtrader:
- разместив в ней множество примеров по работе с данными и SUPER CANDLES
- особо интересна возможность работы в live режиме, позволяющая делать полноценных торговых роботов
- конечно, помним, что перед выходом в Live - все сначала тестируем в Offline в реализованной возможности backtesting
- есть очень много документации
Хотелось бы дополнительно отметить, что такие библиотеки сильно упрощают сложность разработки торговых роботов для новых разработчиков. Тем самым происходит большая популяризация алготрейдинга.
P.S. Тем более, когда есть столько рабочих примеров с объяснениями, что делать и как!
-
Тема использования искусственного интеллекта актуальна:
- для прогнозирования поведения фондового рынка в целом,
- для осуществления предсказаний поведения цены отдельных акций и/или фьючерсов и других инструментов
- для поиска определенных торговых формаций на графиках цен
- API AlgoPack предоставляет множество расширенных данных, которые можно анализировать и искать ПЛЮСЫ в их использовании
-
Широкое применение искусственного интеллекта очень активно развивается на Западных рынках, на Российском всё только начинается.
Поэтому и приняли решение сделать торгового советника, который использует нейросети для прогнозирования изменения цены акций и отображает свои прогнозы на дашборде.
Цвет ячейки отражает прогноз по этому тикеру, поэтому даже выросшие в цене тикеры - могут упасть)))
Т.к. этот пример торгового советника с использованием нейросетей хорошо документирован и последовательно проходит через все этапы:
- получение исторических данных по акциям
1_get_historical_data_for_strategy_from_moex.py
- изучение данных, выбор метрик
2_choosing_metrics_for_neural_network.ipynb
- подготовка датасета и обучение нейросети для одной акции
3_train_neural_network_for_one_symbol.py
- проверка предсказаний сделанных нейросетью для одной акции
4_check_predictions_by_neural_network_for_one_symbol.py
- подготовка датасета и обучение нейросети для многих акций индекса
5_train_neural_network_for_many_symbols.py
- обновление предсказаний нейросетью для акций из индекса в двух режимах работы: live + offline
6_live_update_adviser_data.py
- online визуализация дашборда предсказаний нейросетью для акций из индекса (с автообновлением)
7_run_adviser_for_investors.py
- записано обучающее видео как запускать и работать с этим кодом, выложенное на YouTube и на RuTube
то, это позволит всем, кто только начинает свой путь по применению нейросетей для аналитики, использовать этот код, как стартовый шаблон с последующим его усовершенствованием и допиливанием))
- По крайней мере появился +1 рабочий пример использования нейросетей для аналитики цен акций.
Тем самым, станет больше роботов с использованием искусственного интеллекта,
- это повлечет большую волатильность нашего фондового рынка
- большую ликвидность за счет большего количества сделок
- и соответственно больший приток капитала в фондовый рынок
==========================================================================
- Самый простой способ:
git clone https://github.com/WISEPLAT/Hackathon-MOEX-NN-Advisor
- Или через PyCharm:
- нажмите на кнопку Get from VCS при создании нового проекта.
Вот ссылка на этот проект:
https://github.com/WISEPLAT/Hackathon-MOEX-NN-Advisor
Для работы торгового советника с использованием нейросетей, есть некоторые библиотеки, которые вам необходимо установить, их можно установить такой командой:
pip install numpy pandas "tensorflow<2.11" backtrader moexalgo flask
или так:
pip install -r requirements.txt
Обязательно! Выполните в корне вашего проекта через терминал эту команду:
git clone https://github.com/WISEPLAT/backtrader_moexalgo
для клонирования библиотеки, которая позволяет работать с функционалом API AlgoPack + Backtrader.
Теперь наш проект выглядит вот так:
Теперь можно запускать и смотреть, а предварительно лучше посмотреть видео по работе с этим кодом , выложенное на YouTube и на RuTube
Некоторые файлы содержат строку:
exit(777) # для запрета запуска кода, иначе перепишет результаты
это сделано специально, чтобы случайно не перезаписать данные, её можно закомментировать, когда будете тестировать свои модели и свои настройки.
Работоспособность проверялась на Python 3.9+
с последними версиями библиотек.
==========================================================================
- backtrader: очень простая и классная библиотека!
- Команде разработчиков MOEX moexalgo: Для создания оболочки MOEX API, сокращающей большую часть работы.
- Игорю Чечету: за классные бесплатные библиотеки для live торговли реализующие подключения к брокерам
- tensorflow: За простую и классную библиотеку для работы с нейросетями.
Исправление ошибок, доработка и развитие кода осуществляется автором и сообществом!
Пушьте ваши коммиты!
Программный код выложенный по адресу https://github.com/WISEPLAT/Hackathon-MOEX-NN-Advisor в сети интернет, реализующий отображение рекомендаций по акциям на фондовом рынке с использованием нейросетей - это Программа созданная исключительно для удобства работы и изучения применений нейросетей/искусственного интеллекта. При использовании Программы Пользователь обязан соблюдать положения действующего законодательства Российской Федерации или своей страны. Использование Программы предлагается по принципу «Как есть» («AS IS»). Никаких гарантий, как устных, так и письменных не прилагается и не предусматривается. Автор и сообщество не дает гарантии, что все ошибки Программы были устранены, соответственно автор и сообщество не несет никакой ответственности за последствия использования Программы, включая, но, не ограничиваясь любым ущербом оборудованию, компьютерам, мобильным устройствам, программному обеспечению Пользователя вызванным или связанным с использованием Программы, а также за любые финансовые потери, понесенные Пользователем в результате использования Программы. Никто не ответственен за потерю данных, убытки, ущерб, включаю случайный или косвенный, упущенную выгоду, потерю доходов или любые другие потери, связанные с использованием Программы.
Программа распространяется на условиях лицензии MIT.
==========================================================================