//- Profil pertes cdo square clear xdel(winsid()); stacksize(100000000) //- Tranches CDO de base a = 0.03; b = 0.09; //- Nombre total d'emprunteur dans un panier N_total = 500; //- Nota: La probabilite de defaut depend du taux d interet p = 0.03; //- Tranches du CDO square a_sq = 0.03; b_sq = 0.09; //- Nombre de CDOs consideres dans un CDO squared M = 100; //- Nb simulations Monte Carlo Nb_mc = 10000; N = grand(M,Nb_mc,'bin',N_total,p); loss=1/(N_total*(b-a))*min(max(N-a*N_total,0),(b-a)*N_total); loss=sum(loss,'r')/M; //- Perte normalisée entre 0 et 1 loss=1/(b_sq-a_sq)*min(max(loss-a_sq,0),b_sq-a_sq); //--------------------------- //- Recherche d un quantile: VaR calculée du point de vue d'un //vendeur alpha = 0.01; [xk,k]=gsort(-loss,'g','i'); VaR=-xk(floor(alpha*Nb_mc)); CVaR=-sum(xk(1:floor(alpha*Nb_mc)))/floor(alpha*Nb_mc); disp(VaR,'La VaR est') disp(CVaR,'La CVaR est') //--------------------------- histplot(20,loss)