Package 'yahoofinancer'

Title: Fetch Data from Yahoo Finance API
Description: Obtain historical and near real time data related to stocks, index and currencies from the Yahoo Finance API. This package is community maintained and is not officially supported by 'Yahoo'. The accuracy of data is only as correct as provided on <https://finance.yahoo.com/>.
Authors: Aravind Hebbali [aut, cre]
Maintainer: Aravind Hebbali <[email protected]>
License: MIT + file LICENSE
Version: 0.4.0.9000
Built: 2024-11-17 08:26:17 UTC
Source: https://github.com/rsquaredacademy/yahoofinancer

Help Index


Currency converter

Description

Retrieve current conversion rate between two currencies as well as historical rates.

Usage

currency_converter(
  from = "EUR",
  to = "USD",
  start = NULL,
  end = NULL,
  period = "ytd",
  interval = "1d"
)

Arguments

from

Currency to convert from.

to

Currency to convert to.

start

Specific starting date. String or date object in yyyy-mm-dd format.

end

Specific ending date. String or date object in yyyy-mm-dd format.

period

Length of time. Defaults to 'ytd' Valid values are:

  • '1d'

  • '5d'

  • '1mo'

  • '3mo'

  • '6mo'

  • '1y'

  • '2y'

  • '5y'

  • '10y'

  • 'ytd'

  • 'max'

interval

Time between data points. Defaults to '1d' Valid values are:

  • '1h'

  • '1d'

  • '5d'

  • '1wk'

  • '1mo'

  • '3mo'

Value

A data.frame.

Examples

currency_converter('GBP', 'USD', '2022-07-01', '2022-07-10')
currency_converter('GBP', 'USD', period = '1mo', interval = '1d')

Currencies

Description

List of currencies Yahoo Finance supports.

Usage

get_currencies()

Value

Symbol, short and long name of the currencies.

Examples

get_currencies()

Market Summary

Description

Summary info of relevant exchanges for specific country.

Usage

get_market_summary(country = "US")

Arguments

country

Name of the country.

Value

A data.frame.

Examples

get_market_summary(country = 'US')

R6 Class Representing a Ticker

Description

Base class for getting all data related to indices from Yahoo Finance API.

Format

An R6 class object

Public fields

index

Index for which data is retrieved

Methods

Public methods


Method new()

Create a new Index object

Usage
Index$new(index = NA)
Arguments
index

Index

Returns

A new 'Index' object

Examples
nifty_50 <- Index$new('^NSEI')

Method set_index()

Set a new index.

Usage
Index$set_index(index)
Arguments
index

New index

Examples
indice <- Index$new('^NSEI')
indice$set_index('^NDX')

Method get_history()

Retrieves historical data

Usage
Index$get_history(period = "ytd", interval = "1d", start = NULL, end = NULL)
Arguments
period

Length of time. Defaults to 'ytd'. Valid values are:

  • '1d'

  • '5d'

  • '1mo'

  • '3mo'

  • '6mo'

  • '1y'

  • '2y'

  • '5y'

  • '10y'

  • 'ytd'

  • 'max'

interval

Time between data points. Defaults to '1d'. Valid values are:

  • '1m'

  • '2m'

  • '5m'

  • '15m'

  • '30m'

  • '60m'

  • '90m'

  • '1h'

  • '1d'

  • '5d'

  • '1wk'

  • '1mo'

  • '3mo'

start

Specific starting date. String or date object in yyyy-mm-dd format.

end

Specific ending date. String or date object in yyyy-mm-dd format.

Returns

A data.frame.

Examples
\donttest{
nifty <- Index$new('^NSEI')
nifty$get_history(start = '2022-07-01', interval = '1d')
nifty$get_history(start = '2022-07-01', end = '2022-07-14', interval = '1d')
nifty$get_history(period = '1mo', interval = '1d')
}

Method clone()

The objects of this class are cloneable with this method.

Usage
Index$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

## ------------------------------------------------
## Method `Index$new`
## ------------------------------------------------

nifty_50 <- Index$new('^NSEI')

## ------------------------------------------------
## Method `Index$set_index`
## ------------------------------------------------

indice <- Index$new('^NSEI')
indice$set_index('^NDX')

## ------------------------------------------------
## Method `Index$get_history`
## ------------------------------------------------


nifty <- Index$new('^NSEI')
nifty$get_history(start = '2022-07-01', interval = '1d')
nifty$get_history(start = '2022-07-01', end = '2022-07-14', interval = '1d')
nifty$get_history(period = '1mo', interval = '1d')

R6 Class Representing a Ticker

Description

Base class for getting all data related to ticker from Yahoo Finance API.

Format

An R6 class object

Public fields

symbol

Symbol for which data is retrieved.

Active bindings

valuation_measures

Retrieves valuation measures for most recent four quarters

recommendations

Recommended symbols

technical_insights

Technical indicators for given symbol

currency

Currency

exchange_name

Exchange name

full_exchange_name

Full exchange name

first_trade_date

First trade date

regular_market_time

Regular market time

timezone

Time zone

exchange_timezone_name

Exchange timezone name

regular_market_price

Regular market price

fifty_two_week_high

Fifty two week high

fifty_two_week_low

Fifty two week low

regular_market_day_high

Regular market day high

regular_market_day_low

Regular market day low

regular_market_volume

Regular market volume

previous_close

Previous close

Methods

Public methods


Method new()

Create a new Ticker object.

Usage
Ticker$new(symbol = NA)
Arguments
symbol

Symbol.

Returns

A new 'Ticker' object

Examples
aapl <- Ticker$new('aapl')

Method set_symbol()

Set a new symbol.

Usage
Ticker$set_symbol(symbol)
Arguments
symbol

New symbol

Examples
aapl <- Ticker$new('aapl')
aapl$set_symbol('msft')

Method get_history()

Retrieves historical pricing data.

Usage
Ticker$get_history(period = "ytd", interval = "1d", start = NULL, end = NULL)
Arguments
period

Length of time. Defaults to 'ytd'. Valid values are:

  • '1d'

  • '5d'

  • '1mo'

  • '3mo'

  • '6mo'

  • '1y'

  • '2y'

  • '5y'

  • '10y'

  • 'ytd'

  • 'max'

interval

Time between data points. Defaults to '1d'. Valid values are:

  • '1m'

  • '2m'

  • '5m'

  • '15m'

  • '30m'

  • '60m'

  • '90m'

  • '1h'

  • '1d'

  • '5d'

  • '1wk'

  • '1mo'

  • '3mo'

start

Specific starting date. String or date object in yyyy-mm-dd format.

end

Specific ending date. String or date object in yyyy-mm-dd format.

Returns

A data.frame.

Examples
\donttest{
aapl <- Ticker$new('aapl')
aapl$get_history(start = '2022-07-01', interval = '1d')
aapl$get_history(start = '2022-07-01', end = '2022-07-14', interval = '1d')
aapl$get_history(period = '1mo', interval = '1d')
}

Method clone()

The objects of this class are cloneable with this method.

Usage
Ticker$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples

## ------------------------------------------------
## Method `Ticker$new`
## ------------------------------------------------

aapl <- Ticker$new('aapl')

## ------------------------------------------------
## Method `Ticker$set_symbol`
## ------------------------------------------------

aapl <- Ticker$new('aapl')
aapl$set_symbol('msft')

## ------------------------------------------------
## Method `Ticker$get_history`
## ------------------------------------------------


aapl <- Ticker$new('aapl')
aapl$get_history(start = '2022-07-01', interval = '1d')
aapl$get_history(start = '2022-07-01', end = '2022-07-14', interval = '1d')
aapl$get_history(period = '1mo', interval = '1d')

Symbol validation

Description

Validate symbols before retrieving data.

Usage

validate(symbol = NULL)

Arguments

symbol

Ticker, index or fund name.

Examples

validate("aapl")
validate("aapls")