Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

timeSeries

timeSeries Class


Description

Functions to generate and modify 'timeSeries' objects:

timeSeries Creates a 'timeSeries' object from scratch.

Data Slot and classification of 'timeSeries' objects:

seriesData Extracts data slot from a 'timeSeries'.

Usage

timeSeries(data, charvec, units = NULL, format = NULL, zone = "", 
    FinCenter = "", recordIDs = data.frame(), title = NULL, 
    documentation = NULL, ...)

seriesData(object)

Arguments

charvec

a character vector of dates and times or any objects which can be coerced to a timeDate object.

data

a matrix object or any objects which can be coereced to a matrix.

documentation

optional documentation string, or a vector of character strings.

FinCenter

a character with the the location of the financial center named as "continent/city".

format

the format specification of the input character vector,
[as.timeSeries] -
a character string with the format in POSIX notation to be passed to the time series object.

object

[is][seriesData][seriesPositions][show][summary] - an object of class timeSeries.

recordIDs

a data frame which can be used for record identification information.
[print] -
a logical value. Should the recordIDs printed together with the data matrix and time series positions?

title

an optional title string, if not specified the inputs data name is deparsed.

units

an optional character string, which allows to overwrite the current column names of a timeSeries object. By default NULL which means that the column names are selected automatically.

zone

the time zone or financial center where the data were recorded.

...

arguments passed to other methods.

Details

Generation of Time Series Objects:

We have defined a timeSeries class which is in many aspects similar to the S-Plus class with the same name, but has also some important differences. The class has seven Slots, the 'Data' slot which holds the time series data in matrix form, the 'position' slot which holds the time/date as a character vector, the 'format' and 'FinCenter' slots which are the same as for the 'timeDate' object, the 'units' slot which holds the column names of the data matrix, and a 'title' and a 'documentation' slot which hold descriptive character strings. Date and time is managed in the same way as for timeDate objects.

Value

timeSeries
returns a S4 object of class timeSeries.

seriesData

extracts the @.Data slot from a timeSeries object and is equivalent to as.amtrix.

Note

These functions were written for Rmetrics users using R and Rmetrics under Microsoft's Windows operating system where timze zones, daylight saving times and holiday calendars are insuffeciently supported.

Examples

## Load Microsoft Data -
   # Microsoft Data: 
   setRmetricsOptions(myFinCenter = "GMT")
   data(MSFT)
   head(MSFT)

## Create a timeSeries Object, The Direct Way ...
   Close <- MSFT[, 5]
   head(Close)
   
## Create a timeSeries Object from Scratch - 
   data <- as.matrix(MSFT[, 4])
   charvec <- rownames(MSFT)
   Close <- timeSeries(data, charvec, units = "Close")
   head(Close)
   c(start(Close), end(Close))
    
## Cut out April Data from 2001 - 
   tsApril01 <- window(Close, "2001-04-01", "2001-04-30") 
   tsApril01

## Compute Continuous Returns - 
   returns(tsApril01)
   
## Compute Discrete Returns - 
   returns(tsApril01, type = "discrete")
   
## Compute Discrete Returns, Don't trim -
   returns(tsApril01, trim = FALSE)
   
## Compute Discrete Returns, Use Percentage Values - 
   tsRet <- returns(tsApril01, percentage = TRUE, trim = FALSE)
   tsRet
     
## Aggregate Weekly - 
   GoodFriday(2001)
   to <- timeSequence(from = "2001-04-11", length.out = 3, by = "week") 
   from <- to - 6*24*3600
   from
   to
   applySeries(tsRet, from, to, FUN = sum)

## Create large timeSeries objects with different 'charvec' object classes - 
   # charvec is a 'timeDate' object
   head(timeSeries(1:1e6L, timeSequence(length.out = 1e6L, by = "sec")))
   head(timeSeries(1:1e6L, seq(Sys.timeDate(), length.out = 1e6L, by = "sec")))
   # 'charvec' is a 'POSIXt' object
   head(timeSeries(1:1e6L, seq(Sys.time(), length.out = 1e6L, by = "sec")))
   # 'charvec' is a 'numeric' object
   head(timeSeries(1:1e6L, 1:1e6L))

timeSeries

Financial Time Series Objects (Rmetrics)

v3062.100
GPL (>= 2)
Authors
Diethelm Wuertz [aut] (original code), Tobias Setz [cre], Yohan Chalabi [ctb], Martin Maechler [ctb] (<https://orcid.org/0000-0002-8685-9910>)
Initial release
2020-01-24

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.