| portfolioBasic-class {portfolio} | R Documentation |
An object of the lightweight class "portfolioBasic" contains a data frame of weights and a data frame of supplementary information.
Objects can be created by calls of the form new("portfolioBasic", ...).
name:"character" containing
the name of this portfolio. instant:"ANY" containing an
instant to which this portfolio pertains.data:"data.frame" containing
supplementary information about the positions in this portfolio.
Must include a unique column specified in the id.var slot. id.var:"character"
containing the name of the column in the data slot to be used as
a unique identifier. symbol.var:"character"
containing the name of the column in the data slot to be used as
a descriptive symbol. in.var:"character" containing
the name of the column in the data slot to be used as a rank
vector in calls to create.weight.var:"character"
containing the name of the column in the data slot to be used as
weight overrides in calls to create. ret.var:"character" containing
the name of the column in the data slot to be used as the return
in calls to performance.type:"character" containing
the type of weight formation to use in calls to create.
May be one of "relative", "equal", "linear", "sigmoid",
"centroid", or "complex".
Defaults to equal. size:"characterOrNumeric"
containing the size of the portfolio to use in calls to
create. May either contain the number of securities per
side or one of "decile", "quintile", "quartile", "tercile", or
"demile". Defaults to quintile. weights:"data.frame"
containing the data frame of weights for this portfolio's
positions. Must contain a unique column called "id". signature(e1 = "portfolioBasic", e2 = "portfolioBasic")signature(target = "portfolioBasic", current
= "portfolioBasic"): Compare two portfolioBasic objects for
"near equality". Two portfolioBasic objects are
all.equal iff their weights slots contain exactly
the same set of securities and weight vectors that are all.equal.signature(object = "portfolioBasic", in.var = "character"):
balances the positions in portfolio object to be neutral to
the categories specified by column in.var in the data slot.signature(object = "portfolioBasic",
contrib.var = "character"): returns one data.frame with
contribution analysis for each element of contrib.var. All
results are returned in a list.signature(object = "portfolioBasic"): use this
object's creation parameters (such as in slots size and
type) to create and return a new object of class
portfolioBasic.signature(object = "portfolioBasic", exp.var
= "character"): returns one data.frame with
exposure analysis for each element of contrib.var. All
results are returned in a list. signature(object = "portfolioBasic",
covariates = "character": returns a matchedPortfolio object
containing n.matches matched portfolios. object is the
portfolioBasic to be matched. covariates is a
character vector of the attributes on which to match.
signature(object = "portfolioBasic"):
returns a list containing performance results. signature(x = "portfolioBasic", y = "missing"): Plot
this object. signature(object = "portfolioBasic", x =
"portfolioBasic"): computes the difference, as a
portfolioBasic object, between two portfolios. signature(object = "portfolioBasic"):
scale weights to the weights supplied in the target
parameter. To restrict the set of positions whose weights are
scaled, use the condition argument. signature(object = "portfolioBasic"): display
this object, briefly. signature(object = "portfolioBasic"): display
descriptive information about this portfolio. signature(object = "portfolioBasic"):
initialize the portfolio by calling create. signature(object = "portfolioBasic"): create
a map of the market plot of the portfolio.
The matching method allows one to benchmark a portfolio against
a similar portfolio formed from other stocks in the universe. The
universe consists of all the stocks in the data slot of
original.
matching calculates a propensity score for each stock in the
universe. covariates determines which attributes are used to
calculate the propensity score. covariates must refer to the
names of columns in the data slot of original.
Matching accepts an optional argument, method, which sets the
algorithm for determining the best match for each
stock. There are 2 available algorithms, "greedy" and
"sample". "greedy" is the default and generates 1
matched portfolio. "sample" randomly matches each stock
in original with one of the stocks in the universe. Although the matching is random,
stocks in original are most likely to be matched with stocks
having similar propensity scores.
n.matches is another optional argument to matching which
determines the number of matched portfolios to generate. Requesting
more than 1 matched portfolio. (n.matches > 1) while using
greedy is not allowed. When using sample, there is
no bound on n.matches.
Jeff Enos jeff@kanecap.com with contributions from Daniel Gerlanc dgerlanc@gmail.com
data(dow.jan.2005)
p <- new("portfolioBasic",
id.var = "symbol",
in.var = "price",
sides = "long",
ret.var = "month.ret",
data = dow.jan.2005)
summary(p)
exposure(p, exp.var = c("price", "sector"))
performance(p)
contribution(p, contrib.var = c("cap.bil", "sector"))
p <- new("portfolioBasic",
id.var = "symbol",
in.var = "price",
type = "linear",
sides = c("long", "short"),
ret.var = "month.ret",
data = dow.jan.2005)
summary(p)
exposure(p, exp.var = c("price", "sector"))
performance(p)
contribution(p, contrib.var = c("cap.bil","sector"))