Skip to content

A simple yet robust API client for Robinhood

License

Notifications You must be signed in to change notification settings

shichao-an/fast_arrow

 
 

Repository files navigation

fast_arrow

A simple yet robust API client for Robinhood

Build Status   Coverage Status   Version

example

from fast_arrow import Client, Stock, OptionChain, Option

#
# Oauth2 authenticate with Robinhood
#
client = Client(username=username, password=password)
client.authenticate()

#
# fetch the stock info for TLT
#
symbol = "TLT"
stock = Stock.fetch(client, symbol)

#
# get the TLT option chain
#
stock_id = stock["id"]
option_chain = OptionChain.fetch(client, stock_id)

#
# let's get TLT options (calls and puts) for next 4 expiration dates
#
oc_id = option_chain["id"]
eds = option_chain['expiration_dates'][0:3]

#
# get all options on the TLT option chain
#
ops = Option.in_chain(client, oc_id, expiration_dates=eds)

#
# merge in market data fro TLT option instruments (ask, bid, delta, theta, etc)
#
ops = Option.mergein_marketdata_list(client, ops)

install

Install the package from pypi,

pip install fast_arrow

another Robinhood client?

fast_arrow at its core,

  1. is a Robinhood api client focused on simple and robust features
  2. provides first class support for stock and option trading
  3. organizes code in small and discrete python classes

features

Here's what you can do with fast_arrow (some features still in development)

Stocks

  • get quotes
  • fetch all stock trades
  • fetch historical data
  • submit orders

Options

Portfolio

Authentication/Security

  • pin SSL certificate (see this PR)
  • implments oauth2 automatic refresh
  • handle MFA token during login

Want to propose a feature? Pull request changes to the readme.

development

Install pipenv, and then run,

pipenv install --dev

Run the test suite via,

make test

Run all the examples (make sure you add username/password to config.debug.ini),

sh run_all_examples.sh

Run the test suite against a specific python version,

pipenv run tox -e py36

About

A simple yet robust API client for Robinhood

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.4%
  • Other 0.6%