Adaugă constrângeri
Constrângerile se adaugă la obiectul specificației de portofoliu cu funcția add.constraint(). Fiecare constrângere adăugată este un obiect separat și este stocată în slotul constraints din obiectul portofoliu. Astfel, constrângerile sunt modulare – poți adăuga, elimina sau modifica cu ușurință oricare dintre ele. Argumentele obligatorii pentru add.constraint() sunt portfolio (portofoliul la care se adaugă constrângerea), type (tipul constrângerii) și argumentele cu nume transmise prin ... constructorului tipului de constrângere.
Tipuri de bază de constrângeri:
- Constrângeri pentru suma ponderilor
weight_sum,weight,leveragefull_investmenteste un caz special care seteazămin_sum = max_sum = 1dollar_neutraleste un caz special care seteazămin_sum = max_sum = 0
- Constrângeri pentru ponderile individuale ale activelor
boxlong_onlyeste un caz special care seteazămin = 0șimax = 1
- Constrângeri pentru suma ponderilor activelor grupate (sector, regiune, clasă de active etc.)
group
- Constrângere pe rentabilitatea medie țintă
return
În acest exercițiu, vei adăuga câteva dintre cele mai frecvente tipuri de constrângeri. Pe lângă tipurile de bază enumerate mai sus, PortfolioAnalytics acceptă și constrângeri de tip limită de poziție, rulaj, diversificare, expunere la factori și expunere la levier. Dacă ești interesat de celelalte tipuri de constrângeri, consultă fișierele de ajutor pentru constructorii acestora. Acolo vei găsi atât o descriere a tipului de constrângere, cât și exemple de cod.
Acest exercițiu face parte din cursul
Analiză intermediară a portofoliului în R
Instrucțiuni pentru exercițiu
- Adaugă o constrângere de tip
weight_sumastfel încât suma minimă a ponderilor să fie 1 și suma maximă a ponderilor să fie 1. - Adaugă o constrângere de tip
boxastfel încât primele cinci active să aibă o pondere minimă de 10%, iar activele rămase să aibă o pondere minimă de 5%. Toate activele au o pondere maximă de 40%. - Adaugă o constrângere de tip
groupastfel încât activele 1, 5, 7, 9, 10 și 11 să formeze primul grup, iar activele 2, 3, 4, 6, 8 și 12 să formeze al doilea grup. Setează ponderea minimă la 40% și ponderea maximă la 60% pentru fiecare grup.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Add the weight sum constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min_sum = ___, max_sum = ___)
# Add the box constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min = c(___), max = ___)
# Add the group constraint
port_spec <- add.constraint(portfolio = ___, type = ___, groups = list(c(___), c(___)), group_min = ___, group_max = ___)
# Print the portfolio specification object