在'中配置SOCP解算器;R';
我试图使用在'中配置SOCP解算器;R';,r,optimization,solver,portfolio,quantitative-finance,R,Optimization,Solver,Portfolio,Quantitative Finance,我试图使用R中的Rsocp包来解决具有二次约束的线性优化问题。很像 更具体地说,我试图在给定目标风险参数和投资组合/头寸限额的情况下最大化预期回报 install.packages("Rsocp", repos="http://R-Forge.R-project.org") install.packages("fPortfolio") require(fPortfolio) require(Rsocp) 我跑 lppData=100*LPP2005.RET[,1:6] maxRetSpec=p
R
中的Rsocp
包来解决具有二次约束的线性优化问题。很像
更具体地说,我试图在给定目标风险参数和投资组合/头寸限额的情况下最大化预期回报
install.packages("Rsocp", repos="http://R-Forge.R-project.org")
install.packages("fPortfolio")
require(fPortfolio)
require(Rsocp)
我跑
lppData=100*LPP2005.RET[,1:6]
maxRetSpec=portfolioSpec()
setTargetRisk(maxRetSpec)=0.07
groupConstraints请提供一个最小、完整且可复制的示例,其他任何人都可以简单地复制并粘贴到他们的会话中运行。需要包括所有库语句和输入。将你的数据缩减到说明问题所需的最小值。参见:向波士顿致敬,@Fanderson。您可能已经知道,StackOverflow执行用于发布问题的MCVE代码策略。你会考虑添加和更新这样一个M imimun-v可擦除的E-XFLASH代码,这是可行的,它复制了你所面临的问题?这正是StackOverflow在社区Nettiquette中定义的,作为期望的专业社区习惯的一部分。无论如何,欢迎并享受这个伟大的社区,成为全球人民支持的知识帮派中积极、有贡献的成员。请不要在原始版本中列出上述软件包,我认为上述代码应该运行,数据集是fPortfolio软件包的一部分。
lppData=100*LPP2005.RET[,1:6]
maxRetSpec=portfolioSpec()
setTargetRisk(maxRetSpec)=0.07
groupConstraints <- c("minsumW[1:6]=-.75",
"maxsumW[1:6]=1.75")
boxConstraints <- c("minW[1:6]=-1",
"maxW[1:6]=1")
bgConstraints <- c(groupConstraints, boxConstraints)
setSolver(maxRetSpec)="solveRsocp"
efficientPortfolio(data=lppData, spec=maxRetSpec, constraints=bgConstraints)