get_col: Extract columns of data from _OHLC_ time series using column...

View source: R/rutils.R

get_colR Documentation

Extract columns of data from OHLC time series using column field names.

Description

Extract columns of data from OHLC time series using column field names.

Usage

get_col(ohlc, fieldn = "Close", datenv = NULL)

Arguments

ohlc

An OHLC time series in xts format, or a vector of character strings with the names of OHLC time series.

fieldn

A vector of strings with the field names of the columns to be be extracted (the default is "Close").

datenv

The environment containing OHLC time series (the default is NULL).

Details

The function get_col() extracts columns from OHLC time series and binds them into a single xts time series. get_col() can extract columns from a single xts time series, or from multiple time series.

The function get_col() extracts columns by partially matching field names with column names. The OHLC column names are assumed to be in the format "symbol.fieldn", for example "VTI.Close".

In the simplest case when ohlc is a single xts time series and fieldn is a single string, the function get_col() performs a similar operation to the extractor functions Op(), Hi(), Lo(), Cl(), and Vo(), from package quantmod. But get_col() is able to handle symbols like LOW, which the function Lo() can't handle. The fieldn argument is partially matched, for example "Vol" is matched to Volume (but it's case sensitive).

In the case when ohlc is a vector of strings with the names of OHLC time series, the function get_col() reads the OHLC time series from the environment datenv, extracts the specified columns, and binds them into a single xts time series.

Value

The specified columns of the OHLC time series bound into a single xts time series, with the same number of rows as the input time series.

Examples

# get close prices for VTI
rutils::get_col(rutils::etfenv$VTI)
# get volumes for VTI
rutils::get_col(rutils::etfenv$VTI, fieldn="Vol")
# get close prices and volumes for VTI
rutils::get_col(rutils::etfenv$VTI, fieldn=c("Cl", "Vol"))
# get close prices and volumes for VTI and IEF
rutils::get_col(ohlc=c("VTI", "IEF"), fieldn=c("Cl", "Vol"),
  datenv=rutils::etfenv)

algoquant/rutils documentation built on Sept. 7, 2024, 7:22 p.m.