randomReturns {NMOF} | R Documentation |
Create a Random Returns
Description
Create a matrix of random returns.
Usage
randomReturns(na, ns, sd, mean = 0, rho = 0, exact = FALSE)
Arguments
na |
number of assets |
ns |
number of return scenarios |
sd |
the standard deviation: either a single number or a vector
of length |
mean |
the mean return: either a single number or a vector
of length |
rho |
correlation: either a scalar (i.e. a constant pairwise correlation) or a correlation matrix |
exact |
logical: if |
Details
The function corresponds to the function random_returns
,
described in the second edition of NMOF (the book).
Value
a numeric
matrix
of size na
times
ns
Note
The function corresponds to the function random_returns
,
described in the second edition of NMOF (the book).
Author(s)
Enrico Schumann
References
Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance. 2nd edition. Elsevier. doi:10.1016/C2017-0-01621-X
Schumann, E. (2023) Financial Optimisation with R (NMOF Manual). http://enricoschumann.net/NMOF.htm#NMOFmanual
See Also
Examples
if (requireNamespace("quadprog")) {
## a small experiment: when computing minimum-variance portfolios
## for correlated assets, how many large positions are in the portfolio?
na <- 100 ## number of assets
inc <- 5 ## minimum of assets to include
n <- numeric(10)
for (i in seq_along(n)) {
R <- randomReturns(na = na,
ns = 500,
sd = seq(.2/.16, .5/.16, length.out = 100),
rho = 0.5)
n[i] <- sum(minvar(cov(R), wmax = 1/inc)> 0.01)
}
summary(n)
}