Giter Club home page Giter Club logo

go-iex's Introduction

go-iex

GoDoc releases Go Report Card gopherbadger-tag-do-not-edit

ATTRIBUTION

Data provided by IEX

DESCRIPTION

Client interface to IEX trading API.

ENV

TEST

export IEX_TEST_SECRET_TOKEN=Tsk_ahsvyao12u4u0ausvn1o3rhw988120yf_FAKE
export IEX_TEST_PUBLISHABLE_TOKEN=Tpk_la091720ihakbso128uihotbfao_FAKE

PRODUCTION

export IEX_SECRET_TOKEN=Tsk_ahsvyao12u4u0ausvn1o3rhw988120yf_REAL
export IEX_PUBLISHABLE_TOKEN=Tpk_la091720ihakbso128uihotbfao_REAL

DEV NOTES

  • Use this online json to struct converter to save time
  • Use make test to run test suite
  • Use make coverage to update README.md coverage badge (install coverage tool first go get github.com/jpoles1/gopherbadger)

USAGE

See examples/

SUPPORTED ENDPOINTS

Expand to see supported endpoints

Introduction

  • Batch Requests

Account

  • Metadata
  • Usage
  • Pay as you go
  • Message Budget
  • Signed Requests
  • Setting up signed token
  • Getting the secret for a signed token

API System Metadata

  • Status

Data APIS

  • Data Points
  • Data Tables
  • Time Series

Stock Prices

  • Book
  • Charts
  • Delayed Quote
  • Extended Hours Quote (included as part of Quote response)
  • Historical Prices
  • Intraday Prices
  • Largest Trades
  • Open / Close Price
  • OHLC
  • Previous Day Price
  • Price Only
  • Quote
  • Real-time Quote (included as part of Quote response)
  • Volume by Venue

Stock Profiles

  • Company
  • Insider Roster
  • Insider Summary
  • Insider Transactions
  • Logo
  • Peer Groups

Stock Fundamentals

  • Balance Sheet
  • Cash Flow
  • Dividends (Basic)
  • Earnings
  • Financials
  • Financials As Reported
  • Income Statement
  • SEC Filings
  • Splits (Basic)

Stock Research

  • Advanced Stats
  • Analyst Recommendations (see RecommendationTrends)
  • Estimates
  • Fund Ownership
  • Institutional Ownership
  • Key Stats
  • Price Target
  • Technical Indicators

Corporate Actions

  • Bonus Issue
  • Distribution
  • Dividends
  • Return of Capital
  • Rights Issue
  • Right to Purchase
  • Security Reclassification
  • Security Swap
  • Spinoff
  • Splits

Market Info

  • Collections
  • Earnings Today
  • IPO Calendar
  • List
  • Market Volume (U.S.)
  • Sector Performance
  • Upcoming Events

News

  • News
  • Streaming News
  • Historical News

Cryptocurrency

  • Cryptocurrency Book
  • Cryptocurrency Event
  • Cryptocurrency Price
  • Cryptocurrency Quote

Forex / Currencies

  • Real-time Streaming
  • Latest Currency Rates
  • Currency Conversion
  • Historical Daily

Options

  • End of Day Options

Social Sentiment

  • Social Sentiment

CEO Compensation

  • CEO Compensation

Treasures

  • Daily Treasury Rates

Commodities

  • Oil Prices
  • Natural Gas Price
  • Heating Oil Prices
  • Jet Fuel Prices
  • Diesel Prices
  • Diesel Price
  • Gas Prices
  • Propane Prices

Economic Data

  • CD Rates
  • Consumer Price Index
  • Credit Card Interest Rate
  • Federal Fund Rates
  • Real GDP
  • Institutional Money Funds
  • Initial Claims
  • Industrial Production Index
  • Mortgage Rates
  • Total Housing Starts
  • Total Payrolls
  • Total Vehicle Sales
  • Retail Money Funds
  • Unemployment Rate
  • US Recession Probabilities

Reference Data

  • Search
  • Cryptocurrency Symbols
  • FX Symbols
  • IEX Symbols
  • International Symbols
  • International Exchanges
  • ISIN Mapping
  • Mutual Fund Symbols
  • Options Symbols
  • OTC Symbols
  • Sectors
  • Symbols
  • Tags
  • U.S. Exchanges
  • U.S. Holidays and Trading Dates

Investors Exchange Data

  • DEEP
  • DEEP Auction
  • DEEP Book
  • DEEP Operational Halt Status
  • DEEP Official Price
  • DEEP Security Event
  • DEEP Short Sale Price Test Status
  • DEEP System Event
  • DEEP Trades
  • DEEP Trade Break
  • DEEP Trading Status
  • Last
  • Listed Regulation SHO Threshold Securities List
  • Listed Short Interest List In Dev
  • Stats Historical Daily In Dev
  • Stats Historical Summary
  • Stats Intraday
  • Stats Recent
  • Stats Records
  • TOPS

go-iex's People

Contributors

jonwho avatar yeouchien avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

go-iex's Issues

DELTAS

yibin wants bitchass greeks on his stats per se

delta of the opening price and the current price in dollar amount

Go mod not setup for v2

The repository is tagged with v2 versions but go mod doesn't reflect this. Pulling for v2 of this package responds with an error:

$ go get github.com/jonwho/go-iex/v2
go: finding github.com/jonwho/go-iex/v2 v2.6.0
go: github.com/jonwho/go-iex/[email protected]: go.mod has non-.../v2 module path "github.com/jonwho/go-iex" (and .../v2/go.mod does not exist) at revision v2.6.0
go: error loading module requirements

Also, is go1.13 a strict requirement for this package? Would dropping to go1.11 be ok? Some deployments such as Google Cloud Functions for Go only support up to 1.11.6, and AppEngine only supports 1.11 and 1.12.

Consider relicensing package?

Would you be up to reconsider the GPL-3.0 license this package is currently shipped with? The linking clause in the license is somewhat of a restriction, especially within Go programs, for commercial use cases.

MIT, ISC, or BSD-3 would be good candidates to switch to!

mock tiered responses

using a bummy free account

can mock responses for paywalled endpoints then update tests

mock iexcloud

mock-iex is outdated. needs reflect iexcloud requests now

Chart structure doesn't take into account extra fields when the range is less than a day

From https://iextrading.com/developer/docs/#chart

// .../1d

[
{
"date": "20171215"
"minute": "09:30",
"label": "09:30 AM",
"high": 143.98,
"low": 143.775,
"average": 143.889,
"volume": 3070,
"notional": 441740.275,
"numberOfTrades": 20,
"marktHigh": 143.98,
"marketLow": 143.775,
"marketAverage": 143.889,
"marketVolume": 3070,
"marketNotional": 441740.275,
"marketNumberOfTrades": 20,
"open": 143.98,
"close": 143.775,
"marktOpen": 143.98,
"marketClose": 143.775,
"changeOverTime": -0.0039,
"marketChangeOverTime": -0.004
} // , { ... }
]

// .../3m

[
{
"date": "2017-04-03",
"open": 143.1192,
"high": 143.5275,
"low": 142.4619,
"close": 143.1092,
"volume": 19985714,
"unadjustedClose": 143.7,
"unadjustedVolume": 19985714,
"change": 0.039835,
"changePercent": 0.028,
"vwap": 143.0507,
"label": "Apr 03, 17",
"changeOverTime": -0.0039
} // , { ... }
]

granular VCR recordings

currently every VCR recording will overwrite all yamls. causes commit history to be quite bloated

probably update recorder to be a command that accepts flags for which recordings

double check that VCR pkg first to see if it does this already

rate limiting?

user can wrap calls with own context or api can add backoff strat for client

make reliable tests

this will require mocks.

for different times of the day the api will return different values

mock these requests

typed parameters

accepting parameters as an interface feels clunky

define parameters struct per request

type BatchRequestParams struct {
    Types string `url:"types,omitempty"`
    Range string `url:"range,omitempty"
    Last int `url:"last,omitempty"
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.