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, ...)
timeSeries.to must be time ordered after from.
If from and to are missing in function fapply
they are set by default to applySeries the
default setting is FUN=colMeans."monthly" or "quarterly"
used in the function applySeries. The default value is
"monthly". Only operative when both arguments from
and timeSeries object. By default
NULL which means that the column names are selected
automatically.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}