Nothing
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR Description. See the
# GNU Library General Public License for more details.
#
# You should have received a copy of the GNU Library General
# Public License along with this library; if not, write to the
# Free Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA
################################################################################
# FUNCTION: DESCRIPTION:
# getData Extracts data slot
# getSeries Extracts assets series data
# getNAssets Extracts number of assets from data
# getUnits Extracts assets names from data
# getStatistics Extracts statistics slot
# getMean Extracs mean from statistics
# getCov Extracs covariance Sigma from statistics
# getMu Extracs mu from statistics
# getSigma Extracs Sigma from statistics
# getEstimator Extracts estimator from
# getTailRisk Extracts tailRisk slot
# FUNCTION: DESCRIPTION:
# getSpec Extracs specification Slot
# getType Extracts type of portfolio
# getOptimize Extracts what to optimize of portfolio
# getEstimator Extracts mean-covariance estimator
# getParams Extracts optional parameter list
# getAlpha Extracts target VaR-alpha specification
# getA Extracts quadratic LPM exponent specification
# getPortfolio Extract portfolio slot
# getWeights Extracts weights from a portfolio object
# getTargetReturn Extracts target return from specification
# getTargetRisk Extracts target riks from specification
# getRiskFreeRate Extracts risk free rate from specification
# getNFrontierPoints Extracts number of frontier points
# getStatus Extracts portfolio status information
# getOptim Extract optim slot
# getSolver Extracts solver from specification
# getObjective Extracts objective
# getOptions Extracts optimization options
# getControl Extracts solver control options
# getTrace Extracts solver's trace flag
# FUNCTION: DESCRIPTION:
# getConstraints Extracts weight constraints
# FUNCTION: DESCRIPTION:
# getCovRiskBudgets Extracts covariance risk budgets
# getTailRiskBudgets Extracts tail risk budgets
################################################################################
# Extract from data slot of an object of class fPORTFOLIO:
getData.fPORTFOLIO <-
function(object) object@data
getSeries.fPORTFOLIO <-
function(object) object@data@data$series
getNAssets.fPORTFOLIO <-
function(object) object@data@data$nAssets
getUnits.fPORTFOLIO <-
function(x) x@data@data$names
getStatistics.fPORTFOLIO <-
function(object) object@data@statistics
getMean.fPORTFOLIO <-
function(object) object@data@statistics$mean
getCov.fPORTFOLIO <-
function(object) object@data@statistics$Cov
getEstimator.fPORTFOLIO <-
function(object) object@data@statistics$estimator
getMu.fPORTFOLIO <-
function(object) object@data@statistics$mu
getSigma.fPORTFOLIO <-
function(object) object@data@statistics$Sigma
# ------------------------------------------------------------------------------
# Extract from spec slot of an object of class fPORTFOLIO:
getSpec.fPORTFOLIO <-
function(object) object@spec
getModel.fPORTFOLIO <-
function(object) object@spec@model
getType.fPORTFOLIO <-
function(object) object@spec@model$type
getOptimize.fPORTFOLIO <-
function(object) object@spec@model$optimize
getEstimator.fPORTFOLIO <-
function(object) object@spec@model$estimator
getTailRisk.fPORTFOLIO <-
function(object) object@spec@model$tailRisk
getParams.fPORTFOLIO <-
function(object) object@spec@model$params
getAlpha.fPORTFOLIO <-
function(object) object@spec@model$params$alpha
getA.fPORTFOLIO <-
function(object) object@spec@model$params$a
# DW object@spec renamed to object@portfolio
getPortfolio.fPORTFOLIO <-
function(object) object@portfolio@portfolio
getWeights.fPORTFOLIO <-
function(object) object@portfolio@portfolio$weights
getTargetReturn.fPORTFOLIO <-
function(object) object@portfolio@portfolio$targetReturn
getTargetRisk.fPORTFOLIO <-
function(object) object@portfolio@portfolio$targetRisk
getRiskFreeRate.fPORTFOLIO <-
function(object) object@spec@portfolio$riskFreeRate
getNFrontierPoints.fPORTFOLIO <-
function(object) object@spec@portfolio$nFrontierPoints
getStatus.fPORTFOLIO <-
function(object) object@spec@portfolio$status
getOptim.fPORTFOLIO <-
function(object) object@spec@optim
getSolver.fPORTFOLIO <-
function(object) object@spec@optim$solver
getObjective.fPORTFOLIO <-
function(object) object@spec@optim$objective
getOptions.fPORTFOLIO <-
function(object) object@spec@optim$options
getControl.fPORTFOLIO <-
function(object) object@spec@optim$control
getTrace.fPORTFOLIO <-
function(object) object@spec@optim$trace
getCovRiskBudgets.fPORTFOLIO <-
function(object) object@portfolio@portfolio$covRiskBudgets
# ------------------------------------------------------------------------------
# Extract from constraints slot of an object of class fPORTFOLIO:
getConstraints.fPORTFOLIO <-
function(object) object@constraints@stringConstraints
getConstraintsTypes <-
function(object)
{
Constraints = getConstraints(object)
Types = NULL
if(!is.na(pmatch("LongOnly", Constraints))) Types = c(Types, "LongOnly")
if(!is.na(pmatch("Short", Constraints))) Types = c(Types, "Short")
if(!is.na(pmatch("minW", Constraints))) Types = c(Types, "minW")
if(!is.na(pmatch("maxW", Constraints))) Types = c(Types, "maxW")
if(!is.na(pmatch("minsumW", Constraints))) Types = c(Types, "minsumW")
if(!is.na(pmatch("maxsumW", Constraints))) Types = c(Types, "maxsumW")
if(!is.na(pmatch("minB", Constraints))) Types = c(Types, "minB")
if(!is.na(pmatch("maxB", Constraints))) Types = c(Types, "maxB")
Types
}
################################################################################
.getCovRiskBudgets.fPORTFOLIO <-
function (object)
{ # A function implemented by Rmetrics
# Description:
# Extracts risk budgets from a portfolio object
# FUNCTION:
# Covariance Risk Budgets:
weights = object@portfolio$weights
ans = NA
Sigma = object@data$data@statistics$Sigma
if (is.null(dim(weights))) {
# Single Portfolio ...
ans1 = as.vector(weights %*% Sigma %*% weights)
ans2 = as.vector(weights * Sigma %*% weights)
ans = round(ans2/ans1, digits = 4)
names(ans) = names(weights)
} else {
# Frontier ...
Names = colnames(weights)
ans = NULL
for (i in 1:(dim(weights)[1])) {
ans1 = as.vector(weights[i, ] %*% Sigma %*% weights[i, ])
ans2 = as.vector(weights[i, ] * Sigma %*% weights[i, ])
ans = rbind(ans, ans2/ans1)
}
colnames(ans) = Names
}
# Return Value:
ans
}
# ------------------------------------------------------------------------------
getTailRiskBudgets.fPORTFOLIO <-
function (object)
{ # A function implemented by Rmetrics
# Description:
# Extracts tail risk budgets from a portfolio object
# Arguments:
# object - an object of S4 class fPORTFOLIO as returned by the
# functions *Portfolio().
# FUNCTION:
# Check if available:
Lambda = object@spec@model$tailRisk$lower
if (is.null(Lambda)) return(NA)
# Tail Risk Budgets:
weights = getWeights(object)
ans = NA
if (is.null(dim(weights))) {
ans1 = as.vector(weights %*% Lambda %*% weights)
ans2 = as.vector(weights * Lambda %*% weights)
ans1 = 1
ans = round(ans2/ans1, digits = 4)
names(ans) = names(weights)
}
else {
Names = colnames(weights)
ans = NULL
for (i in 1:(dim(weights)[1])) {
ans1 = as.vector(weights[i, ] %*% Lambda %*% weights[i, ])
ans2 = as.vector(weights[i, ] * Lambda %*% weights[i, ])
ans1 = 1
ans = rbind(ans, ans2/ans1)
}
colnames(ans) = Names
}
# Return Value:
ans
}
################################################################################
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.