Rで学ぶ中級ポートフォリオ分析
Ross Bennett
Instructor
業界で一般的なポートフォリオ最適化問題を解く
受講中の手法を適用
制約と目的を持つポートフォリオを定義
過去データで期間リバランス付き最適化を実行
結果を分析
制約・目的・モーメント推定を改善
データ
EDHEC-Risk 代替指数の月次リターン{6}
1997年1月〜2016年3月
data(indexes) returns <- indexes[,1:4]# Equal weight benchmark n <- ncol(returns) equal_weights <- rep(1 / n, n) benchmark_returns <- Return.portfolio(R = returns, weights = equal_weights, rebalance_on = "years") colnames(benchmark_returns) <- "benchmark"# Benchmark performance table.AnnualizedReturns(benchmark_returns)
benchmark
Annualized Return 0.0775
Annualized Std Dev 0.1032
Annualized Sharpe (Rf=0%) 0.7509
基準ケースとして使うポートフォリオ仕様を定義
基本ポートフォリオは、緩い制約と基本的な目的のシンプルな方法
# Base portfolio specification
base_port_spec <- portfolio.spec(assets = colnames(returns))
base_port_spec <- add.constraint(portfolio = base_port_spec,
type = "full_investment")
base_port_spec <- add.constraint(portfolio = base_port_spec,
type = "long_only")
base_port_spec <- add.objective(portfolio = base_port_spec,
type = "risk", name = "StdDev")
Rで学ぶ中級ポートフォリオ分析