prices <- read.table('/media/alourme/GERMAIN/DSPEG/2016-17/master/bfni/data/price02.csv',header=FALSE,sep=',',dec='.') returns <- log(prices[-1,]/prices[-251,]) # paramètres standards mu=colMeans(returns) sigma=var(returns) # paramètres RiskMetrics lambda=0.9 weights = (1-lambda)*lambda^(250-(1:250)) sigmaRM <- matrix(0,nrow=3,ncol=3) for (i in 1:250){ centeredreturn=as.matrix(returns[i,]-mu) sigmaRM <- sigmaRM + as.numeric(weights[i])*(t(centeredreturn)%*%(centeredreturn)) } # structure du portefeuille theta=rep(1,3)/3*1000 cat('----------','\n') cat('moyenne des rendements','\n') cat(mu,'\n') cat('----------','\n') cat('covariances standard des rendements','\n') print(sigma) cat('----------','\n') cat('covariances RiskMetrics','\n') print(sigmaRM) theta=rep(1,3)/3*100 # structure du portefeuille var = - theta%*%mu-qnorm(0.01)*sqrt(theta%*%sigma%*%theta) cat('----------','\n') cat('value-at-risk 1% Gaussienne : ',var,'\n') var = - theta%*%mu-qnorm(0.01)*sqrt(theta%*%sigmaRM%*%theta) cat('----------','\n') cat('value-at-risk 1% RiskMetrics : ',var,'\n')