%% ESERCIZIO I % Importare le serie dei rendimenti presenti nel file missing2021.xlsx. % Tramite la funzione mdpattern analizzare l'eventuale presenza di missing % values nel file. Discutere se la distribuzione dei missing può essere % considerata puramente casuale. % Utilizzare nelle analisi di seguito solo le righe che non presentano % valori mancanti. % Calcolare il p-value del test di normalità di Jarque and Bera per tutte % le serie presenti nel file missing2021.xlsx. Per quali serie è % ragionevole assumerere/rfiutare l'ipotesi normalità? % Calcolare il p-value del test di Ljung-Box Q-test utilizzando un numero % di lags fino a 10. % Per quali serie è % ragionevole assumerere/rfiutare l'ipotesi di assenza di autocorrelazione? % % X=readtable('missing2021.xlsx'); Ypat=mdpattern(X); % numero di valori mancanti molto piccolo. % I valori mancanti sono distribuiti in diverse righe. % Non ci sono motivi di pensare che la probabilità di osservare valori % mancanti sia diversa per le cinque serie in questione e/o che ci siano % stati istanti temporali particolari per cui la rilevazione non è stata % possibile. Y1=rmmissing(X); p=size(Y1,2); Pval=zeros(p,2); for j=1:p yj=Y1{:,j}; [~,pvaljb]=jbtest(yj); [~,pvallbq]=lbqtest(yj,'Lags',10); Pval(j,:)=[pvaljb pvallbq]; end varnames=["Jbtest" "Ljung-Box"]; PvalT=array2table(Pval,"RowNames",Y1.Properties.VariableNames,"VariableNames",varnames); disp('p values dei due test') disp(PvalT) % JBtest= per le prime 3 serie rifiuto l'ipotesi di distribuzione normale, % mentre per le ultime due accetto l'ipotesi di distribuzione normale. % Ljung-Box test = per tutte le serie (al livello di significatività del 10 % per cento) accetto l'ipotesi nulla di assenza di autocorrelazione. %% Esercizio II % Importare i dati del tasso di cambio valuta Cinese/EUR presenti nel file % TaxCambio.xlsx. % Importare prima i dati in formato table nella variabile Y % Assegnare alle due colonne i nomi «date» e «tasso» e poi convertire in % time table (assegnare alla timetable le prime 3 lettere del vostro % cognome). Convertire la serie dalla frequenza giornaliera alla frequenza % settimanale, utilizzando come metodo di aggregazione (aggregation method) % la mediana. % % Sulla serie settimanale calcolare la media e la mediana del tasso di % cambio nel 2008, 2009, ..., 2020. Rappresentare, tramite la % funzione plot la media e la mediana del tasso di cambio negli anni sopra % indicati. Commentare il grafico. Aggiungere al grafico il titolo % sull'asse y contenente le prime 3 lettere del proprio cognome e del % numero di matricola. % % Y=readtable("TaxCambio.xlsx"); Y.Properties.VariableNames={'date' 'tasso'}; Ria=table2timetable(Y); Yset=retime(Ria,"weekly","median"); anniRichiesti=2008:2020; lanni=length(anniRichiesti); MediaMediana=[anniRichiesti' zeros(lanni,2)]; for i=1:lanni boo=Yset.date.Year==anniRichiesti(i); Yboo=Yset.tasso(boo); MediaMediana(i,2:3)=[mean(Yboo) median(Yboo)]; end MediaMedianaT=array2table(MediaMediana(:,2:3),"RowNames",string(MediaMediana(:,1)),"VariableNames",["Media" "Mediana"]); disp(MediaMedianaT) plot(MediaMediana(:,1),MediaMediana(:,2:3)) % Media e mediana molto vicini (assenza di valori anomali) ylabel("Ria 051485") %% ESERCIZIO III % Generare una matrice di dati di dimensione 100x4 (4 variabili X1, X2, X3 % e X4) con le seguenti caratteristiche. % Correlazione tra X1 ed X3 inversa % molto elevata (vicina a -0.9). X1 e X2 con correlazione vicino a zero. % Correlazione diretta molto elevata tra X1 e X4. Un valore anomalo % eccezionalmente grande per X4. Calcolare la matrice di correlazione per % verificare che le 4 variabili presentino le correlazioni richieste. % Seed casuale per la replicabilità dei risultati % % rng(100) n=100; x1=(1:n)'; coeff13=50; x3=-3*x1+coeff13*randn(n,1); coeff12=800; x2=coeff12*randn(n,1); coeff14=1; x4=8*x1+coeff14*randn(n,1); x4(8)=max(x4)+500; Ygen=[x1, x2, x3, x4]; figure R=corrplot(Ygen); disp('Matrice di correlazione empirica') disp(R)