class Alphavantage::Stock

Attributes

datatype[R]
symbol[RW]

Public Class Methods

new(symbol:, datatype: "json", key:, verbose: false) click to toggle source
# File lib/Stock.rb, line 4
def initialize symbol:,  datatype: "json", key:, verbose: false
  check_argument([true, false], verbose, "verbose")
  @client = return_client(key, verbose)
  @symbol = symbol
  @datatype = datatype
end

Public Instance Methods

datatype=(datatype) click to toggle source
# File lib/Stock.rb, line 14
def datatype=(datatype)
  check_argument(["json", "csv"], datatype, "datatype")
  @datatype = datatype
end
indicator(function:, interval: "daily", time_period: "60", series_type: "close", fastlimit: "0.01", slowlimit: "0.01", fastperiod: "12", slowperiod: "26", signalperiod: "9", fastmatype: "0", slowmatype: "0", signalmatype: "0", fastkperiod: "5", slowkperiod: "3", slowdperiod: "3", slowkmatype: "0", slowdmatype: "0", fastdperiod: "3", fastdmatype: "0", matype: "0", timeperiod1: "7", timeperiod2: "14", timeperiod3: "28", nbdevup: "2", nbdevdn: "2", acceleration: "0.01", maximum: "0.20") click to toggle source
# File lib/Stock.rb, line 33
def indicator function:, interval: "daily", time_period: "60",
  series_type: "close", fastlimit: "0.01", slowlimit: "0.01",
  fastperiod: "12", slowperiod: "26", signalperiod: "9",
  fastmatype: "0", slowmatype: "0", signalmatype: "0",
  fastkperiod: "5", slowkperiod: "3", slowdperiod: "3",
  slowkmatype: "0", slowdmatype: "0", fastdperiod: "3",
  fastdmatype: "0", matype: "0", timeperiod1: "7", timeperiod2: "14",
  timeperiod3: "28", nbdevup: "2", nbdevdn: "2", acceleration: "0.01",
  maximum: "0.20"
  Alphavantage::Indicator.new function: function, symbol: @symbol,
    interval: interval, time_period: time_period, series_type: series_type,
    fastlimit: fastlimit, slowlimit: slowlimit, fastperiod: fastperiod,
    slowperiod: slowperiod, signalperiod: signalperiod,
    fastmatype: fastmatype, slowmatype: slowmatype,
    signalmatype: signalmatype, fastkperiod: fastkperiod, slowkperiod: slowkperiod,
    slowdperiod: slowdperiod, slowkmatype: slowkmatype, slowdmatype: slowdmatype,
    fastdperiod: fastdperiod, fastdmatype: fastdmatype, matype: matype,
    timeperiod1: timeperiod1, timeperiod2: timeperiod2, timeperiod3: timeperiod3,
    nbdevup: nbdevup, nbdevdn: nbdevdn, acceleration: acceleration,
    maximum: maximum, key: @client
end
quote(file: nil, datatype: @datatype) click to toggle source
# File lib/Stock.rb, line 19
def quote file: nil, datatype: @datatype
  check_datatype(datatype, file)
  url = "function=GLOBAL_QUOTE&symbol=#{symbol}"
  return @client.download(url, file) if datatype == "csv"
  return open_struct(url, "Global Quote")
end
timeseries(type: "daily", interval: nil, outputsize: "compact", file: nil, datatype: @datatype, adjusted: false) click to toggle source
# File lib/Stock.rb, line 26
def timeseries type: "daily", interval: nil, outputsize: "compact",
  file: nil, datatype: @datatype, adjusted: false
  Alphavantage::Timeseries.new type: type, interval: interval,
    outputsize: outputsize, symbol: @symbol, datatype: datatype, file: file,
    key: @client, adjusted: adjusted
end