##################Supplemental Materials 1####################
#R code to generate Figures 1 to 3
##############################################################

##############################################################
#Figure 1
##############################################################
rock<- seq(from=-4, to=4, length=1000)
bt1_obs=(1+rock)*1
b2=(1+rock)*0.5
b3=(1+rock)*0.25
plot(rock, bt1_obs, ylab=expression(paste("expected value of the observed","  " ,beta[1])), xlab=expression(paste(rho, "*k")), type="l", lwd=4)
points(rock, b2, type="l", lwd=4, col="grey50")
points(rock, b3, type="l", lwd=4, col="grey25")
abline(v=-1, lty=3, col="blue", lwd=2)
abline(h=0, lty=3, col="red", lwd=2)
text(x=-3.5,y=-2.5,pos=4,label = "wrong direction")
text(x=-0.5,y=4,pos=4,label = "right direction")
text(x=2.5,y=3.4,pos=4,label = expression(paste(beta[1], "=1")))
text(x=2.5,y=1.5,pos=4,label = expression(paste(beta[1], "=0.5")))
text(x=2.5,y=0.5,pos=4,label = expression(paste(beta[1], "=0.25")))

##############################################################
#Figure 2
##############################################################
#Function to plot RMSE for worst (black)/medium (grey)/best )light grey

plot.rmse <- function(k, rho, bt1, vr.cum=1, vr.y=.1^2, y.rng=c(0,.1), ADD.RLB=T) {
### note - suggesting values for var(log cum eps) and sigma2
### whereas user must give k, rho, bt1
### intermediate var(log duration)
vr.dur <- vr.cum/(1+2*rho*k+k^2)
### estimator variances and bias
vr.wrs <- (vr.y + bt1^2*(1-rho^2)*k^2*vr.dur) / vr.dur
bs.wrs <- rho*k*bt1
vr.med <- vr.wrs/((1+rho*k)^2)
vr.bst <- vr.y/vr.cum
n.seq <- seq(from=50, to=2000, by=5)
plot(-1,-1, xlim=c(0, max(n.seq)), ylim=y.rng, col="black", lwd=2)
if (!ADD.RLB) {
### plot WORST as usual
points(n.seq, sqrt(bs.wrs^2 + vr.wrs/n.seq), type="l",col="black", lwd=2)
}
else {
### switch to dotted for n with nominal 95% coverage < 50%
n.swtch <- max(n.seq)+.01
bs <- rho*k*bt1
if (bs!=0) {
n.swtch <- (vr.wrs/bs^2)*(qnorm(.975)-qnorm(.5))^2
ndx <- n.seq>n.swtch
if (sum(ndx)>0) {
points(n.seq[ndx],
sqrt(bs.wrs^2 + vr.wrs/n.seq[ndx]),
type="l", lty=3, col="black", lwd=2)
}
}
ndx <- n.seq<=n.swtch
points(n.seq[ndx],
sqrt(bs.wrs^2 + vr.wrs/n.seq[ndx]),
type="l", col="black", lwd=2)
}
points(n.seq, sqrt(vr.med/n.seq), type="l", col="grey50", lwd=2)
1
points(n.seq, sqrt(vr.bst/n.seq), type="l", col="grey75", lwd=2)
text(x=1000,y=0.295,pos=1,cex=1.5, label = bquote(paste(rho~ "="~.(rho))))
}
####apply function plot.rmse to generate Figure 2
rhoval <- c(-.5, -.05, .05, .5)
k <- 1
png("Figure2.png", units="px", width=9600, height=3200, res=1200) 
par(mfrow=c(1,4), cex=.75, mai=c(0.5,0.5,0.05,0.05), oma = c(1, 1, 1, 1))
for (rho in rhoval) {
plot.rmse(k=k, rho=rho, bt1=.5, y.rng=c(0,.3))
}
mtext("Sample Size", outer = TRUE, cex = 1, side=1)
mtext("RMSE", outer = TRUE, cex = 1, side=2)
dev.off()

##############################################################
#Figure 3
##############################################################
vr.cum=1
vr.y=.1^2
n=5000
rho <- -0.05
rock<- seq(from=-3, to=0, length=1000)
##############
bt1=0
##############
k <- rock/rho
bs.wrs <- rho*k*bt1
vr.dur <- vr.cum/(1+2*rock+k^2)
vr.wrs <- (vr.y + bt1^2*(1-rho^2)*k^2*vr.dur) / vr.dur
vr.med <- vr.wrs/((1+rock)^2)
RMSE_w=sqrt(bs.wrs^2 + vr.wrs/n)
RMSE_m=sqrt(vr.med/n)
##############
R0=RMSE_w/RMSE_m
####################################################
##############
bt1=0.1
##############
k <- rock/rho
bs.wrs <- rho*k*bt1
vr.dur <- vr.cum/(1+2*rock+k^2)
vr.wrs <- (vr.y + bt1^2*(1-rho^2)*k^2*vr.dur) / vr.dur
vr.med <- vr.wrs/((1+rock)^2)
RMSE_w=sqrt(bs.wrs^2 + vr.wrs/n)
RMSE_m=sqrt(vr.med/n)
##############
R1=RMSE_w/RMSE_m
####################################################
bt1=0.5
##############
k <- rock/rho
bs.wrs <- rho*k*bt1
vr.dur <- vr.cum/(1+2*rock+k^2)
vr.wrs <- (vr.y + bt1^2*(1-rho^2)*k^2*vr.dur) / vr.dur
vr.med <- vr.wrs/((1+rock)^2)
RMSE_w=sqrt(bs.wrs^2 + vr.wrs/n)
RMSE_m=sqrt(vr.med/n)
##############
R5=RMSE_w/RMSE_m
####################################################
plot(rock, R0, xlim=c(-3, 0), ylim=c(0, 8), type="l", lwd=3, col="black", 
xlab=expression(paste(rho, "*k")), ylab=expression(paste("RMSE: Naive/Adjusted")))
title(main=expression(paste(rho,"<0")))
points(rock, R1, type="l", lwd=3, col="gray50")
points(rock, R5, type="l", lwd=3, col="gray75")
text(x=-3,y=2.25,pos=4,label = expression(paste(beta[1], "=0")))
text(x=-3,y=4,pos=4,label = expression(paste(beta[1], "=0.1")))
text(x=-3,y=7.75,pos=4,label = expression(paste(beta[1], "=0.5")))
abline(h=1, lty=3, col="red", lwd=2)
abline(v=-1, , lty=3, col="blue", lwd=2)
#################################################end Appendix 2##########################
