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]

From |
"C. Evans" <ce306@cam.ac.uk> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping) |

Date |
10 Jul 2013 13:59:01 +0100 |

Dear Satalist

bysort year size: egen portfolio = xtile(size), nq(10)

Thanks for your consideration,

On Jul 9 2013, Jeph Herrin wrote:

So if I understand this model R = constant + beta*RMit is estimated using all the stocks in the portfolio? in which case itdoesn't make sense that R is constant for that portfolio, as you suggest.On the other hand, if the model is estimated using the 10 portfolios asobservations, it's not clear how RM is constructed for each portfolio.J On 7/9/2013 6:35 AM, C. Evans wrote:Dear StatalistUltimately I would like to do both. Try it with one regression perportfolio per year and then different regressions each day of the yearand compare results. To understand the concept easier I think trying thefirst method might be a good idea, as such I have collapsed my datasetinto years as suggested.+---------------------------------------------------+ | Id year return size RM | |---------------------------------------------------| 1. | 10006 1964 .0010771 219303.1 .00074666 | 2. | 10006 1965 .0007731 249306.1 .0012575 | 3. | 10006 1966 -.000666 272942.9 -.00020371 | 4. | 10006 1967 .0007695 277828.9 .0022902 | 5. | 10006 1968 .0018014 291790.6 .00155318 | |---------------------------------------------------| 6. | 10006 1969 -.0008518 289380.5 -.00113132 | 7. | 10006 1970 -.0001759 244459.8 -.00029807 | 8. | 10006 1971 .0005789 297727.2 .00081096 | 9. | 10006 1972 -.0002126 267790.8 .00027013 | 10. | 10006 1973 .0009468 256238.1 -.0016938 | |---------------------------------------------------| 11. | 10006 1974 -.0019488 240341.8 -.0010482 | 12. | 10006 1975 .0007506 230729.7 .00203316 | 13. | 10006 1976 .0013387 283286.3 .00160779 | 14. | 10006 1977 4.13e-06 304096.8 .00082065 | 15. | 10006 1978 -.0003554 288889.5 .00089401 | |---------------------------------------------------| 16. | 10006 1979 .0005206 297761.1 .00133951 | 17. | 10006 1980 .0013472 337569.1 .0013785 | 18. | 10006 1981 -.0003744 396982.8 -.00006056 | 19. | 10006 1982 -.0007193 292631.7 .00083913 | 20. | 10006 1983 .0018631 318310.7 .00121923 | |---------------------------------------------------| 21. | 10014 1967 .0049118 20656.6 .0022902 | J you are correct I need to create R as to then run the regression: R= contant + BETA.RM + errorThen at the end of each year I rank the stocks by -Size- and dividethem into 10 equal portfolios. Then I calculate the portfolio return Rwhich is the -mean- of -return- for that porfolio. Finally estimatingthe regression and saving the BETA.Thanks for your consideration, Chris On Jul 8 2013, Jeph Herrin wrote:It's not really clear what you are doing here.Do you want one regression per portfolio, per year? IN that case, thefirst step would be -collapse- or otherwise restructure your dataset tohave one record per stock for each year-portfolio; it's not critical todo this, but it will make things much easier.Or do you intend a different regression for each day of the year?Is the variable -reurn- (sic) the same as -R-, the portfolio return,or do you need to create that as well?J On 7/8/2013 11:14 AM, C. Evans wrote:Dear Satalist I'm using Stata/SE 12.1I am trying to create a new variable called BETA. It follows thecomputation of many financial papers. Amihud 2002 gives a gooddescription of what I am trying to do.Extract paraphrased from Amihud (2002)accessed herehttp://www.sciencedirect.com/science/article/pii/S1386418101000246 :At the end of each year Y, stocks are ranked by their size anddivided into ten equal portfolios. Next, the porfolio return R iscalculated as the equally weighted average of stock returns inportfolio P on day T in year Y. Then, the market model is estimatedfor each portfolio P, P=1,2,....10R= constant + BETA.RM + error <- this is the Market Model (regression)RM is the equally weighted market return and BETA is the slopecoefficient. I will then save the BETA values and store them as a newvariable.Below is a sample of my data, the ID goes from 10006 to 93201 butwith gaps inbetween. I am using daily stock data and therefore thereare missing date values (such as weekends). The date goes from Jan1964 to Dec 1997 (unless a stock has dropped out).ID date day month year reurn size RM ||| -----------------------------------------------------------------------|| 10006 02jan1964 2 1 1964 -.0120968 180565 0.01| | 10006 03jan1964 3 1 1964 .0081633 182039 0.04| | 10006 06jan1964 6 1 1964 .0121457 184250 0.02| | 10006 07jan1964 7 1 1964 .022 188303.5 -0.1|| 10006 08jan1964 8 1 1964 .0136986 190883 -0.3|| -----------------------------------------------------------------------|| 10006 09jan1964 9 1 1964 .003861 191620 0.7| | 10006 10jan1964 10 1 1964 -.0192308 187935 0.8| | 10006 13jan1964 13 1 1964 .0039216 188672 1| | 10006 14jan1964 14 1 1964 .0136719 191251.5 0.1|| 10006 15jan1964 15 1 1964 .0250482 196042 -0.02|| -----------------------------------------------------------------------|| 10006 16jan1964 16 1 1964 -.0150376 193094 -0.6| | 10006 17jan1964 17 1 1964 -.0038168 192357 0.1| | 10006 20jan1964 20 1 1964 -.0114943 190146 0 .4| | 10006 21jan1964 21 1 1964 -.003876 189409 0.6|| 10006 22jan1964 22 1 1964 .0233463 193831 1.2|| -----------------------------------------------------------------------|In the same dataset I have also created a date variable called date2and a variable labelled lastdate which is the last date in that year.I was thinking this may help in solving my problem.+---------------------------------------+ | permno date date2 lastdate | |---------------------------------------| 1. | 10006 02jan1964 1462 1826 | 2. | 10006 03jan1964 1463 1826 | 3. | 10006 06jan1964 1466 1826 | 4. | 10006 07jan1964 1467 1826 | 5. | 10006 08jan1964 1468 1826 | |---------------------------------------| 6. | 10006 09jan1964 1469 1826 | 7. | 10006 10jan1964 1470 1826 | 8. | 10006 13jan1964 1473 1826 | 9. | 10006 14jan1964 1474 1826 | 10. | 10006 15jan1964 1475 1826 |I have been reading about -xtile- and about looping. I have managedto sort by -size- and create a variable labelled -portfolio- that usesthe -xtile- function. I have never looped before but have read that-foreach- or -forval- might be useful.I welcome all suggestions or queries into more information. Thanks for your consideration, Chris * * 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/* * 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: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*Jeph Herrin <stata@spandrel.net>

**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*Nick Cox <njcoxstata@gmail.com>

**References**:**st: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*"C. Evans" <ce306@cam.ac.uk>

**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*Jeph Herrin <stata@spandrel.net>

**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*"C. Evans" <ce306@cam.ac.uk>

**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)***From:*Jeph Herrin <stata@spandrel.net>

- Prev by Date:
**Re: st: Re: Odds ratio graph - selecting order of bars** - Next by Date:
**st: ''option ysi not allowed'' when using metan command** - Previous by thread:
**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)** - Next by thread:
**Re: st: Sorting data in deciles and then regressing and storing coefficients. (Looping)** - Index(es):