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