module Polygon::Api::Endpoints

Public Instance Methods

aggregates(symbol:, multiplier:, timespan:, from:, to:, options: {}) click to toggle source
# File lib/polygon/api/endpoints.rb, line 21
def aggregates(symbol:, multiplier:, timespan:, from:, to:, options: {})
  get("/v2/aggs/ticker/#{symbol}/range/#{multiplier}/#{timespan}/#{from}/#{to}", { apiKey: api_key }.merge(options))
end
all_trades(symbol:, date:, options: {}, &block) click to toggle source
# File lib/polygon/api/endpoints.rb, line 10
def all_trades(symbol:, date:, options: {}, &block)
  last_trade = nil
  loop do
    offset_options = last_trade ? options.merge(timestamp: last_trade&.dig(:t)) : options
    trades = trades(symbol: symbol, date: date, options: offset_options)[:results]
    trades.each { |trade| block.call(trade) }
    last_trade = trades.last
    break if trades.size < (options[:limit] || 50_000)
  end
end
snapshot() click to toggle source
# File lib/polygon/api/endpoints.rb, line 25
def snapshot
  get('/v2/snapshot/locale/us/markets/stocks/tickers', { apiKey: api_key })
end
trades(symbol:, date:, options: {}) click to toggle source
# File lib/polygon/api/endpoints.rb, line 6
def trades(symbol:, date:, options: {})
  get("/v2/ticks/stocks/trades/#{symbol}/#{date}", { apiKey: api_key }.merge(options))
end