| resampleC {NMOF} | R Documentation |
Resample with Specified Rank Correlation
Description
Resample with replacement from a number of vectors; the sample will have a specified rank correlation.
Usage
resampleC(..., size, cormat)
Arguments
... |
numeric vectors; they need not have the same length. |
size |
an integer: the number of samples to draw |
cormat |
the rank correlation matrix |
Details
See Gilli, Maringer and Schumann (2011), Section 7.1.2. The function
samples with replacement from the vectors passed through
.... The resulting samples will have an (approximate) rank
correlation as specified in cormat.
The function uses the eigenvalue decomposition to generate the
correlation; it will not break down in case of a semidefinite
matrix. If an eigenvalue of cormat is smaller than zero, a
warning is issued (but the function proceeds).
Value
a numeric matrix with size rows. The columns contain the
samples; hence, there will be as many columns as vectors passed
through ....
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
## a sample
v1 <- rnorm(20)
v2 <- runif(50)
v3 <- rbinom(100, size = 50, prob = 0.4)
## a correlation matrix
cormat <- array(0.5, dim = c(3, 3))
diag(cormat) <- 1
cor(resampleC(a = v1, b = v2, v3, size = 100, cormat = cormat),
method = "spearman")