Хотя RobinHood не выпустил официального публичного API, существует несколько оболочек для частного API, найденного здесь, на GitHub, sanko. Я наткнулся на R-пакет, недавно опубликованный на CRAN пользователем JestonBlu, и обнаружил, что он уже обладает достаточной функциональностью для автоматизации моей учетной записи RobinHood.

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

Также хочу подключить пакет vapoRware от Moldach, который я использовал для стилизации визуализации в этом посте.

Начиная:

Вот пакеты, которые я использовал в этом проекте, которые можно установить с помощью функции install.packages (), а также некоторые инструкции по началу работы в RobinHood API:

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

Стратегия:

Я решил начать с покупки всех нефармацевтических (прочих) акций стоимостью менее 5 долларов в коллекции Робин Гуда «Популярные акции до 25 долларов». После входа в систему с использованием кода, указанного выше, я сделал это, выполнив следующую команду:

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

«Стратегия» бедняков, которую я использовал в ежедневном сценарии, оценивает 12 акций, которые я купил, используя приведенный выше код, и будущие покупки. Он делает следующее:

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

Поскольку у меня есть другие акции на счете, которые не оцениваются, я оставил небольшую сумму денег на счете и добавил 5-е правило:

5. Если общая стоимость счета увеличится более чем на 10 долларов за один день, купите еще одну акцию, не являющуюся «другой фармацевтической», из «самой популярной коллекции до 25 долларов».

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

Результирующие транзакции (пока)

Я включу полный сценарий в следующий раздел и метод, используемый для автоматизации сценария, но я хотел быстро включить транзакции, выполненные сценарием на данный момент:

Помимо продажи WFT и RAD и покупки дополнительной доли AKS, скрипт пока не сделал ничего, кроме благословения меня семью акциями популярного универмага J.C. Penney’s.

Сценарий

Вот сценарий полностью. Хотя многое из этого, скорее всего, можно было бы сократить и лучше объяснить, до сих пор он достаточно хорошо помог мне укрепить мою позицию в Penney’s (мы сейчас на основе псевдонима, верно?), Чтобы я потерял мотивацию улучшать его.

Автоматизация и заключение

Я использовал этот пост от Pass the ROC, чтобы настроить событие iCal, чтобы запускать скрипт каждый день в 9:45. В Windows есть более интуитивно понятные методы автоматизации с использованием пакета taskscheduleR.

Что касается заключительных замечаний, я хотел бы поблагодарить JestonBlu на GitHub за создание и активное улучшение пакета RobinHood - предоставление полезного интерфейса для API в R. С нетерпением жду возможности увидеть функциональность опционов на складе, чтобы я мог нанести серьезный ущерб мои финансы - все в RStudio.