fig819 <- function(post=F) { if(post) {#ps.options (colors=ps.colors.rgb[c("blue", "magenta", "cyan", #"green", "MediumBlue", "red", "black", "yellow", "blue"),]) postscript("Fig819.ps", width=4.4, height=6.6, horizontal=F, pointsize=8) } else {if(dev.cur()==1) motif(); par(ask=T)} par(mfrow = c(3,2), mar=c(5,3,3,1)+0.1) par(mex=0.5,csi=0.11) SP500 <- matrix(scan("../datasets/SP500",skip=15),ncol=5,byrow=T) SP500 <- rev(SP500[1:2529,5]) #closing prices from Jan 2,90 SP500 <- log(as.numeric(SP500)) ########### one period return from Jan. 3, 1990 ############# x <- diff(SP500)^2 n = length(r1) p = 6 Y <- x[(p+1):n] X1 <- x[p:(n-1)] X2 <- x[(p-1):(n-2)] X3 <- x[(p-2):(n-3)] X4 <- x[(p-3):(n-4)] X5 <- x[(p-4):(n-5)] X6 <- x[(p-5):(n-6)] g = 0.75 #fig819.gam <- gam(Y ~ lo(X1,g) + lo(X2,g)+lo(X3,g) + lo(X4,g)+lo(X5,g)+lo(X6,g)) r.term <- predict(fig819.gam, type="term") x <- seq(min(x),max(x), length=101) plot(x, approx(X1,r.term[,1],x,rule=3)$y, type="l", xlab="(a)", ylab="") title("Lag one function") plot(x, approx(X2,r.term[,2],x,rule=3)$y, type="l", xlab="(b)", ylab="") title("Lag two function") plot(x, approx(X3,r.term[,3],x,rule=3)$y, type="l", xlab="(c)", ylab="") title("Lag three function") plot(x, approx(X4,r.term[,4],x,rule=3)$y, type="l", xlab="(d)", ylab="") title("Lag four function") plot(x, approx(X5,r.term[,5],x,rule=3)$y, type="l", xlab="(e)", ylab="") title("Lag Five function") plot(x, approx(X6,r.term[,6],x,rule=3)$y, type="l", xlab="(f)", ylab="") title("Lag Six function") }