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

Почему я пошел на курс?

Меня интересовало понимание человеческого поведения, в частности человеческого поведения с временным аспектом (например, процесс принятия решения потребителем).

Благодаря моим проектам в моей текущей роли в Dell я обнаружил, что последовательные модели (например, LSTM, преобразователи) — отличный способ моделирования неструктурированного текста, такого как обратная связь. Я обнаружил, что такие модели достигают приличных результатов в классификации отзывов/комментариев по соответствующим категориям с минимальными функциями. Поэтому я хотел погрузиться в курс ML4T, чтобы узнать больше о последовательном моделировании и о том, как преобразовать данные фондового рынка в задачу машинного обучения. Я считаю, что такие методы будут полезны и применимы к наборам данных в других областях.

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

Как проходит курс?

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

Каждую вторую неделю сдается 1 домашнее задание. Задания требуют знания программирования на Python и базового понимания объектно-ориентированного программирования. Все задания оцениваются автоматически, когда вы отправляете исходный код в систему автоматической оценки. Для некоторых заданий требуется дополнительный отчет (от 5 до 7 страниц в зависимости от задания), который включает вашу методологию, обсуждение результатов и визуализацию в дополнение к вашему исходному коду. Для большинства заданий есть тестовые сценарии. Это были действительно полезные проверки, чтобы убедиться, что мои сценарии работают должным образом.

Вот восемь заданий, которые у нас были осенью 2021 года:

  • Задание 1: Мартингейл: проанализируйте подход к ставкам в рулетке «Мартингейл» на неограниченный или ограниченный проигрыш.
  • Задание 2: Оптимизируйте что-нибудь: используйте оптимизацию, чтобы найти распределения для оптимального портфеля.
  • Задание 3. Оценить учащихся: внедрить алгоритм обучения по дереву решений, алгоритм случайного дерева и метод обучения по пакету (т. е. ансамбль)
  • Задание 4. Победите учащихся: создайте наборы данных, более подходящие для линейной регрессии по сравнению с деревьями решений, и наоборот.
  • Задание 5: Marketsim: внедрить код, который принимает данные о сделках в качестве входных и выходных значений и показателей портфеля с учетом начального значения, комиссии и влияния.
  • Задание 6. Стратегия с ручным управлением. Создайте стратегию с ручным управлением, которая обеспечивает более высокую отдачу, чем эталонная (эта ручная стратегия используется для сравнения с машинным обучением в задании 8).
  • Задание 7: Q Learning Robot: внедрить Q-Learner с Dyna Q на основе простой задачи навигации робота.
  • Задание 8: Изучающий стратегию: сформулируйте торговую задачу, используя подход к обучению из одного из предыдущих заданий (на основе дерева, Q-Learner).

Наконец, каждый экзамен состоит из 30 MCQ, которые необходимо выполнить за 35 минут. Я готовился к нему, проходя лекции, назначенные чтения. Я также практиковал экзаменационные вопросы прошлого года.

  • Банк вопросов для среднесрочных здесь
  • Банк вопросов для финала здесь

Класс состоит из трех мини-курсов: (1) Общий Python, Numpy, Pandas, (2) Финансы, (3) Машинное обучение (в финансах). Первый мини-курс был посвящен использованию библиотек Python для обработки и анализа данных. Это было бы несложно для тех, у кого есть опыт работы с Python. Это также хорошее напоминание об использовании Numpy для выполнения векторизации, чтобы уменьшить временную сложность вашего кода. Второй мини-курс охватывал фундаментальный анализ и технический анализ, уделяя больше внимания последнему, поскольку именно здесь можно применить машинное обучение. В заключительном мини-курсе рассматривалось использование деревьев решений и Q-обучения для решения торговой задачи. Подробнее можно узнать на сайте курса.

Чему я научился?

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

Оценки

Я получил пятерку за этот курс :)