Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down on April 23, and its replacement, **statalist.org** is already up and running.

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

From |
Yuval Arbel <yuval.arbel@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Running Product Function |

Date |
Mon, 10 Dec 2012 00:41:41 +0200 |

So maybe I could try the harmonic mean as well. P.S. The geometric mean is excellent for my objectives: psychologically if there is a positive momentum it is plausible that more weight is given to the latter periods, while if there is a negative momentum more weight is given to earlier periods (where the market was high) On Mon, Dec 10, 2012 at 12:25 AM, Yuval Arbel <yuval.arbel@gmail.com> wrote: > Thanks Nick. That was very helpful. > > On Mon, Dec 10, 2012 at 12:14 AM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >> Note also that the geometric mean of this series is 25. This implies >> that while the arithmetic mean gives more weight to earlier periods, >> the geometric mean gives more weight to latter periods.: >> >> ameans(reduct_per)if appt==2862 >> >> Variable | Type Obs Mean [95% Conf. Interval] >> -------------+---------------------------------------------------------- >> reduct_per | Arithmetic 37 8.108108 4.152295 12.06392 >> | Geometric 12 25 25 25 >> | Harmonic 12 25 25 25 >> ------------------------------------------------------------------------ >> >> >> >> On Mon, Dec 10, 2012 at 12:06 AM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >>> Eventually, I improved the system and put:the following commands: >>> >>> by appt: replace reduct_per=1 if reduct_per==0 >>> by appt: gen y1=exp(sum(ln(reduct_per))) >>> >>> I got the following table, which is exactly what I need (I don't want >>> the geometric mean to be set to zero): >>> >>> . list reduct_per y3 if appt==2862 >>> >>> +---------------------+ >>> | reduct~r y3 | >>> |---------------------| >>> 30. | 1 1 | >>> 31. | 1 1 | >>> 32. | 1 1 | >>> 33. | 1 1 | >>> 34. | 1 1 | >>> |---------------------| >>> 35. | 1 1 | >>> 36. | 1 1 | >>> 37. | 1 1 | >>> 38. | 1 1 | >>> 39. | 1 1 | >>> |---------------------| >>> 40. | 1 1 | >>> 41. | 1 1 | >>> 42. | 1 1 | >>> 43. | 1 1 | >>> 44. | 1 1 | >>> |---------------------| >>> 45. | 1 1 | >>> 46. | 1 1 | >>> 47. | 1 1 | >>> 48. | 1 1 | >>> 49. | 1 1 | >>> |---------------------| >>> 50. | 1 1 | >>> 51. | 1 1 | >>> 52. | 1 1 | >>> 53. | 1 1 | >>> 54. | 1 1 | >>> |---------------------| >>> 55. | 25 25 | >>> 56. | 25 625 | >>> 57. | 25 15625 | >>> 58. | 25 390625 | >>> 59. | 25 9765625 | >>> |---------------------| >>> 60. | 25 2.44e+08 | >>> 61. | 25 6.10e+09 | >>> 62. | 25 1.53e+11 | >>> 63. | 25 3.81e+12 | >>> 64. | 25 9.54e+13 | >>> |---------------------| >>> 65. | 25 2.38e+15 | >>> 66. | 25 5.96e+16 | >>> +---------------------+ >>> >>> >>> On Sun, Dec 9, 2012 at 11:56 PM, Nick Cox <njcoxstata@gmail.com> wrote: >>>> That is reasonable if and only if zero is in effect a code for missing >>>> in your situation. >>>> >>>> (In terms of your earlier reference, -prod()- is a user-written -egen- >>>> function which must be installed from >>>> >>>> STB-51 dm71 . . . . . . . . . . . . Calculating the product of observations >>>> (help prod if installed) . . . . . . . . . . . . . . . . . . P. Ryan >>>> 9/99 pp.3--4; STB Reprints Vol 9, pp.45--48 >>>> extension to egen for producing the product of observations >>>> >>>> Please remember to explain _where_ you obtained user-written code.) >>>> >>>> Nick >>>> >>>> On Sun, Dec 9, 2012 at 9:40 PM, Yuval Arbel <yuval.arbel@gmail.com> wrote: >>>>> I don't have negative values, but I have zeros, in which case I can >>>>> replace them by one and then take the -ln()- >>>>> >>>>> On Sun, Dec 9, 2012 at 11:31 PM, Nick Cox <njcoxstata@gmail.com> wrote: >>>>>> 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 >>>>>>>> University of Adelaide >>>>>>>> South Australia >>>>>>>> pryan@medicine.adelaide.edu.au >>>>>> >>>>>> >>>>>> 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/ >>> >>> >>> >>> -- >>> Dr. Yuval Arbel >>> School of Business >>> Carmel Academic Center >>> 4 Shaar Palmer Street, >>> Haifa 33031, Israel >>> e-mail1: yuval.arbel@carmel.ac.il >>> e-mail2: yuval.arbel@gmail.com >> >> >> >> -- >> Dr. Yuval Arbel >> School of Business >> Carmel Academic Center >> 4 Shaar Palmer Street, >> Haifa 33031, Israel >> e-mail1: yuval.arbel@carmel.ac.il >> e-mail2: yuval.arbel@gmail.com > > > > -- > Dr. Yuval Arbel > School of Business > Carmel Academic Center > 4 Shaar Palmer Street, > Haifa 33031, Israel > e-mail1: yuval.arbel@carmel.ac.il > e-mail2: yuval.arbel@gmail.com -- Dr. Yuval Arbel School of Business Carmel Academic Center 4 Shaar Palmer Street, Haifa 33031, Israel e-mail1: yuval.arbel@carmel.ac.il e-mail2: yuval.arbel@gmail.com * * 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/

**Follow-Ups**:**Re: st: Running Product Function***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Nick Cox <njcoxstata@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Nick Cox <njcoxstata@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

**Re: st: Running Product Function***From:*Yuval Arbel <yuval.arbel@gmail.com>

- Prev by Date:
**Re: st: Running Product Function** - Next by Date:
**Re: st: Running Product Function** - Previous by thread:
**Re: st: Running Product Function** - Next by thread:
**Re: st: Running Product Function** - Index(es):