Dear users,
I am performing an event study and would need you help.
Imagine the following panel data, where the variable "event" is a dummy variable (1= earnings announcement, 0=no earnings announcement)
I would like to create a new variable called "event_2" that will look like this: (It will give values 1 to n=+2, n=+1, n, n=-1 and n=-2)
I know there is the possibility to do it with the following function:
gen event_2=0
replace event_2 = 1 if event[_n+2] == 1
replace event_2 = 1 if event[_n+1] == 1
replace event_2 = 1 if event[_n] == 1
replace event_2 = 1 if event[_n-1] == 1
replace event_2 = 1 if event[_n-2] == 1
But as I am planning to consider bigger event windows (-30,+30) I have heard that it can be done much easier with loops, does anyone know how to do it?
Thanks in advance.
I am performing an event study and would need you help.
Imagine the following panel data, where the variable "event" is a dummy variable (1= earnings announcement, 0=no earnings announcement)
date | event |
01 February 2018 | 0 |
02 February 2018 | 0 |
05 February 2018 | 0 |
06 February 2018 | 1 |
07 February 2018 | 0 |
08 February 2018 | 0 |
09 February 2018 | 0 |
12 February 2018 | 0 |
13 February 2018 | 0 |
14 February 2018 | 0 |
15 February 2018 | 1 |
16 February 2018 | 0 |
19 February 2018 | 0 |
20 February 2018 | 0 |
I would like to create a new variable called "event_2" that will look like this: (It will give values 1 to n=+2, n=+1, n, n=-1 and n=-2)
date | event | event_2 |
01 February 2018 | 0 | 0 |
02 February 2018 | 0 | 1 |
05 February 2018 | 0 | 1 |
06 February 2018 | 1 | 1 |
07 February 2018 | 0 | 1 |
08 February 2018 | 0 | 1 |
09 February 2018 | 0 | 0 |
12 February 2018 | 0 | 0 |
13 February 2018 | 0 | 1 |
14 February 2018 | 0 | 1 |
15 February 2018 | 1 | 1 |
16 February 2018 | 0 | 1 |
19 February 2018 | 0 | 1 |
20 February 2018 | 0 | 0 |
I know there is the possibility to do it with the following function:
gen event_2=0
replace event_2 = 1 if event[_n+2] == 1
replace event_2 = 1 if event[_n+1] == 1
replace event_2 = 1 if event[_n] == 1
replace event_2 = 1 if event[_n-1] == 1
replace event_2 = 1 if event[_n-2] == 1
But as I am planning to consider bigger event windows (-30,+30) I have heard that it can be done much easier with loops, does anyone know how to do it?
Thanks in advance.
Comment