%% ESERCIZIO I
% Utilizzando i dati presenti nel file MI.xlsx. Costruire il grafico a candele Giapponesi con riferimento al periodo (primo dicembre 2020)-(30 luglio 2021) Aggiungere come titolo dell'asse y il proprio Cognome e numero di matricola Calcolare la media del prezzo del titolo per ogni mese. Rappresentare graficamente l'andamento del prezzo medio mensile. Aggiungere come titolo del grafico il proprio nome.

Y=readtimetable("MI.xlsx");
seltime = timerange('2020-12-1','2021-07-30');
Ysel=Y(seltime,:);

candle(Ysel,'b')
Ymensile= retime(Ysel,'monthly','mean');
ylabel("RIANI 051485")

% Nel testo non era specificato di quale serie storica mensile fare il
% grafico. Di seguito si utilizza il prezzo di chiusura e la funzione
% stackedplot. Andava bene utilizzare anche un altro prezzo ed utilizzare
% plot invece di stackedplot
figure
stackedplot(Ymensile(:,"AdjClose"))
title('Marco');

%
%% Esercizio II

 Y=[ 30.67    9.718       11.791  30.67    9.70       8.791 
 30.65    9.745       11.966  30.65    9.71       8.966
 31.13    9.676       11.760  31.13    9.98       8.760
 30.69    9.394       11.536  30.69    10.24       8.536
 30.77    9.400       11.951  30.77    10.22       8.951
 30.33    9.136       11.682  30.33    10.13       8.682];

% Pesi assoluti wass
wori=[2000     1000    30000      8000   12000     15000];
primariga=Y(1,:);
wass=wori.*primariga;
w=wass/sum(wass);

% Calcolo di rA
rt=log(Y(end,:)./Y(1,:));
rA=log(sum(w.*exp(rt)));
disp("Rendimento del portafoglio nell'intero periodo")
disp(rA)

% Oppure
% rAchk=log(sum(w.*Y(end,:)./Y(1,:)))

%
%% ESERCIZIO III
% Caricare i dati presenti nel file indiceB.xlsx Calcolare l'indice Beta e R2 per tutti i titoli presenti nel file prendendo come variabile di riferimento il prezzo del titolo ENEL. Utilizzare le variabili etichettate con ALT. EXCH. PRICE. Discutere l'indice Beta. Mostrare tramite disp il titolo con il valore più alto dell'indice Beta e spiegarne il significato.

Y=readtable("IndiceB.xlsx","ReadRowNames",true);
head(Y)

% Utilizzare le variabili etichettate con ALT. EXCH. PRICE.
% Queste variabili sono nelle colonne 4, 9, 14, ..., 44
colonnerichieste=4:5:44;
Y1=Y(:,colonnerichieste);
% Trasformo le serie dei prezzi nelle serie dei rendimenti
Y1r=tick2ret(Y1,'method','Continuous');


nomirichiesti=Y.Properties.VariableNames(colonnerichieste);
p=size(Y1,2);
Beta=zeros(p-1,1);

for j=1:p-1
    outj=fitlm(Y1r{:,'ENEL_ALT_EXCH_PRICE'},Y1r{:,j});
    Beta(j)=outj.Coefficients.Estimate(2);
end

BetaT=array2table(Beta,"RowNames",nomirichiesti(1:end-1),"VariableNames","Indici Beta");
disp(BetaT)

% indmaxBeta= riga dove si trova il valore più grande dell'indice Beta
[~,indmaxBeta]=max(Beta);
disp('titolo con il valore più alto dell indice Beta')
disp(BetaT(indmaxBeta,:))
% UNICREDIT


% Indice Beta
% E' la pendenza in una regressione semplice in cui la variabile
% esplicativa X è il rendimento dell'indice di mercato (𝑠_𝑚) e la
% variabile dipendente Y è il rendimento del titolo j  (𝑠_𝑗)
% Nel testo dell'esercizio si chiedeva di prendere come indice di mercato
% il titolo ENEL
% Indice Beta >1 (b>1) = Il titolo è più volatile (più rischioso) rispetto
% all'indice di mercato nel suo complesso. 
% Indice Beta <1  (b<1) = Il titolo è meno volatile (meno rischioso)
% rispetto all%indice di mercato nel suo complesso, ossia risente poco
% delle fluttuazioni di mercato. 
%
% In questo esempio tutti i titoli presentano valori inferiori ad 1.
% Il valore più grande è assunto da UNICREDIT

% OSSERVAZIONE: NEL CASO DELL'INDICE BETA IL RENDIMENTO DELL'INDICE DI MERCATO DEVE ESSERE TRATTATO COME VARIABILE DIPENDENTE.
% Tuttavia, dato che nel testo dell'esercizio si dichiarava di prendere come variabile dipendente il titolo ENEL andava ugualmente bene anche risolvere l'esercizio mettendo il titolo ENEL come variabile dipendente.In tal caso fitlm andava chiamato come segue:
% outj=fitlm(Y1r{:,j},Y1r{:,'ENEL_ALT_EXCH_PRICE'});