1. Learn
  2. /
  3. Cursuri
  4. /
  5. Analiză intermediară a portofoliului în R

Connected

exercițiu

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, leverage
    • full_investment este un caz special care setează min_sum = max_sum = 1
    • dollar_neutral este un caz special care setează min_sum = max_sum = 0
  • Constrângeri pentru ponderile individuale ale activelor
    • box
    • long_only este un caz special care setează min = 0 și max = 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.

Instrucțiuni

100 XP
  • Adaugă o constrângere de tip weight_sum astfel încât suma minimă a ponderilor să fie 1 și suma maximă a ponderilor să fie 1.
  • Adaugă o constrângere de tip box astfel î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 group astfel î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.