Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# Re: st: Running Product Function

 From Nick Cox To statalist@hsphsun2.harvard.edu Subject Re: st: Running Product Function Date Sun, 9 Dec 2012 21:31:07 +0000

```Oddly enough I was thinking earlier today about how you would
generalise this if any values were not positive.

If any value is zero, then the product becomes zero; otherwise one
would need to separate out products of -abs()- and -sign()-.

Nick

On Sun, Dec 9, 2012 at 9:19 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote:

> Please ignore my previous e-mails regarding this question
>
> After a short additional search, I found a very nice (and well known)
> trick proposed by Nick Cox to address the problem (which, from some
> reason did not come to my mind):
>
> bysort group : gen prod = sum(ln(x))
> by group : replace prod = exp(prod[_N])
>
> On Sun, Dec 9, 2012 at 11:05 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote:
>> P.S. According to stata's help, the details of the author of the
>> -prod()- function is:
>>
>> Philip Ryan
>> Department of Public Health
>> South Australia

On Sun, Dec 9, 2012 at 10:53 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote:

>>> I appreciate very much your assistance in the following question:,
>>>
>>> I'm looking for an equivalent function for -gen y1=sum()- which will
>>> calculate running product for each point in time
>>>
>>> In fact, what I would like to calculate is a running geometric mean
>>>
>>> Note also that -gen y2=prod()- does not work (i.e., stata does not
>>> identify the function). Only -egen y2=prod()- works, but it generates
>>> only one product for each panel, and this is not what I need.
>>>
>>> Finally, I tried the -amean- command,, but it simply gives summary
>>> statistics of different means, and it is not a function..
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/
```