| random.portfolio.control {PortfolioProbe} | R Documentation |
Sets parameters that control the optimization of random.portfolio.
random.portfolio.control(iterations.max = 20, miniter = 5,
fail.iter = 5, gen.fail = 4, init.fail = 4,
throw.error = TRUE, lockcon = FALSE,
enforce.max.weight = TRUE, doubleconst = FALSE,
trace = FALSE, save.iterhistory = FALSE,
safe.mode = TRUE, ...)
iterations.max |
integer giving the maximum number of iterations to perform in a single try at a portfolio. |
miniter |
integer giving the minimum number of iterations to be tried in each
go even if fail.iter says to give up.
|
fail.iter |
integer giving the maximum number of consecutive iterations that
fail to improve the solution without the algorithm stopping.
For example, if fail.iter is 3, then the algorithm continues
with 3 consecutive failures but stops upon the 4th consecutive
failure.
|
gen.fail |
integer limiting the total number of failures allowed in a call.
The maximum number of failures allowed is gen.fail times
number.rand.
|
init.fail |
integer giving the number of failures allowed before the first success at finding a portfolio satisfying all the constraints. If the number of initial failures is violated, then it quits. |
throw.error |
logical value; if TRUE, then failing to create any
portfolios that satisfy the constraints will cause an error.
If FALSE, then no error happens and you can tell that
no satisfactory portfolios were found because the length of
the result is zero.
|
lockcon |
logical value; if TRUE, then the constraint penalties
are used as given.
Otherwise the penalties for some constraints may be changed
to try to find portfolios more efficiently.
|
enforce.max.weight |
logical value; if TRUE, then forced trades are automatically
created if any positions in the existing portfolio break their
maximum weight constraint.
This doesn't absolutely guarantee that the constraints will be
met, but they generally will be unless the gross value is given
a lot of latitude.
|
doubleconst |
logical value;
if TRUE, then any asset which goes from long to short or
vice versa in a trade is subject to both intercepts of the trading
costs.
If FALSE, then the first intercept is used but the second is not.
This is ignored if cost.par is given (or there are no costs).
|
trace |
logical value.
If TRUE, then information on the progress of the search
is printed.
This is often ignored under Windows.
|
save.iterhistory |
logical value; if TRUE, then a vector will be returned
containing the value of the objective at each iteration of the
algorithm for the final random portfolio created.
|
safe.mode |
logical value; if FALSE (not recommended), then some
errors may be bypassed.
The reason for this option is to allow possible workarounds for
bugs if they appear.
|
... |
there are additional arguments that make this compatible with
trade.optimizer.control.
|
a list with the following components:
icontrol |
vector of the integer-valued control parameters. |
dcontrol |
vector of the double precision control parameters. |
aux |
vector of the auxiliary control parameters. |
ERRORS.
Setting the throw.error argument to FALSE
can be useful when doing series of random portfolios, as
when imitating a backtest.
It can be the case that the desired constraints are
infeasible – you can relax some constraints if this
proves to be true and try again.
This help was last revised 2009 December 29.
random.portfolio,
random.portfolio.utility,
trade.optimizer.control.
# it is unlikely to be useful to call this function directly