[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From |
"Nick Cox" <n.j.cox@durham.ac.uk> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: Build groups with the same first two numbers of SIC |

Date |
Thu, 19 Mar 2009 17:58:55 -0000 |

But that was not the problem. The -if- condition didn't fail. The -keep- was perfectly legal and executed as instructed. If what you suggest were to be done, the -capture- would need to be on the next two statements, the -egen- and the -save-. Nick n.j.cox@durham.ac.uk Martin Weiss Other listers have highlighted easy fixes for your problem. Let me add: A failure of an -if- condition, as you describe in your post, need not kill a loop if you add -capture- in front of the respective command. If you want a record of the suppressed error, add the line -di in red _rc- afterwards to see whether the return code was non-zero. "Hua Pan" <panhua@gmx.de> > I have a list of firms with four digit sic code, permno (identify Nr. for > firms), date and return and wish to get daily mean return within the group, > which has the same first two numbers of SIC code. > > My Dataset look like this: > > sic permno date ret > … > 3674 10012 5.Jan.2004 > 10012 6.Jan.2004 > 10012 7.Jan.2004 > 3674 10259 5.Jan.2004 > 10259 6.Jan.2004 > 10259 7.Jan.2004 > 3674 10299 > 10299 > 10299 > 3674 10302 > 10302 > 10302 > ----------------------------------------------------------------- > 3714 10667 > 10667 > 10667 > ------------------------------------------------------------------ > 3728 10145 > 10145 > 10145 > ------------------------------------------------------------------ > 3861 10163 > 10163 > 10163 > ------------------------------------------------------------------ > 4213 10379 > 10379 > 10379 > 4213 10649 > 10649 > 10649 > > > At first I want to build several groups. Firms within each group have the > same character: the first two numbers of their SIC codes are identical. For > the example above > sic permno > Group1: 3674 10012, 10259, 10299, 10302 > Group2: 3714, 3728 10667, 10145 > Group3: 3861 10163 > Group4: 4213 10379, 10649 > > Then I wish to get mean daily return for each group. > > So I just tried to separate the big dataset into several sub dataset, and > calculate daily mean return for each of them. Then I get the sub datasets > together with “append”. For the first step, I did: > > . local n=3600 > . while `n' <4300 { > 2. use "D:\sic.dta", clear > 3. keep if sic >=`n' & sic < `n'+100 > 4. by date, sort: egen meanret=mean(ret) > 5. save "D:\ph\sic\sic_`n'.dta" > 6. local n=`n'+100 > 7. } > > > It is successful for 36xx, 37xx. But when `n’== 3900, all observations > in the complete file “D:\sic.dta" are deleted, because none of them meet > the requirement: sic>=3900 & sic < 4000, so there is an error: > > (y observations deleted) > __000001 not found > > y is the number of all the observations in complete dataset. > > There are a huge number of observations, so I can’t do it one by one. > Has anyone here an idea to solve this problem? Or some easier methods to > generate such groups (I’ve also tried, but failed to get it ), so I can get > the daily mean return with: > > by group date, sort: egen meanret=mean(ret) > > Btw, I’m using stata 10. * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/

**Follow-Ups**:**Re: RE: st: Build groups with the same first two numbers of SIC***From:*"Martin Weiss" <Martin.Weiss1@gmx.de>

**References**:**st: Build groups with the same first two numbers of SIC***From:*"Hua Pan" <panhua@gmx.de>

**Re: st: Build groups with the same first two numbers of SIC***From:*"Martin Weiss" <Martin.Weiss1@gmx.de>

- Prev by Date:
**Re: st: RE: normal distributions** - Next by Date:
**Re: RE: st: Build groups with the same first two numbers of SIC** - Previous by thread:
**Re: st: Build groups with the same first two numbers of SIC** - Next by thread:
**Re: RE: st: Build groups with the same first two numbers of SIC** - Index(es):

© Copyright 1996–2016 StataCorp LP | Terms of use | Privacy | Contact us | What's new | Site index |