Learn R Programming

rportfolios (version 1.0-1)

rlongshort.test: Generate random long short portfolios

Description

This function generates m random long short portfolios with n investments that satisfy the given gross and net notional exposure requirements. There are k non-zero positions in each portfolio. The function is used to evaluate the performance of the portfolio generation algorithm.

Usage

rlongshort.test(m, n = 2, k = n, segments=NULL, x.t.long = 1, x.t.short = x.t.long, max.iter = 2000, eps = 0.001)

Arguments

m
A positive integer value for the number of portfolios generated
n
A positive integer value for the number of investments in the portfolio
k
A positive integer value for the number of non zero weights
segments
A vector or list of vectors that defines the portfolio segments
x.t.long
A positive real value for the sum of the long exposures
x.t.short
A positive real value for the sum of the absolute value of the short exposures
max.iter
A positive integer value for the maximum iterations in the acceptance rejection method
eps
A small positive real value for the convergence criteria for the gross notional exposure

Value

A list with two named components.

Details

The function executes the function random.longshort.test using the R function lapply. The result which is a list contains the investment weight vectors and number of iterations. Thse data are stored in a matrix of investment weights and a vector of iterations. These arrays are returned as a list. Gross notional exposure for each portfolio is x.t.long + x.t.short and net notional exposure is x.t.long - x.t.short. The argument eps is the tolerance applied towards the the gross notional exposure of each portfolio.

References

Jacobs, B. I. and K. N. Levy, 1997. The Long and Short of Long-Short Investing, Journal of Investing, Spring 1997, 73-86.

Jacobs, B. I., K. N. Levy and H. M. Markowitz, 2005. Portfolio Optimization with Factors, Scenarios and Realistic Short Positions, Operations Research, July/August 2005, 586-599.

See Also

random.longshort.test

Examples

Run this code
###
### 100 long short portfolios with 30 investments and 30 non-zero positions
###
x.result <- rlongshort.test( 100, 30 )
###
### 100 long short portfolios with 30 investments and 20 non-zero positions
###
y.result <- rlongshort.test( 100, 30, 20 )

Run the code above in your browser using DataLab