Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Simulation

    Dear team,

    i was trying to run a monte carlo for the following DGP




    got stuck as i was creating the code

    Kindly help

    here is the code i was attempting to create before i got stuck
    set seed 20170314
    set obs 3
    gen firmid= _n
    expand 10
    bys firmid: gen year=_n
    gen psi =rnormal(0,1) // panel level effect
    gen epsilon=rnormal(0,1)
    scalar a1 = 1
    scalar a2 = 2
    scalar a3 = 3
    scalar b=0.5

  • #2
    I assume that b is the temporal slope, and that a1 through a3 are intended to be something like firm-level intercepts, and so I'm guessing that you actually want something like a fixed-effect intercept of one.

    If so, then try something like the following:
    Code:
    version 17.0 // substitute your Stata release here
    
    clear *
    
    set seed 20170314
    
    // Firms
    quietly set obs 3
    generate int fid = _n
    generate double fid_u = rnormal() // panel-level random effect
    
    // Years
    quietly expand 10
    bysort fid: generate byte tim = _n
    
    // Linear prediction
    generate double xbu = ///
        1 + tim / 2 + /// fixed
        fid_u         //  random
    
    // Outcome (linear prediction + epsilon)
    generate double out = xbu + rnormal()
    In action:


    .ÿversionÿ17.0

    .ÿ
    .ÿclearÿ*

    .ÿ
    .ÿseedem
    setÿseedÿ2062505660

    .ÿ
    .ÿ//ÿFirms
    .ÿquietlyÿsetÿobsÿ300

    .ÿgenerateÿintÿfidÿ=ÿ_n

    .ÿgenerateÿdoubleÿfid_uÿ=ÿrnormal()

    .ÿ
    .ÿ//ÿYears
    .ÿquietlyÿexpandÿ10

    .ÿbysortÿfid:ÿgenerateÿbyteÿtimÿ=ÿ_n

    .ÿ
    .ÿ//ÿLinearÿprediction
    .ÿgenerateÿdoubleÿxbuÿ=ÿ///
    >ÿÿÿÿÿ1ÿ+ÿtimÿ/ÿ2ÿ+ÿ///ÿfixed
    >ÿÿÿÿÿÿÿÿÿfid_uÿÿÿÿÿÿÿÿÿ//ÿÿrandom

    .ÿ
    .ÿ//ÿOutcome
    .ÿgenerateÿdoubleÿoutÿ=ÿxbuÿ+ÿrnormal()

    .ÿ
    .ÿxtregÿoutÿc.tim,ÿi(fid)ÿre

    Random-effectsÿGLSÿregressionÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿobsÿÿÿÿÿ=ÿÿÿÿÿÿ3,000
    Groupÿvariable:ÿfidÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿNumberÿofÿgroupsÿÿ=ÿÿÿÿÿÿÿÿ300

    R-squared:ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿObsÿperÿgroup:
    ÿÿÿÿÿWithinÿÿ=ÿ0.0000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿminÿ=ÿÿÿÿÿÿÿÿÿ10
    ÿÿÿÿÿBetweenÿ=ÿ0.0000ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿavgÿ=ÿÿÿÿÿÿÿ10.0
    ÿÿÿÿÿOverallÿ=ÿ0.5070ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿmaxÿ=ÿÿÿÿÿÿÿÿÿ10

    ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿWaldÿchi2(1)ÿÿÿÿÿÿ=ÿÿÿÿ5896.22
    corr(u_i,ÿX)ÿ=ÿ0ÿ(assumed)ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿProbÿ>ÿchi2ÿÿÿÿÿÿÿ=ÿÿÿÿÿ0.0000

    ------------------------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿoutÿ|ÿCoefficientÿÿStd.ÿerr.ÿÿÿÿÿÿzÿÿÿÿP>|z|ÿÿÿÿÿ[95%ÿconf.ÿinterval]
    -------------+----------------------------------------------------------------
    ÿÿÿÿÿÿÿÿÿtimÿ|ÿÿÿ.4929186ÿÿÿ.0064193ÿÿÿÿ76.79ÿÿÿ0.000ÿÿÿÿÿ.4803369ÿÿÿÿ.5055002
    ÿÿÿÿÿÿÿ_consÿ|ÿÿÿ1.126244ÿÿÿ.0685235ÿÿÿÿ16.44ÿÿÿ0.000ÿÿÿÿÿ.9919403ÿÿÿÿ1.260548
    -------------+----------------------------------------------------------------
    ÿÿÿÿÿsigma_uÿ|ÿÿ.96576202
    ÿÿÿÿÿsigma_eÿ|ÿÿ1.0098939
    ÿÿÿÿÿÿÿÿÿrhoÿ|ÿÿ.47767329ÿÿÿ(fractionÿofÿvarianceÿdueÿtoÿu_i)
    ------------------------------------------------------------------------------

    .ÿ
    .ÿexit

    endÿofÿdo-file


    .

    Comment

    Working...
    X