%% Testo: Analisi della serie del FTSEMib negli ultimi anni % % Importare i dati presenti nel file FTSEMib.xlsx in una table inserendo le % date come rownames % Convertire le date dal formato Italiano al formato Americano % Creare la timetable del prezzo di chiusura con i rowtime nel formato % Americano. % Calcolare la medie mobili semplici di lunghezza 50 e 150 % Rappresentare graficamente l'andamento del prezzo di chiusura, e la due % medie mobili appena calcolate. Commentare il grafico % % Calcolare la medie mobili esponenziali di lunghezza 50 e 150 % Rappresentare graficamente l'andamento del prezzo di chiusura, e la due % medie mobili appena calcolate. Commentare il grafico % % Creare il grafico delle bande di Bollinger % Per approfondimento: creare slider in corrispondenza della lunghezza % delle due medie mobili ed esplorare come cambiano i segnali di acquisto e % vendita in corrispondenza della diversa lunghezza delle medie mobili %% Caricamento dati % Y = una table Y = readtable("FTSEMib.xlsx","Range","C1:H1050","ReadRowNames",true); times=Y.Properties.RowNames; % Il formato delle date Italiano è convertito nel formato Americano tim=datetime(times,'Locale','system'); % Osservazione: anche l'istruzione % Yt=table2timetable(Y(:,"Chiusura"),"RowTimes",tim); % andava bene % Creazione della timetable Yt=table2timetable(Y(:,"Chiusura"),"RowTimes",tim); Yt=Yt(:,2); %% Calcolo delle medie mobili di 50 e 150 termini mm50=movavg(Yt,'simple',50); mm150=movavg(Yt,'simple',150); figure("Name","Medie mobili semplici") plot(tim,Yt{:,1},'b',tim,mm50{:,1},'r--',tim,mm150{:,1},'k') legend({'FTSEMib' 'mm semplice 50 termini' 'mm semplice 150 termini'},'Location','best') xlabel('Time') title('FTSEMib e serie storiche di breve-medio e lungo periodo semplici') %% Commento % Luglio 2018 la mm di breve taglia la mm di lungo dall'alto. Segnale di % vendita. % Febbraio 2019 la mm di breve taglia la mm di lungo dal basso. Segnale di % acquisto. % 18 marzo 2020 segnale di vendita TROPPO TARDI, l'indice è già crollato. % Nel periodo marzo-giugno 2020 la media mobile di lungo è completamente % scollegata dall'andamento della serie % Nel periodo settembre 2020-settembre 2021 la media a 50 termini non si è % mai intersecata con quella di lungo. %% Calcolo delle medie mobili esponenziali mm50=movavg(Yt,'exponential',50); mm150=movavg(Yt,'exponential',150); figure("Name","Medie mobili esponenziali") plot(tim,Yt{:,1},'b',tim,mm50{:,1},'r--',tim,mm150{:,1},'k') legend({'FTSEMib' 'mm esponenziale 50 termini' 'mm esponenziale 150 termini'},'Location','best') xlabel('Time') title('FTSEMib e serie storiche di breve-medio e lungo periodo esponenziali') % Il commento è simile a quello delle medie mobili semplici. % In questo caso però intorno al 20 novembre 2020 la media di breve ha % tagliato verso l'alto quella di lungo. % Chi è entrato nel mercato a novembre 2020 ha fatto veramente buoni % affari!!! %% Calcolo delle bande di Bollinger [middle,upper,lower]= bollinger(Yt); figure("Name","Medie mobili e Bande di Bollinger") plot(tim,Yt{:,1},'b',tim,middle{:,1},'r--',tim,lower{:,1},'r--',tim,upper{:,1},'r--') xlabel('Time')