| randport.eval {PortfolioProbe} | R Documentation |
Takes a random portfolio object and evaluates each individual portfolio.
Any set of components of the output of trade.optimizer can
be saved.
randport.eval(x, keep = c("results", "alpha.values", "var.values",
"utility.values"), subset = NULL, do.warn = FALSE,
additional.args = NULL, checkinput = TRUE, FUN = NULL, ...)
x |
required.
An object that is the result of a call to
random.portfolio or random.portfolio.utility.
|
keep |
character vector of the names of components of the
output of trade.optimizer.
If this is NULL, then the slightly ironic result is
that all components are kept.
|
subset |
either NULL or a vector to subscript along
the components of x.
|
do.warn |
the control for the warnings coming from trade.optimizer.
The default is FALSE, meaning all warnings are turned off
that can be turned off.
The two other likely values are: TRUE (turn on all warnings),
and NULL (use the do.warn value that was in effect
to start with). (A value of NULL here is not necessarily
the same as NULL in trade.optimizer.)
In general, this can be any value that the do.warn argument
to trade.optimizer will accept.
|
additional.args |
a list of arguments to trade.optimizer
either not in the call to random.portfolio or that
should be changed.
In the latter case, argument names need to be given exactly
the same as in the original – that is, with the same amount
of abbreviation.
|
checkinput |
a logical value.
If TRUE, then a (fallible) check is made to see if there is
a change in the value of price, variance,
expected.return or existing between the current
computation and the original computation.
There is no warning about arguments that are in
additional.args.
|
FUN |
a function or a character string naming a function. Each portfolio trade object will be passed to the function. |
... |
additional arguments given to FUN.
|
a list as long as x (or by what is indicated by subset
if given).
If FUN is not given, each component is a list containing
the components of the output of
trade.optimizer listed in keep.
If FUN is given, then each component is the result of FUN
applied to the portfolio trade object for the component.
The objects that are involved (like prices and variances) need to be available in the current session, and presumably should be unchanged.
If you get a warning about a "checkinput difference" for one or more
arguments, then you probably want to add those arguments to
additional.args.
Problems like this can arise because the arguments for the original
computation were dependent on the iteration in a loop.
Outside that original loop the value may be interpreted differently
(or cause an error).
This depends on the default value of out.trade in
random.portfolio (and random.portfolio.utility)
remaining FALSE.
This help was last revised 2010 January 02.
random.portfolio, trade.optimizer,
random.portfolio.utility.
randport1 <- random.portfolio(100, prices, variance=varian,
long.only=TRUE, bench.constr=c(spx=.04^2/252),
lin.constraints=cntrysect.conmat,
lin.bounds=cntrysect.bounds, gross.value=1e6)
randeval1 <- randport.eval(randport1)
# look at linear constraints of the random portfolios
randlincon1 <- randport.eval(randport1, keep="lin.realized")
# returns the above plus more
randsummary <- randport.eval(randport1, FUN=summary)