The CCOPULA Procedure

Example 7.1 Simulating Default Times

Suppose the correlations structure required for a normal copula function is already given. For example, it can be estimated from the historic data on default times in some set of industries, but this stage is not in the scope of this example. The correlations structure is saved in a SAS data set called Inparm. The following statements and their output in Output 7.1.1 show that the correlation parameter for Y1 and Y2 is set at 0.8:

proc print data = inparm;
run;

Output 7.1.1: CCopula Pearson Correlations Matrix

ObsY1Y2
11.00.8
20.81.0


Now you use PROC CCOPULA to simulate the data. The VAR statement specifies the list of variables to contain simulated data. The DEFINE statement assigns the name COP and specifies a normal copula that reads the correlations matrix from the inparm data table.

The SIMULATE statement refers to the COP label defined in the VAR statement and specifies some options: the NDRAWS= option specifies a sample size, the SEED= option specifies 1234 as the random number generator seed, and the OUTUNIFORM=NORMAL_UNIFDATA option names the output data table for the result of simulation in uniforms.

/* simulate the data from bivariate normal copula */
proc ccopula ;
   var Y1-Y2;
   define cop normal (corr=mycas.inparm);
   simulate cop /
            ndraws     = 1000000
            seed       = 1234
            outuniform = mycas.normal_unifdata;
run;

The next DATA step transforms the variables from zero-one uniformly distributed to nonnegative exponentially distributed with parameter 0.5. Three indicator variables are added to the data table. SURVIVE1 and SURVIVE2 are equal to 1 if a respective company has remained in business for more than three years. SURVIVE is equal to 1 if both companies survived the same period together.

/* default time has exponential marginal distribution with parameter 0.5 */
data default;
   set mycas.normal_unifdata;
   array arr{2} Y1-Y2;
   array time{2} time1-time2;
   array surv{2} survive1-survive2;
   lambda = 0.5;
   do i=1 to 2;
      time[i] = -log(1-arr[i])/lambda;
      surv[i] = 0;
      if (time[i] >3) then surv[i]=1;
   end;
   survive = 0;
   if (time1 >3) && (time2 >3) then survive = 1;
run;

The first analysis step is to look at correlations between survival times of two companies. This step is performed with the following CORR procedure:

proc corr data = default pearson kendall;
   var time1 time2;
run;

The output of this code is given in Output 7.1.2.

Output 7.1.2 shows some descriptive statistics and two measures of correlation: Pearson and Kendall. Both of these measures indicate high and statistically significant dependence between life spans of two companies.

Output 7.1.2: Default Time Descriptive Statistics and Correlations

The CORR Procedure

2 Variables:time1 time2

Simple Statistics
VariableNMeanStd DevMedianMinimumMaximum
time110000002.000231.998831.386333.85293E-624.18938
time210000001.998971.999651.384766.43006E-625.85567

Pearson Correlation Coefficients, N = 1000000
Prob > |r| under H0: Rho=0
 time1time2
time1
1.00000
 
0.77046
<.0001
time2
0.77046
<.0001
1.00000
 

Kendall Tau b Correlation Coefficients, N = 1000000
Prob > |tau| under H0: Tau=0
 time1time2
time1
1.00000
 
0.59046
<.0001
time2
0.59046
<.0001
1.00000
 


The second and final step is to empirically estimate the default probabilities of two companies. This is done using the FREQ procedure as follows:

proc freq data=default;
   table survive survive1-survive2;
run;

The result is shown in Output 7.1.3.

Output 7.1.3: Probabilities of Default

The FREQ Procedure

surviveFrequency PercentCumulative
Frequency
Cumulative
Percent
085231785.2385231785.23
114768314.771000000100.00

survive1Frequency PercentCumulative
Frequency
Cumulative
Percent
077659477.6677659477.66
122340622.341000000100.00

survive2Frequency PercentCumulative
Frequency
Cumulative
Percent
077729277.7377729277.73
122270822.271000000100.00


Output 7.1.3 shows that the empirical default probabilities are 77.59% and 77.63%. Assuming that these companies are independent gives the probability estimate of both companies defaulting during the period of three years as: 0.776*0.776=0.602 (60.2%). Comparing this naive estimate with the much higher actual 85.2% joint default probability illustrates that neglecting the correlation between the two companies significantly underestimates the probability of default.

Last updated: September 15, 2022