Teoria modernă a portofoliului

Managementul Cantitativ al Riscului în Python

Jamsheed Shorish

Computational Economist

Relația risc-randament

  • Factori de risc: surse de incertitudine ce afectează randamentul
  • Intuitiv: incertitudine mai mare (risc sporit) compensată de randament mai mare
  • Nu se poate garanta randamentul: este necesar un indicator al randamentului așteptat
    • randamentul istoric mediu (medie aritmetică): estimator al randamentului viitor
Managementul Cantitativ al Riscului în Python

Apetitul de risc al investitorului

  • Sondaj investitori: randamentul minim acceptat pentru un nivel dat de risc?
  • Răspunsul creează un „punct de date" (risc, randament) al profilului de risc
  • Varierea nivelului de risc => set de puncte (risc, randament)
  • Apetitul de risc al investitorului: definește o relație cuantificată între risc și randament
Managementul Cantitativ al Riscului în Python

Alegerea ponderilor portofoliului

  • Varierea ponderilor portofoliului unui portofoliu dat => generează un set de perechi (risc, randament)
  • Modificarea ponderilor = începutul managementului riscului!
  • Obiectiv: ajustarea ponderilor pentru a maximiza randamentul așteptat la un nivel dat de risc
    • Echivalent: minimizarea riscului la un nivel dat al randamentului așteptat
  • Modificarea ponderilor = ajustarea expunerii la risc a investitorului
Managementul Cantitativ al Riscului în Python

Teoria modernă a portofoliului

  • Portofoliu eficient: ponderi care generează cel mai mare randament așteptat pentru un nivel dat de risc
  • Teoria Modernă a Portofoliului (MPT), 1952
    • H. M. Markowitz (Laureat Nobel 1990)
  • Vectorul de ponderi eficiente $w^\star$ rezolvă:

Ecuațiile problemei de optimizare pentru determinarea portofoliului eficient

Managementul Cantitativ al Riscului în Python

Frontiera eficientă

  • Calcularea mai multor portofolii eficiente pentru diferite niveluri de risc
  • Frontiera eficientă: locul geometric al perechilor (risc, randament) generate de portofolii eficiente
  • Biblioteca PyPortfolioOpt: instrumente optimizate pentru MPT
    • Clasa EfficientFrontier: generează câte un portofoliu optim pe rând
    • Clasa Constrained Line Algorithm (CLA): generează întreaga frontieră eficientă
      • Necesită matricea de covarianță a randamentelor
      • Necesită estimator al randamentelor viitoare: randamente istorice medii
Managementul Cantitativ al Riscului în Python

Portofoliu bancă de investiții 2005 - 2010

  • Randamente așteptate: date istorice
  • Matricea de covarianță: Covariance Shrinkage îmbunătățește eficiența estimării
  • Obiectul Constrained Line Algorithm CLA
  • Portofoliu cu varianță minimă: cla.min_volatility()
  • Frontiera eficientă: cla.efficient_frontier()

 

expected_returns = mean_historical_return(prices)

efficient_cov = CovarianceShrinkage(prices).ledoit_wolf()
cla = CLA(expected_returns, efficient_cov)
minimum_variance = cla.min_volatility()
(ret, vol, weights) = cla.efficient_frontier()
Managementul Cantitativ al Riscului în Python

Vizualizarea frontierei eficiente

  • Grafic de dispersie al perechilor (vol, ret)

Graficul frontierei eficiente reprezentat ca serie de perechi (risc, randament)

Managementul Cantitativ al Riscului în Python

Vizualizarea frontierei eficiente

  • Grafic de dispersie al perechilor (vol, ret)
  • Portofoliu cu varianță minimă: cea mai mică volatilitate dintre toate portofoliile eficiente posibile

Portofoliul cu varianță minimă evidențiat pe graficul frontierei eficiente

Managementul Cantitativ al Riscului în Python

Vizualizarea frontierei eficiente

  • Grafic de dispersie al perechilor (vol, ret)
  • Portofoliu cu varianță minimă: cea mai mică volatilitate dintre toate portofoliile eficiente posibile
  • Apetit de risc crescut: deplasare de-a lungul frontierei

Deplasare de-a lungul frontierei eficiente reprezentată printr-o săgeată în direcția riscului și randamentului mai mare

Managementul Cantitativ al Riscului în Python

Să exersăm!

Managementul Cantitativ al Riscului în Python

Preparing Video For Download...