graphics.off(); objects(); remove(list=objects()); options(scipen=20); sink(file = "output.txt", append = FALSE, type = "output", split = TRUE); i = 1; st=101; end = 20000; z = 0; eps = 0; r = 0; sigma2 = 0; # SET UP MODEL PARAMETERS mu = 0.; omega = 0.01; alpha = .01; beta = .95; uncond = omega/( 1.0- alpha - beta ); print("Simulating GARCH(1,1) time-series:"); print("population size is:"); print(end); # SIMULATE GARCH(1,1) DATA while(i<=end){ z = rnorm(1, 0, 1); # draw X~N(0,1) if(i==1){ sigma2[i] = uncond; }else{ sigma2[i] = omega + alpha*(eps[i-1]^2) + beta*sigma2[i-1]; } eps[i] = sigma2[i]^(0.5) * z; r[i] = mu + eps[i]; #print(i); i = i + 1; } # GENERATE SAMPLE STATISTICS print("Mean of 'r' and 'sigma2':"); print(mean(r[st:end])); print(mean(sigma2[st:end])); print("Variance of 'r' and 'sigma2':"); print(var(r[st:end])); print(var(sigma2[st:end])); # sets plot to display 4 graphs at once par(mfcol=c(2,2)) plot(r[st:end]); hist(r[st:end]); plot(sigma2[st:end]); hist(sigma2[st:end]); print(summary(r[st:end])); print("Quantiles 0.01,0.05,0.1,.5,.9,.95,.99"); print( quantile(r[st:end], probs = c(0.01,0.05,0.1,.5,.9,.95,.99))); sink(file = NULL);