新手求助:1、哪位大神有在winbugs软件中使用的结构转换SV模型(RS-SV)代码??万分感谢!!2、以下是RSDC-t-MSV 模型的 winbugs 参数估计程序,但其中下划线部分(红色的那一句)总说有错,请高人帮忙解读以下!本人新手,请好心人帮助~~
#Cross-correlattion in returns shocks and no cross-correlattion in returns shocks
#No volatiliy spill-over
#Stochastic and hence time varying correlation coefficient
####################################################################
model volatility;
{
#distribution of Ys
###################
for (i in 1:N) {
ysigmadet<-exp(th[i,1]+th[i,2])*(1-rhoep*rhoep);
Yisigma2[i,1,1] <- exp(th[i,2])/ysigmadet;
Yisigma2[i,2,2] <- exp(th[i,1])/ysigmadet;
Yisigma2[i,1,2]<-rhoep*exp(0.5*th[i,1]+0.5*th[i,2])/ysigmadet;
Yisigma2[i,2,1] <- Yisigma2[i,1,2];
Y[i,1:2]~ dmt(muy[],Yisigma2[i,,],v);
c1[i+1]<-Y[i,1:2];
p<-pow((1+exp(delta0+delta1*c1[i+1])),-1);
s~dbern(p);
t<- s+1
}
muy[1]<-0;
muy[2]<-0;
thmean[1,1] <- mu1[1];
thmean[1,2] <- mu2[1];
th[1,1]~dnorm(thmean[1,1],itaua2[1]);
th[1,2]~dnorm(thmean[1,2],itaub2[1]);
sig1[1]<-exp(0.5*th[1,1]);
sig2[1]<-exp(0.5*th[1,2]);
q[1]~dnorm(psi0[1],itau2[1]);
rhoep[1]<-(exp(q[1])-1)/(exp(q[1])+1);
for (i in 2:N) {
thmean[i,1] <- mu1[t] + phi1[t]*(th[i-1,1]-mu1[t]);
thmean[i,2] <- mu2[t] + phi2[t]*(th[i-1,2]-mu2[t]);
th[i,1]~dnorm(thmean[i,1],itaua2[t]);
th[i,2]~dnorm(thmean[i,2],itaub2[t]);
sig1<-exp(0.5*th[i,1]);
sig2<-exp(0.5*th[i,2]);
qmean<-psi0+psi*(q[i-1]-psi0);
q~dnorm(qmean,itau2);
rhoep<-(exp(q)-1)/(exp(q)+1);
}
#distribution of phi, mu, rhoep
###########################
phi1star ~ dbeta(20,1.5);
phi1[1] <- 2*phi1star -1;
phi1[2] <- 2*phi1star -1;
phi2star ~ dbeta(20,1.5);
phi2[1] <- 2*phi2star -1;
phi2[2] <- 2*phi2star -1;
psistar ~ dbeta(20,1.5);
psi <- 2*psistar -1;
vstar~ dchisqr(4);
v<- vstar*2;
itaua2[1] ~ dgamma(2.5,0.025);
itaua2[2] ~ dgamma(2.5,0.025);
taua[1] <- sqrt(1/itaua2[1]);
taua[2] <- sqrt(1/itaua2[2]);
itaub2[1] ~ dgamma(2.5,0.025);
itaub2[2] ~ dgamma(2.5,0.025);
taub[1] <- sqrt(1/itaub2[1]);
taub[2] <- sqrt(1/itaub2[2]);
itau2 ~ dgamma(2.5,0.025);
tau <- sqrt(1/itau2);
mu1[1] ~ dnorm(0,0.04);
mu1[2] ~ dnorm(0,0.04);
mu2[1] ~ dnorm(0,0.04);
mu2[2] ~ dnorm(0,0.04);
psi0~dnorm(0.7,0.1);
delta0~dnorm(0,0.0001);
delta1~dnorm(0,0.0001)
}
list(phi1star=0.99,
phi2star=0.99,mu1=0,mu2=0,itaua2=100,itaub2=100,psistar=0.99,psi0=1.9,itau2=10
0)
list(N=819,
Y=structure(
.Data=c(-0.025461064, -0.041213949,
……
0.003088191, 0.001433372),
.Dim=c(819,2)))