Sha256: 603da1134111ae8b34ddbcf34dace5b9c3a4d229bb17f2a045fbe662ee2900da

Contents?: true

Size: 1.41 KB

Versions: 8

Compression:

Stored size: 1.41 KB

Contents

require 'httparty'

class Tda::Stock
  include ::HTTParty
  base_uri 'https://api.tdameritrade.com'

  ## alias
  def self.get_quote which
    self.get_quotes( which )[0]
  end

  ## tickers = "GME"
  ## tickers = "NVDA,GME"
  def self.get_quotes tickers
    path = "/v1/marketdata/quotes"
    inns = self.get path, { query: { apikey: ::TD_AMERITRADE[:apiKey], symbol: tickers } }
    inns = inns.parsed_response
    if [ NilClass, String ].include?( inns.class )
      return []
    end
    inns.each do |k, v|
      inns[k] = v.deep_symbolize_keys
    end
    outs = []
    inns.each do |symbol, obj|
      outs.push ::Iro::PriceItem.create!({
        putCall:        'STOCK',
        symbol:          symbol,
        ticker:          symbol,
        bid:             obj[:bidPrice],
        bidSize:         obj[:bidSize],
        ask:             obj[:askPrice],
        askSize:         obj[:askSize],
        last:            obj[:lastPrice],
        openPrice:       obj[:openPrice],
        closePrice:      obj[:closePrice],
        highPrice:       obj[:highPrice],
        lowPrice:        obj[:lowPrice],
        quoteTimeInLong: obj[:quoteTimeInLong],
        timestamp:       Time.at( obj[:quoteTimeInLong]/1000 ),
        totalVolume:     obj[:totalVolume],
        mark:            obj[:mark],
        exchangeName:    obj[:exchangeName],
        volatility:      obj[:volatility],
      })
    end
    return outs
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
iron_warbler-2.0.7.26 app/models/tda/stock.rb
iron_warbler-2.0.7.25 app/models/tda/stock.rb
iron_warbler-2.0.7.24 app/models/tda/stock.rb
iron_warbler-2.0.7.23 app/models/tda/stock.rb
iron_warbler-2.0.7.22 app/models/tda/stock.rb
iron_warbler-2.0.7.21 app/models/tda/stock.rb
iron_warbler-2.0.7.20 app/models/tda/stock.rb
iron_warbler-2.0.7.19 app/models/tda/stock.rb