R

时间:2019-04-30 14:13:47

标签: r

fPortfolio软件包给出的有效边界上的灰点代表什么? 为什么采用“协整方法”会导致有效边界出现异常行为?

我正在通过协整预测预期收益(VECM模型,将其转换为VAR并进行预测)。我想将以这种方式优化的投资组合绩效与通过样本估计简单地获得预期收益的投资组合绩效进行比较。

这是通过协整预测期望的回报:

prediction=function(data)
{
  log.data  = log(data)
  var.fit  = VAR(log.data, lag.max=6)
  K = as.numeric(var.fit$p)
  if (K<2) {
    K = 2
  }
  coint.rc  = ca.jo(log.data,type="eigen",ecdet="const",K)
  v2v  = vec2var(coint.rc,r=1)
  pred.vecm  = predict(v2v,n.ahead=1)

  n  = ncol(data)
  forecast  = exp(matrix(unlist(pred.vecm$fcst, use.names=FALSE),nrow=4)[1,])
  ex.ret  = as.numeric(forecast-data.table::last(data))/as.numeric(data.table::last(data))

  return(ex.ret)
}

这是我设置协整估计量的方法:

cointegration.estimators=function(x,spec=NULL){
  mean=as.numeric(prediction(data))
  list(mu=mean,Sigma=cov(computation.return(data)))
}

这是我通过fPortfolio软件包计算投资组合的方式:

setNFrontierPoints(cointegration)=20
setEstimator(cointegration)="cointegration.estimators"
setSolver(cointegration)="solveRshortExact"
cointegrationFrontier=portfolioFrontier(
  data=return,
  spec=cointegration,
  constraints="Short")

#Plotting the Efficient Frontier
tailoredFrontierPlot(object=cointegrationFrontier,mText="MV Portfolio, Cointegration - Short Constraints, Unlimited",risk="Cov")

为什么我要获得以下有效前沿? https://i.ibb.co/tPfp4Js/efficient-frontier-classic-stack.png https://i.ibb.co/80y8mPR/efficient-frontier-cointegration-stack.png 为什么在第二个图中,灰色点在黑色点上方?

0 个答案:

没有答案