Description Usage Arguments Details Value Author(s) See Also Examples
This function generates a vector of investment weights for a benchmark portfolio where the weights are non-negative and the sume of the weights is a given total. The weights are naively derived from an i.i.d. sample of truncated random variables. This function is used to evaluate the performance of the portfolio generation algorithm.
1 2 3 4 | random.benchmark.test(n = 2, k = n, segments = NULL, x.t = 1,
margins = c("unif", "beta", "exp", "frechet",
"gamma", "gev", "gpd", "gumbel", "lnorm", "logis", "norm",
"weibull"), ...)
|
n |
A positive integer for the number of investments in the portfolio |
k |
A positive integer for the number of non-zero exposures or cardinality |
segments |
A vector or list of vectors that defines the investment segments |
x.t |
A positive real value for the sum of the investment exposures |
margins |
A character value for the underlying distribution of the truncated random variable. The default is a uniform distribution |
... |
Other arguments passed to the random variate simulation function |
The details are described in the function random.benchmark
.
A list with two named components.
x |
An m \times n numerical vector of investment weights |
iter |
An integer value for the number of iterations used to obtain the investment weights |
Frederick Novomestky fn334@nyu.edu
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | ###
### long only portfolio of 30 investments with 30 non-zero positions
### the margins of the truncated random variables are uniform
###
p.1 <- random.benchmark.test( 30 )
###
### long only portfolio of 30 investments with 10 non-zero positions
### the margins of the truncated random variables are uniform
###
p.2 <- random.benchmark.test( 30, 10 )
###
### long only portfolio of 30 investments with 30 non-zero positions
### the margins of the truncated random variables are log normal
### with zero log mean and unit log standard deviation
###
p.3 <- random.benchmark.test( 30, margins="lnorm", meanlog=0, sdlog=1 )
###
### long only portfolio of 30 investments with 10 non-zero positions
### the margins of the truncated random variables are log normal
### with zero log mean and unit log standard deviation
###
p.4 <- random.benchmark.test( 30, 10, margins="lnorm", meanlog=0, sdlog=1 )
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.