IniziaInizia gratis

Ottimizzazione con riequilibrio periodico

Eseguire l’ottimizzazione con riequilibrio periodico e analizzare i risultati out-of-sample del backtest è un passaggio importante per comprendere meglio e, se necessario, perfezionare vincoli e obiettivi. optimize.portfolio.rebalancing() supporta l’ottimizzazione con riequilibrio periodico (backtesting) per esaminare le performance out-of-sample. Oltre agli argomenti di optimize.portfolio(), è necessario specificare una frequenza di riequilibrio con rebalance_on, training_period per indicare il numero di periodi da usare come dati di training per l’ottimizzazione iniziale, e rolling_window per indicare il numero di periodi della larghezza della finestra dell’ottimizzazione. Se rolling_window è impostato su NULL, ogni ottimizzazione userà tutti i dati disponibili al periodo in cui l’ottimizzazione viene eseguita.

Per ridurre i tempi di calcolo in questo esercizio, l’insieme di portafogli casuali, rp, è generato usando 50 permutazioni e search_size, cioè quanti portafogli testare, è impostato a 1000. Se devi davvero ottimizzare dei portafogli, probabilmente vorrai testarne di più (il valore predefinito di search_size è 20.000)!

Questo esercizio fa parte del corso

Analisi di portafoglio intermedia in R

Visualizza il corso

Istruzioni dell'esercizio

  • Esegui l’ottimizzazione con riequilibrio trimestrale. Imposta il training period e la rolling window a 60 periodi. Il dataset è mensile, quindi stiamo usando 5 anni di dati storici. Assegna l’output dell’ottimizzazione a una variabile chiamata opt_rebal.
  • Stampa i risultati dell’ottimizzazione.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)


# Print the output of the optimization backtest
Modifica ed esegui il codice