% Scaricare dal sito della bundesbank % la serie del tasso di cambio euro/dollaro in formato csv % https://www.bundesbank.de/dynamic/action/en/statistics/time-series-databases/time-series-databases/759784/759784?listId=www_sdks_b01012_3 % % Importare prima i dati in formato table nella variabile Y % Assegnare alle due colonne i nomi % «date» e «tasso» % e poi convertire in timetable (assegnare alla timetable il nome Yt) % Fare il grafico della serie con la funzione stackedplot % Convertire la serie da frequenza giornaliera a frequenza mensile e % annuale utilizzando la funzione retime % Denominare le due timetable Ytmonth e Ytyear % % Cancellare tutte le variabili in memoria ad eccezione di Ytmonth. % Suggerimento: per cancellare le variabili in memoria utilizzare la % funzione clearvars. Fare riferimento all'help di clearvars per capire % come escludere dalla cancellazione in memoria una determinata variabile. % % Caricare la serie direttamente in formato timetable % Convertire la serie da frequenza giornaliera a frequenza mensile % utilizzando la funzione convert2monthly e chiamare la nuova timetable % Confrontare Ytmonthchk % Inserire tramite l'istruzione assert il controllo che il contenuto di % Ytmonth sia uguale a quello di Ytmonthchk. Se non sono uguali scrivere il % messaggio di errore % 'Attenzione: Ytmonth è diverso da Ytmonthchk') % Calcolare manualmente la media dei prezzi nel tasso di cambio riferita al % gennaio 1999 %% Soluzione Y=readtable('BBEX3.D.USD.EUR.BB.AC.000.csv','NumHeaderLines',9); head(Y) Y=Y(:,1:2); Y.Properties.VariableNames={'date','tasso'}; Yt=table2timetable(Y(:,2),'RowTimes',Y{:,1}); stackedplot(Yt) %% Conversione della frequenza giornaliera alla frequenza mensile Ytmonth=retime(Yt,'monthly','mean'); %% Conversione della frequenza giornaliera alla frequenza annuale Ytyear=retime(Yt,'yearly','mean'); stackedplot(Ytyear) %% Clear di tutte le variabili in memoria ad eccezione di Ytmonth clearvars -except Ytmonth %% Caricare la serie direttamente in formato timetable Yt=readtimetable('BBEX3.D.USD.EUR.BB.AC.000.csv','NumHeaderLines',9); head(Yt) Yt=Yt(:,1); head(Yt) Yt.Properties.VariableNames="Tasso"; Ytmonthchk=convert2monthly(Yt,'Aggregation','mean'); % Ytmonthchk come contenuto è esattamente uguale a Ytmonth % L'etichetta dei giorni dentro Ytmonthchk è riferita all'ultimo giorno del % mese, quella di Ytmonth al primo giorno del mese disp('controllo uguaglianaza tra Ytmonth e Ytmonthchk') assert(isequal(Ytmonth.tasso,Ytmonthchk.Tasso),'Attenzione: Ytmonth è diverso da Ytmonthchk') %% Calcolo manuale della media dei prezzi riferita al gennaio 1999 boo=Yt.Time.Year==1999 & Yt.Time.Month==1; Ytgen1999=Yt(boo,:); mean(Ytgen1999.Tasso,'omitnan')