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
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