R 中级投资组合分析
Ross Bennett
Instructor
PortfolioAnalytics中的通用投资组合优化流程:
定义投资组合规范
添加约束和目标
运行优化
分析优化结果
portfolio.spec(assets = NULL, ...)
# 资产的字符向量
portfolio.spec(assets = c("SP00", "DJIA", "Nasdaq", "FTSE100", "DAX", "CAC40"))
# 带初始权重的命名向量
initial_weights <- c("SP500" = 0.5, "FTSE100" = 0.3, "NIKKEI" = 0.2)
portfolio.spec(assets = initial_weights)
# 资产数量的标量
portfolio.spec(assets = 4)
add.constraint(portfolio,
type = c("weight_sum", "box", "full_investment",...),
...)
# 初始化投资组合规范
p <- portfolio.spec(assets = 4)
# 添加全额投资约束
p <- add.constraint(portfolio = p, type = "weight_sum",
min_sum = 1, max_sum = 1)
# 添加箱形约束
p <- add.constraint(portfolio = p, type = "box",
min = 0.2, max = 0.6)
add.objective(portfolio,
type = c("return", "risk", ...),
name,
arguments = NULL,
... )
# 初始化投资组合规范
p <- portfolio.spec(assets = 4)
# 添加平均收益目标
p <- add.objective(portfolio = p, type = "return",name = "mean")
# 添加预期短缺风险目标
p <- add.objective(portfolio = p, type = "risk", name = "ES",
arguments = list(p= 0.9, method = "gaussian")
R 中级投资组合分析