English 中文 Español Deutsch 日本語 Português
preview
Как прокачаться в машинном обучении (Machine Learning)

Как прокачаться в машинном обучении (Machine Learning)

MetaTrader 5Примеры | 9 июня 2022, 15:52
2 951 7
MetaQuotes
MetaQuotes

Все трейдеры, приходя на рынок, начинают обучение с основ технического анализа и читают одни и те же книги по торговле на бирже. Базовое понимание основ дается легко, этап ручной торговли проходит достаточно быстро. Становится понятно, что торговать желательно много, постоянно, на множестве инструментов и с минимальным риском. Трейдер начинает писать роботов и тратит теперь свое время не на просмотры графиков, а на разработку и отладку автоматических торговых систем — торговых роботов.

Алгоритмический трейдинг — необъятная тема. Простейший поиск в интернете дает ссылки на сотни, если не тысячи профильных пособий и интернет-ресурсов. В последнее время правильным подходом считается использование машинного обучения (Machine Learning) и нейронных сетей. И тут вам открывается новый пласт разнообразнейших знаний, и трудно понять, с чего же начать систематическое знакомство с предметом. Представляем вам краткую подборку материалов на английском языке, с тем чтобы сэкономить вам время на поиски.

Книги


Книги

Небольшая подборка книг по использованию машинного обучения в алготрейдинге. Знание математики, статистики и навыков программирования на Python крайне желательны.

  • Marcos López de Prado — Advances in Financial Machine Learning (ссылка)
  • Dr Howard B Bandy — Quantitative Technical Analysis: An integrated approach to trading system development and trading management [link)
  • Tony Guida — Big Data and Machine Learning in Quantitative Investment (ссылка)
  • Michael Halls-Moore — Advanced Algorithmic Trading (ссылка)
  • Jannes Klaas — Machine Learning for Finance: Data algorithms for the markets and deep learning from the ground up for financial experts and economics (ссылка)
  • Stefan Jansen — Hands-On Machine Learning for Algorithmic Trading: Design and implement smart investment strategies to analyze market behavior using the Python ecosystem (ссылка)
  • Ali N. Akansu и другие — Financial Signal Processing and Machine Learning (ссылка)
  • David Aronson — Evidence-Based Technical Analysis: Applying the Scientific Method and Statistical Inference to Trading (ссылка)
  • David Aronson — Statistically Sound Machine Learning for Algorithmic Trading of Financial Instruments (ссылка)
  • Ernest P. Chan — Machine Trading: Deploying Computer Algorithms to Conquer the Markets (ссылка)


Онлайн курсы и специализации

Обучение на онлайн курсах является наиболее доступным и популярным во всех областях знаний. Вашему вниманию небольшая подборка курсов по машинному обучению на Udacity и Coursera

Онлайн курсы

  • Udacity, Georgia Tech — Machine Learning for Trading. Курс знакомит студентов с реальными проблемами реализации торговых стратегий на основе машинного обучения. Основное внимание уделяется тому, как применять вероятностные подходы машинного обучения к торговым решениям. Рассматриваются статистические подходы, такие как линейная регрессия, KNN и деревья регрессии, и способы их применения в реальных ситуациях торговли акциями. Длительность 4 месяца.

  • Udacity, WorldQuant — Artificial Intelligence for Trading. На этом курсе за 6 месяцев вы изучите основы количественного анализа, включая обработку данных, генерацию торговых сигналов и управление портфелем. Вы научитесь использовать Python для работы с историческими данными на акциях, разработки торговых стратегий и построения многофакторной модели с оптимизацией.

  • Coursera, NYU — специализация "Machine Learning and Reinforcement Learning in Finance Specialization (Weakly related to trading)" из четырех курсов, длительностью от 24 часов. Данная серия рассчитана на три категории слушателей:

    1. Практики, работающие в финансовых учреждениях, таких как банки, фирмы по управлению активами или хедж-фонды.
    2. Лица, заинтересованные в применении машинного обучения для внутридневной торговли.
    3. Студенты дневного отделения, изучающие финансы, статистику, информатику, математику, физику или другие смежные дисциплины, которые хотят узнать о практических применениях ML в финансах.
    Для выполнения заданий этого курса необходим опыт работы с Python (numpy, pandas и IPython/Jupyter), знание линейной алгеброй и базовой теории вероятностей.

    Сами курсы:
    • Coursera, NYU — Guided Tour of Machine Learning in Finance . Вводный курс по машинному обучению с упором на приложения в области финансов. 
    • Coursera, NYU — Fundamentals of Machine Learning in Finance.  Учащийся, обладающий некоторыми или отсутствующими знаниями в области машинного обучения (ML), познакомится с основными алгоритмами обучения с учителем и без учителя, и обучения с подкреплением, и сможет использовать пакеты Python с открытым исходным кодом ML для разработки, тестирования и реализации алгоритмов ML в области финансов.
    • Coursera, NYU — Reinforcement Learning in Finance . Курс направлен на ознакомление с фундаментальными концепциями обучения с подкреплением (RL) и разработку вариантов использования приложений RL для оценки опционов, торговли и управления активами.
    • Coursera, NYU — Overview of Advanced Methods for Reinforcement Learning in Finance. В последнем курсе специализации более подробно рассматриваются темы, которые обсуждались в предыдущем третьем курсе. В частности, темы о связях между обучением с подкреплением, ценообразованием опционов и физикой, последствиях обучения с обратным подкреплением для моделирования влияния рынка и динамики цен. А также о циклах восприятия-действия в обучении с подкреплением.


Видео на Youtube

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

Видео

  • Siraj Raval — Videos about stock market prediction using Deep Learning (ссылка). Бот по криптовалютам, Reinforcement Learning  для предсказания цен на акции, TensorFlow и многое другое.
  • QuantInsti Youtube — webinars about Machine Learning for trading (ссылка). Машинное обучение, количественные финансы, теория оптимального портфеля и много других обучающих видео.
  • Quantopian — Webinars about Machine Learning for trading (ссылка). Применение классификации и регрессии в трейдинге, глубокое обучение (Deep Learning), Big Data, создание моделей для анализа сентимента и много других видео пор машинному обучению.
  • Sentdex — Machine Learning for Forex and Stock analysis and algorithmic trading (ссылка). Вводный курс по машинному обучению и распознаванию паттернов при торговле на форексе и акциях.
  • Sentdex — Python programming for Finance (a few videos including Machine Learning) (ссылка). Предобработка данных для машинного обучения с использованием Python.
  • QuantNews — Machine Learning for Algorithmic Trading из 3-х видео (ссылка). Описываются первые шаги в машинном обучении, подготовка данных и настройка гиперпараметров в моделях.
  • Howard Bandy — Machine Learning Trading System Development Webinar (ссылка).  Запись вебинара по разработке торговой системы с использованием машинного обучения.
  • Ernie Chan — Machine Learning for Quantitative Trading Webinar (ссылка). Еще один часовой вебинар по машинному обучению.
  • Hitoshi Harada, CTO at Alpaca — Deep Learning in Finance Talk (ссылка).  Глубокое обучение в области финансов от Hitoshi Harada, CTO в компании Alpaca, которая разрабатывает API для автоматизации торговли на крипто- и фондовых биржах.
  • Prediction Machines — Deep Learning with Python in Finance Talk (ссылка). Спикер Бен рассказывает о реализации алгоритма обучения с подкреплением на Python с использованием TensorFlow, а также справочную информацию о классе алгоритма глубокого обучения и приложении к финансовым рынкам.
  • Master Thesis presentation, Uni of Essex — Analyzing the Limit Order Book, A Deep Learning Approach (ссылка)
  • Tucker Balch — Applying Deep Reinforcement Learning to Trading (ссылка). Презентация финального проекта на магистра наук Алготрейдинга в Университете Эссекса. Цель проекта состоит в том, чтобы извлечь информацию из книги ордеров 2-го уровня (DOM Level-2) с помощью сверточной нейронной сети.
  • Krish Naik — Stock Price Prediction And Forecasting Using Stacked LSTM-Deep Learning (ссылка). Создание модели машинного обучения для прогнозирования фондового рынка. Прогнозирование фондового рынка — это попытка определить будущую стоимость акций компании или другого финансового инструмента, торгуемого на финансовой бирже.

    Блоги и тематические сайты

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

    Блоги

    • Quantstart — Machine Learning for Trading articles (ссылка).  Несколько десятков статей, которые разбиты по категориям. Приводятся теоретический основы, математические формулы и примеры вычислений на нескольких языках программирования.
    • Quantopian — Lecture notebooks on ML-related statistics (link на github). Сам сайт уже недоступен, но благодаря Ihor Marusyk вы можете почитать и посмотреть все 56 лекций этого легендарного ресурса.
    • AAA Quants, Tom Starke Blog (ссылка). Тематика блога обозначена как "Решения на основе искусственного интеллекта, количественного анализа и обработки данных для работы на финансовых рынках". Небольшие серии хорошо написанных статей, приправленных кодами на Python, позволят вам получить представления о применении математики в алготрейдинге.
    • RobotWealth, Kris Longmore Blog (ссылка). Еще один полезный блог, посвященный машинному обучению. Здесь также можно найти обзоры по книгам и статьям на тему алготрейдинга. Оторваться от этого ресурса будет сложно.
    • Blackarbs blog (ссылка). Интересный блог трейдера, который потерпел однажды крах в дискреционной торговли, а затем переключился на Python, количественный анализ и полную автоматизацию в торговле. Множество публикаций с 2013 года, в которых он делится своими идеями и методами.
    • Hardikp, Hardik Patel blog (ссылка)


    Интервью

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

    Интервью

    • Chat with Traders EP042 — Machine learning for algorithmic trading with Bert Mouler (ссылка)
    • Chat with Traders EP142 — Algo trader using automation to bypass human flaws with Bert Mouler (ссылка)
    • Chat with Traders EP147 — Detective work leading to viable trading strategies with Tom Starke (ссылка)
    • Chat with Traders Quantopian 5 — Good Uses of Machine Learning in Finance with Max Margenot (ссылка)
    • Chat With Traders EP131 — Trading strategies, powered by machine learning with Morgan Slade (ссылка)
    • Better System Trader EP023 — Portfolio manager Michael Himmel talks AI and machine learning in trading (ссылка)
    • Better System Trader EP028 — David Aronson shares research into indicators that identify Bull and Bear markets. (ссылка)
    • Better System Trader EP082 — Machine Learning With Kris Longmore (ссылка)
    • Better System Trader EP064 — Cryptocurrencies and Machine Learning with Bert Mouler (ссылка)
    • Better System Trader EP090 — This quants’ approach to designing algo strategies with Michael Halls-Moore (ссылка)


    Научные публикации

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

    В последние десятилетия многие исследователи пытались разработать интеллектуальные методы и алгоритмы для поддержки принятия решений в различных сегментах финансового рынка. Здесь представлено более 30 статей от научных и образовательных заведений всего мира на тему глубокого обучения, классификации и других видов искусственного интелекта для предсказания и торговли на финансовых рынках.

    • James Cumming — An Investigation into the Use of Reinforcement Learning Techniques within the Algorithmic Trading Domain (ссылка)
    • Marcos López de Prado — The 10 reasons most Machine Learning Funds fails (ссылка)
    • Zhuoran Xiong и другие — Practical Deep Reinforcement Learning Approach for Stock Trading (ссылка)
    • Gordon Ritter — Machine Learning for Trading (ссылка)
    • J.B. Heaton и другие — Deep Learning for Finance: Deep Portfolios (ссылка)
    • Justin Sirignano и другие — Universal Features of Price Formation in Financial Markets: Perspectives From Deep Learning (ссылка)
    • Marcial Messmer — Deep Learning and the Cross-Section of Expected Returns (ссылка)
    • Marcos Lopez de Prado — Ten Financial Applications of Machine Learning (Presentation Slides) (ссылка)
    • Marcos Lopez de Prado — The Myth and Reality of Financial Machine Learning (Presentation Slides) (ссылка)
    • Artur Sepp — Machine Learning for Volatility Trading (Presentation Slides) (ссылка)
    • Marcos Lopez de Prado — Market Microstructure in the Age of Machine Learning (ссылка)
    • Jonathan Brogaard — Machine Learning and the Stock Market (ссылка)
    • Milan Fičura — Forecasting Foreign Exchange Rate Movements with k-Nearest-Neighbour, Ridge Regression and Feed-Forward Neural Networks (ссылка)
    • Samuel Edet — Recurrent Neural Networks in Forecasting S&P 500 Index (ссылка) Amin Hedayati и другие - Stock Market Index Prediction Using Artificial Neural Network (ссылка)
    • Jaydip Sen и другие — A Robust Predictive Model for Stock Price Forecasting (ссылка)
    • O.B. Sezer и другие — An Artificial Neural Network-based Stock Trading System Using Technical Analysis and Big Data Framework (ссылка)
    • Ritika Singh и другие — Stock prediction using deep learning (ссылка)
    • Thomas Fischera и другие — Deep learning with long short-term memory networks for financial market predictions (ссылка)
    • R.C.Cavalcante и другие — Computational Intelligence and Financial Markets: A Survey and Future Directions (ссылка)
    • E. Chong и другие — Deep Learning Networks for Stock Market Analysis and Prediction: Methodology, Data Representations, and Case Studies (ссылка)
    • Chien Yi Huang — Financial Trading as a Game: A Deep Reinforcement Learning Approach (ссылка)
    • W. Bao и другие — A deep learning framework for financial time series using stacked autoencoders and longshort term memory (ссылка)
    • Xingyu Zhou и другие — Stock Market Prediction on High-Frequency Data Using Generative Adversarial Nets (ссылка)
    • Fuli Feng и другие — Improving Stock Movement Prediction with Adversarial Training (ссылка)
    • Z. Zhao и другие — Time-Weighted LSTM Model with Redefined Labeling for Stock Trend Prediction (ссылка)
    • Arthur le Calvez, Dave Cliff — Deep Learning can Replicate Adaptive Traders in a Limit-Order-Book Financial Market (ссылка)
    • Dang Lien Minh и другие — Deep Learning Approach for Short-Term Stock Trends Prediction Based on Two-Stream Gated Recurrent Unit Network (ссылка)
    • Yue Deng и другие — Deep Direct Reinforcement Learning for Financial Signal Representation and Trading (ссылка)
    • Xiao Zhong — A comprehensive cluster and classification mining procedure for daily stock market return forecasting (ссылка)
    • J. Zhang и другие — A novel data-driven stock price trend prediction system (ссылка)
    • Ehsan Hoseinzade и другие — CNNPred: CNN-based stock market prediction using several data sources (ссылка)
    • Hyejung Chung и другие — Genetic Algorithm-Optimized Long Short-Term Memory Network for Stock Market Prediction (ссылка)
    • Yujin Baek и другие — ModAugNet: A new forecasting framework for stock market index value with an overfitting prevention LSTM module and a prediction LSTM module (ссылка)
    • Rajashree Dash и другие — A hybrid stock trading framework integrating technical analysis with machine learning techniques (ссылка)
    • E.A. Gerlein и другие — Evaluating machine learning classification for financial trading: an empirical approach (ссылка)
    • Justin Sirignano — Deep Learning for Limit Order Books (ссылка)


    Торговля на новостях и сентименте

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

    • Frank Z. Xing и другие — Natural language based financial forecasting: a survey (ссылка). Обработка естественного языка (NLP) становится все более мощной из-за доступности данных и различных методов, разработанных в последнее десятилетие. Эта возрастающая способность позволяет более точно фиксировать сентимент рынка.
    • Ziniu Hu и другие — Listening to Chaotic Whispers: A Deep Learning Framework for News-oriented Stock Trend Prediction (ссылка). В статье описываются гибридные сети внимания (Hybrid Attention Networks), разработанные для предсказания трендов акций на основе последовательности последних связанных новостей.
    • J.W. Leung, Master Thesis, MIT — Application of Machine Learning: Automated Trading Informed by Event Driven Data (ссылка). В этой статье показано как создавать торговые стратегии, применяя
      методы машинного обучения как для индикаторов технического анализа, так и сентимента рынка. Полученные модели прогнозирования можно использовать для алготорговли на любой заданной фондовой бирже.
    • Xiao Ding и другие — Deep Learning for Event-Driven Stock Prediction (ссылка). В статье рассматривается метод глубокого обучения для предсказания событий на фондовом рынке. На первом этапе события извлекаются из текста новостей и представляются в виде плотных векторов, обученных с использованием новой нейронной тензорной сети. Далее глубокая сверточная нейронная сеть используется для моделирования как краткосрочных, так и долгосрочных влияний событий на движение цен на акции.


    Заключение

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

    Дорогу осилит идущий: если на данном этапе та или иная тема вам покажется слишком сложной, теперь вы знаете какие курсы искать в интернете, чтобы подступиться к теме машинного обучения. Учитесь сами и помогайте другим трейдерам, делитесь полезными ссылками и своими находками в этом непростом деле в нашем сообществе MQL5.community.

    Последние комментарии | Перейти к обсуждению на форуме трейдеров (7)
    MetaQuotes
    MetaQuotes | 10 июн. 2022 в 08:46
    Исправили
    Aliaksandr Hryshyn
    Aliaksandr Hryshyn | 11 июн. 2022 в 00:49
    MetaQuotes #:
    Исправили
    Спасибо
    Evgeny Dyuka
    Evgeny Dyuka | 31 авг. 2022 в 09:35
    Ilnur Hasanov #:
    Я видел много этих типа автоматов. И ни один в прибыль он не работал. Машинное обучение окей красивое слово Искусственный интеллект. Смотря на этот искусственный интеллект, понимаешь что совсем не интеллект. Так вот есть ли реально работающий алгоритм построенный на ИИ который торгует в прибыль ? Даже человек который обладает реальным разумом ошибается.

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

    Модели давно не обновлял, хорошие результаты показывает новая версия для крипты, но здесь ее не выкладывал.

    Mikhail Nikolchak
    Mikhail Nikolchak | 2 сент. 2022 в 15:34
    Благодарю за ссылки. 
    Может, кто-то порекомендует, с чего лучше начать погружение в тему? С чего начинали те, кто сейчас в теме ML хорошо разбирается (особенно если не учились изначально на data scientist’ов)? 

    Rashid Umarov
    Rashid Umarov | 2 сент. 2022 в 16:05
    Mikhail Nikolchak #:
    Благодарю за ссылки. 
    Может, кто-то порекомендует, с чего лучше начать погружение в тему? С чего начинали те, кто сейчас в теме ML хорошо разбирается (особенно если не учились изначально на data scientist’ов)? 

    Начните с изучения курсов по Python.Сейчас их много и есть даже бесплатные, вроде.

    Без него в машинное обучение не зайти.

    Модель движения цены и ее основные положения (Часть 1): Простейший вариант  модели  и его  приложения Модель движения цены и ее основные положения (Часть 1): Простейший вариант модели и его приложения
    Представлены основы математически строгой теории движения цены и функционирования рынка. Строгой математической теории движения цены до настоящего момента еще не было создано, а имелся только ряд неподкрепленных ни статистикой, ни теорией предположений типа, что после таких-то паттернов цена движется так-то.
    Разработка торгового советника с нуля (Часть 12): Время и торговля (I) Разработка торгового советника с нуля (Часть 12): Время и торговля (I)
    Сегодня мы создадим Time & Trade с быстрой интерпретацией для чтения потока ордеров. Это первая часть, в которой мы будем строить эту систему. В следующей статье мы дополним систему недостающей информацией, поскольку нам потребуется добавить в код нашего эксперта несколько новых вещей.
    DoEasy. Элементы управления (Часть 8): Базовые WinForms-объекты по категориям, элементы управления "GroupBox" и "CheckBox" DoEasy. Элементы управления (Часть 8): Базовые WinForms-объекты по категориям, элементы управления "GroupBox" и "CheckBox"
    В статье рассмотрим создание WinForms-объектов "GroupBox" и "CheckBox", а также создадим базовые объекты для категорий WinForms-объектов. Все создаваемые объекты пока у нас статические, т.е. не имеют функционала интерактивного взаимодействия с мышкой.
    DoEasy. Элементы управления (Часть 7): Элемент управления "Текстовая метка" DoEasy. Элементы управления (Часть 7): Элемент управления "Текстовая метка"
    В статье создадим класс объекта элемента управления WinForms "Текстовая метка". Такой объект будет иметь возможность позиционирования в любом месте своего контейнера, а его собственный функционал будет повторять некоторый функционал текстовой метки MS Visual Studio — мы сможем задать для выводимого текста параметры шрифта.