Aan de slagGa gratis aan de slag

Beperkingen op gewichten opleggen

Beleggers worden vaak beperkt door de maximaal toegestane waarden voor de portefeuillegewichten. Deze beperkingen kunnen juist een voordeel zijn. Het voordeel van een maximale gewichtsbeperking is dat de resulterende portefeuille minder geconcentreerd is in bepaalde assets. Er is echter ook een nadeel. Het nadeel is dat hetzelfde streef- of doeltierendement mogelijk niet meer haalbaar is of alleen tegen de prijs van een hogere volatiliteit.

Onthoud uit de vorige oefening dat je met de functie portfolio.optim() gewichtsbeperkingen kunt instellen via het argument reshigh. reshigh verwacht een vector met maximale gewichten voor elke asset.

In deze oefening maak je drie portefeuilles met verschillende maximale gewichtsbeperkingen. Voor deze oefening is het belangrijk om de output van de functie portfolio.optim() te kennen. Deze functie maakt een lijst met vier componenten: (i) $pw: de portefeuillegewichten, (ii) $px: het rendement van de totale portefeuille, (iii) $pm: het verwachte portefeuillerendement, (iv) $ps: de standaarddeviatie van de portefeuillerendementen.

Deze oefening maakt deel uit van de cursus

Introductie tot portefeuilleanalyse in R

Cursus bekijken

Oefeninstructies

  • Maak drie vectors met maximale gewichten voor elke asset (kolom) in returns met de functie rep(). De eerste vector bevat maximale gewichten van 100%, de tweede 10% en de derde 5%. Noem deze respectievelijk max_weights1, max_weights2, max_weights3.
  • Maak een optimale portefeuille met maximale gewichten van 100% en noem die opt1.
  • Maak een optimale portefeuille met maximale gewichten van 10% en noem die opt2.
  • Maak een optimale portefeuille met maximale gewichten van 5% en noem die opt3.
  • Bereken voor elke portefeuille hoeveel assets een gewicht hebben dat groter is dan 1%. Raadpleeg de gewichten door $pw te gebruiken na de portefeuillenaam.
  • Print de volatiliteiten (standaarddeviaties $ps) van de drie portefeuilles die je hebt gemaakt.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Create vectors of maximum weights
max_weights1 <- rep(1, ncol(returns))
max_weights2 <- ___
max_weights3 <- ___

# Create an optimum portfolio with max weights of 100%
opt1 <- portfolio.optim(___, reshigh = ___)

# Create an optimum portfolio with max weights of 10%


# Create an optimum portfolio with max weights of 5%


# Calculate how many assets have a weight that is greater than 1% for each portfolio
sum(opt1$pw > .01)
sum(___$pw > .01)
sum(___$pw > .01)

# Print portfolio volatilites 
opt1$ps
___$__
___$__

Code bewerken en uitvoeren