random.longshort(n = 2, k = n, segments = NULL, x.t.long = 1, x.t.short = x.t.long,
max.iter = 2000, eps = 0.001)random.longonly
is used to construct a long only investment weight vector x.long where the sum of
these weights is x.t.long. The R function random.shortonly is used to construct
a short only investment eight vector random.short such that the sum of the absolute
value of these weights is x.t.long. The sum of these two weight vectors, x.longshort,
satisfies the net notional requirement of the desired portfolio. If the absolute value of
computed gross notiona exposure for x.longshort minus $x.t.long + x.t.short$ is less than
the argument eps, then the desired portfolio is generated and result is returned.
Otherwise, the process is repeated within the acceptance rejection loop until (1) the required
portfolio is generated or 2 the iteration limit is exceeded.
Jacobs, B. I., K. N. Levy and H. M. Markowitz, 2005. Portfolio Optimization with Factors, Scenarios and Realist SHort Positions, Operations Research, July/August 2005, 586-599.
random.longonly,
random.shortonly
###
### long short portfolio of 30 investments with 30 non-zero positions
###
x <- random.longshort( 30 )
###
### long short portfolio of 30 investments with 10 non-zero positions
###
y <- random.longshort( 30, 10 )
Run the code above in your browser using DataLab