楼主: shyng
12894 46

[问答] Stock and Watson, 2003程序問題懇請大俠解答 [推广有奖]

  • 0关注
  • 0粉丝

已卖:4份资源

高中生

35%

还不是VIP/贵宾

-

威望
0
论坛币
83 个
通用积分
0
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
197 点
帖子
30
精华
0
在线时间
26 小时
注册时间
2010-9-28
最后登录
2012-12-23

楼主
shyng 发表于 2011-11-27 22:17:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
小妹正研讀景氣循環相關的研究,一直以來都是算數學的、從沒寫過程式,教授說找篇paper的程序跑跑看就知道了,誰知道從Mark Watson教授他個人網頁上下載下來的Gauss檔運行不能,雖然查了錯誤代碼知道哪行那裡說哪裡錯了,但卻不會改,懇請版上高手替小妹看看:


附上完整程序檔:(gss裡面是Gauss檔、rts裡為RATS檔) g7_ddisk_v6.zip (5.23 MB)




以下具題提出疑問:
第一個:在下面貼出來的這子程序"rwkfilt.prc"的錯誤代碼是
Line 33 in C:\Users\shyngc1987\Documents\paper_resources\code_stock and watson, 2003\g7\gss\rwkfilt.prc
   Syntax error G0008 : 'endp'
根據小妹查到的錯誤代碼指示G0008要馬少了符號要馬寫錯了,但都不像阿、endp不是一個很普通的關閉的指令嗎?


@ rwkfilt.prc, 4/6/96, mww
  This is the kalman Filter for the model:

  y(t) = b(t) + e(t)   (Scalar)
  b(t) = b(t-1) + a(t) (Scalar)

  where var(e)=r and var(a)=q;

  Input:  y(t)
          b1 = b(t-1/t-1)
          p1 = p(t-1/t-1)
          r
          q

  output: b1 = b(t/t)
          p1 = p(t/t)
          n  = y(t)-y(t/t-1)
          h  = var(n)

@
proc(6) = rwkfilt(y,b1,p1,r,q);
local b2, p2, k, h, n;

b2=b1;
p2=p1+q;
n=y-b2;
h=p2+r;
k=p2/h;
b1=b2+k*n;
p1=p2-k*p2;

retp(b1,p1,b2,p2,n,h);
endp;


第二個:
在這poist.prc子程序裡的錯誤代碼是
Line 1 in C:\Users\shyngc1987\Documents\paper_resources\code_stock and watson, 2003\g7\gss\poist.prc
   Nested procedure definition G0155

查了一下錯誤代碼說是第一行的定義pro的地方出錯了,看了手冊還是看不出這一行只是定義到底哪裡出錯了=  =" 唯一能懷疑的大概只有proc(*) 中間這個*到底是甚麼意思、該令為多少,懇請高手替小妹解答!!


proc(1) = poist(y,tau,imean,itst);

/* -- poist.prc, mww, 5/29/96 (revised)
      Calculate POI test statistic for stochastic trend model:

      H0: SD(a) = 0
          vs.
      HA: SD(a) = tau

      y(t) = b(t) + e(t)
      b(t-1) = b(t-1) + a(t)

      the value of b(0) is an unknown nuissance parameter
      the SD of e(t) is 1

imean = 0   =>  Construct Exact GLS Estimate
      = 1       Construct Asymptotic Approximation

itst = 0   =>  Construct Exact POI Statistic (given estimate of mean)
     = 1       Construct Asymptotic Approximation

*/

local e0, ss0, vague, b1, p1, r, q, t, balt, n, h, nt, ht, e1, ss1;
local b2,p2, b1t, b2t, p1t, p2t, b3, p3, g;
local theta, s, hs, ee, yf, poitst;

theta=1-tau;   @  Approximate MA(1) Coefficient for FD of y @
g=tau*rows(y); @  Local to unity parameter @

@ -- Residuals under the null -- @
e0=y-meanc(y);
ss0=e0'e0;


@ -- Estimate of b(0) under alternative -- @

if imean .== 0;
vague=1.0E+8;   @ -- Vague Prior -- @
b1=0;
p1=vague;
r=1;
q=tau.^2;

b1t=zeros(rows(y),1);
b2t=zeros(rows(y),1);
p1t=zeros(rows(y),1);
p2t=zeros(rows(y),1);

t=1; do while t <= rows(y);
  b1t[t]=b1; p1t[t]=p1;
  {b1,p1,b2,p2,n,h}=rwkfilt(y[t],b1,p1,r,q);
  b2t[t]=b2; p2t[t]=p2;
t=t+1; endo;

b3=b1; p3=p1;
t=rows(y); do while t >= 1;
  b2=b2t[t];
  p2=p2t[t];
  b1=b1t[t];
  p1=p1t[t];
  {b3,p3}=rwksmth(b1,b2,b3,p1,p2,p3);
t=t-1; endo;
balt=b3;
endif;
if imean .== 1;
s=seqa(1,1,rows(y))/rows(y);
hs=exp(-g*s) + exp(-g*(2*ones(rows(y),1)-s));
hs=hs*g/(rows(y)*(1-exp(-2*g)));
balt=hs'y;
endif;

if itst .== 0;
r=1;
q=tau.^2;
@ -- Find Filtered Residuals under alternative -- @
nt=zeros(rows(y),1);
ht=zeros(rows(y),1);
b1=balt;
p1=0;
t=1; do while t <= rows(y);
  {b1,p1,b2,p2,n,h}=rwkfilt(y[t],b1,p1,r,q);
  nt[t]=n;
  ht[t]=h;
t=t+1; endo;
e1=nt./sqrt(ht);
endif;

if itst .== 1;
y=y-balt;
ee=0;
yf=recserar(y,ee,theta);
yf=0|yf[1:rows(y)-1];
yf=g*yf/rows(y);
e1=y-yf;
e1=e1*sqrt(1-tau);   @ This improves small sample approximation @
endif;

ss1=e1'e1;

poitst=rows(y)*(1-(ss1/ss0));
retp(poitst);

endp;



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Watson Stock tock stoc wat Documents 子程序 Users

沙发
kohyoubeng 发表于 2011-11-28 21:07:55
第一个问题的解答:
因为rwkfilt.prc 最后一行多了一些多余的符号。 你从endp之后删除所有的东西,就可以跑了。
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
xuehe + 40 + 2 + 1 对论坛有贡献

总评分: 论坛币 + 40  学术水平 + 2  热心指数 + 1   查看全部评分

藤椅
kohyoubeng 发表于 2011-11-28 21:08:58
第二个问题的解答:我不知道你怎么跑你的程序的。如果是单一文件的话,那肯定不能跑。
关于这个程序,你应该先跑rwksmth ,如何再跑它,不然跑不了。


你是用哪个version 的gauss?

板凳
epoh 发表于 2011-11-28 21:33:54
我用gauss 9.0
read.me 所有gauss程序都可以执行
底下两个程序比较慢
  Table 8: fac_iorp.gss
   ng_filt.gss

报纸
shyng 发表于 2011-11-29 10:36:25
kohyoubeng 发表于 2011-11-28 21:07
第一个问题的解答:
因为rwkfilt.prc 最后一行多了一些多余的符号。 你从endp之后删除所有的东西,就可以跑 ...
原來如此~! 真的可以跑了!!! 好感動QQ  謝謝您^___________^

地板
shyng 发表于 2011-11-29 10:45:46
kohyoubeng 发表于 2011-11-28 21:08
第二个问题的解答:我不知道你怎么跑你的程序的。如果是单一文件的话,那肯定不能跑。
关于这个程序,你应 ...
我用的是Gauss 8.0 light for windows  (好像也是從這論壇免費拖下來的謎版^^" )
因為指導教授主要使用的是RATS跟Matlab而不是Gauss,但我要用的paper某些部分是用Gauss寫的,所以當時想說找個比較小巧的、能跑就好這樣。您認為有需要更換版本嗎?

我是看著read me檔先執行tst_gdp1,根據它說table1的是從這檔案跑出來的,想說如果其他檔案是裡面某些部分要用到子程序就要先跑這個,但我跑了之後卻出現其他子程序的error code,我再按兩下錯誤代碼他就會幫我打開有錯的子程序,例如上面問的rwkfilt.prc,不知道我這順序對不對?

可以請您教我正確的順序嗎?

另外,剛剛試著直接把rwksmth跑了再去跑rwkfilt,結果rwksmth卻卡在很奇怪的地方,出錯的那行字只是註解呢哈哈 哎呀哎呀。

7
shyng 发表于 2011-11-29 10:46:47
kohyoubeng 发表于 2011-11-28 21:08
第二个问题的解答:我不知道你怎么跑你的程序的。如果是单一文件的话,那肯定不能跑。
关于这个程序,你应 ...
我用的是Gauss 8.0 light for windows  (好像也是從這論壇免費拖下來的謎版^^" )
因為指導教授主要使用的是RATS跟Matlab而不是Gauss,但我要用的paper某些部分是用Gauss寫的,所以當時想說找個比較小巧的、能跑就好這樣。您認為有需要更換版本嗎?

我是看著read me檔先執行tst_gdp1,根據它說table1的是從這檔案跑出來的,想說如果其他檔案是裡面某些部分要用到子程序就要先跑這個,但我跑了之後卻出現其他子程序的error code,我再按兩下錯誤代碼他就會幫我打開有錯的子程序,例如上面問的rwkfilt.prc,不知道我這順序對不對?

可以請您教我正確的順序嗎?

另外,剛剛試著直接把rwksmth跑了再去跑rwkfilt,結果rwksmth卻卡在很奇怪的地方,出錯的那行字只是註解呢哈哈 哎呀哎呀。

8
shyng 发表于 2011-11-29 10:49:06
epoh 发表于 2011-11-28 21:33
我用gauss 9.0
read.me 所有gauss程序都可以执行
底下两个程序比较慢
懇請您指點小妹執行的順序,拜託您!!! <(_     _)>

9
shyng 发表于 2011-11-29 10:53:49
epoh 发表于 2011-11-28 21:33
我用gauss 9.0
read.me 所有gauss程序都可以执行
底下两个程序比较慢
我用Gauss 8.0 light for windows,先跑tst_gdp1無果,懇請您指點小妹執行的順序,謝謝您<(_     _)>

10
epoh 发表于 2011-11-29 15:03:22

这个程序,几乎不需要修改

都可以执行.

就如你所说依照read.me

  Table 1: (rts directory) tab01_01.rts

  Detrending Series: tst_gdp1.gss

  .....

  .....

我还真不知如何帮你.哈哈!

******
tab01_01.rts的結果
******
     Series        Obs       Mean        Std Error      Minimum       Maximum
D1CNY                 40   -638.726597   4059.353156 -25670.476634     11.206756
D1FRY                 40   -656.701520   4179.090236 -26426.806260     15.704556
D1BDY                 40   -723.669211   4601.094425 -29096.015534     18.428798
D1ITY                 40   -660.198378   4204.223006 -26585.280108     13.412951
D1JPY                 40   -746.694246   4777.189944 -30204.944261     21.034244
D1UKY                 40      2.353400      4.012243     -4.731119     15.397761
D1USY                 40      2.945064      3.530124     -6.844387      8.648655

     Series        Obs       Mean        Std Error      Minimum       Maximum
D4CNY                 40  -638.8553112  1951.2577071 -6420.0573087     6.5593514
D4FRY                 40  -656.8342129  2008.3678718 -6606.7015651     8.5831690
D4BDY                 40  -724.0465881  2210.1762506 -7274.0038835     8.6477276
D4ITY                 40  -660.0818400  2020.3016482 -6646.3200269     9.1407258
D4JPY                 40  -747.1303433  2296.1165877 -7551.3212255    12.3206664
D4UKY                 40     2.5533256     1.8416978    -0.4908085     7.3996594
D4USY                 40     3.0146278     2.0903136    -2.6691050     6.9871730

     Series        Obs       Mean        Std Error      Minimum       Maximum
D1CNY                 40   2.544191781   3.726241525  -5.666946288  10.215761462
D1FRY                 40   2.969358567   2.662603569  -6.536849946   8.089852262
D1BDY                 40   2.587973485   5.510891982 -12.620196709  15.052336050
D1ITY                 40   3.607163218   5.131194248  -9.047202976  17.747946160
D1JPY                 40   3.547436497   4.650813671 -15.326773303  11.753984277
D1UKY                 40   2.195616375   5.995897660 -10.291993800  18.858695722
D1USY                 40   2.201264694   4.392455379  -6.139083121  14.061876534

     Series        Obs       Mean        Std Error      Minimum       Maximum
D4CNY                 40   2.606573531   1.822066752  -2.212348788   6.855405509
D4FRY                 40   3.046715904   1.663586815  -1.775273388   5.506345848
D4BDY                 40   2.864208382   2.129991423  -2.481601242   6.136642526
D4ITY                 40   3.220471581   3.137866689  -4.349334800   8.729375800
D4JPY                 40   3.898133702   3.155390260  -3.341587483  11.000866839
D4UKY                 40   2.222008039   2.479843181  -3.541408951   9.760605998
D4USY                 40   2.140608928   2.737556569  -3.657020885   6.508708326

     Series        Obs       Mean        Std Error      Minimum       Maximum
D1CNY                 40   1.708684992   3.930345983  -5.170687974   8.627961755
D1FRY                 40   1.776101932   2.065807565  -3.164527579   5.705642978
D1BDY                 40   1.571140105   4.232329214 -10.891085283  10.499398061
D1ITY                 40   2.165524759   2.153799715  -2.083677754   6.654850845
D1JPY                 40   3.211173034   2.911726376  -2.488468224  10.140368713
D1UKY                 40   2.116895364   3.350502286  -7.660235805   7.899575037
D1USY                 40   2.004100829   3.896645453  -9.419533733   8.425164002

     Series        Obs       Mean        Std Error      Minimum       Maximum
D4CNY                 40  1.8017949323  2.6660094345 -4.8896919641  5.2891095314
D4FRY                 40  1.7022302457  1.2703732830 -1.0597267573  3.9351387671
D4BDY                 40  1.6161129468  1.6731223263 -1.7926509089  4.3080316627
D4ITY                 40  2.3243506237  1.3325717280  0.0023212156  4.9501833666
D4JPY                 40  3.0704585949  1.5691328236  0.2270765490  6.4678968832
D4UKY                 40  2.1461507039  2.5144356178 -4.2842944931  5.5339068443
D4USY                 40  1.9981613074  2.6615860909 -3.8518116063  7.4144844298

     Series        Obs       Mean        Std Error      Minimum       Maximum
D1CNY                 52   1.519223325   2.688375633  -7.262117161   5.847410166
D1FRY                 52   1.338492689   2.003999830  -3.007389781   4.719933686
D1BDY                 52   1.308373580   2.996872038  -5.291611364   7.888590392
D1ITY                 52   1.323141415   2.317133938  -4.166886666   7.509592733
D1JPY                 52   1.209662324   4.140503968 -14.566283176   8.873765214
D1UKY                 52   1.840966674   2.022787418  -5.365634725   5.252325970
D1USY                 52   1.620686574   2.260315911  -4.353886128   5.750038711

     Series        Obs       Mean        Std Error      Minimum       Maximum
D4CNY                 52  1.4212139654  2.2395270839 -4.6955549414  4.5907022217
D4FRY                 52  1.4326969734  1.4300893694 -1.7693756509  4.1451546830
D4BDY                 52  1.3412202023  1.5289719563 -3.0540590128  4.9883763268
D4ITY                 52  1.3731048517  1.2971252766 -2.0525225347  3.6885568135
D4JPY                 52  1.3067222543  2.0792238335 -2.9951947523  6.3885214323
D4UKY                 52  1.7914263647  1.5978548490 -2.7987652492  4.6175793127
D4USY                 52  1.6021779298  1.4700662509 -2.3306606741  3.7018275245

*****
tst_gdp1.gss
*****
Graph Filtered.jpg

   Graph Filtered.jpg


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 21:56