fTortfolio包中的setTargetReturn

时间:2014-04-19 19:51:26

标签: portfolio

我有三个资产组合。我需要设置第二个资产的目标回报

每当我尝试收到此错误

asset.ts< - as.timeSeries(asset.ret)

spec< - portfolioSpec()

setSolver(spec)< - “solveRshortExact”

约束< - c(“短”)

setTargetReturn(Spec)= mean(colMeans(asset.ts [,2]))

efficientPortfolio(asset.ts,spec,constraints) 错误:is.numeric(targetReturn)不为TRUE

名称:  MV高效投资组合  Estimator:covEstimator  求解器:solveRquadprog  优化:minRisk  约束:短暂

投资组合权重: MSFT AAPL NORD    0 0 0

协方差风险预算: MSFT AAPL NORD

目标回报和风险:  意思是mu Cov Sigma CVaR VaR     0 0 0 0 0 0

描述:  2014年4月19日星期六15:03:24用户:Usuario

我试过,我已经搜索了网页,但我不知道如何设置目标回报

表示数据集的特定预期返回值。我可以复制我的第二个资产的平均值#但我认为由于小数它可能会影响答案。

1 个答案:

答案 0 :(得分:0)

当使用2个资产时,我遇到了这个错误。 似乎是PortOpt方法中的错误。 当有2个资产时,它运行:.mvSolveTwoAssets 它在portfolioSpecs中寻找TargetReturn。

但是如您所知,并不总是需要targetReturn。

但是在您的代码中,您有两个单独的变量用于规范。 'spec'和'Spec'

即:'Spec'..假设这是一个拼写错误,那么这条线需要改变。 setTargetReturn(Spec)= mean(colMeans(asset.ts [,2]))