Analyse de portefeuille intermédiaire en R
Ross Bennett
Instructor
Résoudre un problème d'optimisation de portefeuille proche des cas rencontrés dans l'industrie
Appliquer les techniques vues dans le cours
Définir un portefeuille avec contraintes et objectifs
Lancer l'optimisation avec rebalancement périodique sur des données historiques
Analyser les résultats
Affiner contraintes, objectifs et estimations des moments
Données
Rendements mensuels des indices EDHEC-Risk Alternative {6}
Janv. 1997 - mars 2016
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
Définir une spécification de portefeuille servant de cas de base
La spécification de base se veut simple, avec des contraintes souples et des objectifs élémentaires
# 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")
Analyse de portefeuille intermédiaire en R