# STA 437/1005, Assignment #2, Question #1. # Define functions for multivariate tests and confidence intervals. source("mvn.r") # Read the data into the data frame "ret". ret <- read.table("ret.txt",head=T) # Put plots in a PDF file (one per page). pdf("ass2-Q1-plots.pdf",pointsize=9,horizontal=F) # Plot each variable against year (which is the first variable). par(mfrow=c(ncol(ret)-1,1)) # Seven plots on one page par(mar=c(3,4,1,1)) # Small margins for (i in 2:ncol(ret)) { plot (ret$year, ret[,i], xlab="", ylab=colnames(ret)[i]) abline(h=1) } # Histograms of returns and log returns. par(mfrow=c(ncol(ret)-1,2)) # Seven plots on one page par(mar=c(3,4,1,1)) # Small margins for (i in 2:ncol(ret)) { hist (ret[,i], main=colnames(ret)[i]) abline(v=1,lwd=4) hist (log(ret[,i]), main=paste("log",colnames(ret)[i])) abline(v=0,lwd=4) } # Done with plotting. dev.off() # 90% confidence intervals for returns. cat("\n90% T-square confidence intervals for returns\n\n") print(round(Tsq.conf.int(ret[,-1],level=0.9),4)) cat("\n90% univariate t confidence intervals for returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(ret[,i],conf.level=0.9)$conf.int[1:2],4)) } cat("\n90% Bonferroni confidence intervals for returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(ret[,i],conf.level=1-0.1/(ncol(ret)-1))$conf.int[1:2],4)) } # 95% confidence intervals for returns. cat("\n95% T-square confidence intervals for returns\n\n") print(round(Tsq.conf.int(ret[,-1],level=0.95),4)) cat("\n95% univariate t confidence intervals for returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(ret[,i],conf.level=0.95)$conf.int[1:2],4)) } cat("\n95% Bonferroni confidence intervals for returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(ret[,i],conf.level=1-0.05/(ncol(ret)-1))$conf.int[1:2],4)) } # Standard deviations of returns. cat("\nStandard deviations of returns\n\n") print(round(sd(ret[,-1]),4)) # 90% confidence intervals for log returns. cat("\n90% T-square confidence intervals for log returns\n\n") print(round(Tsq.conf.int(log(ret[,-1]),level=0.9),4)) cat("\n90% univariate t confidence intervals for log returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(log(ret[,i]),conf.level=0.9)$conf.int[1:2],4)) } cat("\n90% Bonferroni confidence intervals for log returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(log(ret[,i]),conf.level=1-0.1/(ncol(ret)-1))$conf.int[1:2],4)) } # 95% confidence intervals for log returns. cat("\n95% T-square confidence intervals for log returns\n\n") print(round(Tsq.conf.int(log(ret[,-1]),level=0.95),4)) cat("\n95% univariate t confidence intervals for log returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(log(ret[,i]),conf.level=0.95)$conf.int[1:2],4)) } cat("\n95% Bonferroni confidence intervals for log returns\n\n") for (i in 2:ncol(ret)) { print(round(t.test(log(ret[,i]),conf.level=1-0.05/(ncol(ret)-1))$conf.int[1:2],4)) } # Standard deviations of log returns. cat("\nStandard deviations of log returns\n\n") print(round(sd(log(ret[,-1])),4))