CommencerCommencer gratuitement

Optimisation avec une fonction objectif personnalisée

Cet exercice reprend le précédent : nous allons lancer l’optimisation avec la fonction objectif personnalisée qui calcule l’écart-type annualisé du portefeuille. Comme une fonction objectif peut être n’importe quelle fonction R valide, nous ajoutons un objectif de risque pour la fonction pasd(). La fonction set.portfolio.moments() ne reconnaîtra pas le nom d’objectif pasd(), nous devons donc créer une fonction de moments personnalisée pour calculer le second moment, sigma. Nous résoudrons le problème à l’aide de portefeuilles aléatoires comme méthode d’optimisation.

Cet exercice fait partie du cours

Analyse de portefeuille intermédiaire en R

Afficher le cours

Instructions

  • Ajoutez la fonction objectif personnalisée que vous avez créée dans l’exercice précédent à l’objet de spécification du portefeuille.
  • Affichez l’objet de spécification du portefeuille pour voir les contraintes et l’objectif.
  • Lancez l’optimisation. Le nom de la fonction de moments personnalisée est set_sigma.
  • Affichez les résultats de l’optimisation.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.


# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Print the portfolio specificaton object


# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)

# Print the results of the optimization

Modifier et exécuter le code