Learn R Programming

timeSeries (version 280.75)

apply: Apply Functions Over Time Series Periods

Description

Apply a function over time series peridos of arbitrary positons and lengths.

Usage

fapply(x, from, to, FUN, ...)

applySeries(x, from = NULL, to = NULL, by = c("monthly", "quarterly"), FUN = colMeans, units = NULL, format = x@format, zone = x@FinCenter, FinCenter = x@FinCenter, recordIDs = data.frame(), title = x@title, documentation = x@documentation, ...)

Arguments

x
an object of class timeSeries.
from, to
starting date and end date as timeDate objects. Note, to must be time ordered after from. If from and to are missing in function fapply they are set by default to
FUN
the function to be applied. For the function applySeries the default setting is FUN=colMeans.
by
a character value either "monthly" or "quarterly" used in the function applySeries. The default value is "monthly". Only operative when both arguments from and
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.
format
the format specification of the input character vector in POSIX notation.
zone
the time zone or financial center where the data were recorded.
FinCenter
a character value with the the location of the financial center named as "continent/city", or "city".
recordIDs
a data frame which can be used for record identification information. Note, this is not yet handled by the apply functions, an empty data.frame will be returned.
title
an optional title string, if not specified the inputs data name is deparsed.
documentation
optional documentation string, or a vector of character strings.
...
arguments passed to other methods.

Details

Like apply applies a function to the margins of an array, the function fapply applies a function to the time stamps or signal counts of a financial (therefore the "f" in front of the function name) time series of class timeSeries"}. The function code{fapply} inputs a code{timeSeries} object, and if code{from} and code{to} are missing, they take the start and end time stamps of the series as default falues. The function then behaves like code{apply} on the column margin. Note, the function code{fapply} can be used repetitive in the following sense: If code{from} and code{to} are two code{timeDate} vectors of equal length then for each period spanned by the elelemts of the two vectors the function code{FUN} will be applied to each period. The resulting time stamps, are the time stamps of the code{to} vector. Note, the periods can be regular or irregelar, and they can even overlap. The function code{fapply} calls the more general function code{applySeries} which also offers, to create automatical monthly and quarterly periods. }

examples{ ## data - # Percentual Returns of Swiss Bond Index and Performance Index LPP = 100 * as.timeSeries(data(LPP2005REC))[,c("SBI", "SPI")] head(LPP, 20) ## Aggregate Quarterly Returns applySeries(LPP, by = "quarterly", FUN = colSums) ## Aggregate Quarterly every last Friday in Quarter oneDay = 24*3600 from = unique(timeFirstDayInQuarter(time(LPP))) - oneDay from = timeLastNdayInMonth(from, nday = 5) to = unique(timeLastDayInQuarter(time(LPP))) to = timeLastNdayInMonth(to, nday = 5) data.frame(from = as.character(from), to = as.character(to)) applySeries(LPP, from, to, FUN = colSums) ## Alternative use fapply(LPP, from, to, FUN = colSums) ## Count Trading Days per Month colCounts = function(x) rep(NROW(x), times = NCOL(x)) applySeries(LPP, FUN = colCounts, by = "monthly") }

keyword{chron}