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

From |
"Nick Cox" <n.j.cox@durham.ac.uk> |

To |
<statalist@hsphsun2.harvard.edu> |

Subject |
RE: st: RE: RE: Sum product of each element with each other element except itself? |

Date |
Sun, 16 Aug 2009 17:53:48 +0100 |

Your -egen- call bysort period : egen components_sum = sum(beta_other_comp)/T_it is incorrect. You cannot complicate -egen- function calls with arbitrary extra expressions. Look again at the help for -egen-. You must put other stuff inside the () or do it separately. I can't advise on whether this code is correct otherwise. Nick n.j.cox@durham.ac.uk Stata Chris Thanks Martin and Nick! I've tried that but there seems to remain at least one problem, as Stata tells me that I have invalid Syntax and I'm not sure where the problem is. Below is my code (I've tried to spare you of the parts which I feel confident are not the reason for the invalidity): Explanation in words: What I want to get is the sum of the deviation1 for each fund multiplied by the deviation2 of each other fund. So I have created two loops. The first generates deviation1 and deviation2 for each fund. The second is supposed to multiply for each fund j its deviation1 with the deviation2 of every other fund (I'm multiplying it with every possible fund, and then subtracting its own deviation2, following the principle you mentioned). Finally, I wanted to sum up these products for all 19 funds. However, when I run this Stata tells me after the second loop that there is invalid syntax: xtset obs_fundasset period, monthly sort obs_fundasset period bysort obs_fundasset period: gen deviation1 = (buying - mean_pit ) bysort obs_fundasset period: gen deviation2 = (buying_lag - mean_pit_lag) *************** forvalues i=1/19{ capture noisily { bysort assetid period: gen deviation1_`i' = deviation1 if fundid==`i' bysort assetid period: gen deviation2_`i' = deviation1 if fundid==`i' bysort assetid period: replace deviation1_`i' = 0 if deviation1_`i' == . bysort assetid period: replace deviation2_`i' = 0 if deviation2_`i' == . } } *************** forvalues j=1/19{ capture noisily { bysort obs_fundasset period: gen beta_other_component_`j' = deviation1_`j' * /// (deviation2_1 + deviation2_2 + deviation2_3 + deviation2_4 + deviation2_5 + /// deviation2_6 + deviation2_7 + deviation2_8 + deviation2_9 + deviation2_10 + /// deviation2_11 + deviation2_12 + deviation2_13 + deviation2_14 + deviation2_15 + /// deviation2_16 + deviation2_17 + deviation2_18 + deviation2_19 - deviation2_`j') } } *************** bysort period : egen components_sum = sum(beta_other_comp)/T_it bysort period : gen beta_other = components_sum / ( (I-1) * sd_pit * sd_pit_lag) 2009/8/16 Nick Cox <n.j.cox@durham.ac.uk>: > It sounds as if you just keep going, using the principle that sum of > (everything - somethings) = sum(everything) - sum(somethings). Martin Weiss > This FAQ may be helpful: > http://www.stata.com/support/faqs/data/members.html > > Apart from that, give an excerpt of your data, and show exactly what you > want to happen to it... Stata Chris > I would like to compute the following in Stata: > > Sum over all n of: Sum over all m unequal n of: > (D_nt - p)*(D_mt - p), > > where m, n, t are subindices. > > If it was with only a single sum and without the unequal condition, I > would just have used sth like this: > bysort m n t: gen factor1 = (D_nt - p) > bysort m n t: gen factor2 = (D_mt - p) > bysort t: egen result = sum(factor1*factor2) > > But I'm not sure how to get the product for each element n with each > other element from the same set except itself. > Should I do this with a loop or sth? * * 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/

**References**:**st: Sum product of each element with each other element except itself?***From:*Stata Chris <statachris@gmail.com>

**st: RE: RE: Sum product of each element with each other element except itself?***From:*"Nick Cox" <n.j.cox@durham.ac.uk>

**Re: st: RE: RE: Sum product of each element with each other element except itself?***From:*Stata Chris <statachris@gmail.com>

- Prev by Date:
**Re: st: RE: RE: Sum product of each element with each other element except itself?** - Next by Date:
**st: AW: How to make certain variable names and related coefficients red in the word in the -estout-?** - Previous by thread:
**Re: st: RE: RE: Sum product of each element with each other element except itself?** - Next by thread:
**AW: st: RE: RE: Sum product of each element with each other element except itself?** - Index(es):

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