View source: R/randomReturns.R
randomReturns | R Documentation |
Create a matrix of random returns.
randomReturns(na, ns, sd, mean = 0, rho = 0, exact = FALSE)
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 |
The function corresponds to the function random_returns
,
described in the second edition of NMOF (the book).
a numeric
matrix
of size na
times
ns
The function corresponds to the function random_returns
,
described in the second edition of NMOF (the book).
Enrico Schumann
Gilli, M., Maringer, D. and Schumann, E. (2019) Numerical Methods and Optimization in Finance. 2nd edition. Elsevier. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/C2017-0-01621-X")}
Schumann, E. (2023) Financial Optimisation with R (NMOF Manual). https://enricoschumann.net/NMOF.htm#NMOFmanual
mc
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)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.