polygon

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 22, 2023 License: MIT Imports: 5 Imported by: 122

Documentation

Overview

Package polygon defines a REST client for the Polygon API.

Index

Constants

View Source
const (
	ListAggsPath             = "/v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to}"
	GetAggsPath              = "/v2/aggs/ticker/{ticker}/range/{multiplier}/{timespan}/{from}/{to}"
	GetGroupedDailyAggsPath  = "/v2/aggs/grouped/locale/{locale}/market/{marketType}/{date}"
	GetDailyOpenCloseAggPath = "/v1/open-close/{ticker}/{date}"
	GetPreviousCloseAggPath  = "/v2/aggs/ticker/{ticker}/prev"
)
View Source
const (
	GetSMAPath  = "/v1/indicators/sma/{ticker}"
	GetEMAPath  = "/v1/indicators/ema/{ticker}"
	GetMACDPath = "/v1/indicators/macd/{ticker}"
	GetRSIPath  = "/v1/indicators/rsi/{ticker}"
)
View Source
const (
	ListQuotesPath                    = "/v3/quotes/{ticker}"
	GetLastQuotePath                  = "/v2/last/nbbo/{ticker}"
	GetLastForexQuotePath             = "/v1/last_quote/currencies/{from}/{to}"
	GetRealTimeCurrencyConversionPath = "/v1/conversion/{from}/{to}"
)
View Source
const (
	ListTickersPath      = "/v3/reference/tickers"
	GetTickerDetailsPath = "/v3/reference/tickers/{ticker}"
	ListTickerNewsPath   = "/v2/reference/news"
	GetTickerTypesPath   = "/v3/reference/tickers/types"

	GetMarketHolidaysPath = "/v1/marketstatus/upcoming"
	GetMarketStatusPath   = "/v1/marketstatus/now"

	ListSplitsPath = "/v3/reference/splits"

	ListDividendsPath = "/v3/reference/dividends"

	ListConditionsPath = "/v3/reference/conditions"

	GetExchangesPath = "/v3/reference/exchanges"

	GetOptionsContractPath   = "/v3/reference/options/contracts/{ticker}"
	ListOptionsContractsPath = "/v3/reference/options/contracts"
)
View Source
const (
	GetAllTickersSnapshotPath     = "/v2/snapshot/locale/{locale}/markets/{marketType}/tickers"
	GetTickerSnapshotPath         = "/v2/snapshot/locale/{locale}/markets/{marketType}/tickers/{ticker}"
	GetGainersLosersSnapshotPath  = "/v2/snapshot/locale/{locale}/markets/{marketType}/{direction}"
	GetOptionContractSnapshotPath = "/v3/snapshot/options/{underlyingAsset}/{optionContract}"
	ListOptionsChainSnapshotPath  = "/v3/snapshot/options/{underlyingAsset}"
	GetCryptoFullBookSnapshotPath = "/v2/snapshot/locale/global/markets/crypto/tickers/{ticker}/book"
)
View Source
const (
	ListTradesPath         = "/v3/trades/{ticker}"
	GetLastTradePath       = "/v2/last/trade/{ticker}"
	GetLastCryptoTradePath = "/v1/last/crypto/{from}/{to}"
)
View Source
const (
	ListFinancialsPath  = "/vX/reference/financials"
	GetTickerEventsPath = "/vX/reference/tickers/{id}/events"
)
View Source
const (
	GetSummariesPath = "/v1/summaries"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AggsClient

type AggsClient struct {
	client.Client
}

AggsClient defines a REST client for the Polygon aggs API.

func (*AggsClient) GetAggs deprecated

GetAggs retrieves aggregate bars for a specified ticker over a given date range in custom time window sizes. For example, if timespan = 'minute' and multiplier = '5' then 5-minute bars will be returned. For more details see https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to.

Deprecated: This method does not return an iterator and forces users to handle pagination manually. Use pkg.go.dev/github.com/polygon-io/client-go/rest#AggsClient.ListAggs instead if you want automatic pagination.

func (*AggsClient) GetDailyOpenCloseAgg

GetDailyOpenCloseAgg retrieves the open, close and afterhours prices of a specific symbol on a certain date. For more details see https://polygon.io/docs/stocks/get_v1_open-close__stocksticker___date.

func (*AggsClient) GetGroupedDailyAggs

GetGroupedDailyAggs retrieves the daily open, high, low, and close (OHLC) for the specified market type. For more details see https://polygon.io/docs/stocks/get_v2_aggs_grouped_locale_us_market_stocks__date.

func (*AggsClient) GetPreviousCloseAgg

GetPreviousCloseAgg retrieves the previous day's open, high, low, and close (OHLC) for the specified ticker. For more details see https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__prev.

func (*AggsClient) ListAggs added in v1.9.0

func (ac *AggsClient) ListAggs(ctx context.Context, params *models.ListAggsParams, options ...models.RequestOption) *iter.Iter[models.Agg]

ListAggs retrieves aggregate bars for a specified ticker over a given date range in custom time window sizes. For example, if timespan = 'minute' and multiplier = '5' then 5-minute bars will be returned. For more details see https://polygon.io/docs/stocks/get_v2_aggs_ticker__stocksticker__range__multiplier___timespan___from___to.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListAggs(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

type Client added in v0.4.0

Client defines a client to the Polygon REST API.

func New

func New(apiKey string) *Client

New creates a client for the Polygon REST API.

func NewWithClient added in v1.0.0

func NewWithClient(apiKey string, hc *http.Client) *Client

NewWithClient creates a client for the Polygon REST API using a custom HTTP client.

type IndicatorsClient added in v1.3.0

type IndicatorsClient struct {
	client.Client
}

IndicatorsClient defines a REST client for the Polygon Technical Indicators API.

func (*IndicatorsClient) GetEMA added in v1.3.0

GetEMA retrieves exponential moving average data over the given time range with the specified parameters. For example, if timespan = 'day' and window = '10', a 10-period exponential moving average will be calculated using day aggregates for each period. For more details see https://polygon.io/docs/stocks/get_v1_indicators_ema__stockticker.

func (*IndicatorsClient) GetMACD added in v1.3.0

GetMACD retrieves moving average convergence divergence data over the given time range with the specified parameters. For example, if timespan = 'day', short_window = '12', long_window = '26' and signal_window = '9', the MACD will be calculated by taking the difference between a 26-period EMA and a 12-period EMA. The signal line values will be calculated by taking the 9-day ema of the difference, and the histogram values will be calculated by taking the difference between the MACD values and the signal line. For more details see https://polygon.io/docs/stocks/get_v1_indicators_macd__stockticker.

func (*IndicatorsClient) GetRSI added in v1.3.0

GetRSI retrieves relative strength index data over the given time range with the specified parameters. For example, if timespan = 'day' and window = '10', a 10-period relative strength index will be calculated using day aggregates for each period. For more details see https://polygon.io/docs/stocks/get_v1_indicators_rsi__stockticker.

func (*IndicatorsClient) GetSMA added in v1.3.0

GetSMA retrieves simple moving average data over the given time range with the specified parameters. For example, if timespan = 'day' and window = '10', a 10-period simple moving average will be calculated using day aggregates for each period. For more details see https://polygon.io/docs/stocks/get_v1_indicators_sma__stockticker.

type QuotesClient

type QuotesClient struct {
	client.Client
}

QuotesClient defines a REST client for the Polygon quotes API.

func (*QuotesClient) GetLastForexQuote

GetLastForexQuote retrieves the last quote (BBO) for a forex currency pair. For more details see https://polygon.io/docs/forex/get_v1_last_quote_currencies__from___to.

func (*QuotesClient) GetLastQuote

GetLastQuote retrieves the last quote (NBBO) for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v2_last_nbbo__stocksticker.

func (*QuotesClient) GetRealTimeCurrencyConversion added in v0.5.0

GetRealTimeCurrencyConversion retrieves retrieves currency conversion using the latest market conversion rates. Note that you can convert in both directions. For more details see https://polygon.io/docs/forex/get_v1_conversion__from___to.

func (*QuotesClient) ListQuotes

func (c *QuotesClient) ListQuotes(ctx context.Context, params *models.ListQuotesParams, options ...models.RequestOption) *iter.Iter[models.Quote]

ListQuotes retrieves quotes for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v3_quotes__stockticker.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListQuotes(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

type ReferenceClient

type ReferenceClient struct {
	client.Client
}

ReferenceClient defines a REST client for the Polygon reference API.

func (*ReferenceClient) GetExchanges

GetExchanges lists all exchanges that Polygon knows about. For more details see https://polygon.io/docs/stocks/get_v3_reference_exchanges.

func (*ReferenceClient) GetMarketHolidays

func (c *ReferenceClient) GetMarketHolidays(ctx context.Context, options ...models.RequestOption) (*models.GetMarketHolidaysResponse, error)

GetMarketHolidays retrieves upcoming market holidays and their open/close times. For more details see https://polygon.io/docs/stocks/get_v1_marketstatus_upcoming.

func (*ReferenceClient) GetMarketStatus

func (c *ReferenceClient) GetMarketStatus(ctx context.Context, options ...models.RequestOption) (*models.GetMarketStatusResponse, error)

GetMarketStatus retrieves the current trading status of the exchanges and overall financial markets. For more details see https://polygon.io/docs/stocks/get_v1_marketstatus_now.

func (*ReferenceClient) GetOptionsContract added in v0.10.0

GetOptionsContract retrieves a historical options contract. For more details see https://polygon.io/docs/options/get_v3_reference_options_contracts__options_ticker.

func (*ReferenceClient) GetTickerDetails

GetTickerDetails retrieves details for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v3_reference_tickers__ticker.

func (*ReferenceClient) GetTickerTypes

GetTickerTypes retrieves all the possible ticker types that can be queried. For more details see https://polygon.io/docs/stocks/get_v3_reference_tickers_types.

func (*ReferenceClient) ListConditions

func (c *ReferenceClient) ListConditions(ctx context.Context, params *models.ListConditionsParams, options ...models.RequestOption) *iter.Iter[models.Condition]

ListConditions retrieves reference conditions. For more details see https://polygon.io/docs/stocks/get_v3_reference_conditions.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListConditions(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

func (*ReferenceClient) ListDividends

func (c *ReferenceClient) ListDividends(ctx context.Context, params *models.ListDividendsParams, options ...models.RequestOption) *iter.Iter[models.Dividend]

ListDividends retrieves reference dividends. For more details see https://polygon.io/docs/stocks/get_v3_reference_dividends.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListDividends(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

func (*ReferenceClient) ListOptionsContracts added in v0.10.0

ListOptionsContracts lists historical options contracts. For more details see https://polygon.io/docs/options/get_v3_reference_options_contracts.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListOptionsContracts(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

func (*ReferenceClient) ListSplits

func (c *ReferenceClient) ListSplits(ctx context.Context, params *models.ListSplitsParams, options ...models.RequestOption) *iter.Iter[models.Split]

ListSplits retrieves reference splits. For more details see https://polygon.io/docs/stocks/get_v3_reference_splits.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListSplits(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

func (*ReferenceClient) ListTickerNews added in v0.4.0

ListTickerNews retrieves news articles for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v2_reference_news.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListTickerNews(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

func (*ReferenceClient) ListTickers

func (c *ReferenceClient) ListTickers(ctx context.Context, params *models.ListTickersParams, options ...models.RequestOption) *iter.Iter[models.Ticker]

ListTickers retrieves reference tickers. For more details see https://polygon.io/docs/stocks/get_v3_reference_tickers__ticker.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListTickers(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

type SnapshotClient

type SnapshotClient struct {
	client.Client
}

SnapshotClient defines a REST client for the Polygon snapshot API.

func (*SnapshotClient) GetAllTickersSnapshot

GetAllTickersSnapshot gets the current minute, day, and previous day's aggregate, as well as the last trade and quote for all symbols of a specified market type.

Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST.

For more details see https://polygon.io/docs/stocks/get_v2_snapshot_locale_us_markets_stocks_tickers.

func (*SnapshotClient) GetCryptoFullBookSnapshot

GetCryptoFullBookSnapshot gets the current level 2 book of a single cryptocurrency ticker. This is the combined book from all of the exchanges.

Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges.

For more details see https://polygon.io/docs/crypto/get_v2_snapshot_locale_global_markets_crypto_tickers__ticker__book.

func (*SnapshotClient) GetGainersLosersSnapshot

GetGainersLosersSnapshot gets the current top 20 gainers or losers of the day in a specific market type.

Top gainers are those tickers whose price has increased by the highest percentage since the previous day's close. Top losers are those tickers whose price has decreased by the highest percentage since the previous day's close.

Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges.

For more details see https://polygon.io/docs/stocks/get_v2_snapshot_locale_us_markets_stocks__direction.

func (*SnapshotClient) GetOptionContractSnapshot

GetOptionContractSnapshot gets the snapshot of an option contract for a stock equity. For more details see https://polygon.io/docs/options/get_v3_snapshot_options__underlyingasset___optioncontract.

func (*SnapshotClient) GetTickerSnapshot

GetTickerSnapshot gets the current minute, day, and previous day's aggregate, as well as the last trade and quote for a single traded symbol of a specified market type.

Note: Snapshot data is cleared at 12am EST and gets populated as data is received from the exchanges. This can happen as early as 4am EST.

For more details see https://polygon.io/docs/stocks/get_v2_snapshot_locale_us_markets_stocks_tickers__stocksticker.

func (*SnapshotClient) ListOptionsChainSnapshot added in v1.7.0

func (ac *SnapshotClient) ListOptionsChainSnapshot(ctx context.Context, params *models.ListOptionsChainParams, options ...models.RequestOption) *iter.Iter[models.OptionContractSnapshot]

ListOptionsChainSnapshot retrieves the snapshot of all options contracts for an underlying ticker. For more details see https://polygon.io/docs/options/get_v3_snapshot_options__underlyingasset.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListOptionsChainSnapshot(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

type SummariesClient added in v1.6.0

type SummariesClient struct {
	client.Client
}

SummariesClient defines a REST client for the Polygon Snapshot Summary API.

func (*SummariesClient) GetSummaries added in v1.6.0

GetSummaries retrieves summaries for the ticker list with the given params. For more details see https://polygon.io/docs/stocks/get_v1_summaries.

type TradesClient

type TradesClient struct {
	client.Client
}

TradesClient defines a REST client for the Polygon trades API.

func (*TradesClient) GetLastCryptoTrade

GetLastCryptoTrade retrieves the last trade for a crypto pair. For more details see https://polygon.io/docs/crypto/get_v1_last_crypto__from___to.

func (*TradesClient) GetLastTrade

GetLastTrade retrieves the last trade for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v2_last_trade__stocksticker.

func (*TradesClient) ListTrades

func (c *TradesClient) ListTrades(ctx context.Context, params *models.ListTradesParams, options ...models.RequestOption) *iter.Iter[models.Trade]

ListTrades retrieves trades for a specified ticker. For more details see https://polygon.io/docs/stocks/get_v3_trades__stockticker.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListTrades(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

type VXClient added in v0.7.0

type VXClient struct {
	client.Client
}

VXClient defines a REST client for the Polygon VX (experimental) API.

func (*VXClient) GetTickerEvents added in v1.8.0

GetTickerEvents retrieves a timeline of events for the entity associated with the given ticker, CUSIP, or Composite FIGI. // For more details see https://polygon.io/docs/stocks/get_vx_reference_tickers__id__events.

func (*VXClient) ListStockFinancials added in v0.7.0

func (c *VXClient) ListStockFinancials(ctx context.Context, params *models.ListStockFinancialsParams, options ...models.RequestOption) *iter.Iter[models.StockFinancial]

ListStockFinancials retrieves historical financial data for a stock ticker. The financials data is extracted from XBRL from company SEC filings using the methodology outlined here: http://xbrl.squarespace.com/understanding-sec-xbrl-financi/.

Note: this method utilizes an experimental API and could experience breaking changes or deprecation.

This method returns an iterator that should be used to access the results via this pattern:

iter := c.ListStockFinancials(context.TODO(), params, opts...)
for iter.Next() {
	log.Print(iter.Item()) // do something with the current value
}
if iter.Err() != nil {
	return iter.Err()
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL