This example illustrates the use of PROC HPCOPULA. The data are daily returns on several major stocks. The main purpose of this example is to simulate from the joint distribution of stock returns a new sample of a specified size, provided that the parameter estimates of the copula model that is used are available.
In the following statements, the DEFINE statement specifies a normal copula named COP, and the CORR= option specifies that
the data set Estimates
be used as the source for the model parameters. The NDRAWS=1000000 option in the SIMULATE statement generates one million
observations from the normal copula. The OUTUNIFORM= option specifies the name of the SAS data set to contain the simulated
sample that has uniform marginal distributions. The PERFORMANCE statement requests that the analytic computations use two
nodes in the distributed computing environment and two threads in each node. Note that this syntax does not require the DATA=
option.
/* Copula simulation of uniforms */ proc hpcopula; var ret_ibm ret_msft ret_bp ret_ko ret_duk; define cop normal (corr = estimates); simulate cop / ndraws = 1000000 outuniform = simulated_uniforms; PERFORMANCE nodes=2 nthreads=2 details; run;
The simulated data are contained in the new SAS data set, Simulated_Uniforms
.