Bookmark and Share

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


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

Re: st: Working with row percentiles and row averages


From   George Murray <[email protected]>
To   [email protected]
Subject   Re: st: Working with row percentiles and row averages
Date   Tue, 9 Jul 2013 23:39:58 +1000

Nick, once again, thank you very very much for this, it saved me a lot
of time. I've read through the relevant section of the pdf and will be
happy to cite it once my article is finished. I was actually playing
around with the forval command, but didn't think of this.

On Tue, Jul 9, 2013 at 11:27 PM, Nick Cox <[email protected]> wrote:
> Let's imagine that we have -pc10- and we want the average of all
> returns less than that. The average is naturally the sum divided by
> the count. So, we go
>
> gen count = 0
> gen sum = 0
>
> quietly forval j = 1/1000 {
>            replace count = count + 1 if r`j' < pc10
>            replace sum = sum + r`j' if r`j' < pc10
> }
>
> gen ave10 = sum/count
>
>
> There is a review at
>
> SJ-9-1  pr0046  . . . . . . . . . . . . . . . . . . .  Speaking Stata: Rowwise
>         (help rowsort, rowranks if installed) . . . . . . . . . . .  N. J. Cox
>         Q1/09   SJ 9(1):137--157
>         shows how to exploit functions, egen functions, and Mata
>         for working rowwise; rowsort and rowranks are introduced
>
> A .pdf is accessible at
>
> http://www.stata-journal.com/sjpdf.html?articlenum=pr0046
>
> If it's valuable, please cite it.
> Nick
> [email protected]
>
>
> On 9 July 2013 14:15, George Murray <[email protected]> wrote:
>> abcde
>> Dear Statalist,
>>
>> I am working with time series data, and my variables consist of
>> monthly returns for 1000 stocks (so the variables are
>> date,r1,r2,r3,...,r1000). I would like to find, for each date, the
>> average return of the stocks whose return is below that of the 10th
>> percentile. That is, for the 10% of stocks with the lowest returns, I
>> want to compute their average, for each date.
>>
>> I am aware that a command such as -egen p10 = rowpctile(r1-r1000),
>> p(10)- generates a variable which computes the return of the 10th
>> percentile at each date, but I don’t know how to go from here to find
>> the average return below the 10th percentile, for each date.
>>
>> Any ideas for commands would be very highly appreciated. This is the
>> first time I have had to work ‘by rows’, and am very stuck with this.
>>
>> Thank you.
>>
>> *
>> *   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/
>
> *
> *   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/

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


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index