R ile Orta Düzey Portföy Analizi
Ross Bennett
Instructor
# Periyodik yeniden dengeleme ile optimizasyonu çalıştırın opt_base <- optimize.portfolio.rebalancing(R = returns, optimize_method = "ROI", portfolio = base_port_spec, rebalance_on = "quarters", training_period = 60, rolling_window = 60)# Portföy getirilerini hesaplayın base_returns <- Return.portfolio(returns, extractWeights(opt_base)) colnames(base_returns) <- "base"
# En uygun ağırlıkları görselleştirin
chart.Weights(opt_base)

# Karşılaştırma ölçütü ve portföy getirilerini birleştirin
ret <- cbind(benchmark_returns, base_returns)
# Yıllıklandırılmış performans
table.AnnualizedReturns(ret)
benchmark base
Annualized Return 0.0775 0.0772
Annualized Std Dev 0.1032 0.0436
Annualized Sharpe (Rf=0%) 0.7509 1.7714

# Portföy tanımının bir kopyasını oluşturun box_port_spec <- base_port_spec# Kısıtı güncelleyin box_port_spec <- add.constraint(portfolio = box_port_spec, type = "box", min = 0.05, max = 0.4, indexnum = 2)# Geritesti opt_box <- optimize.portfolio.rebalancing(R = returns, optimize_method = "ROI", portfolio = box_port_spec, rebalance_on = "quarters", training_period = 60, rolling_window = 60)# Portföy getirilerini hesaplayın box_returns <- Return.portfolio(returns, extractWeights(opt_box)) colnames(box_returns) <- "box"
# En uygun ağırlıkları görselleştirin
chart.Weights(opt_box)

# Kutu portföy getirilerini birleştirin ret <- cbind(ret, box_returns)# Yıllıklandırılmış performans table.AnnualizedReturns(ret)
benchmark base box
Annualized Return 0.0775 0.0772 0.0760
Annualized Std Dev 0.1032 0.0436 0.0819
Annualized Sharpe (Rf=0%) 0.7509 1.7714 0.9282
R ile Orta Düzey Portföy Analizi