R 中级投资组合分析
Ross Bennett
Instructor
在"R 投资组合分析入门"的基础上进阶
探索投资组合优化流程中的高级概念
使用 R 包 PortfolioAnalytics 解决贴近真实情境的投资组合优化问题
现代投资组合理论(MPT)由 Harry Markowitz 于 1952 年提出。
MPT 指出:在给定风险下,投资者应最大化投资组合的期望回报。
常见目标:
最大化单位风险的收益
最小化风险度量
library(PortfolioAnalytics)
data(edhec)
data <- edhec[,1:8]
# Create the portfolio specification
port_spec <- portfolio.spec(colnames(data))
port_spec <- add.constraint(portfolio = port_spec, type = "full_investment")
port_spec <- add.constraint(portfolio = port_spec, type = "long_only")
port_spec <- add.objective(portfolio = port_spec, type = "return", name = "mean")
port_spec <- add.objective(portfolio = port_spec, type = "risk", name = "StdDev")
**************************************************
PortfolioAnalytics Portfolio Specification
**************************************************
Call:
portfolio.spec(assets = colnames(data))
Number of assets: 8
Asset Names
[1] "Convertible Arbitrage" "CTA Global" "Distressed Securities"
[4] "Emerging Markets" "Equity Market Neutral" "Event Driven"
[7] "Fixed Income Arbitrage" "Global Macro"
Constraints
Enabled constraint types
- full_investment
- long_only
Objectives:
Enabled objective names
- mean
- StdDev
# Run optimization and chart results in risk-reward space
opt <- optimize.portfolio(data,
portfolio = port_spec,
optimize_method = "random",
trace = TRUE)
chart.RiskReward(opt,
risk.col = "StdDev",
return.col = "mean",
chart.assets = TRUE)

R 中级投资组合分析