Error de solucionador SOCP para fPortoflio usando solveRsocp
Me gustaría usar un solucionador R SOCP para obtener resultados similares al siguiente documento:http://www.optimization-online.org/DB_FILE/2014/05/4366.pdf
Y buscando un poco en Google, parece que solía ser parte defPortfolioSolver
, pero ese paquete parece que ya no existe ...
Y esto se ve como solía implementarse ...
https://stat.ethz.ch/pipermail/r-sig-finance/2010q2/006074.html
El solucionador todavía existe aquí:
Pero debería estar haciendo referencia aRsocp
paquete disponible aquí:
https://r-forge.r-project.org/R/?group_id=156
Sin embargo, hay algunos errores que deben ayudarlo a que funcione
p.ej. la línea 117 necesita cambiar a
Rsocp:::.SqrtMatrix
y la línea 165 necesita cambiar a
optim <- Rsocp::socp(f, A, b, C, d, N, x, z, w, control)
pero cuando ejecuto el siguiente código, aparece el siguiente error ...
lppData=100*LPP2005.RET[,1:6]
maxRetSpec=portfolioSpec()
setTargetRisk(maxRetSpec)=0.07
setSolver(maxRetSpec)="solveRsocp"
efficientPortfolio(data=lppData, spec=maxRetSpec, constraints="LongOnly")
Error in .socp.phase1(f, A, b, N, control) : Phase 1 failed, alpha>=0
traceback()
6 stop("Phase 1 failed, alpha>=0")
5 .socp.phase1(f, A, b, N, control)
4 Rsocp::socp(f, A, b, C, d, N, x, z, w, control) at solveRsocp.R#165
3 .rsocp(f = args$f, A = args$A, b = args$b, C = args$C, d = args$d,
N = args$N, targetRisk = args$targetRisk, mu = args$mu, Scale = args$Scale) at solveRsocp.R#64
2 Solver(data, spec, constraints)
1 efficientPortfolio(data = lppData, spec = maxRetSpec, constraints = "LongOnly")
Cualquier ayuda para resolver esta situación para que el solucionador funcione y que el papel pueda replicarse sería muy apreciado ...