################################# ### R commands used in Lecture 9: ################################# > da=read.table("d-ibm-0110.txt",header=T) > head(da) > ibm=log(da$return+1) > nibm=-ibm ### RiskMetrics ######### > source("RMfit.R") > RMfit(nibm) ### One can use default parameter beta = 0.96 wihtout estimation with the following command > RMfit(nibm,estim=F) ### Econometric modeling > require(fGarch) > m1=garchFit(~garch(1,1),data=nibm,trace=F) > summary(m1) > pm1=predict(m1,10) > pm1 > source("RMeasure.R") > RMeasure(-.0006,.00782) > names(pm1) #### 10-day VaR > v1=sqrt(sum(pm1$standardDeviation^2)) > RMeasure(-0.006,v1) > m2=garchFit(~garch(1,1),data=nibm,trace=F,cond.dist="std") > summary(m2) > pm2=predict(m2,1) > pm2 > RMeasure(-.000411,.0081,cond.dist="std",df=5.751) ### Empirical quantile and quantile regression > quantile(nibm,c(0.95,0.99,0.999)) > da1=read.table("d-ibm-rq.txt",header=T) > fix(da1) > require(quantreg) > m3=rq(nibm~vol+vix,data=da1,tau=0.95) > summary(m3) > ts.plot(nibm) > lines(m3$fitted.values,col="red") ### Extreme value theory > require(evir) > m4=gev(nibn,block=21) > m4 > source("evtVaR.R") > evtVaR(0.2517,0.0103,0.0297) ### Peaks over threshold > m4a=pot(nibm,thres=0.01) > plot(m4a) > riskmeasures(m4a,c(0.95,0.99,0.999)) ### generalized Pareto distribution > m5=gpd(nibm,0.01) > m5 > plot(m5) > riskmeasures(m5,c(0.95,0.99,0.999)) #### Simulation to check on limiting distribution of maximum source("EVTsim.R") ## The file has two functions: EVTsim and qgumble m1 <- EVTsim(n=500,iter=5000) quantile(m1$stmax,prob=c(0.95,0.975,0.99)) qgumble(prob=c(0.95,0.975,0.99)) ## Compute quantile of the standard Gumble distribution