参考了网上的论文,对REITS收益率取对数收益率,即r[t]=100*(log(y[t])-log(y[t-1])),使用R程序调用Winbugs做双指数模型的参数估计,与网上的论文结果不一致,且看到结果不收敛。R程序和Winbugs程序如下://R程序
library(R2WinBUGS)
y=read.table("C:/Users/javhu/Downloads/sy/22.txt")
y=y[,1]
t=length(y)
y=100*(log(y[2:t]) - log(y[1:(t-1)]))
N=length(y)
data<-list("N","y")
# Give initial values to the parameters for winbugs #
inits <-function() {list ( Jsigma=5,
Jeta=5,
mu=0,
k=0,
lamda=0)}
parameters<- c("sigma","eta","mu","k","lamda","Xi","J")
jump.sim<-bugs(data,inits,parameters,"C:/Users/javhu/Downloads/sy/bugs.txt",n.chains=1,n.thin=1,n.burnin=20000,n.iter=50000,bugs.directory = "D:/Program Files/WinBUGS14/")
//Winbugs程序
modle {
for (i in 1 : N) {
y ~ dnorm(r, Jsigma) # 标准
r <- mu + Xi*J
Xi ~ dnorm(k, Jeta) # normally distributed jump-sizes
J ~ dbern(lamda) # jumps-times Bernoulli distributed
}
sigma <- sqrt(1/Jsigma)
eta <- sqrt(1/Jeta)
# prior distributions for parameters
mu ~ dnorm(0, 0.01)
k ~ dnorm(0, 0.01)
lamda ~ dbeta(2, 2)
Jsigma ~ dgamma(5, 0.05)
Jeta ~ dgamma(5, 0.05)
}
求大神指教!