Руководство от А до Я о том, как развернуть модели финансового прогнозирования машинного обучения на Python с помощью Robinhood.

«Я считаю, что говорю от имени всего сообщества, когда говорю, что отсутствие таких руководств крайне расстраивает и является одним из самых важных, но в то же время менее обсуждаемым компонентом любого проекта».

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

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



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

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

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

Еще не разработали модели?

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

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









Начало работы с Robinhood

Прежде чем начать собственно руководство, я хотел бы обрисовать, почему я выбрал Robinhood. Мой ответ можно свести к трем пунктам:

  • Кросс-платформенная поддержка (доступ к ней возможен даже с устройств iOS / Android).
  • Его можно использовать с Python.
  • Нулевая комиссия.

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

(Библиотека, которую мы собираемся использовать, называется pyrh, обычно ее называют неофициальным API Robinhood. Для получения дополнительной информации о библиотеке, а также о процессе ее установки посетите ее страницу документации здесь.)

Продолжайте читать, чтобы узнать, как можно реализовать свои собственные стратегии с помощью Robinhood и Python!

Робинхуд и питон

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

Импортировав библиотеку «pyrh», мы теперь можем подключить записную книжку к нашей учетной записи Robinhood. Для этого просто введите приведенный ниже код и замените обязательные поля (он также работает при включенной двухфакторной аутентификации).

Доступ к данным

Идеально! Теперь мы успешно подключили нашу среду выполнения Python к серверам Robinhood.

Согласно документации библиотеки, API может предоставлять нам следующие типы информации:

Quote data
Ask Price
Ask Size
Bid Price
Bid Size
Last trade price
Previous close
Previous close date
Adjusted previous close
Trading halted
Updated at
Historical Price
User portfolio data
Adjusted equity previous close
Equity
Equity previous close
Excess margin
Extended hours equity
Extended hours market value
Last core equity
Last core market value
Market value
Order history
Dividend history
User positions data
Securities owned
News

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

Базовый пример получения информации о конкретной акции:

Размещение ордеров на ПОКУПКУ / ПРОДАЖУ

В конце концов, наша цель - дать нашей прогнозной модели возможность автоматически размещать заказы (покупать / продавать) с молниеносной скоростью.

Таким образом, давайте предположим, что целью анализа нашей прогнозной модели являются акции Amazon (AMZN).

При настройке модели были установлены определенные параметры, чтобы сигнализировать, была ли акция покупкой / продажей / удержанием в определенную временную метку. Простой способ, которым можно было бы воспользоваться для выполнения такой задачи, - это создать функцию под названием «действие» и в соответствии с возвращаемым значением:

When (action = 0) : Buy
When (action = 1) : Sell
When (action = 2) : Hold

Наш API позволяет нам выполнять эту задачу в режиме реального времени, используя только одну строку кода для каждого заказа. Эти принципы будут применяться следующим образом:

Заключение

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

Хотите узнать больше?

Если вы хотите расширить свои знания и заинтересованы в зарабатывании денег с помощью машинного обучения, я настоятельно рекомендую вам подписаться на меня и прочитать перечисленные статьи ниже:









Получите доступ к экспертному обзору - Подпишитесь на DDI Intel