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

From |
Austin Nichols <austinnichols@gmail.com> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation |

Date |
Sat, 11 Jul 2009 09:38:20 -0400 |

Maybe you want something like: clear set seed 1 range year 1 100 100 expand 9 bys year: g i=_n g aid=uniform()/3 if year==1 tsset i year loc r=0.5 loc c=0.1 g s=rnormal()/10 replace aid=min(max(`c'+`r'*L.aid+s,0),.3) if year>1 xtline aid On Sat, Jul 11, 2009 at 9:32 AM, Austin Nichols<austinnichols@gmail.com> wrote: > Paddy Carter<Paddy.Carter@bristol.ac.uk> : > > Read -help ifcmd- and note that > > if year>1 { > some code > } > > executes "some code" only if the first observation on year in the data > is greater than 1. Similar problems apply to the if commands you have > put inside the main set of braces. > > On Sat, Jul 11, 2009 at 9:02 AM, Paddy Carter<Paddy.Carter@bristol.ac.uk> wrote: >> Dear Statalisters >> >> I have a puzzle, concerning a section of a program intended to generate an >> AR(1) series for `aid' that is bounded between 0 and 0.3 >> >> Prior to this section of the program, I have already generated countries, >> time (and xtset the data) and a variable `aid' consisting of random draws >> from a uniform distribution on [0,0.3] - all but the first observation of >> which for each country, I wish to replace, using the following code: >> >> if year>1 { >> if L.aid<0 { >> replace aid=const+`rho'*L.aid+rnormal(0.1,0.01) >> } >> else if L.aid>0.3 { >> replace aid=const+`rho'*L.aid+rnormal(-0.1,0.01) >> } >> else { >> replace aid=const+`rho'*L.aid+(rnormal()/100) >> } >> >> } >> >> I expect this code to do the following: whenever aid wanders beyond the >> bounds 0 and 0.3, the shock in the next period is set to bounce it away from >> these bounds. Hence I would expect to see observations of aid that do stray >> beyond 0 and 0.3 but which bounce back in the subsequent period. My puzzle >> is that when I run this code with large T, the aid series never strays >> beyond bounds. By my understanding, that shouldn't be happening. >> >> I would actually like to write a program such that aid never strays beyond >> bounds, but I didn't know how to; I appear to have done so inadvertently, >> but the fact I don't understand what it's doing makes me fear I've gone >> totally wrong. >> >> I apologise if I'm missing something obvious; this is my first ever attempt >> at programming. >> >> This is on Stata/IC 10.1 for Windows >> >> > * * 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/

**Follow-Ups**:**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation***From:*Paddy Carter <Paddy.Carter@bristol.ac.uk>

**References**:**st: Generating a bounded AR(1) series for Monte-Carlo Simulation***From:*Paddy Carter <Paddy.Carter@bristol.ac.uk>

**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation***From:*Austin Nichols <austinnichols@gmail.com>

- Prev by Date:
**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation** - Next by Date:
**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation** - Previous by thread:
**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation** - Next by thread:
**Re: st: Generating a bounded AR(1) series for Monte-Carlo Simulation** - Index(es):

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