Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

Accepted Solution Solved
Reply
New Contributor
Posts: 3
Accepted Solution

Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

Hi,

I am using SAS 9.4 to analyze the performance of some mutual equity funds, and so far I have only used some simple OLS regressions due to my lack of programming skills (Just started to learn the software).

In an article by Cuthbertson et al. (2007); http://www.ucc.ie/en/cir/papers/documentfile-29092-en.pdf they use a bootstrap methodology to distinguish "skill" and "luck" for individual funds. Is there anyone who could help me making the code/program for this?

My original model is as follows:

Title ' Jensen´s alpha Net Retrun';

PROC Model data=Weekly;

      parms b0 b1;

      ABG_exc=b0 + b1*OSEBX_exc;

      fit ABG_exc;

Run;


First of all, I need to save the residuals and beta-values from the previous regression (which I'm supposed to use in the re-sampling).

Then the article states the following:

"....For each fund i, draw a random sample (with replacement) of length from the residuals . While retaining the original chronological ordering of , use re-sampled bootstrap residuals to generate a simulated excess return series for fund i, under the null hypothesis . Next using the simulated returns , the performance model is estimated and the resulting estimate of alpha for each fund is obtained. The estimates for each the n-funds represents sampling variation around the true value of zero (by construction) and are entirely due to “luck”. The {i  = 1, 2 … n} are the order from highest to lowest. The process are repeated  B=1000 times for each of the n-funds which gives a separate “luck distribution” for each of the ordered funds in the performance distribution, from extreme best performer to the extreme worst performer, all of which are solely due to luck......"

(This is stated from page 7 in the article, (please see pdf.file)).

I have no idea where to start. When looking for answers online, the "Proc surveyselect" seems to be the right syntax/"code", but I have not managed to make any statement/program that works...


Any help will be highly appreciated!


Accepted Solutions
Solution
‎05-15-2015 10:56 AM
SAS Super FREQ
Posts: 3,630

Re: Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

No, I don't recommend PROC REG over PROC MODEL. You seem to have a valid reason for  using PROC MODEL.

I am not a time series expert, and I don't have time to read the PDF you provided, but you have left out an important step of the bootstrap.

After you use SURVEYSELECT to extract 1000 sets of residuals, you then use those residuals to form 1000 sets of simulated observations, where y_new = y_pred + residual. (From your quote, it sounds like you need to make sure that the residuals are in chronological order in an attempt to reflect autocorrelation and heteroscadacity.) This is usually done with a DATA step. You would then rerun PROC MODEL on the 1000 simulated observations and refit the reregression model.  This gives you the distribution of regression coefficients and other regression-related statistics, which are collectively called the "bootstrap statistics."

You then analyze the distribution of the bootstrap statistics, using PROC UNIVARIATE, PROC MEANS, or some other procedure.

Hope this gives you some direction.

View solution in original post


All Replies
SAS Super FREQ
Posts: 3,630

Re: Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

Welcome to SAS. Start by reading the paper "Don't Be Loopy: Re-Sampling and Simulation the SAS Way".  The OLS regression examples start on p 7.

Unless you are using some feature of PROC MODEL that is not apparent, I think you'll find that your task is easier if you use PROC REG.

New Contributor
Posts: 3

Re: Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

Hi Rick and thanks for your answer.

I started out with the PROC REG, but I was told to use the PROC MODEL while handling time-series data. Earlier on, I had both autocorrelation and heteroscedasticity in the estimated residuals, hence I had to apply Newey-West HAC Standard Errors with the following code;

Proc model data=Weekly;

endo ABG_exc;

exog OSEFX_exc;

parms b0 b1;

ABG_exc=b0 + b1*OSEFX_exc;

fit ABG_exc / gmm kernel=(bart,5,0) vardef=n;

run;

As far as I know, this is not possible to do when using PROC REG.

With regards to my bootstrapping issue. I found the article you posted quite helpful. Thus far, my program looks like this:

proc model data=weekly;

parms b0 b1;

     ABG_exc=b0 + b1*OSEFX_exc;

fit ABG_exc / out=resid outall;

Run;

Proc surveyselect data=resid

out=URS

Sampsize=1000

method=urs

seed=2

stats;

run;

Proc univariate data=URS;

var OSEFX_exc;

output out=outall kurtosis=ABG_exc;

run;

Proc univariate data=outall;

var ABG_exc;

output out=final pctlpts=5, 95 pctlpre=ci;

run;

quit;

The problem is that I’m not sure if my inputs variables in the PROC UNIVARIATE is correctly done according to the Cuthbertson et al. (2007) aricle. Therefore I suspect ”incorrect” outputs (Econometrics is not my field of study). For instance, does the code above draw a random sample from the residuals in my first regression? Next, do it generate simulated returns? (The variable ABG_exc is the excess return of a mutual fund, while OSEFX_exc is the benchmark-index). At the end I’m supposed to compare the intercept from the first model with the new generated intercepts that are resampled from the original residuals and is supposed to have a mean equal to zero), and I can than determine if a mutual fund’s performance is due to skill or luck; if αmax is greater than the 5% upper tail cut off point from f(ãmax), then I can reject the null that the perforamnce is due to luck.

Clearly, I’ve never done this type of analysis before. Thus I’m seeking some guidance to interpret the model-steps in SAS.

As you mentioned, it would probably be easier to use the PROC REG steps (starting on page 7). Do you still recommend this when there are evidence of autocorrelation and heteroscedasticity in the data?

Again, thank you so much for you help!

Solution
‎05-15-2015 10:56 AM
SAS Super FREQ
Posts: 3,630

Re: Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

No, I don't recommend PROC REG over PROC MODEL. You seem to have a valid reason for  using PROC MODEL.

I am not a time series expert, and I don't have time to read the PDF you provided, but you have left out an important step of the bootstrap.

After you use SURVEYSELECT to extract 1000 sets of residuals, you then use those residuals to form 1000 sets of simulated observations, where y_new = y_pred + residual. (From your quote, it sounds like you need to make sure that the residuals are in chronological order in an attempt to reflect autocorrelation and heteroscadacity.) This is usually done with a DATA step. You would then rerun PROC MODEL on the 1000 simulated observations and refit the reregression model.  This gives you the distribution of regression coefficients and other regression-related statistics, which are collectively called the "bootstrap statistics."

You then analyze the distribution of the bootstrap statistics, using PROC UNIVARIATE, PROC MEANS, or some other procedure.

Hope this gives you some direction.

New Contributor
Posts: 3

Re: Cross-section bootstrap methodology to distinguish between ‘skill’ and ‘luck’ for individual funds

Thank you so much Mr. Wicklin ! Your guidance has been very helpful and are highly appreciated.

Have a great weekend!

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 291 views
  • 4 likes
  • 2 in conversation