R/finnhub_endpoint.R

Defines functions finnhub_endpoint

Documented in finnhub_endpoint

#' @title API endpoint selection
#' @description Select the correct endpoint from Finnhub's API
#' 
#' @param end_point An API endpoint.  Example for stock peers /stock/peers.
#'
#' @return 
#' 
#' @examples
#' finnhub_endpoint('revenue_est')
finnhub_endpoint <- function(end_point, ...){
  
  url <- switch(end_point,
                # Stock Fundamentals--------------------------------------------
                #                'stock_exchanges' =endpoint_url('/stock/exchange'),
                'company_symbols' = endpoint_url('/stock/symbol'), # Finnhub reinstated (7/17/2020)
                'company_profile' = endpoint_url('/stock/profile'),
                'company_profile2' = endpoint_url('/stock/profile2'),
                'company_symbols' = endpoint_url('/stock/symbol'),
                'company_executive' = endpoint_url('/stock/executive'),
                #               'ceo_pay' =  endpoint_url('/stock/ceo-compensation'), # Finnhub Removed
                'company_executive' = endpoint_url('/stock/executive'),
                'general_news' = endpoint_url('/news'),
                'forex_news' = endpoint_url('/news'),
                'crypto_news' = endpoint_url('/news'),
                'merger_news' = endpoint_url('/news'),
                'company_news' = endpoint_url('/company-news/'),
                'press_releases' = endpoint_url('/press-releases'),
                'major_developments' = endpoint_url('/major-development'),
                'news_sentiment' = endpoint_url('/news-sentiment'),
                #              'options' = endpoint_url('/stock/option-chain'), # Finnhub Removed
                'peers' = endpoint_url('/stock/peers'),
                'all_metrics' = endpoint_url('/stock/metric'),
                'price_metrics' = endpoint_url('/stock/metric'),
                'valuation_metrics' = endpoint_url('/stock/metric'),
                'margin_metrics' = endpoint_url('/stock/metric'),
                'investor_ownership' = endpoint_url('/stock/investor-ownership'),
                'ownership' = endpoint_url('/stock/ownership'),
                'fund_ownership' = endpoint_url('/stock/fund-ownership'),
                'balance_sheet' = endpoint_url('/stock/financials'),
                'income_statement' = endpoint_url('/stock/financials'),
                'cashflow_statement' = endpoint_url('/stock/financials'),
                'reported_financials' = endpoint_url('/stock/financials-reported'), # New endpoint (7/17/2020)
                'filings' = endpoint_url('/stock/filings'), # New endpoint (7/17/2020)
                'similarity_index' = endpoint_url('/stock/similarity-index'), # New endpoint (7/17/2020)
                'ipo_calendar' = endpoint_url('/calendar/ipo'),
                'stock_dividends' = endpoint_url('/stock/dividend'),
                
                # Stock Estimates-----------------------------------------------
                'recommendation_trends' = endpoint_url('/stock/recommendation'),
                'price_target' = endpoint_url('/stock/price-target'),
                'upgrade_downgrade' = endpoint_url('/stock/upgrade-downgrade'),
                #               'all_upgrade_downgrade' = endpoint_url('/stock/upgrade-downgrade'), # Finnhub Removed
                'revenue_est' = endpoint_url('/stock/revenue-estimate'),
                'eps_estimate' = endpoint_url('/stock/eps-estimate'),
                'eps_surprises' = endpoint_url('/stock/earnings'),
                'earnings_calendar' = endpoint_url('/calendar/earnings'),
                
                # Stock Price---------------------------------------------------
                'stock_quote' = endpoint_url('/quote'),
                'stock_candles' = endpoint_url('/stock/candle'),
                'tick_data' = endpoint_url('/stock/tick'),
                'bid_ask' = endpoint_url('/stock/bidask'), # Finnhub added (7/16/2020)
                'stock_splits' = endpoint_url('/stock/split'),
                
                # ETFs & Indices
                indices_constituents = endpoint_url('/index/constituents'),
                historical_constituents = endpoint_url('/index/historical-constituents'),
                etfs_profile = endpoint_url('/etf/profile'),
                etfs_holdings = endpoint_url('/etf/holdings'),
                etfs_industry = endpoint_url('/etf/sector'),
                etfs_country = endpoint_url('/etf/country'),
                
                # Forex---------------------------------------------------------
                'forex_exchanges' = endpoint_url('/forex/exchange'),
                'forex_symbols' = endpoint_url('/forex/symbol'),
                'forex_candles' = endpoint_url('/forex/candle'),
                'forex_rates' = endpoint_url('/forex/rates'), # New endpoint (7/12/2020)
                
                # Crypto--------------------------------------------------------
                'crypto_exchanges' = endpoint_url('/crypto/exchange'),
                'crypto_symbols' = endpoint_url('/crypto/symbol'),
                'crypto_candles' = endpoint_url('/crypto/candle'),
                
                # Technical Analysis--------------------------------------------
                'pattern_recognition' = endpoint_url('/scan/pattern'), # Finnhub added (7/16/2020)
                'support_resistance' = endpoint_url('/scan/support-resistance'), # Finnhub added (7/16/2020)
                'aggregate_indicators' = endpoint_url('/scan/technical-indicator'),
                'technical_indicators' = endpoint_url('/indicator'),
                # Alternative Data----------------------------------------------
                #               'mergers_acquisitions' = endpoint_url('/merger'), # Finnhub Removed
                'transcripts_lists' = endpoint_url('/stock/transcripts/list'), # Premium only
                'transcripts' = endpoint_url('/stock/transcripts'), # Premium only
                # Covid-19------------------------------------------------------
                'covid19' = endpoint_url('/covid19/us'),
                # # Economic Data-----------------------------------------------
                'country_list' = endpoint_url('/country'),
                'economic_calendar' = endpoint_url('/calendar/economic'),
                'economic_code' = endpoint_url('/economic/code'),
                'economic' = endpoint_url('/economic')
  )
  url
}
threadingdata/finnhubr documentation built on Aug. 10, 2020, 12:48 a.m.