Руководство от А до Я о том, как развернуть модели финансового прогнозирования машинного обучения на 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