仍然以fportfolio包中的数据集LPP2005.RET为例。
library(fPortfolio)
#模型设定
mvspec<-portfolioSpec()
setRiskFreeRate(mvspec)<-0
setSolver(mvspec)<-"solveRshortExact"
print(mvspec)
data<-100*LPP2005
Data<-portfolioData(100*LPP2005.RET,mvspec)#100*LPP2005.RET一些股票的收益率
print(Data)
constrains<-"Short"
portfolioConstraints(data,mvspec,constrains)
#方差最小组合求解
globminportfolio<-minvariancePortfolio(Data,mvspec,constrains)
print(globminportfolio)
#求解特定组合的均值方差
m1vspec<-portfolioSpec()
data1<-100*LPP2005.RET
Data1<-portfolioData(100*LPP2005.RET,m1vspec)
n<-ncol(data1)
setWeights(m1vspec)<-rep(1/n,n)
m1vPortfolio<-feasiblePortfolio(Data1,m1vspec,constraints="LongOnly")
print(m1vPortfolio)
#在上面同等收益下,优化组合
mvspec1<-portfolioSpec()
setRiskFreeRate(mvspec1

这篇博客介绍了如何使用R语言的fportfolio包来实现马克维茨资产组合理论。通过示例数据LPP2005.RET,展示了设置风险自由率、构造投资组合、求解最小方差组合、计算特定组合的均值方差、优化组合以及绘制有效前沿的过程。
&spm=1001.2101.3001.5002&articleId=8248343&d=1&t=3&u=a5d39bd66a44494dad3bf909c592f3d0)
387

被折叠的 条评论
为什么被折叠?



