PortfolioClass {fPortfolio} | R Documentation |
A collection and description of functions
allowing to gain information about optimal
portfolios. Generally, optimization is done
via three arguments, data, specification of
the portfolio, and constraints, while function
portfolioFrontier() has two additional
arguments for title and description.
The functions are:
feasiblePortfolio | Returns a feasible portfolio, |
cmlPortfolio | returns the capital market line portfolio, |
tangencyPortfolio | returns the tangency portfolio, |
minvariancePortfolio | returns the minimum variance portfolio, |
efficientPortfolio | returns an efficient portfolio, |
portfolioFrontier | returns the efficient frontier, |
show | print method for 'fPPORTFOLIO' objects, |
plot | plot method for objects of class fPORTFOLIO. |
portfolioFrontier(data, spec = portfolioSpec(), constraints = NULL, title = NULL, description = NULL) feasiblePortfolio(data, spec = portfolioSpec(), constraints = NULL) cmlPortfolio(data, spec = portfolioSpec(), constraints = NULL) tangencyPortfolio(data, spec = portfolioSpec(), constraints = NULL) minvariancePortfolio(data, spec = portfolioSpec(), constraints = NULL) efficientPortfolio(data, spec = portfolioSpec(), constraints = NULL) show.fPORTFOLIO(object) ## S3 method for class 'fPORTFOLIO': plot(x, which = "ask", control = list(), ...) ## S3 method for class 'fPORTFOLIO': summary(object, ...)
constraints |
a character string vector, containing the constraints of the form"minW[asset]=percentage" for box constraints resp. "maxsumW[assets]=percentage" for sector constraints.
|
control |
[plot, *Sliders] - a list, defining the plotting parameters. The list modifies amongst others the color, e.g. minvariance.col , type of point, e.g.
tangency.pch , or the dimension of the point, e.g. cml.cex ,
see Notes for a complete list of control parameters.
|
data |
a multivariate time series described by an S4 object of class
timeSeries . If your timeSerie is not a timeSeries
object, consult the generic function as.timeSeries to
convert your time series.
|
description |
[portfolioFrontier] - a character string, allowing for a brief project description, by default NULL, i.e. Date and User. |
object |
[show, *Sliders] - an S4 object of class fPORTFOLIO , containing slots call, data,
specification, constraints, portfolio, title, description, see Value
for a full slot description.
|
spec |
an S4 object of class fPFOLIOSPEC , containing slots call, model,
portfolio, title, description, see PortfolioSpec
for a full slot description.
|
title |
[portfolioFrontier] - a character string, containing the title for the object, by default NULL. |
which |
[plot] - which of the plots should be displayed? which can be either a
character string, "all" (displays all plots) or "ask"
(interactively asks which one to display), or a vector of integer
values displaying the corresponding plot. Default value is
"ask" .
|
x |
[plot] - an S4 object of class fPORTFOLIO .
|
... |
[plot, *Sliders] - optional arguments to be passed. |
Portfolio Class:
This S4 class contains all information about the portfolio. Basically this
are risk measure, mean and covariance estimation, target return, risk free
rate, number of frontier points, ranges for calculation, see the "Value"
section for a detailed description of the slots.
Portfolio Frontier:
The function portfolioFrontier
calculates the whole efficient frontier.
The portfolio information consists of five arguments: data, specifications,
constraints, title and description. The data can be either the mean vector
and the covariance matrix in a equivalently named list or a time series
table. The specifications are done by the portfolioSpec
function,
see PortfolioSpec
. The constrains have the following
syntax. For bound constraints: "minW[asset]=percentage"
and for
sector constraints "maxsumW[assets]=percentage"
. The function chooses
from this information the right algorithm to calculate the efficient frontier.
The function returns an S4 object of class fPortfolio
containing
amongst others risk, return and weights of the whole efficient frontier,
see Value for further details.
Individual Portfolios:
Individual portfolio functions allow a direct computation of portfolios
with specific properties. The functions are:
feasiblePortfolio | a feasible portfolio, |
cmlPortfolio | the capital market line portfolio, |
tangencyPortfolio | the tangency portfolio, |
minvariancePortfolio | the minimum variance portfolio, |
efficientPortfolio | an efficient portfolio. |
The functions require three arguments: data
, spec
(specifications), and constraints
, see above. The functions
are named according to their specific property and return the result
of the computed or optimized portfolio as an S4 object of class
fPortfolio
.
FeasiblePortfolio: The weights are retrieved from the
specification structure, by default they are undefined, NULL
,
and in this case the function feasiblePortfolio
assumes
equal weights. To set user specified weights in the specification
structure, use the function setWeights
.
portfolioFrontier()
returns an S4 object of class "fPORTFOLIO"
, with the following
slots:
@call |
a call, returning the matched function call. |
@data |
a list with two named elements, series holding the time series
data if available, otherwise NA, and statistics , itself a
named list with two named elements mu and Sigma
holding the vector of means and the matrix of covariances.
|
@description |
a character string, allowing for a brief project description. |
@portfolio |
a list, containing parameter specifications for the portfolio:weights a numeric vector specifying the portfolio
weights,targetReturn a numeric value specifying the target
return,targetRisk a numeric value specifying the target
risk,targetMean a numeric value specifying the target
return determinated with function mean(),targetStdev a numeric value specifying the target risk in
standart deviation as risk measure.
|
@specification |
a list with one named element spec which represents an object
of class fPFOLIOSPEC , including all information about
the portfolio specifications, see PortfolioSpec
for further details.
|
@title |
a title string. |
feasiblePortfolio
cmlPortfolio
tangencyPortfolio
minvariancePortfolio
efficientPortfolio
return an S4 object of class fPORTFOLIO
having information only
about one portfolio.
In the following all elements of argument control from functions
plot
, weightsSlider
, frontierSlider
are listed.
frontierSlider
and "weights" for weightsSlider
.
rainbow
.
points
for description.
Default symbol is 17.
points
for description.
Default symbol is 17.
points
for description.
Default symbol is 17.
points
for description.
Default symbol is 15.
points
for description.
Default symbol is 18.
Diethelm Wuertz and Oliver Greshake for the Rmetrics port.
PortfolioData
,
PortfolioSpec
,
PortfolioConstraints
,
PortfolioPlots
,
PortfolioPlots
.
## minvariancePortfolio - # Load Data and Convert to timeSeries Object: Data = as.timeSeries(data(smallcap.ts)) Data = Data[, c("BKE", "GG", "GYMB", "KRON")] Data # Set Default Specifications: Spec = portfolioSpec() Spec # Allow for unlimited Short Selling: Constraints = "Short" # Compute Short Selling Minimum Variance Portfolio minvariancePortfolio(Data, Spec, Constraints) ## portfolioFrontier - # Modify Constraints - Now Long Only Constraints: Constraint = c("minW[1:nAssets]=0") # Calculation of the Efficient Frontier frontier = portfolioFrontier(Data, Spec, Constraint) print(frontier) ## plot - # Plot Efficient Frontier with Minimum Variance Portfolio # plot(frontier, which = c(1, 3)) ## frontierSlider - # Try Frontier Slider: # frontierSlider(frontier)