1. Apprendre
  2. /
  3. Cours
  4. /
  5. Analyse de portefeuille intermédiaire en R

Connected

Exercice

Optimisation sur une seule période

Il existe deux fonctions pour lancer l'optimisation, optimize.portfolio() et optimize.portfolio.rebalancing(). Cet exercice porte sur l'optimisation sur une seule période, et le prochain utilisera optimize.portfolio.rebalancing() pour une optimisation avec rééquilibrage périodique. optimize.portfolio() prend en charge l'optimisation sur une seule période. Les principaux arguments incluent R pour les rendements des actifs, portfolio pour l'objet de spécification du portefeuille, et optimize_method pour indiquer la méthode d'optimisation utilisée pour résoudre le problème. Dans bien des cas, il est utile d'indiquer trace = TRUE pour conserver de l'information supplémentaire pour chaque itération/essai de l'optimisation.

Les méthodes d'optimisation suivantes sont prises en charge :

  • DEoptim : évolution différentielle
  • random : portefeuilles aléatoires
  • GenSA : recuit simulé généralisé
  • pso : optimisation par essaim de particules
  • ROI : R Optimization Infrastructure pour les solveurs de programmation linéaire et quadratique

La méthode d'optimisation choisie doit dépendre du type de problème à résoudre. Par exemple, un problème pouvant être formulé en programmation quadratique devrait être résolu avec un solveur de programmation quadratique, tandis qu'un problème non convexe devrait être résolu avec un solveur global comme DEoptim.

Dans cet exercice, nous allons définir le problème d'optimisation de portefeuille consistant à maximiser le rendement moyen et à minimiser l'écart-type du portefeuille, avec un budget de risque basé sur l'écart-type où le pourcentage de risque minimal est de 5 % et le pourcentage de risque maximal est de 10 %, sous réserve de contraintes d'investissement total et uniquement à la hausse (long only). L'objectif de budget de risque exige un solveur global ; nous allons donc résoudre le problème à l'aide de portefeuilles aléatoires. L'ensemble de portefeuilles aléatoires, rp, est généré à l'aide de 500 permutations pour cet exercice.

Instructions

100 XP

La spécification du portefeuille a déjà été créée et se nomme port_spec. Les rendements, asset_returns, sont aussi disponibles dans votre espace de travail.

  • Exécutez une optimisation sur une seule période avec trace à TRUE en utilisant "random" comme méthode d'optimisation. Assignez le résultat de l'optimisation à une variable nommée opt.
  • Affichez le résultat de l'optimisation.