Hi,
I currently have a set of buy and hold abnormal returns for periods of 6, 12, 24 and 36 months. I want to adjust the t-statistic used to test the significance of the means in order to account for the events being non-random. I would like to adjust the t-statistics for overlapping samples by adjusting the variance covariance matrix for the overlapping long run returns. I am using the methodology outlined in Lyon, Barber & Tsai (1999) but am really unsure how to implement this in SAS.
Data Set:
Firm Month BHAR
x 6 10%
y 6 15%
z 6 -10%
y 12 5%
z 12 40%
y 24 20%
z 24 -10%
Any help would be really appreciated, thanks.
Hi,
I currently have a set of buy and hold abnormal returns for periods of 6, 12, 24 and 36 months. I want to adjust the t-statistic used to test the significance of the means in order to account for the events being non-random. I would like to adjust the t-statistics for overlapping samples by adjusting the variance covariance matrix for the overlapping long run returns. I am using the methodology outlined in Lyon, Barber & Tsai (1999) but am really unsure how to implement this in SAS.
Data Set:
Firm Month BHAR
x 6 10%
y 6 15%
z 6 -10%
y 12 5%
z 12 40%
y 24 20%
z 24 -10%
Any help would be greatly appreciated, thanks.
I notice no one yet, has responded to your question. There's nothing wrong with posting it here in the Programming forum, but I wonder if it might be seen by more qualified people if you posted it in one of the Analytics forums. Just a thought. Either way, I hope you find a good solution.
Good luck!
Jim
I merged everything into one thread. I'm sure the experts will chime in at least as soon as Cary starts up 😉
I haven't been able to find a solution yet, does anyone know of any similar threads that I can have a look at or anyone they think would know how to solve this problem?
Thanks
This formula is a modification of the usual covariance estimate between two variables X and Y.
However, it requires that the X and Y variables by time series, which means the observations are equally spaced in time, which your data are not.
My suggestions:
1. Do you have monthly data? If not, you can't directly apply the formula.
2. Do you know how to manually create the usual covariance estimate for variables X and Y? If not, start there, since you can compare your answers with PROC CORR.
3. Do you know how to perform matrix programming in SAS/IML? If not, applying the estimation process will be more complex.
Here's how you can use PROC IML to reproduce the usual covariance estimate. If you have monthly data, you can modify this method to get the time series covariance.
proc corr data=sashelp.class cov noprob;
var Height Weight;
ods select Cov;
run;
/* Manual compuation. Reproduce convariance estimate and
compare with PROC CORR. */
proc iml;
use sashelp.class;
read all var "Height" into X;
read all var "Weight" into Y;
close sashelp.class;
n = nrow(X); /* assume no missing values */
cX = X - X[:]; /* subtract mean to center X */
cY = Y - Y[:]; /* center Y */
cov = (cX` * cY) / (n-1);
print cov;
> i have no experience with matrix programming and am not sure how to do it. How would i set this up to then do the matrix programming in IML?
The best way to gain experience is to start writing programs. I have provided an example. You need to read the observations for group 'a' into the X vector and read the observations with group 'b' into the Y vector:
use Have;
read all var {Firm Month BHAR};
close;
X = BHAR[ loc(Firm='a') ];
Y = BHAR[ loc(Firm='b') ];
print X Y;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.