2-Esercitazione 202010 05 PDF

Title 2-Esercitazione 202010 05
Author Luca Zaffaina
Course Matematica finanziaria
Institution Università degli Studi di Trento
Pages 8
File Size 476.5 KB
File Type PDF
Total Downloads 15
Total Views 61

Summary

2 - Esercitazione MATLABcancella tutte le variabili in ambiente MATLAB e chiudi tutte le finestre(figure)clear; close all;Carica dati da daset formato MATLABload databaseControlla quali variabili sono nel workspacewhosName Size Bytes Class Attributesdatabase 1x1 97401634 structAttribusci a SP100 e S...


Description

2 - Esercitazione MATLAB cancella tutte le variabili in ambiente MATLAB e chiudi tutte le finestre (figure) clear; close all;

Carica dati da daset formato MATLAB load database.mat

Controlla quali variabili sono nel workspace whos Name

Size

database

1x1

Bytes 97401634

Class

Attributes

struct

Attribusci a SP100 e SP500 le serie storiche dei prezzi dello S&P100 e S&P500 SP100=database.SP100.index_prices; SP500=database.SP500.index_prices;

Plot/Rappresenta le serie storiche dei prezzi figure plot(SP100) hold Current plot held

plot(SP500,'r') xlabel('Time') ylabel('Prezzi') title('Grafico delle serie storiche dei prezzi') legend('SP100','SP500')

1

Rappresenta le serie storiche dei prezzi nella medesima figura ma in due subplots Utilizza il comando subplot figure() subplot(2,1,1) plot(SP100) xlabel('Time') ylabel('Prezzi') title('SP100') legend('SP100') grid subplot(2,1,2) plot(SP500,'r:') xlabel('Time') ylabel('Prezzi') title('SP500') legend('SP500') grid

2

Calcola le serie storiche dei rendimenti logaritmici rt=log(Pt/Pt-1) esempio con vettore: i rendimenti sono uguali al logaritmo del prezzo di oggi (end) diviso il prezzo di ieri (end-1). Domani sarà il prezzo di domani diviso il prezzo di oggi. Estraggo dal vettore tutti gli elementi da domani alla fine x=1:6; x(2:end); x(1:end-1); % Estraggo tutti gli elementi da oggi a quello prima della fine. % per trovare il rendimento logaritmico devo dividere il prezzo al tempo % uno per il prezzo al tempo due; il prezzo al tempo due per il prezzo al % tempo tre e così via. Posso fare questo usando la divisione elemento per % elemento con l'operatore "./" (x(2:end))./(x(1:end-1)) ans = 1×5 2.0000

1.5000

1.3333

1.2500

1.2000

% prezzo successivo diviso il prezzo al tempo precedente questo perchè % le serie storiche sono ordinate dal più vecchio al più recente quindi end % equivale al più recente. SP100Ret=log(SP100(2:end)./SP100(1:end-1)); SP500Ret=log(SP500(2:end)./SP500(1:end-1));

3

Plot Grafici Rendimenti figure subplot(2,1,1) plot(SP100Ret) xlabel('Time') ylabel('Log-Returns') title('SP100') subplot(2,1,2) plot(SP500Ret) xlabel('Time') ylabel('Log-Returns') title('SP500')

Disegnare Histfit con normale e tlocationscale per SP100 figure subplot(2,1,1) histfit(SP100Ret,100) subplot(2,1,2) histfit(SP100Ret,100,'tlocationscale')

4

% % % %

possibile domanda da esame: quale dei due approssima meglio la distribuzione dei rendimenti? La distribuzione t-student rispetto alla normale perchè ha le code più pesante ed + più concentrata attorno al valore atteso

Effettuare Jarque-Bera test [hSP100,pSP100]=jbtest(SP100Ret) Warning: P is less than the smallest tabulated value, returning 0.001. hSP100 = 1 pSP100 = 1.0000e-03

[hSP500,pSP500]=jbtest(SP500Ret) Warning: P is less than the smallest tabulated value, returning 0.001. hSP500 = 1 pSP500 = 1.0000e-03

Disegna i qqplot: mostra un grafico quantile su quantile. se non specifico il metro di paragone in qqplot (SP100Ret,'Normal'), la normale è la distribuzione di default. Se i dati provengono da una normale i dati osservati dovrebbero giacere sulla retta che osservo rossa. figure() subplot(2,1,1) qqplot(SP100Ret) subplot(2,1,2) 5

qqplot(SP500Ret)

% qui osservo che la distribuzione normale non approssima bene questi dati.

Disegna i normplot. Qui sull'asse y abbiamo le probabilità: figure() subplot(2,1,1) normplot(SP100Ret) subplot(2,1,2) normplot(SP500Ret)

6

% osservo che i dati si distanziano da una normale (se non esprimo la % distribuzione normplot utilizza la normale).

Paragoniamo qqplot rispetto a normale e tlocationscale figure() pd=makedist('tlocationscale') pd = tLocationScaleDistribution t Location-Scale distribution mu = 0 sigma = 1 nu = 5

subplot(2,1,1) qqplot(SP100Ret) title('Normal') subplot(2,1,2) qqplot(SP100Ret,pd) %faccio il qqplot rispetto ad una t-student. title('t-Student')

7

% Notiamo che qui la distribuzione dei dati è meglio approssimata da una % t-student rispetto che a una Normale.

8...


Similar Free PDFs