options linesize=80; options pagesize=60; data coalgas; infile 'C:\Documents and Settings\jianl\Desktop\HW2\coalgaspq1993.prn'; input state $ 1- 2 coalp 12- 16 coalq 17- 24 gasp 28- 32 gasq 33- 40 pop 41- 48 income 49- 56 cdd 57- 64 hdd 65- 72 ctop5 80 cadj 88 gtop5 96 gadj 104; if state eq "DC" then delete; if state eq "AK" then delete; if state eq "HI" then delete; lnpop = log(pop); lninc = log(income); lnp_g = log(gasp); lnp_c = log(coalp); lnq_g = log(gasq); lnq_c = log(coalq); proc means; proc model; parms b1-b36; exogenous lnpop lninc cdd hdd ctop5 cadj gtop5 gadj; lnp_c = b1 + b2*lnpop + b3*lninc + b4*cdd + b5*hdd + b6*ctop5 + b7*cadj + b8*gtop5 + b9*gadj; lnq_c = b10 + b11*lnpop + b12*lninc + b13*cdd + b14*hdd + b15*ctop5 + b16*cadj + b17*gtop5 + b18*gadj; lnp_g = b19 + b20*lnpop + b21*lninc + b22*cdd + b23*hdd + b24*ctop5 + b25*cadj + b26*gtop5 + b27*gadj; lnq_g = b28 + b29*lnpop + b30*lninc + b31*cdd + b32*hdd + b33*ctop5 + b34*cadj + b35*gtop5 + b36*gadj; fit lnp_c lnq_c lnp_g lnq_g / SUR; proc model; parms b1-b22; exogenous lnpop lninc cdd hdd ctop5 cadj gtop5 gadj; eq.c_demand = lnp_c - (b1 + b2*lnq_c + b3*lnp_g + b4*lnpop + b5*lninc + b6*cdd + b7*hdd); eq.c_supply = lnp_c - (b8 + b9*lnq_c + b10*ctop5 + b11*cadj); eq.g_demand = lnp_g - (b12 + b13*lnq_g + b14*lnp_c + b15*lnpop + b16*lninc + b17*cdd + b18*hdd); eq.g_supply = lnp_g - (b19 + b20*lnq_g + b21*gtop5 + b22*gadj); fit c_demand / OLS; fit c_supply / OLS; fit g_demand / OLS; fit g_supply / OLS; fit c_demand c_supply g_demand g_supply / 3SLS; proc model; parms b1-b8 b9 0 b10-b19 b20 0 b21 b22; exogenous lnpop lninc cdd hdd ctop5 cadj gtop5 gadj; eq.c_demand = lnp_c - (b1 + b2*lnq_c + b3*lnp_g + b4*lnpop + b5*lninc + b6*cdd + b7*hdd); eq.c_supply = lnp_c - (b8 + b9*lnq_c + b10*ctop5 + b11*cadj); eq.g_demand = lnp_g - (b12 + b13*lnq_g + b14*lnp_c + b15*lnpop + b16*lninc + b17*cdd + b18*hdd); eq.g_supply = lnp_g - (b19 + b20*lnq_g + b21*gtop5 + b22*gadj); fit c_demand c_supply g_demand g_supply drop=b20 b9 / 3SLS; run;