## First R lab - 2/04/2026 #install.packages(" ") #load packages library(quantmod) library(moments) library(tseries) ## download SP500 data from Yahoo Finance getSymbols("^GSPC", src="yahoo", from="2000-01-02", to="2016-12-31") sp500<-GSPC head(sp500) dim(sp500) # adjusted closing prices adj_p<-sp500$GSPC.Adjusted #View(adj_p) class(adj_p) plot(adj_p) # import data from "sp500.csv" # Index<-read.csv("sp500.csv") # import data from .RData # load("Index.RData") #extract prices as a vector It<-as.vector(adj_p$GSPC.Adjusted) head(It) str(It) # construct log-returns rt<-diff(log(It)) str(rt) N<-length(rt) plot(rt, type = "l", col=2, main="Log-returns") ## exploratory data analysis hist(rt, freq=FALSE, breaks = 30) curve(dnorm(x, mean(rt), sd(rt)), add=TRUE, col="red", lwd=2) #qq plot qqnorm(rt, datax = TRUE) qqline(rt, datax = TRUE) summary(rt) skewness(rt) kurtosis(rt)-3 # testing for normality jarque.bera.test(rt) ## investigate presence of autocorrelation # Ljung-Box test and sample ACF Box.test(rt, lag=15, type="Ljung-Box") acf(rt)