Statalist


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

Re: st: Cumulative return for each firm each day


From   Antoine Terracol <[email protected]>
To   [email protected]
Subject   Re: st: Cumulative return for each firm each day
Date   Thu, 12 Mar 2009 18:43:15 +0100

Try something like:

bysort firm (day) : gen Cret=exp(sum(ln(1+ret)))-1

Antoine

Hua Pan wrote:
> Dear Statalisters�
> 
> I want to loop over firms and days, in order to calculate cumulative daily return for each firm and from day 1 to day 30. That means, 
> 
> firm       day             ret        Cret
> 1            1              x1         x1
> 1            2              x2        (1+x1)*(1+x2)-1
> â?¦           â?¦                â?¦         â?¦   
> 1            30             x30       (1+x1)*(1+x2)*â?¦(1+x30)-1
> 2            1
> â?¦             â?¦
> 2            30
> ..
> firm and day have numeric format.
> 
> I tried:
> 
> sort firm day
> generate Cret = 0
> levelsof firm, local(firms)
> levelsof day, local(days)
> foreach f of local firms {
> foreach d of local days {
> gen Cret(`fâ??, `dâ??) =  (1+Cret)*(1+ret)-1  if  firm == `f' & day == `d'   
> replace Cret = Cret(`fâ??, `dâ??)  if firm == `f' & day >= `d'
> drop Cret(`fâ??, `dâ??)
> }
> }
> 
> 
> But it doesnâ??t seem to work. Have anyone idea about cumulative return or just cumulative sum for each firm and everyday, or just looping of this kind?
> 
> Any help and suggestion would be greatly appreciated. Thank you very much in advance for your time.
> 
> Best regards
> 
> Hua
> 
> 
> 
> 
> 
> 


-- 
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.



*
*   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/



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