如何组合VaR图形?

如何组合VaR图形?,r,plot,var,risk-analysis,R,Plot,Var,Risk Analysis,我想手工编程一个滚动风险值。所以我不想使用PerformanceAnalytics包中的VaR。我想在计算后根据时间序列的日志返回进行绘图。 输入: VaR函数: VatR=function(data, alpha) { x=diff(log(data)) mu=mean(x) sigma=sqrt(var(x)) quant=qnorm(alpha, mean=0, sd=1) vatr=tail(data,n=1)*(1-exp((-sigma)*quant+mu)) } da

我想手工编程一个滚动风险值。所以我不想使用PerformanceAnalytics包中的VaR。我想在计算后根据时间序列的日志返回进行绘图。 输入:

VaR函数:

VatR=function(data, alpha)
{
x=diff(log(data))  
mu=mean(x)
sigma=sqrt(var(x))
quant=qnorm(alpha, mean=0, sd=1)
vatr=tail(data,n=1)*(1-exp((-sigma)*quant+mu))    
}

data=GDAXI.DE
alpha=0.95
t=125
l=(-1)*diff(data)  #if GDAXI used code must be changed here diff
loss=c(0,l)
ValueatRisk=matrix(rep(0),length(data),1)
violations=matrix(rep(0),length(data),1)
for(i in (t+1):length(data))
{
ValueatRisk[i]=VatRnorm(data[(i-t):(i-1)] ,alpha)     #failure source
violations[i]=(loss[i] > ValueatRisk[i])
}

outputtheo=(1-alpha)*(length(data)-t) 
print(outputtheo)
outputreal=sum(violations)
print(outputreal)
我想结合这些图形。这似乎是一个缩放问题,我尝试了qplot、ggplot等,但没有成功

graph1=plot(loss[(t+1):length(data)], type="l", col="blue")
graph2=plot(ValueatRisk[(t+1):length(data)], type="l", col="red")

如何将它们合并到一个绘图中?

如果绘图是目前唯一的问题,我认为这将产生您想要的结果

plot(loss[(t+1):length(data)], type="l", col="blue")
lines(ValueatRisk[(t+1):length(data)], type="l", col="red")

(顺便说一句,您的代码不会按原样运行,因为循环中的
VatRnorm()
实际上是旧的/原始的
VatR()

通过“滚动”,您的意思是在一个移动的回报窗口上计算VaR吗?是的,VaR应该类似于一系列回报的上限。这样我以后就可以计算出这个界限被侵犯的频率。它应该会产生一幅像这样的画面
plot(loss[(t+1):length(data)], type="l", col="blue")
lines(ValueatRisk[(t+1):length(data)], type="l", col="red")