2
# This library is free software; you can redistribute it and/or
3
# modify it under the terms of the GNU Library General Public
4
# License as published by the Free Software Foundation; either
5
# version 2 of the License, or (at your option) any later version.
7
# This library is distributed in the hope that it will be useful,
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR Description. See the
10
# GNU Library General Public License for more details.
12
# You should have received a copy of the GNU Library General
13
# Public License along with this library; if not, write to the
14
# Free Foundation, Inc., 59 Temple Place, Suite 330, Boston,
19
# 1999 - Diethelm Wuertz, GPL
20
# 2007 - Rmetrics Foundation, GPL
21
# Diethelm Wuertz <wuertz@itp.phys.ethz.ch>
22
# for code accessed (or partly included) from other sources:
23
# see Rmetric's copyright and license files
26
################################################################################
27
# FUNCTION: DESCRIPTION:
28
# portfolioData Creates portfolio data list
29
################################################################################
33
function(data, spec = portfolioSpec())
35
# A function implemented by Rmetrics
38
# Creates portfolio data list
41
# data - a multivariate 'timeSeries' object
42
# spec - a portfolio specification structure, from which
43
# the mean and covariance type of estimator will be extracted
47
# Check and Sort Data:
48
if (class(data) == "fPFOLIODATA") return(data)
49
stopifnot(class(data) == "timeSeries")
54
names = colnames(data)
55
if(is.null(names)) names = paste("A", 1:nAssets, sep = "")
62
estimator = getEstimator(spec)
63
estimatorFun = match.fun(estimator)
64
muSigma = estimatorFun(data, spec)
66
mean = colMeans(data),
68
estimator = estimator,
70
Sigma = muSigma$Sigma)
73
.tailRisk = spec@model$tailRisk
78
statistics = .statistics,
83
################################################################################