Home › Forums › ASROL : Rolling Window and byGroup Descriptive Statistics › Find Standard Deviation and Mean without a focal firm in Stata

AuthorPosts

Manro MaxGuestJanuary 16, 2020 at 12:26 pmPost count: 118
I have gone through the help file of asrol and it seems it can find descriptive statistics by excluding the values of the focal firm. I am struggling with the code. Can you please help me.
The xf is an abbreviation that I use for “excluding focal”. There might be circumstances where we want to exclude the focal observation while calculating the required statistics. asrol allows excluding focal observation with two flavors. The first one is to exclude only the current observation while the second one is to exclude all observation of the relevant variable if there are similar (duplicate) values of the rangevar elsewhere in the given window. An example will better explain the distinction between the two options. Consider the following data of 5 observations, where X is the variable of interest for which we would like to calculate arithmetic mean and year is the rangevar. Our calculations do not use any rolling window, therefore the option window is dropped.
Example A:
asrol X, stat(mean) xf(focal) gen(xfocal)
Example B:
asrol X, stat(mean) xf(year) gen(xfyear) ++  year X xfocal xfyear    2001 100 350 350   2002 200 325 325   2003 300 300 266.66667   2003 400 275 266.66667   2004 500 250 250  ++
Explanation :
In Example A, we invoke the option xf() as xf(focal). asrol generates a new variable xfocal that contains the mean values of the rest of the observations in the given window, excluding the focal observation. Therefore, in the year 2001, xfocal variable has a value of 350, which is the average of the values of X in the years 2002, 2003, 2003, 2004 i.e. (200+300+400+500)/4 = 350. Similarly, the second observation of the xfocal variable is 325, which is (100+300+400+500)/4 = 325. Similar calculations are made when required statistics are estimated in a rolling window.
Example B differs from Example A in definition of the focal observation(s). In Example B, we invoke the option xf() as xf(year), where year is an existing numeric variable. With this option, the focal observation(s) is(are) defined as the current observation and other observations where the focal observation of the rangevar has duplicates. Our data set has two duplicate values in the rangevar, i.e., year 2003. Therefore, the mean values are calculated as shown bellow:
++  obs 1: (200 + 300 + 400 + 500)/4 = 350   obs 2: (100 + 300 + 400 + 500)/4 = 325   obs 3: (100 + 200 + 500 ) /3 = 266.66667   obs 4: (100 + 200 + 500 ) /3 = 266.66667   obs 5: (100 + 200 + 300 + 400)/4 = 250  ++
Example using a rolling window
*Rolling mean with minimum number of observaton while excluding focal observation
webuse grunfeld bys company: asrol invest, stat(mean) win(year 4) xf(focal)
 This reply was modified 1 year, 7 months ago by Attaullah Shah.
 This reply was modified 1 year, 7 months ago by Attaullah Shah.
 This reply was modified 1 year, 7 months ago by Attaullah Shah.

AuthorPosts
 You must be logged in to reply to this topic.