%% ESAME METODI QUANTITATIVI PER I MERCATI FINANZIARI 11/01/2023 %% ESERCIZIO 1 (15 punti) % Creare tramite ciclo oppure moltiplicazione matriciale la matrice % X che segue (punti 5) % % 6 8 10 12 14 16 18 20 % 9 12 15 18 21 24 27 30 % 12 16 20 24 28 32 36 40 % 15 20 25 30 35 40 45 50 % 18 24 30 36 42 48 54 60 % 21 28 35 42 49 56 63 70 % 24 32 40 48 56 64 72 80 % % X=(2:8)'*(3:10); disp(X) % Caricare in memoria il dataset swiss_banknotes tramite l'istruzione % load swiss_banknotes % Questo dataset contiene 6 caratteristiche di 200 % banconote. % Per ogni variabile del dataset, costruire un grafico ad istogrammi con % sovraimposta la densità normale e verificare l'adattamento. Inserire in % ogni pannello il nome della variabile nel titolo dell'asse % delle ordinate. % Commentare il grado di adattamento alla distribuzione normale di ogni % variabile. (punti 5) % L'esercizio di cui sopra è esattamene uguale all'Esercizio 8.5 di p. 220 del % testo % Per ogni variabile calcolare il test di normalità. % Inserire il pvalue del test di normalità di ogni variabile in un vettore % colonna denominato con le prime 4 lettere (senza accenti) del proprio % cognome. Commentare i p-values. (punti 5) load swiss_banknotes % p=numero di colonne del dataset p=size(swiss_banknotes,2); % Inizializzo il vettore che conterrà i p-values dei test di normalittà RIAN=zeros(p,1); for j=1:p nexttile Xj=swiss_banknotes{:,j}; [~,pval]=jbtest(Xj); RIAN(j)=pval; histfit(Xj) ylabel(swiss_banknotes.Properties.VariableNames{j}) end disp('P value del test di Normalità per le 6 variabili') disp(RIAN) % Commento: le variabili 3 e 5 possono essere considerate normali % La variabile 2 presenta un p-value intorno a 0.10. % Per le variabili 1, 4 e 6 al livello alpha del 5% rifiuto l'ipotesi nulla % di normalità. %% ESERCIZIO 2 (15 punti) % Si considerino 3 titoli con tassi di rendimento rispettivamente r1, r2 e r3. % La matrice di covarianza e i tassi di rendimento attesi sono uguali a: % A=[2 1 0; 1 2 1; 0 1 2]; m=[0.4 0.4 0.8]; %% 1. (6 punti ) Si calcoli il rendimento atteso, la varianza e le quote del portafogli di minima varianza % supponendo l'esistenza del vincolo di bilancio, no vendite allo scoperto e del vincolo: "x_1+x_3<=1", dove x_1 e x_3 % danno rispettivamente i pesi del titolo 1 e 3; A=[2 1 0; 1 2 1; 0 1 2]; m=[0.4 0.4 0.8]; n=3; [Xmin, fvalmin] = fmincon(@(x) sqrt(x'*A*x), ... % fissa l'obiettivo ones(n,1)/n, ... % imposta i valori di ipotesi/partenza [1 0 1], 1, ... % vincolo di disuguaglianza ones(1,n),1, ... % vincolo di uguaglianza zeros(n,1),[]); % vettore lb mu_min=m*Xmin; % il rendimento atteso disp('Rendimento atteso') disp(mu_min) disp('Varianza') disp(fvalmin^2); % la varianza disp('Quote di portafoglio') disp(Xmin); % quote di portafogli %% 2. (5 punti) Assumendo che i vincoli precedenti rimangono invariati, si determinino % i pesi ottimali, il rendimento atteso e la varianza di un qualsiasi altro portafogli efficiente. % Esempio: Fissa un rendimento atteso maggiore di "mu_min". Ad esempio, se il rendimento atteso è 0.7, % i pesi ottimali e la varianza del portafogli efficiente sono uguali a: mu_i=0.7; [X, fval] = fmincon(@(x) sqrt(x'*A*x), ... % fissa l'obiettivo ones(n,1)/n, ... % imposta i valori di ipotesi/partenza [1 0 1], 1, ... % vincolo di disuguaglianza [ones(1,n); m],.... % primo vincolo di uguaglianza: somma(pesi) = 1 [1 ; mu_i ], ... % secondo vincolo di uguaglianza: valore atteso portafogli = mu_i zeros(n,1),[]); % vincolo di disuguaglianza X; % le quote del portafogli sigma_2 = fval^2; % la varianza %% 3. (4 punti) Supponendo che il rendimento atteso di un portafogli efficiente sia uguale a 0.4, si trovino % i pesi ottimali e la varianza del portafogli efficiente soggetto ai vincoli di bilancio % e i vincoli "x_1>=0, x_2>=0, x_3>=0", "x_1+x_2>=1" e "x_2+x_3=0.6", dove x_1, x_2 e x_3 danno rispettivamente % i pesi del titolo 1, 2 e 3. m_des=0.4; [Xnew, fvalnew] = fmincon(@(x) sqrt(x'*A*x), ... % fissa l'obiettivo ones(n,1)/n, ... % imposta i valori di ipotesi/partenza [-1 -1 0], -1, ... % vincolo di disuguaglianza [ones(1,n); 0 1 1; m],[1; 0.6; m_des], ... % vincoli di uguaglianza zeros(n,1),[]); % vettore lb mu_min=m*Xnew; % il rendimento atteso fvalnew^2; % la varianza Xnew; % quote di portafogli