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}