IniziaInizia gratis

Ottimizzazione con funzione obiettivo personalizzata

Questo esercizio riprende quello precedente e lanceremo l'ottimizzazione con la funzione obiettivo personalizzata che calcola la deviazione standard annualizzata del portafoglio. Poiché una funzione obiettivo può essere qualsiasi funzione R valida, aggiungiamo un obiettivo di rischio per la funzione pasd(). La funzione set.portfolio.moments() non riconoscerà il nome dell'obiettivo pasd(), quindi dobbiamo creare una funzione dei momenti personalizzata per calcolare il secondo momento, sigma. Risolveremo il problema usando portafogli casuali come metodo di ottimizzazione.

Questo esercizio fa parte del corso

Analisi di portafoglio intermedia in R

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi la funzione obiettivo personalizzata che hai creato nell'esercizio precedente all'oggetto di specifica del portafoglio.
  • Stampa l'oggetto di specifica del portafoglio per vedere i vincoli e l'obiettivo.
  • Esegui l'ottimizzazione. Il nome della funzione dei momenti personalizzata è set_sigma.
  • Stampa i risultati dell'ottimizzazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.


# 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

Modifica ed esegui il codice