├── .Rbuildignore ├── .gitignore ├── DESCRIPTION ├── LICENSE ├── LICENSE.md ├── NAMESPACE ├── NEWS.md ├── R ├── advanced-data.R ├── api-build-urls.R ├── api-content-format.R ├── api-content-request.R ├── company-finanicial-statements.R ├── company-valuation.R ├── fmp-list.R ├── fmp-market-info.R ├── fmp-prices.R ├── fmp-quotes.R ├── fmpapi-package.R ├── institutional-funds.R ├── stock-screener.R └── utils.R ├── README.Rmd ├── README.md ├── _pkgdown.yml ├── docs ├── 404.html ├── LICENSE-text.html ├── LICENSE.html ├── authors.html ├── docsearch.css ├── docsearch.js ├── index.html ├── link.svg ├── logo.png ├── news │ └── index.html ├── pkgdown.css ├── pkgdown.js ├── pkgdown.yml └── reference │ ├── figures │ ├── README-company-dcf-1.png │ └── logo.png │ ├── fmpQuote.html │ ├── fmp_13f.html │ ├── fmp_api_key.html │ ├── fmp_balance_sheet.html │ ├── fmp_cash_flow.html │ ├── fmp_daily_prices.html │ ├── fmp_dcf.html │ ├── fmp_dividends.html │ ├── fmp_earnings.html │ ├── fmp_earnings_calendar.html │ ├── fmp_enterprise_value.html │ ├── fmp_financial_growth.html │ ├── fmp_full_financial.html │ ├── fmp_income.html │ ├── fmp_key_executives.html │ ├── fmp_key_metrics.html │ ├── fmp_list.html │ ├── fmp_market_actives.html │ ├── fmp_market_cap.html │ ├── fmp_market_gainers.html │ ├── fmp_market_hours.html │ ├── fmp_market_losers.html │ ├── fmp_prices.html │ ├── fmp_profile.html │ ├── fmp_quote.html │ ├── fmp_rating.html │ ├── fmp_ratios.html │ ├── fmp_screen_stocks.html │ ├── fmp_sec_filings.html │ ├── fmp_sector_performance.html │ ├── fmp_splits.html │ ├── fmpapi-package.html │ └── index.html ├── fmpapi.Rproj ├── man ├── figures │ ├── README-company-dcf-1.png │ └── logo.png ├── fmpQuote.Rd ├── fmp_13f.Rd ├── fmp_api_key.Rd ├── fmp_balance_sheet.Rd ├── fmp_cash_flow.Rd ├── fmp_company_outlook.Rd ├── fmp_daily_prices.Rd ├── fmp_dcf.Rd ├── fmp_dividends.Rd ├── fmp_earnings.Rd ├── fmp_earnings_calendar.Rd ├── fmp_enterprise_value.Rd ├── fmp_financial_growth.Rd ├── fmp_full_financial.Rd ├── fmp_income.Rd ├── fmp_institutional_holders.Rd ├── fmp_key_executives.Rd ├── fmp_key_metrics.Rd ├── fmp_list.Rd ├── fmp_market_actives.Rd ├── fmp_market_cap.Rd ├── fmp_market_gainers.Rd ├── fmp_market_hours.Rd ├── fmp_market_losers.Rd ├── fmp_prices.Rd ├── fmp_profile.Rd ├── fmp_quote.Rd ├── fmp_rating.Rd ├── fmp_ratios.Rd ├── fmp_screen_stocks.Rd ├── fmp_sec_filings.Rd ├── fmp_sector_performance.Rd ├── fmp_shares_float.Rd ├── fmp_splits.Rd └── fmpapi-package.Rd └── pkgdown └── favicon ├── apple-touch-icon-120x120.png ├── apple-touch-icon-152x152.png ├── apple-touch-icon-180x180.png ├── apple-touch-icon-60x60.png ├── apple-touch-icon-76x76.png ├── apple-touch-icon.png ├── favicon-16x16.png ├── favicon-32x32.png └── favicon.ico /.Rbuildignore: -------------------------------------------------------------------------------- 1 | ^.*\.Rproj$ 2 | ^\.Rproj\.user$ 3 | ^LICENSE\.md$ 4 | ^README\.Rmd$ 5 | ^_pkgdown\.yml$ 6 | ^docs$ 7 | ^pkgdown$ 8 | ^notes$ 9 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .Rproj.user 2 | .Rhistory 3 | .RData 4 | .Ruserdata 5 | notes/ 6 | -------------------------------------------------------------------------------- /DESCRIPTION: -------------------------------------------------------------------------------- 1 | Package: fmpapi 2 | Type: Package 3 | Title: Access to the Financial Modeling Prep Financial Data API 4 | Version: 0.1.2 5 | Authors@R: 6 | c(person(given = "Jesse", 7 | family = "Piburn", 8 | role = c("aut", "cre"), 9 | email = "jesse.piburn@gmail.com", 10 | comment = c(ORCID = "0000-0003-4967-7912"))) 11 | Maintainer: Jesse Piburn 12 | Description: Simple and consistent interface to the Financial Modeling Prep Financial Data API. 13 | License: MIT + file LICENSE 14 | Encoding: UTF-8 15 | LazyData: true 16 | Imports: 17 | dplyr, 18 | glue, 19 | httr, 20 | jsonlite, 21 | readr, 22 | tibble, 23 | tidyselect, 24 | janitor, 25 | purrr, 26 | tidyr, 27 | utils 28 | Roxygen: list(markdown = TRUE) 29 | RoxygenNote: 7.1.1 30 | URL: https://github.com/jpiburn/fmpapi 31 | BugReports: https://github.com/jpiburn/fmpapi/issues 32 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | YEAR: 2020 2 | COPYRIGHT HOLDER: Jesse Piburn 3 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | # MIT License 2 | 3 | Copyright (c) 2020 Jesse Piburn 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /NAMESPACE: -------------------------------------------------------------------------------- 1 | # Generated by roxygen2: do not edit by hand 2 | 3 | export(fmp_13f) 4 | export(fmp_api_key) 5 | export(fmp_balance_sheet) 6 | export(fmp_cash_flow) 7 | export(fmp_company_outlook) 8 | export(fmp_daily_prices) 9 | export(fmp_dcf) 10 | export(fmp_dividends) 11 | export(fmp_earnings) 12 | export(fmp_earnings_calendar) 13 | export(fmp_enterprise_value) 14 | export(fmp_financial_growth) 15 | export(fmp_full_financial) 16 | export(fmp_income) 17 | export(fmp_institutional_holders) 18 | export(fmp_key_executives) 19 | export(fmp_key_metrics) 20 | export(fmp_list_amex) 21 | export(fmp_list_ciks) 22 | export(fmp_list_commodities) 23 | export(fmp_list_cryptos) 24 | export(fmp_list_etfs) 25 | export(fmp_list_euronext) 26 | export(fmp_list_forex) 27 | export(fmp_list_indexes) 28 | export(fmp_list_mutual_funds) 29 | export(fmp_list_nasdaq) 30 | export(fmp_list_nyse) 31 | export(fmp_list_stocks) 32 | export(fmp_list_tsx) 33 | export(fmp_market_actives) 34 | export(fmp_market_cap) 35 | export(fmp_market_gainers) 36 | export(fmp_market_hours) 37 | export(fmp_market_losers) 38 | export(fmp_prices) 39 | export(fmp_profile) 40 | export(fmp_quote) 41 | export(fmp_quote_amex) 42 | export(fmp_quote_commodities) 43 | export(fmp_quote_cryptos) 44 | export(fmp_quote_etfs) 45 | export(fmp_quote_euronext) 46 | export(fmp_quote_forex) 47 | export(fmp_quote_indexes) 48 | export(fmp_quote_mutual_funds) 49 | export(fmp_quote_nasdaq) 50 | export(fmp_quote_nyse) 51 | export(fmp_quote_tsx) 52 | export(fmp_rating) 53 | export(fmp_ratios) 54 | export(fmp_screen_stocks) 55 | export(fmp_sec_filings) 56 | export(fmp_sector_performance) 57 | export(fmp_shares_float) 58 | export(fmp_splits) 59 | importFrom(tibble,tibble) 60 | -------------------------------------------------------------------------------- /NEWS.md: -------------------------------------------------------------------------------- 1 | # fmpapi 0.1.0 2 | 3 | * Added a `NEWS.md` file to track changes to the package. 4 | * uses api key `"demo"` instead of throwing an error when an API Key is not found 5 | * Changed package name to not conflict with existing CRAN package `FMP` 6 | -------------------------------------------------------------------------------- /R/advanced-data.R: -------------------------------------------------------------------------------- 1 | #' A Company's Free Float 2 | #' 3 | #' @inheritParams fmp_profile 4 | #' @inherit fmp_profile return 5 | #' 6 | #' @examples 7 | #' 8 | #' \donttest{ 9 | #' my_stocks <- c('AAPL', 'GE') 10 | #' d <- fmp_shares_float(my_stocks) 11 | #' } 12 | #' 13 | #' @export 14 | #' @family `Company Summaries` 15 | fmp_shares_float <- function(symbol) { 16 | endpoint <- "shares_float" 17 | 18 | query_list <- 19 | list( 20 | symbol = symbol 21 | ) 22 | 23 | request_urls <- build_request_urls(NULL, api_version = 'v4', endpoint = endpoint, query_list = query_list) 24 | d <- get_request_content(request_urls, endpoint = endpoint) 25 | 26 | d 27 | } 28 | 29 | 30 | #' Institutional Holders 31 | #' 32 | #' @inheritParams fmp_profile 33 | #' @inherit fmp_profile return 34 | #' 35 | #' @examples 36 | #' 37 | #' \donttest{ 38 | #' my_stocks <- c('AAPL', 'GE') 39 | #' d <- fmp_institutional_holdersmy_stocks) 40 | #' } 41 | #' 42 | #' @export 43 | #' @family `Company Summaries` 44 | fmp_institutional_holders <- function(symbol) { 45 | endpoint <- "institutional-holder" 46 | stop("need to add symbol to each request before returning") 47 | request_urls <- build_request_urls(symbol, api_version = 'v3', endpoint = endpoint) 48 | d <- get_request_content(request_urls, endpoint = endpoint) 49 | 50 | d 51 | } 52 | 53 | -------------------------------------------------------------------------------- /R/api-build-urls.R: -------------------------------------------------------------------------------- 1 | #' Currently requests are rate limited to 8 per 2 | #' @noRd 3 | get_base_url <- function(base_source = c('fmp', 'cloud', 'all')) { 4 | base_source <- match.arg(base_source) 5 | 6 | if (base_source == 'fmp') base_url <- 'https://financialmodelingprep.com' 7 | if (base_source == 'cloud') base_url <- 'https://fmpcloud.io' 8 | if (base_source == 'all') base_url <- c('https://financialmodelingprep.com', 'https://fmpcloud.io') 9 | 10 | base_url 11 | } 12 | 13 | #' @noRd 14 | build_request_urls <- function(path_params, api_version = 'v3', endpoint, query_list = NULL, base_url = NULL) { 15 | 16 | if (Sys.getenv('FMP_API_KEY') != '') { 17 | 18 | apikey <- Sys.getenv('FMP_API_KEY') 19 | cloud_access <- as.logical(Sys.getenv('FMP_CLOUD_ACCESS')) 20 | if(is.na(cloud_access)) cloud_access <- FALSE 21 | 22 | } else { 23 | 24 | warning_message <- glue::glue( 25 | 'An API Key is required to use the Financial Modeling Prep API and fmp package.', 26 | 'No API Key was found and a limited use key of "demo" is being used.', 27 | 'To obtain an API key please visit https://financialmodelingprep.com/developer/docs/pricing/', 28 | "\nOnce obtained, you can call `fmp::fmp_api_key('my_api_key')` to save your key to .Renviron file.", 29 | "\nWhen first installed, you will need to reload your .Renviron file by either restarting R or running `readRenviron('~/.Renviron')`" 30 | ) 31 | 32 | warning(warning_message) 33 | apikey <- 'demo' 34 | } 35 | 36 | url_path_stem <- paste0(c('api', api_version, endpoint), collapse = "/") 37 | if (!is.null(path_params)) url_path_stem <- paste(url_path_stem, path_params, sep = "/") 38 | 39 | null_queries <- sapply(query_list, is.null) 40 | 41 | if (all(null_queries)) url_query_stem <- paste0("apikey=", apikey) 42 | else{ 43 | query_list <- query_list[!null_queries] 44 | url_df <- expand.grid(query_list) 45 | query_names <- names(url_df) 46 | for (i in 1:ncol(url_df)) { 47 | url_df[ , query_names[i]] <- paste0(query_names[i], "=", url_df[ , query_names[i]]) 48 | } 49 | url_df$apikey <- paste0("apikey=", apikey) 50 | url_query_stem <- apply(url_df, 1, paste0, collapse = "&") 51 | } 52 | endpoint_urls_df <- tidyr::expand_grid(path = url_path_stem, query = url_query_stem) 53 | 54 | # determine base_urls ----- 55 | if (is.null(base_url)) { 56 | if (cloud_access) base_url <- get_base_url('all') 57 | else base_url <- get_base_url('fmp') 58 | } 59 | 60 | n_params <- nrow(endpoint_urls_df) 61 | n_urls <- length(base_url) 62 | url_base_stem <- rep(base_url, ceiling(n_params / n_urls))[1:n_params] 63 | endpoint_urls_df$base_url <- url_base_stem 64 | 65 | endpoint_urls_df$request_url <- glue::glue_data(endpoint_urls_df, '{base_url}/{path}?{query}') 66 | request_urls <- endpoint_urls_df$request_url 67 | 68 | request_urls 69 | } 70 | 71 | -------------------------------------------------------------------------------- /R/api-content-format.R: -------------------------------------------------------------------------------- 1 | 2 | #' @noRd 3 | format_request_content <- function(df, arguments) { 4 | 5 | if (!is.null(arguments$endpoint) && arguments$endpoint == "company-outlook") { 6 | return(df) 7 | } else{ 8 | df <- dplyr::bind_rows(df) 9 | } 10 | 11 | if (length(arguments) != 0) { # any additional special case formatting 12 | 13 | # any endpoint specific formatting ----- 14 | if (!is.null(arguments$endpoint)) { 15 | 16 | # dcf ----- 17 | if (arguments$endpoint[[1]] == 'historical-discounted-cash-flow' && arguments$historical == TRUE) 18 | df <- tidyr::unnest(df, cols = tidyselect::contains("historicalDCF")) 19 | 20 | # historical-price-full 21 | if (arguments$endpoint[[1]] == 'historical-price-full') { 22 | 23 | } 24 | # currently no others ----- 25 | } 26 | 27 | } 28 | 29 | # formatting for all content ----- 30 | d <- janitor::clean_names(df) 31 | d <- tibble::as_tibble(d) 32 | 33 | # the symbol for TrueCar is "TRUE" so need to skip the symbol col when parsing 34 | # which is probably a good idea anyways 35 | # this would work but where() is not an exported function from tidyselect 36 | # it might be in the next release... https://github.com/r-lib/tidyselect/issues/201 37 | # d <- dplyr::mutate(d, dplyr::across(tidyselect:::where(is.character) & !symbol, readr::parse_guess)) 38 | 39 | # until where is exported just use this 40 | skip_cols <- c("symbol", "phone", "zip", "cik", "isin", 41 | "cusip", "address", "city", "state", "website", 42 | "country", "description", "ceo") 43 | col_types <- sapply(d, class) 44 | char_cols <- setdiff(names(col_types[col_types == "character"]), skip_cols) 45 | 46 | lgl_cols <- names(col_types[col_types == "logical"]) 47 | lgl_cols <- setdiff(lgl_cols[!grepl("is_|default_image", lgl_cols)], skip_cols) 48 | 49 | d <- dplyr::mutate(d, dplyr::across(char_cols, readr::parse_guess)) 50 | d <- dplyr::mutate(d, dplyr::across(lgl_cols, as.numeric)) 51 | d <- dplyr::mutate_if(d, is.integer, as.numeric) 52 | 53 | # not sure why I put this here... keeping in case there was an actual reason and i forgot 54 | # d <- dplyr::mutate_if(d, is.logical, as.numeric) 55 | 56 | 57 | d 58 | } 59 | 60 | -------------------------------------------------------------------------------- /R/api-content-request.R: -------------------------------------------------------------------------------- 1 | 2 | #' @noRd 3 | get_request_content <- function(request_urls, ...) { 4 | arguments <- list(...) 5 | 6 | # d <- purrr::map_dfr(request_urls, ~ request_url_content(.x, arguments = arguments)) 7 | d <- purrr::map(request_urls, ~ request_url_content(.x, arguments = arguments)) 8 | d <- format_request_content(d, arguments = arguments) 9 | 10 | d 11 | } 12 | 13 | 14 | #' @noRd 15 | request_url_content <- function(request_url, arguments) { 16 | 17 | ua <- httr::user_agent("https://github.com/jpiburn/fmpapi") 18 | get_return <- httr::GET(request_url, ua) 19 | 20 | if (httr::http_error(get_return)) { 21 | 22 | error_status <- httr::http_status(get_return) 23 | error_message <- glue::glue( 24 | 'API request failed for failed and returned the following information.', 25 | 'request_url: {request_url}', 26 | 'message: {error_status$message}', 27 | 'category: {error_status$category}', 28 | 'reason: {error_status$reason}', 29 | .sep = "\n") 30 | 31 | stop(error_message, call. = FALSE) 32 | } 33 | 34 | if (httr::http_type(get_return) != "application/json") { 35 | 36 | error_status <- httr::http_status(get_return) 37 | error_message <- glue::glue( 38 | 'API request executed successfully, but did not return json as expected.', 39 | 'request_url: {request_url}', 40 | 'content_type: {httr::http_type(get_return)}', 41 | 'message: {error_status$message}', 42 | 'category: {error_status$category}', 43 | 'reason: {error_status$reason}', 44 | .sep = "\n") 45 | 46 | stop(error_message, call. = FALSE) 47 | } 48 | 49 | return_json <- httr::content(get_return, as = "text") 50 | d <- jsonlite::fromJSON(return_json) 51 | 52 | if (length(arguments$endpoint) != 0) { 53 | if (arguments$endpoint[[1]] == 'historical-price-full') { 54 | if (all(c('symbol', 'historical') %in% names(d))) { 55 | symbol <- d$symbol 56 | d <- tibble::as_tibble(d$historical) 57 | d <- tibble::add_column(d, symbol, .before = 1) 58 | } 59 | } 60 | } 61 | 62 | d 63 | } 64 | 65 | -------------------------------------------------------------------------------- /R/company-finanicial-statements.R: -------------------------------------------------------------------------------- 1 | #' Company Income Statement 2 | #' 3 | #' @inheritParams fmp_profile 4 | #' @inherit fmp_profile return 5 | #' 6 | #' @param quarterly `logical`. If `TRUE` return quarterly. If `FALSE` 7 | #' return annual. Default is `FALSE` 8 | #' @param as_reported `logical`. If `TRUE` return data formatted as reported. Default 9 | #' is `FALSE` 10 | #' 11 | #' @examples 12 | #' 13 | #' \donttest{ 14 | #' my_stocks <- c('AAPL', 'GE') 15 | #' d <- fmp_income(my_stocks, quarterly = TRUE) 16 | #' 17 | #' d <- fmp_income(my_stocks, quarterly = TRUE, as_reported = TRUE) 18 | #' } 19 | #' @export 20 | #' @family `Company Summaries` 21 | fmp_income <- function(symbol, quarterly = FALSE, as_reported = FALSE) { 22 | endpoint <- "income-statement" 23 | if (as_reported) endpoint <- add_as_reported(endpoint) 24 | 25 | query_list <- list(period = NULL) 26 | if (quarterly) query_list$period <- "quarter" 27 | 28 | 29 | request_urls <- build_request_urls(symbol, endpoint = endpoint, query_list = query_list) 30 | d <- get_request_content(request_urls) 31 | 32 | d 33 | } 34 | 35 | 36 | #' Company Balance Sheet 37 | #' 38 | #' @inheritParams fmp_income 39 | #' @inherit fmp_profile return 40 | #' 41 | #' @examples 42 | #' 43 | #' \donttest{ 44 | #' my_stocks <- c('AAPL', 'GE') 45 | #' d <- fmp_balance_sheet(my_stocks, quarterly = TRUE) 46 | #' } 47 | #' 48 | #' @export 49 | #' @family `Company Summaries` 50 | fmp_balance_sheet <- function(symbol, quarterly = FALSE, as_reported = FALSE) { 51 | endpoint <- "balance-sheet-statement" 52 | if (as_reported) endpoint <- add_as_reported(endpoint) 53 | 54 | query_list <- list(period = NULL) 55 | if (quarterly) query_list$period <- "quarter" 56 | 57 | request_urls <- build_request_urls(symbol, endpoint = endpoint, query_list = query_list) 58 | d <- get_request_content(request_urls) 59 | 60 | d 61 | } 62 | 63 | 64 | #' Company Cash Flow 65 | #' 66 | #' @inheritParams fmp_income 67 | #' @inherit fmp_profile return 68 | #' 69 | #' @examples 70 | #' 71 | #' \donttest{ 72 | #' my_stocks <- c('AAPL', 'GE') 73 | #' d <- fmp_cash_flow(my_stocks, quarterly = TRUE) 74 | #' } 75 | #' 76 | #' @export 77 | #' @family `Company Summaries` 78 | fmp_cash_flow <- function(symbol, quarterly = FALSE, as_reported = FALSE) { 79 | endpoint <- "cash-flow-statement" 80 | if (as_reported) endpoint <- add_as_reported(endpoint) 81 | 82 | query_list <- list(period = NULL) 83 | if (quarterly) query_list$period <- "quarter" 84 | 85 | request_urls <- build_request_urls(symbol, endpoint = endpoint, query_list = query_list) 86 | d <- get_request_content(request_urls) 87 | 88 | d 89 | } 90 | 91 | 92 | #' Company Full Financial Statement 93 | #' 94 | #' @inheritParams fmp_profile 95 | #' @inherit fmp_profile return 96 | #' 97 | #' @param quarterly `logical`. If `TRUE` return quarterly. If `FALSE` 98 | #' return annual. Default is `FALSE` 99 | #' 100 | #' @examples 101 | #' 102 | #' \donttest{ 103 | #' my_stocks <- c('AAPL', 'GE') 104 | #' d <- fmp_full_financial(my_stocks, quarterly = TRUE) 105 | #' } 106 | #' 107 | #' @export 108 | #' @family `Company Summaries` 109 | fmp_full_financial <- function(symbol, quarterly = FALSE) { 110 | endpoint <- "financial-statement-full" 111 | endpoint <- add_as_reported(endpoint) 112 | 113 | query_list <- list(period = NULL) 114 | if (quarterly) query_list$period <- "quarter" 115 | 116 | request_urls <- build_request_urls(symbol, endpoint = endpoint, query_list = query_list) 117 | d <- get_request_content(request_urls) 118 | 119 | d 120 | } 121 | 122 | 123 | #' @noRd 124 | add_as_reported <- function(endpoint) paste0(endpoint, '-as-reported') 125 | -------------------------------------------------------------------------------- /R/fmp-list.R: -------------------------------------------------------------------------------- 1 | #' List Available Securities 2 | #' 3 | #' Group of functions for listing available securities 4 | #' 5 | #' Group of functions Details paragraph. 6 | #' 7 | #' 8 | #' @section After Arguments and Value sections: 9 | #' Despite its location, this actually comes after the Arguments and Value sections. 10 | #' Also, don't need to use null, could annotate first function, and then 11 | #' using function name as the groupBy name is more intuitive. 12 | #' 13 | #' 14 | #' @return a [tibble][tibble::tibble-package] of quotes of requested securities 15 | #' 16 | #' @examples 17 | #' 18 | #' \donttest{ 19 | #' library(fmpapi) 20 | #' 21 | #' # all available stocks 22 | #' df_stocks <- fmp_list_stocks() 23 | #' 24 | #' df_etfs <- fmp_list_etfs() 25 | #' } 26 | #' @name fmp_list 27 | NULL 28 | 29 | #' @noRd 30 | bulk_list_endpoint <- function(endpoint) { 31 | endpoint <- c('symbol', endpoint) 32 | 33 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 34 | d <- get_request_content(request_urls) 35 | 36 | d 37 | } 38 | 39 | #' @rdname fmp_list 40 | #' @export 41 | fmp_list_nyse <- function() bulk_list_endpoint('nyse') 42 | 43 | #' @rdname fmp_list 44 | #' @export 45 | fmp_list_nasdaq <- function() bulk_list_endpoint('nasdaq') 46 | 47 | #' @rdname fmp_list 48 | #' @export 49 | fmp_list_amex <- function() bulk_list_endpoint('amex') 50 | 51 | #' @rdname fmp_list 52 | #' @export 53 | fmp_list_tsx <- function() bulk_list_endpoint('available-tsx') 54 | 55 | #' @rdname fmp_list 56 | #' @export 57 | fmp_list_etfs <- function() bulk_list_endpoint('available-etfs') 58 | 59 | #' @rdname fmp_list 60 | #' @export 61 | fmp_list_forex <- function() bulk_list_endpoint('available-forex-currency-pairs') 62 | 63 | #' @rdname fmp_list 64 | #' @export 65 | fmp_list_cryptos <- function() bulk_list_endpoint('available-cryptocurrencies') 66 | 67 | #' @rdname fmp_list 68 | #' @export 69 | fmp_list_euronext <- function() bulk_list_endpoint('available-euronext') 70 | 71 | #' @rdname fmp_list 72 | #' @export 73 | fmp_list_mutual_funds <- function() bulk_list_endpoint('available-mutual-funds') 74 | 75 | #' @rdname fmp_list 76 | #' @export 77 | fmp_list_commodities <- function() bulk_list_endpoint('available-commodities') 78 | 79 | #' @rdname fmp_list 80 | #' @export 81 | fmp_list_indexes <- function() bulk_list_endpoint('available-indexes') 82 | 83 | #' @rdname fmp_list 84 | #' @export 85 | fmp_list_ciks <- function() { 86 | endpoint <- "cik_list" 87 | 88 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 89 | d <- get_request_content(request_urls) 90 | 91 | d 92 | } 93 | 94 | #' @rdname fmp_list 95 | #' @export 96 | fmp_list_stocks <- function() { 97 | endpoint <- "stock" 98 | 99 | request_urls <- build_request_urls('list', endpoint = endpoint) 100 | d <- get_request_content(request_urls) 101 | 102 | d 103 | } 104 | 105 | 106 | -------------------------------------------------------------------------------- /R/fmp-market-info.R: -------------------------------------------------------------------------------- 1 | #' Market Sector Performance 2 | #' 3 | #' @param historical `logical`. If `TRUE` return historical values. If `FALSE` 4 | #' return current. Default is `FALSE` 5 | #' 6 | #' @export 7 | fmp_sector_performance <- function(historical = FALSE) { 8 | endpoint <- 'sectors-performance' 9 | if (historical) endpoint <- paste0('historical-', endpoint) 10 | 11 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 12 | d <- get_request_content(request_urls) 13 | 14 | d 15 | } 16 | 17 | 18 | #' Most Active Stocks 19 | #' 20 | #' @export 21 | fmp_market_actives <- function() { 22 | endpoint = 'actives' 23 | 24 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 25 | d <- get_request_content(request_urls) 26 | 27 | d 28 | } 29 | 30 | #' Largest Gaining Stocks 31 | #' 32 | #' @export 33 | fmp_market_gainers <- function() { 34 | endpoint = 'gainers' 35 | 36 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 37 | d <- get_request_content(request_urls) 38 | 39 | d 40 | } 41 | 42 | #' Largest Losing Stocks 43 | #' 44 | #' @export 45 | fmp_market_losers <- function() { 46 | endpoint = 'losers' 47 | 48 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 49 | d <- get_request_content(request_urls) 50 | 51 | d 52 | } 53 | 54 | #' Market Hours and Holidays 55 | #' 56 | #' @export 57 | fmp_market_hours <- function() { 58 | endpoint = 'market-hours' 59 | 60 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 61 | d <- get_request_content(request_urls) 62 | 63 | d 64 | } 65 | -------------------------------------------------------------------------------- /R/fmp-prices.R: -------------------------------------------------------------------------------- 1 | #' Intra-day Security Prices 2 | #' 3 | #' @param symbol `character`. A vector of stock symbols. 4 | #' @param interval `character`. Time resolution of price quotes 5 | #' 6 | #' @return a [tibble][tibble::tibble-package] of quotes of requested securities 7 | #' 8 | #' @examples 9 | #' \donttest{ 10 | #' 11 | #' # hourly Apple stock prices 12 | #' d <- fmp_prices('AAPL', interval = '1hour') 13 | #' } 14 | #' 15 | #' @export 16 | fmp_prices <- function(symbol, interval = c('1min', '5min', '15min', '30min', '1hour', '4hour')) { 17 | 18 | interval <- match.arg(interval) 19 | endpoint <- c('historical-chart', interval) 20 | 21 | request_urls <- build_request_urls(symbol, endpoint = endpoint) 22 | d <- get_request_content(request_urls, endpoint = endpoint, symbol = symbol) 23 | 24 | #endpoint 25 | d 26 | } 27 | 28 | 29 | #' Daily Security Prices 30 | #' 31 | #' @param symbol `character`. A vector of stock symbols. 32 | #' @param start_date `character`. ISO-8601 formatted date. For example, `'2020-05-25'` 33 | #' @param end_date `character`. ISO-8601 formatted date. For example, `'2020-06-25'` 34 | #' @param last_n `numeric`. An alternative to `start_date` and `end_date`. return the last `n` days 35 | #' @param ... additional parameters 36 | #' 37 | #' @return a [tibble][tibble::tibble-package] of quotes of requested securities 38 | #' @examples 39 | #' \donttest{ 40 | #' 41 | #' # last 100 days of Apple stock prices 42 | #' d <- fmp_daily_prices('AAPL', last_n = 100) 43 | #' } 44 | #' 45 | #' @export 46 | fmp_daily_prices <- function(symbol, start_date = NULL, end_date = NULL, last_n = NULL, ...) { 47 | endpoint <- 'historical-price-full' 48 | 49 | query_list <- list( 50 | from = start_date, 51 | to = end_date, 52 | timeseries = last_n 53 | ) 54 | 55 | if (!is.null(start_date) && is.null(end_date)) query_list$to <- Sys.Date() 56 | if (!is.null(last_n)) { 57 | query_list$from <- NULL 58 | query_list$to <- NULL 59 | } 60 | 61 | request_urls <- build_request_urls(symbol, endpoint = endpoint, query_list = query_list, ...) 62 | d <- get_request_content(request_urls, endpoint = endpoint) 63 | 64 | d 65 | } 66 | 67 | -------------------------------------------------------------------------------- /R/fmp-quotes.R: -------------------------------------------------------------------------------- 1 | #' Retrieve Real-Time Quotes of Selected Securities and Cryptocurrencies 2 | #' 3 | #' @param symbol `character`. A vector of stock symbols. 4 | #' 5 | #' @return a [tibble][tibble::tibble-package] of quotes of requested securities 6 | #' @examples 7 | #' 8 | #' \donttest{ 9 | #' my_stocks <- c('AAPL', 'GE') 10 | #' d <- fmp_quote(my_stocks) 11 | #'} 12 | #' 13 | #' @export 14 | fmp_quote <- function(symbol) { 15 | endpoint <- "quote" 16 | 17 | symbol <- paste0(symbol, collapse = ",") 18 | 19 | request_urls <- build_request_urls(symbol, endpoint = endpoint) 20 | d <- get_request_content(request_urls) 21 | 22 | d 23 | } 24 | 25 | 26 | #' @noRd 27 | bulk_quote_endpoint <- function(endpoint) { 28 | endpoint <- c('quotes', endpoint) 29 | 30 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 31 | d <- get_request_content(request_urls) 32 | 33 | d 34 | } 35 | 36 | #' Retrieve Real-Time Quotes of Various Securities and Cryptocurrencies 37 | #' 38 | #' @return a [tibble][tibble::tibble-package] of quotes of requested securities 39 | #' 40 | #' @name fmpQuote 41 | NULL 42 | 43 | #' @rdname fmpQuote 44 | #' @export 45 | fmp_quote_nyse <- function() bulk_quote_endpoint('nyse') 46 | 47 | #' @rdname fmpQuote 48 | #' @export 49 | fmp_quote_nasdaq <- function() bulk_quote_endpoint('nasdaq') 50 | 51 | #' @rdname fmpQuote 52 | #' @export 53 | fmp_quote_amex <- function() bulk_quote_endpoint('amex') 54 | 55 | #' @rdname fmpQuote 56 | #' @export 57 | fmp_quote_tsx <- function() bulk_quote_endpoint('tsx') 58 | 59 | #' @rdname fmpQuote 60 | #' @export 61 | fmp_quote_etfs <- function() bulk_quote_endpoint('etf') 62 | 63 | #' @rdname fmpQuote 64 | #' @export 65 | fmp_quote_forex <- function() bulk_quote_endpoint('forex') 66 | 67 | #' @rdname fmpQuote 68 | #' @export 69 | fmp_quote_cryptos <- function() bulk_quote_endpoint('crypto') 70 | 71 | #' @rdname fmpQuote 72 | #' @export 73 | fmp_quote_euronext <- function() bulk_quote_endpoint('euronext') 74 | 75 | #' @rdname fmpQuote 76 | #' @export 77 | fmp_quote_mutual_funds <- function() bulk_quote_endpoint('mutual_fund') 78 | 79 | #' @rdname fmpQuote 80 | #' @export 81 | fmp_quote_commodities <- function() bulk_quote_endpoint('commodity') 82 | 83 | #' @rdname fmpQuote 84 | #' @export 85 | fmp_quote_indexes <- function() bulk_quote_endpoint('index') 86 | 87 | -------------------------------------------------------------------------------- /R/fmpapi-package.R: -------------------------------------------------------------------------------- 1 | #' @keywords internal 2 | "_PACKAGE" 3 | 4 | # The following block is used by usethis to automatically manage 5 | # roxygen namespace tags. Modify with care! 6 | ## usethis namespace: start 7 | #' @importFrom tibble tibble 8 | ## usethis namespace: end 9 | NULL 10 | -------------------------------------------------------------------------------- /R/institutional-funds.R: -------------------------------------------------------------------------------- 1 | #' Form 13-F Statements 2 | #' 3 | #' Form 13-F statements provides position-level report of all institutional 4 | #' investment managers with more than $100m in assets under management 5 | #' 6 | #' @param cik `character`. A vector of Central Index Keys (CIK) 7 | #' @param year `numeric`. 4 digit year, e.g. `2020`. If `NULL`, the current year 8 | #' will be taken from [Sys.Date()]. Default is `NULL` 9 | #' 10 | #' @return a [tibble][tibble::tibble-package] 11 | #' @export 12 | #' @seealso [fmp_list_ciks()] 13 | #' @examples 14 | #' 15 | #' berkshire_cik <- '0001067983' 16 | #' \donttest{ 17 | #' d <- fmp_13f(berkshire_cik) 18 | #' } 19 | #' 20 | #' \donttest{ 21 | #' # 13-F forms from 2018 22 | #' d_18 <- fmp_13f(berkshire_cik, year = 2018) 23 | #' } 24 | #' 25 | fmp_13f <- function(cik, year = NULL) { 26 | endpoint <- "form-thirteen" 27 | 28 | year <- ifelse(is.null(year), substr(Sys.Date(), start = 1, stop = 4), year) 29 | query_list <- list(year = year) 30 | 31 | # TODO: Currently can only pass one year at a time. 32 | # need to determine best way to vectorize 33 | request_urls <- build_request_urls(cik, endpoint = endpoint, query_list = query_list) 34 | d <- get_request_content(request_urls) 35 | 36 | d 37 | } 38 | 39 | 40 | 41 | #' SEC RSS Feed 42 | #' 43 | #' Retrieve the most recent financial statements filed to the SEC 44 | #' 45 | #' @return a [tibble][tibble::tibble-package] of filing information 46 | #' @export 47 | fmp_sec_filings <- function() { 48 | endpoint <- "rss_feed" 49 | 50 | request_urls <- build_request_urls(NULL, endpoint = endpoint) 51 | d <- get_request_content(request_urls) 52 | 53 | d 54 | } 55 | -------------------------------------------------------------------------------- /R/stock-screener.R: -------------------------------------------------------------------------------- 1 | #' Company Stock Screener 2 | #' 3 | #' 4 | #' @param marketCapMoreThan `numeric`. Default is `NULL` 5 | #' @param marketCapLowerThan `numeric`. Default is `NULL` 6 | #' @param betaMoreThan `numeric`. Default is `NULL` 7 | #' @param betaLowerThan `numeric`. Default is `NULL` 8 | #' @param volumeMoreThan `numeric`. Default is `NULL` 9 | #' @param volumeLowerThan `numeric`. Default is `NULL` 10 | #' @param dividendMoreThan `numeric`. Default is `NULL` 11 | #' @param dividendLowerThan `numeric`. Default is `NULL` 12 | #' @param sector `character`. See Details for avialable values 13 | #' @param exchange `character`. See Details for avialable values 14 | #' @param limit `numeric`. Default is `NULL` 15 | #' 16 | #' @details 17 | #' `sector` paramater can be anyone of the following: 18 | #' * `"Consumer Cyclical"` 19 | #' * `"Energy"` 20 | #' * `"Technology"` 21 | #' * `"Industrials"` 22 | #' * `"Financial Services"` 23 | #' * `"Basic Materials"` 24 | #' * `"Communication Services"` 25 | #' * `"Consumer Defensive"` 26 | #' * `"Healthcare"` 27 | #' * `"Real Estate"` 28 | #' * `"Utilities"` 29 | #' * `"Industrial Goods"` 30 | #' * `"Financial"` 31 | #' * `"Services"` 32 | #' * `"Conglomerates"` 33 | #' 34 | #' `exchange` paramater can be anyone of the following: 35 | #' * `"nyse"` 36 | #' * `"nasdaq"` 37 | #' * `"amex"` 38 | #' * `"euronext"` 39 | #' * `"tsx"` 40 | #' * `"etf"` 41 | #' * `"mutual_fund"` 42 | #' 43 | #' @return a [tibble][tibble::tibble-package] of stocks matching criteria 44 | #' 45 | #' @examples 46 | #' 47 | #' \donttest{ 48 | #' library(fmpapi) 49 | #' 50 | #' # small cap, high beta tech stocks 51 | #' d <- fmp_screen_stocks(marketCapLowerThan = 1e9, betaMoreThan = 2, sector = 'Technology') 52 | #' 53 | #' # mid cap healthcare stocks listed on the nasdaq 54 | #' d <- fmp_screen_stocks(marketCapMoreThan = 1e9, marketCapLowerThan = 1e10, 55 | #' sector = 'Healthcare', exchange = 'nasdaq') 56 | #' } 57 | #' 58 | #' @export 59 | fmp_screen_stocks <- function( 60 | marketCapMoreThan = NULL, 61 | marketCapLowerThan = NULL, 62 | betaMoreThan = NULL, 63 | betaLowerThan = NULL, 64 | volumeMoreThan = NULL, 65 | volumeLowerThan = NULL, 66 | dividendMoreThan = NULL, 67 | dividendLowerThan = NULL, 68 | sector = NULL, 69 | exchange = NULL, 70 | limit = NULL 71 | ) { 72 | query_list <- as.list(environment()) 73 | 74 | # convert these numerics to integers to support values like 1e9 75 | int_fields <- c('marketCapMoreThan', 'marketCapLowerThan', 'volumeMoreThan', 'volumeLowerThan') 76 | for (int_field in int_fields) { 77 | field_value <- query_list[[int_field]] 78 | if (!is.null(field_value)) query_list[[int_field]] <- format(field_value, scientific = FALSE) 79 | } 80 | 81 | endpoint <- "stock-screener" 82 | 83 | request_urls <- build_request_urls(NULL, endpoint = endpoint, query_list = query_list) 84 | d <- get_request_content(request_urls) 85 | 86 | d 87 | } 88 | -------------------------------------------------------------------------------- /R/utils.R: -------------------------------------------------------------------------------- 1 | #' Install a Financial Modeling Prep API Key in Your `.Renviron` File for Repeated Use 2 | #' 3 | #' @description This function will add your FMP API key to your `.Renviron` file 4 | #' so it can be called securely without being stored in your code. 5 | #' After you have installed your key, it can be called any time by 6 | #' typing `Sys.getenv('FMP_API_KEY')`. 7 | #' 8 | #' @param key `character`. The API key acquired from ['https://financialmodelingprep.com/developer/docs/pricing/'](https://financialmodelingprep.com/developer/docs/pricing/) 9 | #' @param install `logical`. If `TRUE`, will install the key in your `.Renviron` file for use in future sessions. 10 | #' If `FALSE`, key is only loaded for the current R session and will not persist when a new session is loaded. 11 | #' This is potentially useful if you wish to access the API from a non-personal computer. Default is `TRUE`. 12 | #' @param overwrite `logical`. If `TRUE`, overwrite any existing FMP_API_KEY that you already have in your `.Renviron` file. 13 | #' @param fmpcloud_access logical. Is this key additionally activated on the ['fmpcloud.io'](https://fmpcloud.io) server? 14 | #' default is `FALSE` 15 | #' @examples 16 | #' 17 | #' \dontrun{ 18 | #' key <- "my_api_key" 19 | #' 20 | #' fmp_api_key(key) 21 | #' 22 | #' # first time, either reload your environment or restart R 23 | #' # reload environment with the following 24 | #' readRenviron("~/.Renviron") 25 | #' 26 | #' # you can check it with: 27 | #' Sys.getenv("FMP_API_KEY") 28 | #' } 29 | #' @export 30 | fmp_api_key <- function(key, install = TRUE, overwrite = FALSE, fmpcloud_access = FALSE) { 31 | 32 | if (install) { 33 | home <- Sys.getenv("HOME") 34 | renv <- file.path(home, ".Renviron") 35 | 36 | if (file.exists(renv)) file.copy(renv, file.path(home, ".Renviron_backup")) 37 | 38 | if (!file.exists(renv)) { 39 | file.create(renv) 40 | } else { 41 | if (overwrite) { 42 | message("Your original .Renviron will be backed up and stored in your R HOME directory if needed.") 43 | oldenv <- utils::read.table(renv, stringsAsFactors = FALSE) 44 | newenv <- oldenv[-grep("FMP_API_KEY", oldenv), ] 45 | utils::write.table(newenv, renv, quote = FALSE, sep = "\n", 46 | col.names = FALSE, row.names = FALSE) 47 | } else { 48 | tv <- readLines(renv) 49 | if (any(grepl("FMP_API_KEY", tv))) { 50 | stop("A FMP_API_KEY already exists. You can overwrite it with the argument `overwrite = TRUE`", call. = FALSE) 51 | } 52 | } 53 | } 54 | 55 | key_text <- glue::glue("FMP_API_KEY='{key}'") 56 | fmpcloud_access_text <- glue::glue("FMP_CLOUD_ACCESS={fmpcloud_access}") 57 | 58 | write(key_text, renv, sep = "\n", append = TRUE) 59 | write(fmpcloud_access_text, renv, sep = "\n", append = TRUE) 60 | 61 | key_message <- glue::glue("Your API key has been stored in your .Renviron file and can be accessed by `Sys.getenv('FMP_API_KEY')`", 62 | "To use now, restart R or run `readRenviron('~/.Renviron')`", 63 | .sep = "\n" 64 | ) 65 | message(key_message) 66 | return(key) 67 | 68 | } else { 69 | message("To install your API key for use in future sessions, run this function with `install = TRUE`.") 70 | Sys.setenv(FMP_API_KEY = key) 71 | Sys.setenv(FMP_CLOUD_ACCESS = fmpcloud_access) 72 | } 73 | 74 | } 75 | 76 | 77 | #' @noRd 78 | is_char_not_symbol <- function(x) { 79 | 80 | out <- FALSE 81 | 82 | if (is.character(x) && x != "symbol") out <- TRUE 83 | 84 | out 85 | } 86 | -------------------------------------------------------------------------------- /README.Rmd: -------------------------------------------------------------------------------- 1 | --- 2 | output: github_document 3 | --- 4 | 5 | 6 | 7 | ```{r, include = FALSE} 8 | knitr::opts_chunk$set( 9 | collapse = TRUE, 10 | comment = "#>", 11 | fig.path = "man/figures/README-", 12 | out.width = "100%" 13 | ) 14 | ``` 15 | # fmpapi: An R package for interfacing with the Financial Modeling Prep API 16 | 17 | 18 | [![CRAN status](https://www.r-pkg.org/badges/version/fmpapi)](https://CRAN.R-project.org/package=fmpapi) 19 | [![Lifecycle: maturing](https://img.shields.io/badge/lifecycle-maturing-blue.svg)](https://www.tidyverse.org/lifecycle/#maturing) 20 | 21 | 22 | The goal of `fmpapi` is to provide a simple and consistent interface to the **Financial Modeling Prep** [Financial Data API](https://financialmodelingprep.com/) that can be used along side and integrated with other common R resources 23 | for collecting and analyzing financial data, such as `tidyquant`, `xts`, `TTR`, and `quantmod`. 24 | 25 | ## Installation 26 | 27 | 28 | 29 | 30 | 31 | 32 | You can install the latest development version of fmp from [Github](https://github.com) with: 33 | 34 | ``` r 35 | remotes::install_github('jpiburn/fmpapi') 36 | ``` 37 | 38 | ## Getting Started 39 | 40 | Before getting started with `fmpapi` you first must obtain an API key for the Financial Modeling Prep Financial Data API. For details, see [here](https://financialmodelingprep.com/developer/docs/pricing/). 41 | 42 | Once you sign up, you can add your API key to your `.Renviron` file by using `fmp_api_key()`. This will add a `FMP_API_KEY` entry to your `.Renviron` file so it will automatically be available in future sessions. When first installed however, you will need to reload your .Renviron file by either restarting R or running `readRenviron('~/.Renviron')` 43 | 44 | ```{r api-key, eval=FALSE} 45 | library(fmpapi) 46 | 47 | api_key <- 'my_api_key' 48 | fmp_api_key(api_key) 49 | 50 | # reload 51 | readRenviron('~/.Renviron') 52 | ``` 53 | 54 | 55 | ## Company Information and Financials 56 | 57 | ```{r company-info, message=FALSE, warning=FALSE} 58 | library(fmpapi) 59 | library(tidyverse) 60 | 61 | my_stocks <- c("AAPL", "GE") 62 | 63 | d <- fmp_profile(my_stocks) 64 | 65 | glimpse(d) 66 | ``` 67 | 68 | 69 | ## Discounted Cash Flow Valuation 70 | ```{r company-dcf, message=FALSE, warning=FALSE} 71 | 72 | fmp_dcf(my_stocks, historical = TRUE, quarterly = TRUE) %>% 73 | ggplot( 74 | aes(x = date, y = dcf, colour = symbol) 75 | ) + 76 | geom_line(size = 1) + 77 | theme_minimal() + 78 | labs( 79 | title = "Historical Discounted Cash Flow Valuation", 80 | y = "Discounted Cash Flow Value" 81 | ) 82 | ``` 83 | 84 | 85 | ## Key Metrics 86 | ```{r key-metrics} 87 | d <- fmp_key_metrics(my_stocks) 88 | 89 | glimpse(d) 90 | ``` 91 | 92 | ## Balance Sheets 93 | ```{r} 94 | d <- fmp_balance_sheet(my_stocks, quarterly = TRUE) 95 | 96 | glimpse(d) 97 | ``` 98 | 99 | 100 | ## Form 13-F Statements 101 | ```{r} 102 | berkshire_cik <- '0001067983' 103 | d <- fmp_13f(berkshire_cik) 104 | 105 | glimpse(d) 106 | ``` 107 | 108 | ## Earnings Calendar 109 | ```{r} 110 | d <- fmp_earnings_calendar() 111 | 112 | glimpse(d) 113 | ``` 114 | 115 | ## SEC RSS Feed 116 | ```{r} 117 | d <- fmp_sec_filings() 118 | 119 | glimpse(d) 120 | ``` 121 | 122 | ## Quoting Cryptocurrencies 123 | ```{r} 124 | d <- fmp_quote_cryptos() 125 | 126 | glimpse(d) 127 | ``` 128 | 129 | -------------------------------------------------------------------------------- /_pkgdown.yml: -------------------------------------------------------------------------------- 1 | destination: docs 2 | 3 | authors: 4 | Jesse Piburn: 5 | href: https://twitter.com/jesseopiburn 6 | 7 | reference: 8 | - title: Finding Securities 9 | desc: > 10 | Collection of functions for listing basic information on available securities and 11 | cryptocurrencies 12 | contents: 13 | - fmp_list_amex 14 | - fmp_list_ciks 15 | - fmp_list_commodities 16 | - fmp_list_cryptos 17 | - fmp_list_etfs 18 | - fmp_list_euronext 19 | - fmp_list_forex 20 | - fmp_list_indexes 21 | - fmp_list_mutual_funds 22 | - fmp_list_nasdaq 23 | - fmp_list_nyse 24 | - fmp_list_stocks 25 | - fmp_list_tsx 26 | - fmp_screen_stocks 27 | - title: Quoting Securities 28 | desc: > 29 | Collection of functions providing real-time quotes of various securities and 30 | cryptocurrencies 31 | contents: 32 | - fmp_quote 33 | - fmp_quote_amex 34 | - fmp_quote_commodities 35 | - fmp_quote_cryptos 36 | - fmp_quote_etfs 37 | - fmp_quote_euronext 38 | - fmp_quote_forex 39 | - fmp_quote_indexes 40 | - fmp_quote_mutual_funds 41 | - fmp_quote_nasdaq 42 | - fmp_quote_nyse 43 | - fmp_quote_tsx 44 | - title: Company Information 45 | desc: > 46 | Collection of functions providing various overviews and summaries 47 | of public companies 48 | contents: 49 | - fmp_profile 50 | - fmp_key_executives 51 | - fmp_13f 52 | - fmp_balance_sheet 53 | - fmp_cash_flow 54 | - fmp_income 55 | - fmp_full_financial 56 | - fmp_dcf 57 | - fmp_enterprise_value 58 | - fmp_financial_growth 59 | - fmp_key_metrics 60 | - fmp_market_cap 61 | - fmp_ratios 62 | - fmp_earnings 63 | - fmp_rating 64 | - title: Security Information 65 | desc: > 66 | Collection of functions providing intra-day and daily price data and other 67 | information 68 | contents: 69 | - fmp_prices 70 | - fmp_daily_prices 71 | - fmp_splits 72 | - fmp_dividends 73 | - title: Market Information 74 | desc: > 75 | Collection of functions providing various market information 76 | contents: 77 | - fmp_market_actives 78 | - fmp_market_gainers 79 | - fmp_market_hours 80 | - fmp_market_losers 81 | - fmp_sector_performance 82 | - fmp_earnings_calendar 83 | - fmp_sec_filings 84 | - title: API Utilities 85 | desc: > 86 | Utility functions for connecting to the FMP API 87 | contents: 88 | - fmp_api_key 89 | -------------------------------------------------------------------------------- /docs/404.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Page not found (404) • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 118 | 119 | Content not found. Please use links in the navbar. 120 | 121 |
122 | 123 |
124 | 125 | 126 | 127 |
128 | 131 | 132 |
133 |

Site built with pkgdown 1.4.1.

134 |
135 | 136 |
137 |
138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | -------------------------------------------------------------------------------- /docs/LICENSE-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | License • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 118 | 119 |
YEAR: 2020
120 | COPYRIGHT HOLDER: Jesse Piburn
121 | 
122 | 123 |
124 | 125 |
126 | 127 | 128 | 129 |
130 | 133 | 134 |
135 |

Site built with pkgdown 1.4.1.

136 |
137 | 138 |
139 |
140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | -------------------------------------------------------------------------------- /docs/LICENSE.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | MIT License • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 118 | 119 |
120 | 121 |

Copyright (c) 2020 Jesse Piburn

122 |

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

123 |

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

124 |

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

125 |
126 | 127 |
128 | 129 |
130 | 131 | 132 | 133 |
134 | 137 | 138 |
139 |

Site built with pkgdown 1.4.1.

140 |
141 | 142 |
143 |
144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | -------------------------------------------------------------------------------- /docs/authors.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Authors • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 118 | 119 |
    120 |
  • 121 |

    Jesse Piburn. Author, maintainer. ORCID 122 |

    123 |
  • 124 |
125 | 126 |
127 | 128 |
129 | 130 | 131 | 132 |
133 | 136 | 137 |
138 |

Site built with pkgdown 1.4.1.

139 |
140 | 141 |
142 |
143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /docs/docsearch.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 3 | // register a handler to move the focus to the search bar 4 | // upon pressing shift + "/" (i.e. "?") 5 | $(document).on('keydown', function(e) { 6 | if (e.shiftKey && e.keyCode == 191) { 7 | e.preventDefault(); 8 | $("#search-input").focus(); 9 | } 10 | }); 11 | 12 | $(document).ready(function() { 13 | // do keyword highlighting 14 | /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ 15 | var mark = function() { 16 | 17 | var referrer = document.URL ; 18 | var paramKey = "q" ; 19 | 20 | if (referrer.indexOf("?") !== -1) { 21 | var qs = referrer.substr(referrer.indexOf('?') + 1); 22 | var qs_noanchor = qs.split('#')[0]; 23 | var qsa = qs_noanchor.split('&'); 24 | var keyword = ""; 25 | 26 | for (var i = 0; i < qsa.length; i++) { 27 | var currentParam = qsa[i].split('='); 28 | 29 | if (currentParam.length !== 2) { 30 | continue; 31 | } 32 | 33 | if (currentParam[0] == paramKey) { 34 | keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); 35 | } 36 | } 37 | 38 | if (keyword !== "") { 39 | $(".contents").unmark({ 40 | done: function() { 41 | $(".contents").mark(keyword); 42 | } 43 | }); 44 | } 45 | } 46 | }; 47 | 48 | mark(); 49 | }); 50 | }); 51 | 52 | /* Search term highlighting ------------------------------*/ 53 | 54 | function matchedWords(hit) { 55 | var words = []; 56 | 57 | var hierarchy = hit._highlightResult.hierarchy; 58 | // loop to fetch from lvl0, lvl1, etc. 59 | for (var idx in hierarchy) { 60 | words = words.concat(hierarchy[idx].matchedWords); 61 | } 62 | 63 | var content = hit._highlightResult.content; 64 | if (content) { 65 | words = words.concat(content.matchedWords); 66 | } 67 | 68 | // return unique words 69 | var words_uniq = [...new Set(words)]; 70 | return words_uniq; 71 | } 72 | 73 | function updateHitURL(hit) { 74 | 75 | var words = matchedWords(hit); 76 | var url = ""; 77 | 78 | if (hit.anchor) { 79 | url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; 80 | } else { 81 | url = hit.url + '?q=' + escape(words.join(" ")); 82 | } 83 | 84 | return url; 85 | } 86 | -------------------------------------------------------------------------------- /docs/link.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 8 | 12 | 13 | -------------------------------------------------------------------------------- /docs/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/docs/logo.png -------------------------------------------------------------------------------- /docs/news/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Changelog • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
64 |
65 | 108 | 109 | 110 | 111 |
112 | 113 |
114 |
115 | 119 | 120 |
121 |

122 | fmpapi 0.1.0

123 |
    124 |
  • Added a NEWS.md file to track changes to the package.
  • 125 |
  • uses api key "demo" instead of throwing an error when an API Key is not found
  • 126 |
  • Changed package name to not conflict with existing CRAN package FMP 127 |
  • 128 |
129 |
130 |
131 | 132 | 140 | 141 |
142 | 143 | 144 |
145 | 148 | 149 |
150 |

Site built with pkgdown 1.4.1.

151 |
152 | 153 |
154 |
155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | -------------------------------------------------------------------------------- /docs/pkgdown.css: -------------------------------------------------------------------------------- 1 | /* Sticky footer */ 2 | 3 | /** 4 | * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ 5 | * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css 6 | * 7 | * .Site -> body > .container 8 | * .Site-content -> body > .container .row 9 | * .footer -> footer 10 | * 11 | * Key idea seems to be to ensure that .container and __all its parents__ 12 | * have height set to 100% 13 | * 14 | */ 15 | 16 | html, body { 17 | height: 100%; 18 | } 19 | 20 | body > .container { 21 | display: flex; 22 | height: 100%; 23 | flex-direction: column; 24 | } 25 | 26 | body > .container .row { 27 | flex: 1 0 auto; 28 | } 29 | 30 | footer { 31 | margin-top: 45px; 32 | padding: 35px 0 36px; 33 | border-top: 1px solid #e5e5e5; 34 | color: #666; 35 | display: flex; 36 | flex-shrink: 0; 37 | } 38 | footer p { 39 | margin-bottom: 0; 40 | } 41 | footer div { 42 | flex: 1; 43 | } 44 | footer .pkgdown { 45 | text-align: right; 46 | } 47 | footer p { 48 | margin-bottom: 0; 49 | } 50 | 51 | img.icon { 52 | float: right; 53 | } 54 | 55 | img { 56 | max-width: 100%; 57 | } 58 | 59 | /* Fix bug in bootstrap (only seen in firefox) */ 60 | summary { 61 | display: list-item; 62 | } 63 | 64 | /* Typographic tweaking ---------------------------------*/ 65 | 66 | .contents .page-header { 67 | margin-top: calc(-60px + 1em); 68 | } 69 | 70 | /* Section anchors ---------------------------------*/ 71 | 72 | a.anchor { 73 | margin-left: -30px; 74 | display:inline-block; 75 | width: 30px; 76 | height: 30px; 77 | visibility: hidden; 78 | 79 | background-image: url(./link.svg); 80 | background-repeat: no-repeat; 81 | background-size: 20px 20px; 82 | background-position: center center; 83 | } 84 | 85 | .hasAnchor:hover a.anchor { 86 | visibility: visible; 87 | } 88 | 89 | @media (max-width: 767px) { 90 | .hasAnchor:hover a.anchor { 91 | visibility: hidden; 92 | } 93 | } 94 | 95 | 96 | /* Fixes for fixed navbar --------------------------*/ 97 | 98 | .contents h1, .contents h2, .contents h3, .contents h4 { 99 | padding-top: 60px; 100 | margin-top: -40px; 101 | } 102 | 103 | /* Sidebar --------------------------*/ 104 | 105 | #sidebar { 106 | margin-top: 30px; 107 | position: -webkit-sticky; 108 | position: sticky; 109 | top: 70px; 110 | } 111 | #sidebar h2 { 112 | font-size: 1.5em; 113 | margin-top: 1em; 114 | } 115 | 116 | #sidebar h2:first-child { 117 | margin-top: 0; 118 | } 119 | 120 | #sidebar .list-unstyled li { 121 | margin-bottom: 0.5em; 122 | } 123 | 124 | .orcid { 125 | height: 16px; 126 | /* margins are required by official ORCID trademark and display guidelines */ 127 | margin-left:4px; 128 | margin-right:4px; 129 | vertical-align: middle; 130 | } 131 | 132 | /* Reference index & topics ----------------------------------------------- */ 133 | 134 | .ref-index th {font-weight: normal;} 135 | 136 | .ref-index td {vertical-align: top;} 137 | .ref-index .icon {width: 40px;} 138 | .ref-index .alias {width: 40%;} 139 | .ref-index-icons .alias {width: calc(40% - 40px);} 140 | .ref-index .title {width: 60%;} 141 | 142 | .ref-arguments th {text-align: right; padding-right: 10px;} 143 | .ref-arguments th, .ref-arguments td {vertical-align: top;} 144 | .ref-arguments .name {width: 20%;} 145 | .ref-arguments .desc {width: 80%;} 146 | 147 | /* Nice scrolling for wide elements --------------------------------------- */ 148 | 149 | table { 150 | display: block; 151 | overflow: auto; 152 | } 153 | 154 | /* Syntax highlighting ---------------------------------------------------- */ 155 | 156 | pre { 157 | word-wrap: normal; 158 | word-break: normal; 159 | border: 1px solid #eee; 160 | } 161 | 162 | pre, code { 163 | background-color: #f8f8f8; 164 | color: #333; 165 | } 166 | 167 | pre code { 168 | overflow: auto; 169 | word-wrap: normal; 170 | white-space: pre; 171 | } 172 | 173 | pre .img { 174 | margin: 5px 0; 175 | } 176 | 177 | pre .img img { 178 | background-color: #fff; 179 | display: block; 180 | height: auto; 181 | } 182 | 183 | code a, pre a { 184 | color: #375f84; 185 | } 186 | 187 | a.sourceLine:hover { 188 | text-decoration: none; 189 | } 190 | 191 | .fl {color: #1514b5;} 192 | .fu {color: #000000;} /* function */ 193 | .ch,.st {color: #036a07;} /* string */ 194 | .kw {color: #264D66;} /* keyword */ 195 | .co {color: #888888;} /* comment */ 196 | 197 | .message { color: black; font-weight: bolder;} 198 | .error { color: orange; font-weight: bolder;} 199 | .warning { color: #6A0366; font-weight: bolder;} 200 | 201 | /* Clipboard --------------------------*/ 202 | 203 | .hasCopyButton { 204 | position: relative; 205 | } 206 | 207 | .btn-copy-ex { 208 | position: absolute; 209 | right: 0; 210 | top: 0; 211 | visibility: hidden; 212 | } 213 | 214 | .hasCopyButton:hover button.btn-copy-ex { 215 | visibility: visible; 216 | } 217 | 218 | /* headroom.js ------------------------ */ 219 | 220 | .headroom { 221 | will-change: transform; 222 | transition: transform 200ms linear; 223 | } 224 | .headroom--pinned { 225 | transform: translateY(0%); 226 | } 227 | .headroom--unpinned { 228 | transform: translateY(-100%); 229 | } 230 | 231 | /* mark.js ----------------------------*/ 232 | 233 | mark { 234 | background-color: rgba(255, 255, 51, 0.5); 235 | border-bottom: 2px solid rgba(255, 153, 51, 0.3); 236 | padding: 1px; 237 | } 238 | 239 | /* vertical spacing after htmlwidgets */ 240 | .html-widget { 241 | margin-bottom: 10px; 242 | } 243 | 244 | /* fontawesome ------------------------ */ 245 | 246 | .fab { 247 | font-family: "Font Awesome 5 Brands" !important; 248 | } 249 | 250 | /* don't display links in code chunks when printing */ 251 | /* source: https://stackoverflow.com/a/10781533 */ 252 | @media print { 253 | code a:link:after, code a:visited:after { 254 | content: ""; 255 | } 256 | } 257 | -------------------------------------------------------------------------------- /docs/pkgdown.js: -------------------------------------------------------------------------------- 1 | /* http://gregfranko.com/blog/jquery-best-practices/ */ 2 | (function($) { 3 | $(function() { 4 | 5 | $('.navbar-fixed-top').headroom(); 6 | 7 | $('body').css('padding-top', $('.navbar').height() + 10); 8 | $(window).resize(function(){ 9 | $('body').css('padding-top', $('.navbar').height() + 10); 10 | }); 11 | 12 | $('body').scrollspy({ 13 | target: '#sidebar', 14 | offset: 60 15 | }); 16 | 17 | $('[data-toggle="tooltip"]').tooltip(); 18 | 19 | var cur_path = paths(location.pathname); 20 | var links = $("#navbar ul li a"); 21 | var max_length = -1; 22 | var pos = -1; 23 | for (var i = 0; i < links.length; i++) { 24 | if (links[i].getAttribute("href") === "#") 25 | continue; 26 | // Ignore external links 27 | if (links[i].host !== location.host) 28 | continue; 29 | 30 | var nav_path = paths(links[i].pathname); 31 | 32 | var length = prefix_length(nav_path, cur_path); 33 | if (length > max_length) { 34 | max_length = length; 35 | pos = i; 36 | } 37 | } 38 | 39 | // Add class to parent
  • , and enclosing
  • if in dropdown 40 | if (pos >= 0) { 41 | var menu_anchor = $(links[pos]); 42 | menu_anchor.parent().addClass("active"); 43 | menu_anchor.closest("li.dropdown").addClass("active"); 44 | } 45 | }); 46 | 47 | function paths(pathname) { 48 | var pieces = pathname.split("/"); 49 | pieces.shift(); // always starts with / 50 | 51 | var end = pieces[pieces.length - 1]; 52 | if (end === "index.html" || end === "") 53 | pieces.pop(); 54 | return(pieces); 55 | } 56 | 57 | // Returns -1 if not found 58 | function prefix_length(needle, haystack) { 59 | if (needle.length > haystack.length) 60 | return(-1); 61 | 62 | // Special case for length-0 haystack, since for loop won't run 63 | if (haystack.length === 0) { 64 | return(needle.length === 0 ? 0 : -1); 65 | } 66 | 67 | for (var i = 0; i < haystack.length; i++) { 68 | if (needle[i] != haystack[i]) 69 | return(i); 70 | } 71 | 72 | return(haystack.length); 73 | } 74 | 75 | /* Clipboard --------------------------*/ 76 | 77 | function changeTooltipMessage(element, msg) { 78 | var tooltipOriginalTitle=element.getAttribute('data-original-title'); 79 | element.setAttribute('data-original-title', msg); 80 | $(element).tooltip('show'); 81 | element.setAttribute('data-original-title', tooltipOriginalTitle); 82 | } 83 | 84 | if(ClipboardJS.isSupported()) { 85 | $(document).ready(function() { 86 | var copyButton = ""; 87 | 88 | $(".examples, div.sourceCode").addClass("hasCopyButton"); 89 | 90 | // Insert copy buttons: 91 | $(copyButton).prependTo(".hasCopyButton"); 92 | 93 | // Initialize tooltips: 94 | $('.btn-copy-ex').tooltip({container: 'body'}); 95 | 96 | // Initialize clipboard: 97 | var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { 98 | text: function(trigger) { 99 | return trigger.parentNode.textContent; 100 | } 101 | }); 102 | 103 | clipboardBtnCopies.on('success', function(e) { 104 | changeTooltipMessage(e.trigger, 'Copied!'); 105 | e.clearSelection(); 106 | }); 107 | 108 | clipboardBtnCopies.on('error', function() { 109 | changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); 110 | }); 111 | }); 112 | } 113 | })(window.jQuery || window.$) 114 | -------------------------------------------------------------------------------- /docs/pkgdown.yml: -------------------------------------------------------------------------------- 1 | pandoc: 2.9.2 2 | pkgdown: 1.4.1 3 | pkgdown_sha: ~ 4 | articles: [] 5 | 6 | -------------------------------------------------------------------------------- /docs/reference/figures/README-company-dcf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/docs/reference/figures/README-company-dcf-1.png -------------------------------------------------------------------------------- /docs/reference/figures/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/docs/reference/figures/logo.png -------------------------------------------------------------------------------- /docs/reference/fmpQuote.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Retrieve Real-Time Quotes of Various Securities and Cryptocurrencies — fmpQuote • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Retrieve Real-Time Quotes of Various Securities and Cryptocurrencies

    126 | 127 |
    128 | 129 |
    fmp_quote_nyse()
    130 | 
    131 | fmp_quote_nasdaq()
    132 | 
    133 | fmp_quote_amex()
    134 | 
    135 | fmp_quote_tsx()
    136 | 
    137 | fmp_quote_etfs()
    138 | 
    139 | fmp_quote_forex()
    140 | 
    141 | fmp_quote_cryptos()
    142 | 
    143 | fmp_quote_euronext()
    144 | 
    145 | fmp_quote_mutual_funds()
    146 | 
    147 | fmp_quote_commodities()
    148 | 
    149 | fmp_quote_indexes()
    150 | 151 |

    Value

    152 | 153 |

    a tibble of quotes of requested securities

    154 | 155 | 156 |
    157 | 165 |
    166 | 167 | 168 |
    169 | 172 | 173 |
    174 |

    Site built with pkgdown 1.4.1.

    175 |
    176 | 177 |
    178 |
    179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | -------------------------------------------------------------------------------- /docs/reference/fmp_earnings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Company Historical Earnings — fmp_earnings • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Company Historical Earnings

    126 | 127 |
    128 | 129 |
    fmp_earnings(symbol)
    130 | 131 |

    Arguments

    132 | 133 | 134 | 135 | 136 | 137 | 138 |
    symbol

    character. A vector of stock symbols.

    139 | 140 |

    Value

    141 | 142 |

    a tibble of relevant financial information

    143 | 144 |

    Note

    145 | 146 |

    Currently fmp_earnings() requires increased API access

    147 | 148 | 149 |
    150 | 161 |
    162 | 163 | 164 |
    165 | 168 | 169 |
    170 |

    Site built with pkgdown 1.4.1.

    171 |
    172 | 173 |
    174 |
    175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | -------------------------------------------------------------------------------- /docs/reference/fmp_earnings_calendar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Upcoming Earnings Calendar — fmp_earnings_calendar • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Upcoming Earnings Calendar

    126 | 127 |
    128 | 129 |
    fmp_earnings_calendar()
    130 | 131 | 132 |

    Examples

    133 |
    # \donttest{
    134 | d <- fmp_earnings_calendar()
    135 | # }
    136 |
    137 | 145 |
    146 | 147 | 148 |
    149 | 152 | 153 |
    154 |

    Site built with pkgdown 1.4.1.

    155 |
    156 | 157 |
    158 |
    159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | -------------------------------------------------------------------------------- /docs/reference/fmp_market_actives.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Most Active Stocks — fmp_market_actives • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Most Active Stocks

    126 | 127 |
    128 | 129 |
    fmp_market_actives()
    130 | 131 | 132 |
    133 | 139 |
    140 | 141 | 142 |
    143 | 146 | 147 |
    148 |

    Site built with pkgdown 1.4.1.

    149 |
    150 | 151 |
    152 |
    153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /docs/reference/fmp_market_gainers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Largest Gaining Stocks — fmp_market_gainers • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Largest Gaining Stocks

    126 | 127 |
    128 | 129 |
    fmp_market_gainers()
    130 | 131 | 132 |
    133 | 139 |
    140 | 141 | 142 |
    143 | 146 | 147 |
    148 |

    Site built with pkgdown 1.4.1.

    149 |
    150 | 151 |
    152 |
    153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /docs/reference/fmp_market_hours.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Market Hours and Holidays — fmp_market_hours • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Market Hours and Holidays

    126 | 127 |
    128 | 129 |
    fmp_market_hours()
    130 | 131 | 132 |
    133 | 139 |
    140 | 141 | 142 |
    143 | 146 | 147 |
    148 |

    Site built with pkgdown 1.4.1.

    149 |
    150 | 151 |
    152 |
    153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /docs/reference/fmp_market_losers.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Largest Losing Stocks — fmp_market_losers • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Largest Losing Stocks

    126 | 127 |
    128 | 129 |
    fmp_market_losers()
    130 | 131 | 132 |
    133 | 139 |
    140 | 141 | 142 |
    143 | 146 | 147 |
    148 |

    Site built with pkgdown 1.4.1.

    149 |
    150 | 151 |
    152 |
    153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /docs/reference/fmp_prices.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Intra-day Security Prices — fmp_prices • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Intra-day Security Prices

    126 | 127 |
    128 | 129 |
    fmp_prices(
    130 |   symbol,
    131 |   interval = c("1min", "5min", "15min", "30min", "1hour", "4hour")
    132 | )
    133 | 134 |

    Arguments

    135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 |
    symbol

    character. A vector of stock symbols.

    interval

    character. Time resolution of price quotes

    146 | 147 |

    Value

    148 | 149 |

    a tibble of quotes of requested securities

    150 | 151 | 152 |

    Examples

    153 |
    # \donttest{
    154 | 
    155 | # hourly Apple stock prices
    156 | d <- fmp_prices('AAPL', interval = '1hour')
    157 | # }
    158 |
    159 | 170 |
    171 | 172 | 173 |
    174 | 177 | 178 |
    179 |

    Site built with pkgdown 1.4.1.

    180 |
    181 | 182 |
    183 |
    184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | -------------------------------------------------------------------------------- /docs/reference/fmp_quote.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Retrieve Real-Time Quotes of Selected Securities and Cryptocurrencies — fmp_quote • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Retrieve Real-Time Quotes of Selected Securities and Cryptocurrencies

    126 | 127 |
    128 | 129 |
    fmp_quote(symbol)
    130 | 131 |

    Arguments

    132 | 133 | 134 | 135 | 136 | 137 | 138 |
    symbol

    character. A vector of stock symbols.

    139 | 140 |

    Value

    141 | 142 |

    a tibble of quotes of requested securities

    143 | 144 | 145 |

    Examples

    146 |
    147 | # \donttest{
    148 | my_stocks <- c('AAPL', 'GE')
    149 | d <- fmp_quote(my_stocks)
    150 | # }
    151 |
    152 | 163 |
    164 | 165 | 166 |
    167 | 170 | 171 |
    172 |

    Site built with pkgdown 1.4.1.

    173 |
    174 | 175 |
    176 |
    177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | -------------------------------------------------------------------------------- /docs/reference/fmp_sec_filings.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | SEC RSS Feed — fmp_sec_filings • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Retrieve the most recent financial statements filed to the SEC

    126 | 127 |
    128 | 129 |
    fmp_sec_filings()
    130 | 131 |

    Value

    132 | 133 |

    a tibble of filing information

    134 | 135 | 136 |
    137 | 145 |
    146 | 147 | 148 |
    149 | 152 | 153 |
    154 |

    Site built with pkgdown 1.4.1.

    155 |
    156 | 157 |
    158 |
    159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | -------------------------------------------------------------------------------- /docs/reference/fmp_sector_performance.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Market Sector Performance — fmp_sector_performance • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 59 | 60 | 61 | 62 | 63 | 64 | 65 |
    66 |
    67 | 110 | 111 | 112 | 113 |
    114 | 115 |
    116 |
    117 | 122 | 123 |
    124 | 125 |

    Market Sector Performance

    126 | 127 |
    128 | 129 |
    fmp_sector_performance(historical = FALSE)
    130 | 131 |

    Arguments

    132 | 133 | 134 | 135 | 136 | 138 | 139 |
    historical

    logical. If TRUE return historical values. If FALSE 137 | return current. Default is FALSE

    140 | 141 | 142 |
    143 | 150 |
    151 | 152 | 153 |
    154 | 157 | 158 |
    159 |

    Site built with pkgdown 1.4.1.

    160 |
    161 | 162 |
    163 |
    164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | -------------------------------------------------------------------------------- /docs/reference/fmpapi-package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | fmpapi: Access to the Financial Modeling Prep Financial Data API — fmpapi-package • fmpapi 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 60 | 61 | 62 | 63 | 64 | 65 | 66 |
    67 |
    68 | 111 | 112 | 113 | 114 |
    115 | 116 |
    117 |
    118 | 123 | 124 |
    125 | 126 |

    logo

    127 |

    Simple and consistent interface to the Financial Modeling Prep Financial Data API.

    128 | 129 |
    130 | 131 | 132 |

    See also

    133 | 134 |

    Useful links:

    138 | 139 |
    140 | 141 | 142 |
    143 | 153 |
    154 | 155 | 156 | 166 |
    167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | -------------------------------------------------------------------------------- /fmpapi.Rproj: -------------------------------------------------------------------------------- 1 | Version: 1.0 2 | 3 | RestoreWorkspace: Default 4 | SaveWorkspace: Default 5 | AlwaysSaveHistory: Default 6 | 7 | EnableCodeIndexing: Yes 8 | UseSpacesForTab: Yes 9 | NumSpacesForTab: 2 10 | Encoding: UTF-8 11 | 12 | RnwWeave: knitr 13 | LaTeX: pdfLaTeX 14 | 15 | AutoAppendNewline: Yes 16 | StripTrailingWhitespace: Yes 17 | 18 | BuildType: Package 19 | PackageUseDevtools: Yes 20 | PackageInstallArgs: --no-multiarch --with-keep.source 21 | PackageRoxygenize: rd,collate,namespace 22 | -------------------------------------------------------------------------------- /man/figures/README-company-dcf-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/man/figures/README-company-dcf-1.png -------------------------------------------------------------------------------- /man/figures/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/man/figures/logo.png -------------------------------------------------------------------------------- /man/fmpQuote.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-quotes.R 3 | \name{fmpQuote} 4 | \alias{fmpQuote} 5 | \alias{fmp_quote_nyse} 6 | \alias{fmp_quote_nasdaq} 7 | \alias{fmp_quote_amex} 8 | \alias{fmp_quote_tsx} 9 | \alias{fmp_quote_etfs} 10 | \alias{fmp_quote_forex} 11 | \alias{fmp_quote_cryptos} 12 | \alias{fmp_quote_euronext} 13 | \alias{fmp_quote_mutual_funds} 14 | \alias{fmp_quote_commodities} 15 | \alias{fmp_quote_indexes} 16 | \title{Retrieve Real-Time Quotes of Various Securities and Cryptocurrencies} 17 | \usage{ 18 | fmp_quote_nyse() 19 | 20 | fmp_quote_nasdaq() 21 | 22 | fmp_quote_amex() 23 | 24 | fmp_quote_tsx() 25 | 26 | fmp_quote_etfs() 27 | 28 | fmp_quote_forex() 29 | 30 | fmp_quote_cryptos() 31 | 32 | fmp_quote_euronext() 33 | 34 | fmp_quote_mutual_funds() 35 | 36 | fmp_quote_commodities() 37 | 38 | fmp_quote_indexes() 39 | } 40 | \value{ 41 | a \link[tibble:tibble-package]{tibble} of quotes of requested securities 42 | } 43 | \description{ 44 | Retrieve Real-Time Quotes of Various Securities and Cryptocurrencies 45 | } 46 | -------------------------------------------------------------------------------- /man/fmp_13f.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/institutional-funds.R 3 | \name{fmp_13f} 4 | \alias{fmp_13f} 5 | \title{Form 13-F Statements} 6 | \usage{ 7 | fmp_13f(cik, year = NULL) 8 | } 9 | \arguments{ 10 | \item{cik}{\code{character}. A vector of Central Index Keys (CIK)} 11 | 12 | \item{year}{\code{numeric}. 4 digit year, e.g. \code{2020}. If \code{NULL}, the current year 13 | will be taken from \code{\link[=Sys.Date]{Sys.Date()}}. Default is \code{NULL}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} 17 | } 18 | \description{ 19 | Form 13-F statements provides position-level report of all institutional 20 | investment managers with more than $100m in assets under management 21 | } 22 | \examples{ 23 | 24 | berkshire_cik <- '0001067983' 25 | \donttest{ 26 | d <- fmp_13f(berkshire_cik) 27 | } 28 | 29 | \donttest{ 30 | # 13-F forms from 2018 31 | d_18 <- fmp_13f(berkshire_cik, year = 2018) 32 | } 33 | 34 | } 35 | \seealso{ 36 | \code{\link[=fmp_list_ciks]{fmp_list_ciks()}} 37 | } 38 | -------------------------------------------------------------------------------- /man/fmp_api_key.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/utils.R 3 | \name{fmp_api_key} 4 | \alias{fmp_api_key} 5 | \title{Install a Financial Modeling Prep API Key in Your \code{.Renviron} File for Repeated Use} 6 | \usage{ 7 | fmp_api_key(key, install = TRUE, overwrite = FALSE, fmpcloud_access = FALSE) 8 | } 9 | \arguments{ 10 | \item{key}{\code{character}. The API key acquired from \href{https://financialmodelingprep.com/developer/docs/pricing/}{'https://financialmodelingprep.com/developer/docs/pricing/'}} 11 | 12 | \item{install}{\code{logical}. If \code{TRUE}, will install the key in your \code{.Renviron} file for use in future sessions. 13 | If \code{FALSE}, key is only loaded for the current R session and will not persist when a new session is loaded. 14 | This is potentially useful if you wish to access the API from a non-personal computer. Default is \code{TRUE}.} 15 | 16 | \item{overwrite}{\code{logical}. If \code{TRUE}, overwrite any existing FMP_API_KEY that you already have in your \code{.Renviron} file.} 17 | 18 | \item{fmpcloud_access}{logical. Is this key additionally activated on the \href{https://fmpcloud.io}{'fmpcloud.io'} server? 19 | default is \code{FALSE}} 20 | } 21 | \description{ 22 | This function will add your FMP API key to your \code{.Renviron} file 23 | so it can be called securely without being stored in your code. 24 | After you have installed your key, it can be called any time by 25 | typing \code{Sys.getenv('FMP_API_KEY')}. 26 | } 27 | \examples{ 28 | 29 | \dontrun{ 30 | key <- "my_api_key" 31 | 32 | fmp_api_key(key) 33 | 34 | # first time, either reload your environment or restart R 35 | # reload environment with the following 36 | readRenviron("~/.Renviron") 37 | 38 | # you can check it with: 39 | Sys.getenv("FMP_API_KEY") 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /man/fmp_balance_sheet.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-finanicial-statements.R 3 | \name{fmp_balance_sheet} 4 | \alias{fmp_balance_sheet} 5 | \title{Company Balance Sheet} 6 | \usage{ 7 | fmp_balance_sheet(symbol, quarterly = FALSE, as_reported = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | 15 | \item{as_reported}{\code{logical}. If \code{TRUE} return data formatted as reported. Default 16 | is \code{FALSE}} 17 | } 18 | \value{ 19 | a \link[tibble:tibble-package]{tibble} of relevant financial information 20 | } 21 | \description{ 22 | Company Balance Sheet 23 | } 24 | \examples{ 25 | 26 | \donttest{ 27 | my_stocks <- c('AAPL', 'GE') 28 | d <- fmp_balance_sheet(my_stocks, quarterly = TRUE) 29 | } 30 | 31 | } 32 | \seealso{ 33 | Other \verb{Company Summaries}: 34 | \code{\link{fmp_cash_flow}()}, 35 | \code{\link{fmp_company_outlook}()}, 36 | \code{\link{fmp_dcf}()}, 37 | \code{\link{fmp_dividends}()}, 38 | \code{\link{fmp_enterprise_value}()}, 39 | \code{\link{fmp_financial_growth}()}, 40 | \code{\link{fmp_full_financial}()}, 41 | \code{\link{fmp_income}()}, 42 | \code{\link{fmp_institutional_holders}()}, 43 | \code{\link{fmp_key_executives}()}, 44 | \code{\link{fmp_key_metrics}()}, 45 | \code{\link{fmp_market_cap}()}, 46 | \code{\link{fmp_profile}()}, 47 | \code{\link{fmp_rating}()}, 48 | \code{\link{fmp_ratios}()}, 49 | \code{\link{fmp_shares_float}()}, 50 | \code{\link{fmp_splits}()} 51 | } 52 | \concept{\verb{Company Summaries}} 53 | -------------------------------------------------------------------------------- /man/fmp_cash_flow.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-finanicial-statements.R 3 | \name{fmp_cash_flow} 4 | \alias{fmp_cash_flow} 5 | \title{Company Cash Flow} 6 | \usage{ 7 | fmp_cash_flow(symbol, quarterly = FALSE, as_reported = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | 15 | \item{as_reported}{\code{logical}. If \code{TRUE} return data formatted as reported. Default 16 | is \code{FALSE}} 17 | } 18 | \value{ 19 | a \link[tibble:tibble-package]{tibble} of relevant financial information 20 | } 21 | \description{ 22 | Company Cash Flow 23 | } 24 | \examples{ 25 | 26 | \donttest{ 27 | my_stocks <- c('AAPL', 'GE') 28 | d <- fmp_cash_flow(my_stocks, quarterly = TRUE) 29 | } 30 | 31 | } 32 | \seealso{ 33 | Other \verb{Company Summaries}: 34 | \code{\link{fmp_balance_sheet}()}, 35 | \code{\link{fmp_company_outlook}()}, 36 | \code{\link{fmp_dcf}()}, 37 | \code{\link{fmp_dividends}()}, 38 | \code{\link{fmp_enterprise_value}()}, 39 | \code{\link{fmp_financial_growth}()}, 40 | \code{\link{fmp_full_financial}()}, 41 | \code{\link{fmp_income}()}, 42 | \code{\link{fmp_institutional_holders}()}, 43 | \code{\link{fmp_key_executives}()}, 44 | \code{\link{fmp_key_metrics}()}, 45 | \code{\link{fmp_market_cap}()}, 46 | \code{\link{fmp_profile}()}, 47 | \code{\link{fmp_rating}()}, 48 | \code{\link{fmp_ratios}()}, 49 | \code{\link{fmp_shares_float}()}, 50 | \code{\link{fmp_splits}()} 51 | } 52 | \concept{\verb{Company Summaries}} 53 | -------------------------------------------------------------------------------- /man/fmp_company_outlook.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_company_outlook} 4 | \alias{fmp_company_outlook} 5 | \title{Company Outlook} 6 | \usage{ 7 | fmp_company_outlook(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Outlook 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_company_outlook(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_dcf}()}, 31 | \code{\link{fmp_dividends}()}, 32 | \code{\link{fmp_enterprise_value}()}, 33 | \code{\link{fmp_financial_growth}()}, 34 | \code{\link{fmp_full_financial}()}, 35 | \code{\link{fmp_income}()}, 36 | \code{\link{fmp_institutional_holders}()}, 37 | \code{\link{fmp_key_executives}()}, 38 | \code{\link{fmp_key_metrics}()}, 39 | \code{\link{fmp_market_cap}()}, 40 | \code{\link{fmp_profile}()}, 41 | \code{\link{fmp_rating}()}, 42 | \code{\link{fmp_ratios}()}, 43 | \code{\link{fmp_shares_float}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_daily_prices.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-prices.R 3 | \name{fmp_daily_prices} 4 | \alias{fmp_daily_prices} 5 | \title{Daily Security Prices} 6 | \usage{ 7 | fmp_daily_prices( 8 | symbol, 9 | start_date = NULL, 10 | end_date = NULL, 11 | last_n = NULL, 12 | ... 13 | ) 14 | } 15 | \arguments{ 16 | \item{symbol}{\code{character}. A vector of stock symbols.} 17 | 18 | \item{start_date}{\code{character}. ISO-8601 formatted date. For example, \code{'2020-05-25'}} 19 | 20 | \item{end_date}{\code{character}. ISO-8601 formatted date. For example, \code{'2020-06-25'}} 21 | 22 | \item{last_n}{\code{numeric}. An alternative to \code{start_date} and \code{end_date}. return the last \code{n} days} 23 | 24 | \item{...}{additional parameters} 25 | } 26 | \value{ 27 | a \link[tibble:tibble-package]{tibble} of quotes of requested securities 28 | } 29 | \description{ 30 | Daily Security Prices 31 | } 32 | \examples{ 33 | \donttest{ 34 | 35 | # last 100 days of Apple stock prices 36 | d <- fmp_daily_prices('AAPL', last_n = 100) 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /man/fmp_dcf.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_dcf} 4 | \alias{fmp_dcf} 5 | \title{Company Discounted Cash Flow Value} 6 | \usage{ 7 | fmp_dcf(symbol, historical = FALSE, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{historical}{\code{logical}. If \code{TRUE} return historical dcf values. If \code{FALSE} 13 | return current estimate. Default is \code{FALSE}} 14 | 15 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 16 | return annual. Default is \code{FALSE}} 17 | } 18 | \value{ 19 | a \link[tibble:tibble-package]{tibble} of relevant financial information 20 | } 21 | \description{ 22 | Company Discounted Cash Flow Value 23 | } 24 | \examples{ 25 | 26 | \donttest{ 27 | my_stocks <- c('AAPL', 'GE') 28 | d <- fmp_dcf(my_stocks, historical = TRUE, quarterly = TRUE) 29 | } 30 | 31 | } 32 | \seealso{ 33 | Other \verb{Company Summaries}: 34 | \code{\link{fmp_balance_sheet}()}, 35 | \code{\link{fmp_cash_flow}()}, 36 | \code{\link{fmp_company_outlook}()}, 37 | \code{\link{fmp_dividends}()}, 38 | \code{\link{fmp_enterprise_value}()}, 39 | \code{\link{fmp_financial_growth}()}, 40 | \code{\link{fmp_full_financial}()}, 41 | \code{\link{fmp_income}()}, 42 | \code{\link{fmp_institutional_holders}()}, 43 | \code{\link{fmp_key_executives}()}, 44 | \code{\link{fmp_key_metrics}()}, 45 | \code{\link{fmp_market_cap}()}, 46 | \code{\link{fmp_profile}()}, 47 | \code{\link{fmp_rating}()}, 48 | \code{\link{fmp_ratios}()}, 49 | \code{\link{fmp_shares_float}()}, 50 | \code{\link{fmp_splits}()} 51 | } 52 | \concept{\verb{Company Summaries}} 53 | -------------------------------------------------------------------------------- /man/fmp_dividends.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_dividends} 4 | \alias{fmp_dividends} 5 | \title{Company Stock Dividends} 6 | \usage{ 7 | fmp_dividends(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Stock Dividends 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_dividends(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_enterprise_value}()}, 33 | \code{\link{fmp_financial_growth}()}, 34 | \code{\link{fmp_full_financial}()}, 35 | \code{\link{fmp_income}()}, 36 | \code{\link{fmp_institutional_holders}()}, 37 | \code{\link{fmp_key_executives}()}, 38 | \code{\link{fmp_key_metrics}()}, 39 | \code{\link{fmp_market_cap}()}, 40 | \code{\link{fmp_profile}()}, 41 | \code{\link{fmp_rating}()}, 42 | \code{\link{fmp_ratios}()}, 43 | \code{\link{fmp_shares_float}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_earnings.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_earnings} 4 | \alias{fmp_earnings} 5 | \title{Company Historical Earnings} 6 | \usage{ 7 | fmp_earnings(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Historical Earnings 17 | } 18 | \note{ 19 | Currently \code{fmp_earnings()} requires increased API access 20 | } 21 | -------------------------------------------------------------------------------- /man/fmp_earnings_calendar.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_earnings_calendar} 4 | \alias{fmp_earnings_calendar} 5 | \title{Upcoming Earnings Calendar} 6 | \usage{ 7 | fmp_earnings_calendar() 8 | } 9 | \description{ 10 | Upcoming Earnings Calendar 11 | } 12 | \examples{ 13 | \donttest{ 14 | d <- fmp_earnings_calendar() 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /man/fmp_enterprise_value.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_enterprise_value} 4 | \alias{fmp_enterprise_value} 5 | \title{Company Enterprise Value} 6 | \usage{ 7 | fmp_enterprise_value(symbol, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Enterprise Value 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_enterprise_value(my_stocks, quarterly = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_financial_growth}()}, 37 | \code{\link{fmp_full_financial}()}, 38 | \code{\link{fmp_income}()}, 39 | \code{\link{fmp_institutional_holders}()}, 40 | \code{\link{fmp_key_executives}()}, 41 | \code{\link{fmp_key_metrics}()}, 42 | \code{\link{fmp_market_cap}()}, 43 | \code{\link{fmp_profile}()}, 44 | \code{\link{fmp_rating}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_financial_growth.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_financial_growth} 4 | \alias{fmp_financial_growth} 5 | \title{Company Financial Growth} 6 | \usage{ 7 | fmp_financial_growth(symbol, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Financial Growth 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_financial_growth(my_stocks, quarterly = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_full_financial}()}, 38 | \code{\link{fmp_income}()}, 39 | \code{\link{fmp_institutional_holders}()}, 40 | \code{\link{fmp_key_executives}()}, 41 | \code{\link{fmp_key_metrics}()}, 42 | \code{\link{fmp_market_cap}()}, 43 | \code{\link{fmp_profile}()}, 44 | \code{\link{fmp_rating}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_full_financial.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-finanicial-statements.R 3 | \name{fmp_full_financial} 4 | \alias{fmp_full_financial} 5 | \title{Company Full Financial Statement} 6 | \usage{ 7 | fmp_full_financial(symbol, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Full Financial Statement 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_full_financial(my_stocks, quarterly = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_financial_growth}()}, 38 | \code{\link{fmp_income}()}, 39 | \code{\link{fmp_institutional_holders}()}, 40 | \code{\link{fmp_key_executives}()}, 41 | \code{\link{fmp_key_metrics}()}, 42 | \code{\link{fmp_market_cap}()}, 43 | \code{\link{fmp_profile}()}, 44 | \code{\link{fmp_rating}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_income.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-finanicial-statements.R 3 | \name{fmp_income} 4 | \alias{fmp_income} 5 | \title{Company Income Statement} 6 | \usage{ 7 | fmp_income(symbol, quarterly = FALSE, as_reported = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | 15 | \item{as_reported}{\code{logical}. If \code{TRUE} return data formatted as reported. Default 16 | is \code{FALSE}} 17 | } 18 | \value{ 19 | a \link[tibble:tibble-package]{tibble} of relevant financial information 20 | } 21 | \description{ 22 | Company Income Statement 23 | } 24 | \examples{ 25 | 26 | \donttest{ 27 | my_stocks <- c('AAPL', 'GE') 28 | d <- fmp_income(my_stocks, quarterly = TRUE) 29 | 30 | d <- fmp_income(my_stocks, quarterly = TRUE, as_reported = TRUE) 31 | } 32 | } 33 | \seealso{ 34 | Other \verb{Company Summaries}: 35 | \code{\link{fmp_balance_sheet}()}, 36 | \code{\link{fmp_cash_flow}()}, 37 | \code{\link{fmp_company_outlook}()}, 38 | \code{\link{fmp_dcf}()}, 39 | \code{\link{fmp_dividends}()}, 40 | \code{\link{fmp_enterprise_value}()}, 41 | \code{\link{fmp_financial_growth}()}, 42 | \code{\link{fmp_full_financial}()}, 43 | \code{\link{fmp_institutional_holders}()}, 44 | \code{\link{fmp_key_executives}()}, 45 | \code{\link{fmp_key_metrics}()}, 46 | \code{\link{fmp_market_cap}()}, 47 | \code{\link{fmp_profile}()}, 48 | \code{\link{fmp_rating}()}, 49 | \code{\link{fmp_ratios}()}, 50 | \code{\link{fmp_shares_float}()}, 51 | \code{\link{fmp_splits}()} 52 | } 53 | \concept{\verb{Company Summaries}} 54 | -------------------------------------------------------------------------------- /man/fmp_institutional_holders.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/advanced-data.R 3 | \name{fmp_institutional_holders} 4 | \alias{fmp_institutional_holders} 5 | \title{Institutional Holders} 6 | \usage{ 7 | fmp_institutional_holders(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Institutional Holders 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_institutional_holdersmy_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_dividends}()}, 33 | \code{\link{fmp_enterprise_value}()}, 34 | \code{\link{fmp_financial_growth}()}, 35 | \code{\link{fmp_full_financial}()}, 36 | \code{\link{fmp_income}()}, 37 | \code{\link{fmp_key_executives}()}, 38 | \code{\link{fmp_key_metrics}()}, 39 | \code{\link{fmp_market_cap}()}, 40 | \code{\link{fmp_profile}()}, 41 | \code{\link{fmp_rating}()}, 42 | \code{\link{fmp_ratios}()}, 43 | \code{\link{fmp_shares_float}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_key_executives.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_key_executives} 4 | \alias{fmp_key_executives} 5 | \title{Company Key Executives} 6 | \usage{ 7 | fmp_key_executives(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Key Executives 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_key_executives(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_dividends}()}, 33 | \code{\link{fmp_enterprise_value}()}, 34 | \code{\link{fmp_financial_growth}()}, 35 | \code{\link{fmp_full_financial}()}, 36 | \code{\link{fmp_income}()}, 37 | \code{\link{fmp_institutional_holders}()}, 38 | \code{\link{fmp_key_metrics}()}, 39 | \code{\link{fmp_market_cap}()}, 40 | \code{\link{fmp_profile}()}, 41 | \code{\link{fmp_rating}()}, 42 | \code{\link{fmp_ratios}()}, 43 | \code{\link{fmp_shares_float}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_key_metrics.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_key_metrics} 4 | \alias{fmp_key_metrics} 5 | \title{Company Key Metrics} 6 | \usage{ 7 | fmp_key_metrics(symbol, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Key Metrics 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_key_metrics(my_stocks, quarterly = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_financial_growth}()}, 38 | \code{\link{fmp_full_financial}()}, 39 | \code{\link{fmp_income}()}, 40 | \code{\link{fmp_institutional_holders}()}, 41 | \code{\link{fmp_key_executives}()}, 42 | \code{\link{fmp_market_cap}()}, 43 | \code{\link{fmp_profile}()}, 44 | \code{\link{fmp_rating}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_list.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-list.R 3 | \name{fmp_list} 4 | \alias{fmp_list} 5 | \alias{fmp_list_nyse} 6 | \alias{fmp_list_nasdaq} 7 | \alias{fmp_list_amex} 8 | \alias{fmp_list_tsx} 9 | \alias{fmp_list_etfs} 10 | \alias{fmp_list_forex} 11 | \alias{fmp_list_cryptos} 12 | \alias{fmp_list_euronext} 13 | \alias{fmp_list_mutual_funds} 14 | \alias{fmp_list_commodities} 15 | \alias{fmp_list_indexes} 16 | \alias{fmp_list_ciks} 17 | \alias{fmp_list_stocks} 18 | \title{List Available Securities} 19 | \usage{ 20 | fmp_list_nyse() 21 | 22 | fmp_list_nasdaq() 23 | 24 | fmp_list_amex() 25 | 26 | fmp_list_tsx() 27 | 28 | fmp_list_etfs() 29 | 30 | fmp_list_forex() 31 | 32 | fmp_list_cryptos() 33 | 34 | fmp_list_euronext() 35 | 36 | fmp_list_mutual_funds() 37 | 38 | fmp_list_commodities() 39 | 40 | fmp_list_indexes() 41 | 42 | fmp_list_ciks() 43 | 44 | fmp_list_stocks() 45 | } 46 | \value{ 47 | a \link[tibble:tibble-package]{tibble} of quotes of requested securities 48 | } 49 | \description{ 50 | Group of functions for listing available securities 51 | } 52 | \details{ 53 | Group of functions Details paragraph. 54 | } 55 | \section{After Arguments and Value sections}{ 56 | 57 | Despite its location, this actually comes after the Arguments and Value sections. 58 | Also, don't need to use null, could annotate first function, and then 59 | using function name as the groupBy name is more intuitive. 60 | } 61 | 62 | \examples{ 63 | 64 | \donttest{ 65 | library(fmpapi) 66 | 67 | # all available stocks 68 | df_stocks <- fmp_list_stocks() 69 | 70 | df_etfs <- fmp_list_etfs() 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /man/fmp_market_actives.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-market-info.R 3 | \name{fmp_market_actives} 4 | \alias{fmp_market_actives} 5 | \title{Most Active Stocks} 6 | \usage{ 7 | fmp_market_actives() 8 | } 9 | \description{ 10 | Most Active Stocks 11 | } 12 | -------------------------------------------------------------------------------- /man/fmp_market_cap.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_market_cap} 4 | \alias{fmp_market_cap} 5 | \title{Company Market Capitalization} 6 | \usage{ 7 | fmp_market_cap(symbol, historical = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{historical}{\code{logical}. If \code{TRUE} return daily historical values. If \code{FALSE} 13 | return current estimate. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Market Capitalization 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_market_cap(my_stocks, historical = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_financial_growth}()}, 38 | \code{\link{fmp_full_financial}()}, 39 | \code{\link{fmp_income}()}, 40 | \code{\link{fmp_institutional_holders}()}, 41 | \code{\link{fmp_key_executives}()}, 42 | \code{\link{fmp_key_metrics}()}, 43 | \code{\link{fmp_profile}()}, 44 | \code{\link{fmp_rating}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_market_gainers.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-market-info.R 3 | \name{fmp_market_gainers} 4 | \alias{fmp_market_gainers} 5 | \title{Largest Gaining Stocks} 6 | \usage{ 7 | fmp_market_gainers() 8 | } 9 | \description{ 10 | Largest Gaining Stocks 11 | } 12 | -------------------------------------------------------------------------------- /man/fmp_market_hours.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-market-info.R 3 | \name{fmp_market_hours} 4 | \alias{fmp_market_hours} 5 | \title{Market Hours and Holidays} 6 | \usage{ 7 | fmp_market_hours() 8 | } 9 | \description{ 10 | Market Hours and Holidays 11 | } 12 | -------------------------------------------------------------------------------- /man/fmp_market_losers.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-market-info.R 3 | \name{fmp_market_losers} 4 | \alias{fmp_market_losers} 5 | \title{Largest Losing Stocks} 6 | \usage{ 7 | fmp_market_losers() 8 | } 9 | \description{ 10 | Largest Losing Stocks 11 | } 12 | -------------------------------------------------------------------------------- /man/fmp_prices.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-prices.R 3 | \name{fmp_prices} 4 | \alias{fmp_prices} 5 | \title{Intra-day Security Prices} 6 | \usage{ 7 | fmp_prices( 8 | symbol, 9 | interval = c("1min", "5min", "15min", "30min", "1hour", "4hour") 10 | ) 11 | } 12 | \arguments{ 13 | \item{symbol}{\code{character}. A vector of stock symbols.} 14 | 15 | \item{interval}{\code{character}. Time resolution of price quotes} 16 | } 17 | \value{ 18 | a \link[tibble:tibble-package]{tibble} of quotes of requested securities 19 | } 20 | \description{ 21 | Intra-day Security Prices 22 | } 23 | \examples{ 24 | \donttest{ 25 | 26 | # hourly Apple stock prices 27 | d <- fmp_prices('AAPL', interval = '1hour') 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /man/fmp_profile.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_profile} 4 | \alias{fmp_profile} 5 | \title{Company Profile} 6 | \usage{ 7 | fmp_profile(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Profile 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_profile(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_dividends}()}, 33 | \code{\link{fmp_enterprise_value}()}, 34 | \code{\link{fmp_financial_growth}()}, 35 | \code{\link{fmp_full_financial}()}, 36 | \code{\link{fmp_income}()}, 37 | \code{\link{fmp_institutional_holders}()}, 38 | \code{\link{fmp_key_executives}()}, 39 | \code{\link{fmp_key_metrics}()}, 40 | \code{\link{fmp_market_cap}()}, 41 | \code{\link{fmp_rating}()}, 42 | \code{\link{fmp_ratios}()}, 43 | \code{\link{fmp_shares_float}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_quote.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-quotes.R 3 | \name{fmp_quote} 4 | \alias{fmp_quote} 5 | \title{Retrieve Real-Time Quotes of Selected Securities and Cryptocurrencies} 6 | \usage{ 7 | fmp_quote(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of quotes of requested securities 14 | } 15 | \description{ 16 | Retrieve Real-Time Quotes of Selected Securities and Cryptocurrencies 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_quote(my_stocks) 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /man/fmp_rating.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_rating} 4 | \alias{fmp_rating} 5 | \title{Company Rating} 6 | \usage{ 7 | fmp_rating(symbol, historical = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{historical}{\code{logical}. If \code{TRUE} return daily historical values. If \code{FALSE} 13 | return current estimate. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Rating 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_rating(my_stocks) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_financial_growth}()}, 38 | \code{\link{fmp_full_financial}()}, 39 | \code{\link{fmp_income}()}, 40 | \code{\link{fmp_institutional_holders}()}, 41 | \code{\link{fmp_key_executives}()}, 42 | \code{\link{fmp_key_metrics}()}, 43 | \code{\link{fmp_market_cap}()}, 44 | \code{\link{fmp_profile}()}, 45 | \code{\link{fmp_ratios}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_ratios.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_ratios} 4 | \alias{fmp_ratios} 5 | \title{Company Financial Ratios} 6 | \usage{ 7 | fmp_ratios(symbol, quarterly = FALSE) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | 12 | \item{quarterly}{\code{logical}. If \code{TRUE} return quarterly. If \code{FALSE} 13 | return annual. Default is \code{FALSE}} 14 | } 15 | \value{ 16 | a \link[tibble:tibble-package]{tibble} of relevant financial information 17 | } 18 | \description{ 19 | Company Financial Ratios 20 | } 21 | \examples{ 22 | 23 | \donttest{ 24 | my_stocks <- c('AAPL', 'GE') 25 | d <- fmp_ratios(my_stocks, quarterly = TRUE) 26 | } 27 | 28 | } 29 | \seealso{ 30 | Other \verb{Company Summaries}: 31 | \code{\link{fmp_balance_sheet}()}, 32 | \code{\link{fmp_cash_flow}()}, 33 | \code{\link{fmp_company_outlook}()}, 34 | \code{\link{fmp_dcf}()}, 35 | \code{\link{fmp_dividends}()}, 36 | \code{\link{fmp_enterprise_value}()}, 37 | \code{\link{fmp_financial_growth}()}, 38 | \code{\link{fmp_full_financial}()}, 39 | \code{\link{fmp_income}()}, 40 | \code{\link{fmp_institutional_holders}()}, 41 | \code{\link{fmp_key_executives}()}, 42 | \code{\link{fmp_key_metrics}()}, 43 | \code{\link{fmp_market_cap}()}, 44 | \code{\link{fmp_profile}()}, 45 | \code{\link{fmp_rating}()}, 46 | \code{\link{fmp_shares_float}()}, 47 | \code{\link{fmp_splits}()} 48 | } 49 | \concept{\verb{Company Summaries}} 50 | -------------------------------------------------------------------------------- /man/fmp_screen_stocks.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/stock-screener.R 3 | \name{fmp_screen_stocks} 4 | \alias{fmp_screen_stocks} 5 | \title{Company Stock Screener} 6 | \usage{ 7 | fmp_screen_stocks( 8 | marketCapMoreThan = NULL, 9 | marketCapLowerThan = NULL, 10 | betaMoreThan = NULL, 11 | betaLowerThan = NULL, 12 | volumeMoreThan = NULL, 13 | volumeLowerThan = NULL, 14 | dividendMoreThan = NULL, 15 | dividendLowerThan = NULL, 16 | sector = NULL, 17 | exchange = NULL, 18 | limit = NULL 19 | ) 20 | } 21 | \arguments{ 22 | \item{marketCapMoreThan}{\code{numeric}. Default is \code{NULL}} 23 | 24 | \item{marketCapLowerThan}{\code{numeric}. Default is \code{NULL}} 25 | 26 | \item{betaMoreThan}{\code{numeric}. Default is \code{NULL}} 27 | 28 | \item{betaLowerThan}{\code{numeric}. Default is \code{NULL}} 29 | 30 | \item{volumeMoreThan}{\code{numeric}. Default is \code{NULL}} 31 | 32 | \item{volumeLowerThan}{\code{numeric}. Default is \code{NULL}} 33 | 34 | \item{dividendMoreThan}{\code{numeric}. Default is \code{NULL}} 35 | 36 | \item{dividendLowerThan}{\code{numeric}. Default is \code{NULL}} 37 | 38 | \item{sector}{\code{character}. See Details for avialable values} 39 | 40 | \item{exchange}{\code{character}. See Details for avialable values} 41 | 42 | \item{limit}{\code{numeric}. Default is \code{NULL}} 43 | } 44 | \value{ 45 | a \link[tibble:tibble-package]{tibble} of stocks matching criteria 46 | } 47 | \description{ 48 | Company Stock Screener 49 | } 50 | \details{ 51 | \code{sector} paramater can be anyone of the following: 52 | \itemize{ 53 | \item \code{"Consumer Cyclical"} 54 | \item \code{"Energy"} 55 | \item \code{"Technology"} 56 | \item \code{"Industrials"} 57 | \item \code{"Financial Services"} 58 | \item \code{"Basic Materials"} 59 | \item \code{"Communication Services"} 60 | \item \code{"Consumer Defensive"} 61 | \item \code{"Healthcare"} 62 | \item \code{"Real Estate"} 63 | \item \code{"Utilities"} 64 | \item \code{"Industrial Goods"} 65 | \item \code{"Financial"} 66 | \item \code{"Services"} 67 | \item \code{"Conglomerates"} 68 | } 69 | 70 | \code{exchange} paramater can be anyone of the following: 71 | \itemize{ 72 | \item \code{"nyse"} 73 | \item \code{"nasdaq"} 74 | \item \code{"amex"} 75 | \item \code{"euronext"} 76 | \item \code{"tsx"} 77 | \item \code{"etf"} 78 | \item \code{"mutual_fund"} 79 | } 80 | } 81 | \examples{ 82 | 83 | \donttest{ 84 | library(fmpapi) 85 | 86 | # small cap, high beta tech stocks 87 | d <- fmp_screen_stocks(marketCapLowerThan = 1e9, betaMoreThan = 2, sector = 'Technology') 88 | 89 | # mid cap healthcare stocks listed on the nasdaq 90 | d <- fmp_screen_stocks(marketCapMoreThan = 1e9, marketCapLowerThan = 1e10, 91 | sector = 'Healthcare', exchange = 'nasdaq') 92 | } 93 | 94 | } 95 | -------------------------------------------------------------------------------- /man/fmp_sec_filings.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/institutional-funds.R 3 | \name{fmp_sec_filings} 4 | \alias{fmp_sec_filings} 5 | \title{SEC RSS Feed} 6 | \usage{ 7 | fmp_sec_filings() 8 | } 9 | \value{ 10 | a \link[tibble:tibble-package]{tibble} of filing information 11 | } 12 | \description{ 13 | Retrieve the most recent financial statements filed to the SEC 14 | } 15 | -------------------------------------------------------------------------------- /man/fmp_sector_performance.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmp-market-info.R 3 | \name{fmp_sector_performance} 4 | \alias{fmp_sector_performance} 5 | \title{Market Sector Performance} 6 | \usage{ 7 | fmp_sector_performance(historical = FALSE) 8 | } 9 | \arguments{ 10 | \item{historical}{\code{logical}. If \code{TRUE} return historical values. If \code{FALSE} 11 | return current. Default is \code{FALSE}} 12 | } 13 | \description{ 14 | Market Sector Performance 15 | } 16 | -------------------------------------------------------------------------------- /man/fmp_shares_float.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/advanced-data.R 3 | \name{fmp_shares_float} 4 | \alias{fmp_shares_float} 5 | \title{A Company's Free Float} 6 | \usage{ 7 | fmp_shares_float(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | A Company's Free Float 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_shares_float(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_dividends}()}, 33 | \code{\link{fmp_enterprise_value}()}, 34 | \code{\link{fmp_financial_growth}()}, 35 | \code{\link{fmp_full_financial}()}, 36 | \code{\link{fmp_income}()}, 37 | \code{\link{fmp_institutional_holders}()}, 38 | \code{\link{fmp_key_executives}()}, 39 | \code{\link{fmp_key_metrics}()}, 40 | \code{\link{fmp_market_cap}()}, 41 | \code{\link{fmp_profile}()}, 42 | \code{\link{fmp_rating}()}, 43 | \code{\link{fmp_ratios}()}, 44 | \code{\link{fmp_splits}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmp_splits.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/company-valuation.R 3 | \name{fmp_splits} 4 | \alias{fmp_splits} 5 | \title{Company Stock Splits} 6 | \usage{ 7 | fmp_splits(symbol) 8 | } 9 | \arguments{ 10 | \item{symbol}{\code{character}. A vector of stock symbols.} 11 | } 12 | \value{ 13 | a \link[tibble:tibble-package]{tibble} of relevant financial information 14 | } 15 | \description{ 16 | Company Stock Splits 17 | } 18 | \examples{ 19 | 20 | \donttest{ 21 | my_stocks <- c('AAPL', 'GE') 22 | d <- fmp_splits(my_stocks) 23 | } 24 | 25 | } 26 | \seealso{ 27 | Other \verb{Company Summaries}: 28 | \code{\link{fmp_balance_sheet}()}, 29 | \code{\link{fmp_cash_flow}()}, 30 | \code{\link{fmp_company_outlook}()}, 31 | \code{\link{fmp_dcf}()}, 32 | \code{\link{fmp_dividends}()}, 33 | \code{\link{fmp_enterprise_value}()}, 34 | \code{\link{fmp_financial_growth}()}, 35 | \code{\link{fmp_full_financial}()}, 36 | \code{\link{fmp_income}()}, 37 | \code{\link{fmp_institutional_holders}()}, 38 | \code{\link{fmp_key_executives}()}, 39 | \code{\link{fmp_key_metrics}()}, 40 | \code{\link{fmp_market_cap}()}, 41 | \code{\link{fmp_profile}()}, 42 | \code{\link{fmp_rating}()}, 43 | \code{\link{fmp_ratios}()}, 44 | \code{\link{fmp_shares_float}()} 45 | } 46 | \concept{\verb{Company Summaries}} 47 | -------------------------------------------------------------------------------- /man/fmpapi-package.Rd: -------------------------------------------------------------------------------- 1 | % Generated by roxygen2: do not edit by hand 2 | % Please edit documentation in R/fmpapi-package.R 3 | \docType{package} 4 | \name{fmpapi-package} 5 | \alias{fmpapi} 6 | \alias{fmpapi-package} 7 | \title{fmpapi: Access to the Financial Modeling Prep Financial Data API} 8 | \description{ 9 | \if{html}{\figure{logo.png}{options: align='right' alt='logo' width='120'}} 10 | 11 | Simple and consistent interface to the Financial Modeling Prep Financial Data API. 12 | } 13 | \seealso{ 14 | Useful links: 15 | \itemize{ 16 | \item \url{https://github.com/jpiburn/fmpapi} 17 | \item Report bugs at \url{https://github.com/jpiburn/fmpapi/issues} 18 | } 19 | 20 | } 21 | \author{ 22 | \strong{Maintainer}: Jesse Piburn \email{jesse.piburn@gmail.com} (\href{https://orcid.org/0000-0003-4967-7912}{ORCID}) 23 | 24 | } 25 | \keyword{internal} 26 | -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /pkgdown/favicon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/apple-touch-icon.png -------------------------------------------------------------------------------- /pkgdown/favicon/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/favicon-16x16.png -------------------------------------------------------------------------------- /pkgdown/favicon/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/favicon-32x32.png -------------------------------------------------------------------------------- /pkgdown/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpiburn/fmpapi/1afa15a607f983551aa75f7195b92aa3e6d2dacb/pkgdown/favicon/favicon.ico --------------------------------------------------------------------------------