Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
braverock
GitHub Repository: braverock/portfolioanalytics
Path: blob/master/sandbox/paper_analysis/illustration/IllustrationRiskBudget.R
1433 views
1
2
3
# 1. Set working directory
4
setwd("C:/Documents and Settings/Administrator/Desktop/risk budget programs/illustration");
5
6
# Load libraries
7
library(chron); library("tseries"); library(zoo)
8
library(PerformanceAnalytics)
9
10
nameseries = c("IBM","WMT")
11
for( series in nameseries ){
12
close <- get.hist.quote(instrument=series,retclass="zoo",quote="AdjClose", compression="m")
13
close = window( close , start =as.Date("1989-12-01") , end = as.Date("2009-12-31" ) )
14
if(series==nameseries[1]){ P = close }else{ P = merge(P , close ) }
15
}
16
colnames(P ) = nameseries;
17
P = na.omit(P) ; head(P) ; plot(P) ;
18
R = diff(log(P)) ; head(R) ; plot(R) ;
19
20
pfreturns = rowSums(R)/2;
21
IBMdate = time(R)
22
pfVaR = VaR(R=R,method="modified",weights=c(0.5,0.5))
23
24
25
postscript("IBMWMTexample.eps")
26
27
par(mfrow=c(3,1),mar=c(2,2,0,2),cex=1)
28
29
ylim=c( min(R)-0.01,max(R)+0.01)
30
plot(IBMdate,pfreturns,type="h",main="",xlab="",ylab="",ylim=ylim, xaxt="n")
31
text( x=IBMdate[5], y = ylim[2]-0.01, labels="Monthly returns on portfolio with 50% IBM and 50% WMT" ,pos=4)
32
abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");
33
text( IBMdate[1],y = -pfVaR$MVaR-0.1, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )
34
35
par(mar=c(2,2,0,2),cex=1)
36
37
plot( IBMdate,R$IBM,type="h",main="",xlab="",ylab="",ylim=ylim, xaxt="n")
38
text( IBMdate[5],y = ylim[2]-0.01, labels="Monthly returns on IBM stock" ,pos=4 )
39
abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");
40
#text( IBMdate[1],y = -pfVaR$MVaR-0.15, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )
41
42
par(mar=c(2,2,0,2),cex=1 )
43
44
plot(IBMdate,R$WMT,type="h",main="",xlab="",ylab="",ylim=ylim)
45
text( x=IBMdate[5], y = ylim[2]-0.01, labels="Monthly returns on WMT stock" ,pos=4 )
46
abline( h=-pfVaR$MVaR, lty=1 ,lwd=3 , col="blue");
47
#text( IBMdate[1],y = -pfVaR$MVaR-0.05, labels="95% Portfolio VaR",pos=4, col="blue",cex=0.8 )
48
49
dev.off()
50
51
VaR(R=R,method="modified",weights=c(0.5,0.5),portfolio_method="component")
52
ES(R=R,method="modified",weights=c(0.5,0.5))
53