Optimering med anpassad målfunktion
Den här övningen bygger vidare på föregående övning. Vi kör nu optimeringen med den anpassade målfunktionen som beräknar portföljens annualiserade standardavvikelse. Eftersom en målfunktion kan vara vilken giltig R-funktion som helst, lägger vi till ett riskmål för funktionen pasd(). Eftersom set.portfolio.moments() inte känner igen målets namn pasd(), behöver vi skapa en anpassad momentfunktion för att beräkna det andra momentet, sigma. Vi löser problemet med slumpmässiga portföljer som optimeringsmetod.
Den här övningen är en del av kursen
Portföljanalys på avancerad nivå i R
Övningsinstruktioner
- Lägg till den anpassade målfunktionen som du skapade i föregående övning i portföljspecifikationsobjektet.
- Skriv ut portföljspecifikationsobjektet för att se begränsningarna och målet.
- Kör optimeringen. Namnet på den anpassade momentfunktionen är
set_sigma. - Skriv ut optimeringsresultaten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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