=begin #Intrinio API #Welcome to the Intrinio API! Through our Financial Data Marketplace, we offer a wide selection of financial data feed APIs sourced by our own proprietary processes as well as from many data vendors. For a complete API request / response reference please view the [Intrinio API documentation](https://docs.intrinio.com/documentation/api_v2). If you need additional help in using the API, please visit the [Intrinio website](https://intrinio.com) and click on the chat icon in the lower right corner. OpenAPI spec version: 2.26.12 Generated by: https://github.com/swagger-api/swagger-codegen.git Swagger Codegen version: unset =end require "uri" module Intrinio class TechnicalApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAccumulationDistributionIndex] def get_security_price_technicals_adi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adi_with_http_info(identifier, opts) return data end # Accumulation/Distribution Index # Returns the Accumulation/Distribution Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAccumulationDistributionIndex, Fixnum, Hash)>] ApiResponseSecurityAccumulationDistributionIndex data, response status code and response headers def get_security_price_technicals_adi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAccumulationDistributionIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume (default to 22) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageDailyTradingVolume] def get_security_price_technicals_adtv(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adtv_with_http_info(identifier, opts) return data end # Average Daily Trading Volume # Returns the Average Daily Trading Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Daily Trading Volume # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageDailyTradingVolume, Fixnum, Hash)>] ApiResponseSecurityAverageDailyTradingVolume data, response status code and response headers def get_security_price_technicals_adtv_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adtv ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adtv" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adtv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adtv".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageDailyTradingVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adtv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average Directional Index # Returns the Average Directional Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageDirectionalIndex] def get_security_price_technicals_adx(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_adx_with_http_info(identifier, opts) return data end # Average Directional Index # Returns the Average Directional Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average Directional Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageDirectionalIndex, Fixnum, Hash)>] ApiResponseSecurityAverageDirectionalIndex data, response status code and response headers def get_security_price_technicals_adx_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_adx ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_adx" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_adx, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_adx, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/adx".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageDirectionalIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_adx\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Awesome Oscillator # Returns the Awesome Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator (default to 5) # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator (default to 34) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAwesomeOscillator] def get_security_price_technicals_ao(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_ao_with_http_info(identifier, opts) return data end # Awesome Oscillator # Returns the Awesome Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate short period Simple Moving Average of the Awesome Oscillator # @option opts [Integer] :long_period The number of observations, per period, to calculate long period Simple Moving Average of the Awesome Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAwesomeOscillator, Fixnum, Hash)>] ApiResponseSecurityAwesomeOscillator data, response status code and response headers def get_security_price_technicals_ao_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ao ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ao" end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 5 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_ao, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ao, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/ao".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAwesomeOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ao\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Average True Range # Returns the Average True Range values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityAverageTrueRange] def get_security_price_technicals_atr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_atr_with_http_info(identifier, opts) return data end # Average True Range # Returns the Average True Range values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Average True Range # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityAverageTrueRange, Fixnum, Hash)>] ApiResponseSecurityAverageTrueRange data, response status code and response headers def get_security_price_technicals_atr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_atr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_atr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_atr, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_atr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/atr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityAverageTrueRange') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_atr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Bollinger Bands # Returns the Bollinger Bands values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands (default to 20) # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands (default to 2.0) # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityBollingerBands] def get_security_price_technicals_bb(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_bb_with_http_info(identifier, opts) return data end # Bollinger Bands # Returns the Bollinger Bands values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Bollinger Bands # @option opts [Float] :standard_deviations The number of standard deviations to calculate the upper and lower bands of the Bollinger Bands # @option opts [String] :price_key The Stock Price field to use when calculating Bollinger Bands # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityBollingerBands, Fixnum, Hash)>] ApiResponseSecurityBollingerBands data, response status code and response headers def get_security_price_technicals_bb_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_bb ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_bb" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_bb, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_bb, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/bb".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'standard_deviations'] = opts[:'standard_deviations'] if !opts[:'standard_deviations'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityBollingerBands') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_bb\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Commodity Channel Index # Returns the Commodity Channel Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index (default to 20) # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index (default to 0.015) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityCommodityChannelIndex] def get_security_price_technicals_cci(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_cci_with_http_info(identifier, opts) return data end # Commodity Channel Index # Returns the Commodity Channel Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Commodity Channel Index # @option opts [Float] :constant The number of observations, per period, to calculate Commodity Channel Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityCommodityChannelIndex, Fixnum, Hash)>] ApiResponseSecurityCommodityChannelIndex data, response status code and response headers def get_security_price_technicals_cci_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cci ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cci" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cci, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cci, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/cci".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'constant'] = opts[:'constant'] if !opts[:'constant'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityCommodityChannelIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cci\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow (default to 20) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityChaikinMoneyFlow] def get_security_price_technicals_cmf(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_cmf_with_http_info(identifier, opts) return data end # Chaikin Money Flow # Returns the Chaikin Money Flow values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Chaikin Money Flow # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityChaikinMoneyFlow, Fixnum, Hash)>] ApiResponseSecurityChaikinMoneyFlow data, response status code and response headers def get_security_price_technicals_cmf_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_cmf ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_cmf" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_cmf, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/cmf".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityChaikinMoneyFlow') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_cmf\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Donchian Channel # Returns the Donchian Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityDonchianChannel] def get_security_price_technicals_dc(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_dc_with_http_info(identifier, opts) return data end # Donchian Channel # Returns the Donchian Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Donchian Channel # @option opts [String] :price_key The Stock Price field to use when calculating Donchian Channel # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityDonchianChannel, Fixnum, Hash)>] ApiResponseSecurityDonchianChannel data, response status code and response headers def get_security_price_technicals_dc_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dc ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dc" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_dc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/dc".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityDonchianChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityDetrendedPriceOscillator] def get_security_price_technicals_dpo(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_dpo_with_http_info(identifier, opts) return data end # Detrended Price Oscillator # Returns the Detrended Price Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Detrended Price Oscillator # @option opts [String] :price_key The Stock Price field to use when calculating Detrended Price Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityDetrendedPriceOscillator, Fixnum, Hash)>] ApiResponseSecurityDetrendedPriceOscillator data, response status code and response headers def get_security_price_technicals_dpo_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_dpo ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_dpo" end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_dpo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/dpo".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityDetrendedPriceOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_dpo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ease of Movement # Returns the Ease of Movement values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement (default to 20) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityEaseOfMovement] def get_security_price_technicals_eom(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_eom_with_http_info(identifier, opts) return data end # Ease of Movement # Returns the Ease of Movement values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Ease of Movement # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityEaseOfMovement, Fixnum, Hash)>] ApiResponseSecurityEaseOfMovement data, response status code and response headers def get_security_price_technicals_eom_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_eom ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_eom" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_eom, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_eom, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/eom".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityEaseOfMovement') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_eom\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Force Index # Returns the Force Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityForceIndex] def get_security_price_technicals_fi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_fi_with_http_info(identifier, opts) return data end # Force Index # Returns the Force Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityForceIndex, Fixnum, Hash)>] ApiResponseSecurityForceIndex data, response status code and response headers def get_security_price_technicals_fi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_fi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_fi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_fi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/fi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityForceIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_fi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo (default to 9) # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo (default to 26) # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo (default to 52) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityIchimokuKinkoHyo] def get_security_price_technicals_ichimoku(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_ichimoku_with_http_info(identifier, opts) return data end # Ichimoku Kinko Hyo # Returns the Ichimoku Kinko Hyo values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate Tenkan Sen (Conversion Line) of Ichimoku Kinko Hyo # @option opts [Integer] :medium_period The number of observations, per period, to calculate Kijun Sen (Base Line), Senkou Span A (Leading Span A), and Chikou Span (Lagging Span) of Ichimoku Kinko Hyo # @option opts [Integer] :high_period The number of observations, per period, to calculate Senkou Span B (Leading Span B) of Ichimoku Kinko Hyo # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityIchimokuKinkoHyo, Fixnum, Hash)>] ApiResponseSecurityIchimokuKinkoHyo data, response status code and response headers def get_security_price_technicals_ichimoku_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_ichimoku ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_ichimoku" end if @api_client.config.client_side_validation && !opts[:'medium_period'].nil? && opts[:'medium_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"medium_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_ichimoku, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/ichimoku".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityIchimokuKinkoHyo') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_ichimoku\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Keltner Channel # Returns the Keltner Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel (default to 10) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityKeltnerChannel] def get_security_price_technicals_kc(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_kc_with_http_info(identifier, opts) return data end # Keltner Channel # Returns the Keltner Channel values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Kelter Channel # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityKeltnerChannel, Fixnum, Hash)>] ApiResponseSecurityKeltnerChannel data, response status code and response headers def get_security_price_technicals_kc_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kc ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kc" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_kc, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kc, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/kc".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityKeltnerChannel') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kc\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Know Sure Thing # Returns the Know Sure Thing values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1 (default to 10) # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2 (default to 15) # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3 (default to 20) # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4 (default to 30) # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1 (default to 10) # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2 (default to 10) # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3 (default to 10) # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4 (default to 15) # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityKnowSureThing] def get_security_price_technicals_kst(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_kst_with_http_info(identifier, opts) return data end # Know Sure Thing # Returns the Know Sure Thing values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :roc1 The number of observations, per period, to calculate the rate-of-change for RCMA1 # @option opts [Integer] :roc2 The number of observations, per period, to calculate the rate-of-change for RCMA2 # @option opts [Integer] :roc3 The number of observations, per period, to calculate the rate-of-change for RCMA3 # @option opts [Integer] :roc4 The number of observations, per period, to calculate the rate-of-change for RCMA4 # @option opts [Integer] :sma1 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA1 # @option opts [Integer] :sma2 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA2 # @option opts [Integer] :sma3 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA3 # @option opts [Integer] :sma4 The number of observations, per period, to calculate the Simple Moving Average of the rate-of-change for RCMA4 # @option opts [String] :price_key The Stock Price field to use when calculating Know Sure Thing # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityKnowSureThing, Fixnum, Hash)>] ApiResponseSecurityKnowSureThing data, response status code and response headers def get_security_price_technicals_kst_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_kst ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_kst" end if @api_client.config.client_side_validation && !opts[:'roc4'].nil? && opts[:'roc4'] < 3 fail ArgumentError, 'invalid value for "opts[:"roc4"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'sma4'].nil? && opts[:'sma4'] < 3 fail ArgumentError, 'invalid value for "opts[:"sma4"]" when calling TechnicalApi.get_security_price_technicals_kst, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_kst, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/kst".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'roc1'] = opts[:'roc1'] if !opts[:'roc1'].nil? query_params[:'roc2'] = opts[:'roc2'] if !opts[:'roc2'].nil? query_params[:'roc3'] = opts[:'roc3'] if !opts[:'roc3'].nil? query_params[:'roc4'] = opts[:'roc4'] if !opts[:'roc4'].nil? query_params[:'sma1'] = opts[:'sma1'] if !opts[:'sma1'].nil? query_params[:'sma2'] = opts[:'sma2'] if !opts[:'sma2'].nil? query_params[:'sma3'] = opts[:'sma3'] if !opts[:'sma3'].nil? query_params[:'sma4'] = opts[:'sma4'] if !opts[:'sma4'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityKnowSureThing') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_kst\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence (default to 12) # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence (default to 26) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence (default to 9) # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMovingAverageConvergenceDivergence] def get_security_price_technicals_macd(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_macd_with_http_info(identifier, opts) return data end # Moving Average Convergence Divergence # Returns the Moving Average Convergence Divergence values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :fast_period The number of observations, per period, to calculate the fast moving Exponential Moving Average for Moving Average Convergence Divergence # @option opts [Integer] :slow_period The number of observations, per period, to calculate the slow moving Exponential Moving Average for Moving Average Convergence Divergence # @option opts [Integer] :signal_period The number of observations, per period, to calculate the signal line for Moving Average Convergence Divergence # @option opts [String] :price_key The Stock Price field to use when calculating Moving Average Convergence Divergence # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMovingAverageConvergenceDivergence, Fixnum, Hash)>] ApiResponseSecurityMovingAverageConvergenceDivergence data, response status code and response headers def get_security_price_technicals_macd_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_macd ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_macd" end if @api_client.config.client_side_validation && !opts[:'slow_period'].nil? && opts[:'slow_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"slow_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_macd, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_macd, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/macd".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'fast_period'] = opts[:'fast_period'] if !opts[:'fast_period'].nil? query_params[:'slow_period'] = opts[:'slow_period'] if !opts[:'slow_period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMovingAverageConvergenceDivergence') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_macd\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Money Flow Index # Returns the Money Flow Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMoneyFlowIndex] def get_security_price_technicals_mfi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_mfi_with_http_info(identifier, opts) return data end # Money Flow Index # Returns the Money Flow Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Money Flow Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMoneyFlowIndex, Fixnum, Hash)>] ApiResponseSecurityMoneyFlowIndex data, response status code and response headers def get_security_price_technicals_mfi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mfi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mfi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mfi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/mfi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMoneyFlowIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mfi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Mass Index # Returns the Mass Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index (default to 9) # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index (default to 25) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityMassIndex] def get_security_price_technicals_mi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_mi_with_http_info(identifier, opts) return data end # Mass Index # Returns the Mass Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :ema_period The number of observations, per period, to calculate the single Exponential Moving Average and the Double Exponential Moving Average for Mass Index # @option opts [Integer] :sum_period The number of observations, per period, to calculate the sum of the Exponetinal Moving Average Ratios for Mass Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityMassIndex, Fixnum, Hash)>] ApiResponseSecurityMassIndex data, response status code and response headers def get_security_price_technicals_mi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_mi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_mi" end if @api_client.config.client_side_validation && !opts[:'ema_period'].nil? && opts[:'ema_period'] < 2 fail ArgumentError, 'invalid value for "opts[:"ema_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'sum_period'].nil? && opts[:'sum_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"sum_period"]" when calling TechnicalApi.get_security_price_technicals_mi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_mi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/mi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'ema_period'] = opts[:'ema_period'] if !opts[:'ema_period'].nil? query_params[:'sum_period'] = opts[:'sum_period'] if !opts[:'sum_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityMassIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_mi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Negative Volume Index # Returns the Negative Volume Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityNegativeVolumeIndex] def get_security_price_technicals_nvi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_nvi_with_http_info(identifier, opts) return data end # Negative Volume Index # Returns the Negative Volume Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityNegativeVolumeIndex, Fixnum, Hash)>] ApiResponseSecurityNegativeVolumeIndex data, response status code and response headers def get_security_price_technicals_nvi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_nvi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_nvi" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_nvi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/nvi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityNegativeVolumeIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_nvi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume # Returns the On-balance Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityOnBalanceVolume] def get_security_price_technicals_obv(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_obv_with_http_info(identifier, opts) return data end # On-balance Volume # Returns the On-balance Volume values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityOnBalanceVolume, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolume data, response status code and response headers def get_security_price_technicals_obv_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/obv".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityOnBalanceVolume') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean (default to 10) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityOnBalanceVolumeMean] def get_security_price_technicals_obv_mean(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_obv_mean_with_http_info(identifier, opts) return data end # On-balance Volume Mean # Returns the On-balance Volume Mean values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate On-balance Volume Mean # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityOnBalanceVolumeMean, Fixnum, Hash)>] ApiResponseSecurityOnBalanceVolumeMean data, response status code and response headers def get_security_price_technicals_obv_mean_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_obv_mean ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_obv_mean" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_obv_mean, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/obv_mean".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityOnBalanceVolumeMean') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_obv_mean\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Relative Strength Index # Returns the Relative Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index (default to 14) # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityRelativeStrengthIndex] def get_security_price_technicals_rsi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_rsi_with_http_info(identifier, opts) return data end # Relative Strength Index # Returns the Relative Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Relative Strength Index # @option opts [String] :price_key The Stock Price field to use when calculating Relative Strength Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityRelativeStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityRelativeStrengthIndex data, response status code and response headers def get_security_price_technicals_rsi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_rsi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_rsi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_rsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/rsi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityRelativeStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_rsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Simple Moving Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average (default to 20) # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecuritySimpleMovingAverage] def get_security_price_technicals_sma(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_sma_with_http_info(identifier, opts) return data end # Simple Moving Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Simple Moving Average # @option opts [String] :price_key The Stock Price field to use when calculating Simple Moving Average # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecuritySimpleMovingAverage, Fixnum, Hash)>] ApiResponseSecuritySimpleMovingAverage data, response status code and response headers def get_security_price_technicals_sma_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sma ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sma" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sma, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sma, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/sma".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecuritySimpleMovingAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sma\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator (default to 14) # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator (default to 3) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityStochasticOscillator] def get_security_price_technicals_sr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_sr_with_http_info(identifier, opts) return data end # Stochastic Oscillator # Returns the Stochastic Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate %K of Stochastic Oscillator # @option opts [Integer] :signal_period The number of observations, per period, to calculate the %D (the Simple Moving Average of %K) as a signal line for Stochastic Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityStochasticOscillator, Fixnum, Hash)>] ApiResponseSecurityStochasticOscillator data, response status code and response headers def get_security_price_technicals_sr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_sr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_sr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 3 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'signal_period'].nil? && opts[:'signal_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"signal_period"]" when calling TechnicalApi.get_security_price_technicals_sr, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_sr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/sr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'signal_period'] = opts[:'signal_period'] if !opts[:'signal_period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityStochasticOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_sr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Triple Exponential Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average (default to 15) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityTripleExponentialAverage] def get_security_price_technicals_trix(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_trix_with_http_info(identifier, opts) return data end # Triple Exponential Average # Returns the Simple Moving Average values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Exponential Moving Average for Triple Exponential Average # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityTripleExponentialAverage, Fixnum, Hash)>] ApiResponseSecurityTripleExponentialAverage data, response status code and response headers def get_security_price_technicals_trix_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_trix ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_trix" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 2 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_trix, must be greater than or equal to 2.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_trix, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/trix".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityTripleExponentialAverage') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_trix\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # True Strength Index # Returns the True Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index (default to 13) # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index (default to 25) # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index (default to close) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityTrueStrengthIndex] def get_security_price_technicals_tsi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_tsi_with_http_info(identifier, opts) return data end # True Strength Index # Returns the True Strength Index values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :low_period The number of observations, per period, to calculate low period Exponential Moving Average for smoothing in True Strength Index # @option opts [Integer] :high_period The number of observations, per period, to calculate high period Exponential Moving Average for smoothing in True Strength Index # @option opts [String] :price_key The Stock Price field to use when calculating True Strength Index # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityTrueStrengthIndex, Fixnum, Hash)>] ApiResponseSecurityTrueStrengthIndex data, response status code and response headers def get_security_price_technicals_tsi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_tsi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_tsi" end if @api_client.config.client_side_validation && !opts[:'low_period'].nil? && opts[:'low_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"low_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && !opts[:'high_period'].nil? && opts[:'high_period'] < 3 fail ArgumentError, 'invalid value for "opts[:"high_period"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be greater than or equal to 3.' end if @api_client.config.client_side_validation && opts[:'price_key'] && !['open', 'high', 'low', 'close', 'volume'].include?(opts[:'price_key']) fail ArgumentError, 'invalid value for "price_key", must be one of open, high, low, close, volume' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_tsi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/tsi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'low_period'] = opts[:'low_period'] if !opts[:'low_period'].nil? query_params[:'high_period'] = opts[:'high_period'] if !opts[:'high_period'].nil? query_params[:'price_key'] = opts[:'price_key'] if !opts[:'price_key'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityTrueStrengthIndex') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_tsi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator (default to 7) # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator (default to 14) # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator (default to 28) # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator (default to 4.0) # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator (default to 2.0) # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator (default to 1.0) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityUltimateOscillator] def get_security_price_technicals_uo(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_uo_with_http_info(identifier, opts) return data end # Ultimate Oscillator # Returns the Ultimate Oscillator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :short_period The number of observations, per period, to calculate the short period for Ultimate Oscillator # @option opts [Integer] :medium_period The number of observations, per period, to calculate the medium period for Ultimate Oscillator # @option opts [Integer] :long_period The number of observations, per period, to calculate the long period for Ultimate Oscillator # @option opts [Float] :short_weight The weight of short Buying Pressure average for Ultimate Oscillator # @option opts [Float] :medium_weight The weight of medium Buying Pressure average for Ultimate Oscillator # @option opts [Float] :long_weight The weight of long Buying Pressure average for Ultimate Oscillator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityUltimateOscillator, Fixnum, Hash)>] ApiResponseSecurityUltimateOscillator data, response status code and response headers def get_security_price_technicals_uo_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_uo ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_uo" end if @api_client.config.client_side_validation && !opts[:'long_period'].nil? && opts[:'long_period'] < 4 fail ArgumentError, 'invalid value for "opts[:"long_period"]" when calling TechnicalApi.get_security_price_technicals_uo, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_uo, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/uo".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'short_period'] = opts[:'short_period'] if !opts[:'short_period'].nil? query_params[:'medium_period'] = opts[:'medium_period'] if !opts[:'medium_period'].nil? query_params[:'long_period'] = opts[:'long_period'] if !opts[:'long_period'].nil? query_params[:'short_weight'] = opts[:'short_weight'] if !opts[:'short_weight'].nil? query_params[:'medium_weight'] = opts[:'medium_weight'] if !opts[:'medium_weight'].nil? query_params[:'long_weight'] = opts[:'long_weight'] if !opts[:'long_weight'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityUltimateOscillator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_uo\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Vortex Indicator # Returns the Vortex Indicator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVortexIndicator] def get_security_price_technicals_vi(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vi_with_http_info(identifier, opts) return data end # Vortex Indicator # Returns the Vortex Indicator values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to calculate Vortex Indicator # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVortexIndicator, Fixnum, Hash)>] ApiResponseSecurityVortexIndicator data, response status code and response headers def get_security_price_technicals_vi_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vi ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vi" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 4 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_vi, must be greater than or equal to 4.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vi, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vi".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVortexIndicator') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vi\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume-price Trend # Returns the Volume-price Trend values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVolumePriceTrend] def get_security_price_technicals_vpt(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vpt_with_http_info(identifier, opts) return data end # Volume-price Trend # Returns the Volume-price Trend values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVolumePriceTrend, Fixnum, Hash)>] ApiResponseSecurityVolumePriceTrend data, response status code and response headers def get_security_price_technicals_vpt_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vpt ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vpt" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vpt, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vpt".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVolumePriceTrend') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vpt\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityVolumeWeightedAveragePrice] def get_security_price_technicals_vwap(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_vwap_with_http_info(identifier, opts) return data end # Volume Weighted Average Price # Returns the Volume Weighted Average Price values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Integer] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityVolumeWeightedAveragePrice, Fixnum, Hash)>] ApiResponseSecurityVolumeWeightedAveragePrice data, response status code and response headers def get_security_price_technicals_vwap_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_vwap ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_vwap" end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_vwap, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/vwap".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityVolumeWeightedAveragePrice') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_vwap\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Williams %R # Returns the Williams %R values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R (default to 14) # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Float] :page_size The number of results to return (default to 100) # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [ApiResponseSecurityWilliamsR] def get_security_price_technicals_wr(identifier, opts = {}) data, _status_code, _headers = get_security_price_technicals_wr_with_http_info(identifier, opts) return data end # Williams %R # Returns the Williams %R values of Stock Prices for the Security with the given `identifier` # @param identifier A Security identifier (Ticker, FIGI, ISIN, CUSIP, Intrinio ID) # @param [Hash] opts the optional parameters # @option opts [Integer] :period The number of observations, per period, to look-back when calculating Williams %R # @option opts [String] :start_date Return technical indicator values on or after the date # @option opts [String] :end_date Return technical indicator values on or before the date # @option opts [Float] :page_size The number of results to return # @option opts [String] :next_page Gets the next page of data from a previous API call # @return [Array<(ApiResponseSecurityWilliamsR, Fixnum, Hash)>] ApiResponseSecurityWilliamsR data, response status code and response headers def get_security_price_technicals_wr_with_http_info(identifier, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug "Calling API: TechnicalApi.get_security_price_technicals_wr ..." end # verify the required parameter 'identifier' is set if @api_client.config.client_side_validation && identifier.nil? fail ArgumentError, "Missing the required parameter 'identifier' when calling TechnicalApi.get_security_price_technicals_wr" end if @api_client.config.client_side_validation && !opts[:'period'].nil? && opts[:'period'] < 5 fail ArgumentError, 'invalid value for "opts[:"period"]" when calling TechnicalApi.get_security_price_technicals_wr, must be greater than or equal to 5.' end if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 10000 fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling TechnicalApi.get_security_price_technicals_wr, must be smaller than or equal to 10000.' end # resource path local_var_path = "/securities/{identifier}/prices/technicals/wr".sub('{' + 'identifier' + '}', identifier.to_s) # query parameters query_params = {} query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil? query_params[:'start_date'] = opts[:'start_date'] if !opts[:'start_date'].nil? query_params[:'end_date'] = opts[:'end_date'] if !opts[:'end_date'].nil? query_params[:'page_size'] = opts[:'page_size'] if !opts[:'page_size'].nil? query_params[:'next_page'] = opts[:'next_page'] if !opts[:'next_page'].nil? # header parameters header_params = {} # HTTP header 'Accept' (if needed) header_params['Accept'] = @api_client.select_header_accept(['application/json']) # form parameters form_params = {} # http body (model) post_body = nil auth_names = ['ApiKeyAuth'] data, status_code, headers = @api_client.call_api(:GET, local_var_path, :header_params => header_params, :query_params => query_params, :form_params => form_params, :body => post_body, :auth_names => auth_names, :return_type => 'ApiResponseSecurityWilliamsR') if @api_client.config.debugging @api_client.config.logger.debug "API called: TechnicalApi#get_security_price_technicals_wr\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end