- 问题: 当你想要问问题时,请使用这个类别
gmm(Generalized method of moment estimation)
[问题类型]:
J-test自由度的问题
[软件熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
[程式范例]:
贴上我执行的结果
下面是code 如果这样不方便看我再上传.r档
library(xlsx)
library(gmm)
options(digits=10)
#===============Australia=======================
data_Aus<-read.xlsx(file="d:\\Dataset_5Countries_real-time.xlsx", sheetIndex=2
,startRow=2,)
z_Aus=data_Aus[25:166,1:8]
z_Aus[,1]
d_Aus_p_t=rep(0,15)
d_Aus_s_t=rep(0,15)
d_Aus_i_t=rep(0,15)
Aus_p_t=z_Aus[1:142,5]#Inflation t+1
Aus_i_t=z_Aus[1:142,2]#Interest Rate
Aus_s_t=z_Aus[1:142,8]#Exchange Rate
for(i in 1:141){
d_Aus_p_t[i]=Aus_p_t[i+1]-Aus_p_t[i]
d_Aus_s_t[i]=Aus_s_t[i+1]-Aus_s_t[i]
d_Aus_i_t[i]=Aus_i_t[i+1]-Aus_i_t[i]
}
d_Aus_p_t_1=d_Aus_p_t[2:141]#dpt+1
d_Aus_s_t_1=d_Aus_s_t[2:141]#dst+1
d_Aus_p_i_1=d_Aus_i_t[2:141]#dit-1
d_Aus_p_t=d_Aus_p_t[1:140]
d_Aus_s_t=d_Aus_s_t[1:140]
d_Aus_i_t=d_Aus_i_t[1:140]
Aus_data=data.frame(dpt = d_Aus_p_t, dit = d_Aus_i_t ,dst = d_Aus_s_t,
dpt_1=d_Aus_p_t_1 ,dit_1=d_Aus_p_i_1, dst_1=d_Aus_s_t_1)
#======================================
#tet=[lambda tau_q rho]
#x=[dpt dit dst dpt+1 dit-1 dst+1]
g2 <- function(tet,x)
{
tau_pi=1.5
m1 = x[,4]-x[,6]-(1-tet[1])*x[,1]+(1-tet[1])*x[,3]
m2 =
-(1-tet[1])*tau_pi*x[,4]+x[,6]+(1-tet[1])*(tet[3]*tau_pi+tet[2])*x[,1]-
(1-tet[1])*tet[2]*x[,3]-tet[1]*tet[3]*x[,5]
m3 =(1-tet[1])*tau_pi*x[,4]-(1-tet[1])*(tet[3]*tau_pi+tet[2] )*x[,1]
+(1-tet[1])*tet[2]*x[,3]+tet[1]*tet[3]*x[,5]-tet[3]
f <- cbind(m1,m2,m3)
return(f)
}
t0 <- c(lambda=0 ,tau_q=0,rho=0)
print(res <- gmm(g=g2,x=Aus_data,t0=t0))
summary(res)
[关键字]:
gmm
我算是新手..最近几个月才开始用R