Path: blob/master/sandbox/paper_analysis/illustration/IllustrationRiskBudget.R
1433 views
12# 1. Set working directory3setwd("C:/Documents and Settings/Administrator/Desktop/risk budget programs/illustration");45# Load libraries6library(chron); library("tseries"); library(zoo)7library(PerformanceAnalytics)89nameseries = c("IBM","WMT")10for( series in nameseries ){11close <- get.hist.quote(instrument=series,retclass="zoo",quote="AdjClose", compression="m")12close = window( close , start =as.Date("1989-12-01") , end = as.Date("2009-12-31" ) )13if(series==nameseries[1]){ P = close }else{ P = merge(P , close ) }14}15colnames(P ) = nameseries;16P = na.omit(P) ; head(P) ; plot(P) ;17R = diff(log(P)) ; head(R) ; plot(R) ;1819pfreturns = rowSums(R)/2;20IBMdate = time(R)21pfVaR = VaR(R=R,method="modified",weights=c(0.5,0.5))222324postscript("IBMWMTexample.eps")2526par(mfrow=c(3,1),mar=c(2,2,0,2),cex=1)2728ylim=c( min(R)-0.01,max(R)+0.01)29plot(IBMdate,pfreturns,type="h",main="",xlab="",ylab="",ylim=ylim, xaxt="n")30text( x=IBMdate[5], y = ylim[2]-0.01, labels="Monthly returns on portfolio with 50% IBM and 50% WMT" ,pos=4)31abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");32text( IBMdate[1],y = -pfVaR$MVaR-0.1, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )3334par(mar=c(2,2,0,2),cex=1)3536plot( IBMdate,R$IBM,type="h",main="",xlab="",ylab="",ylim=ylim, xaxt="n")37text( IBMdate[5],y = ylim[2]-0.01, labels="Monthly returns on IBM stock" ,pos=4 )38abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");39#text( IBMdate[1],y = -pfVaR$MVaR-0.15, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )4041par(mar=c(2,2,0,2),cex=1 )4243plot(IBMdate,R$WMT,type="h",main="",xlab="",ylab="",ylim=ylim)44text( x=IBMdate[5], y = ylim[2]-0.01, labels="Monthly returns on WMT stock" ,pos=4 )45abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");46#text( IBMdate[1],y = -pfVaR$MVaR-0.05, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )4748dev.off()4950VaR(R=R,method="modified",weights=c(0.5,0.5),portfolio_method="component")51ES(R=R,method="modified",weights=c(0.5,0.5))5253