4-RW Efficient Mkts-GM PDF

Title 4-RW Efficient Mkts-GM
Author Luca Zaffaina
Course Matematica finanziaria
Institution Università degli Studi di Trento
Pages 7
File Size 359.8 KB
File Type PDF
Total Downloads 211
Total Views 450

Summary

Random Walk & Efficient Mkt HypothesisLoad data from .mat fileclear load Stock_FX_BondModifiedCompute Returns and Log-ReturnsGM_logRet=log(GM_AC(2:end)./GM_AC(1:end-1)); F_logRet=log(F_AC(2:end)./F_AC(1:end-1)); SP_logRet=log(SP_AC(2:end)./SP_AC(1:end-1));% faccio il calcolo per GM %GM_logRe...


Description

Random Walk & Efficient Mkt Hypothesis Load data from .mat file clear load Stock_FX_BondModified

Compute Returns and Log-Returns GM_logRet=log(GM_AC(2:end)./GM_AC(1:end-1)); F_logRet=log(F_AC(2:end)./F_AC(1:end-1)); SP_logRet=log(SP_AC(2:end)./SP_AC(1:end-1)); % faccio il calcolo per GM %GM_logRet=SP_logRet %altrimenti posso usare trova/sostituisci CTRL+F %Plot Scatterplot figure(1) clf plot(GM_logRet,'r') xlabel('Time') ylabel('Log Return') title('General Motors')

Histograms with Fitted Normal

1

figure(2) clf histfit(GM_logRet,100,'normal') xlabel('Log Return') ylabel('Frequency') title('General Motors')

% % % % %

Distribuzione piu' appuntita e con code pesanti, questo vuol dire che La frequenza empirica delle osservazioni estreme e' maggiore di quella prevista da una normale. Inoltre, ci aspettiamo asimmetria negativa, questa asimmetria perdite-guadagni conferma il fatto stilizzato che le perdite estreme sembrano essere di dimensione maggiore dei guadagni.

Normal Plot or QQplot vs Normal Distribution figure(3) clf normplot(GM_logRet) xlabel('Log Return') ylabel('Probability') title('General Motors')

2

% Vedo se la distribuzione di probabilita' dei ritorni in scala logartimica % e' approssimabile con una normale.

Autocorrelation nlags=20; [SP_acf,SP_lags,SP_bounds] = autocorr(GM_logRet,nlags); figure(4) clf bar(SP_lags,SP_acf) hold Current plot held

plot(SP_lags,SP_bounds(1).*ones(1,nlags+1),'r*') plot(SP_lags,SP_bounds(1).*ones(1,nlags+1),'r') plot(SP_lags,SP_bounds(2).*ones(1,nlags+1),'r*') plot(SP_lags,SP_bounds(2).*ones(1,nlags+1),'r') xlabel('Lags') ylabel('Autocorrelation (blue) and Confidence Interval (red)') title('General Motors: Return Autocorrelation')

3

% Notice that the second element in SP_acf, which is the autocorrelation % of order one is equal to 0.0009. Do you have any other idea how to compute it? % What if we use ? corrcoef(GM_logRet(2:end)',GM_logRet(1:end-1)') ans = 2×2 1.0000 -0.0191

-0.0191 1.0000

% How can we compute the autocorrelation of order 2? corrcoef(GM_logRet(3:end)',GM_logRet(1:end-2)'); % % % %

il grafico conferma quello previsto dai fatti stilizzati per cui non vi e' autocorrelazione tra il prezzo oggi e il suo passato. Quindi il passato e' approssimabile come white noise e la miglior stima del prezzo oggi e' il prezzo ieri.

Plot Returns(t) vs Returns(t-1) figure(5) clf plot(GM_logRet(1:end-1),GM_logRet(2:end),'r+') % Qui sto confrontando il log-rendimenti di ieri con il log-rend, di oggi. % Se crediamo nell'efficienza dei mercati questi devono essere incorrelati. xlabel('S&P at time (t-1)') ylabel('S&P at time (t)') title('S&P Lag plot')

4

% % % %

vediamo che a parte alcuni eventi estremi, se togliamo questi, abbiamo una nuvola di punti casuali (palla da baseball), quindi sembra che i rendimenti non siano tra loro correlati, quindi non vi e' una dipendenza di ordine 1 tra i rendimenti.

% Questo grafico e' anche utile per verificare l'efficienza dei mercati.

Compute Descriptive Statistics GM_logRet_size=length(GM_logRet); GM_logRet_mean=mean(GM_logRet); GM_logRet_median=median(GM_logRet); GM_logRet_std=std(GM_logRet); GM_logRet_var=var(GM_logRet); GM_logRet_skew=skewness(GM_logRet); GM_logRet_kurt=kurtosis(GM_logRet); GM_logRet_min=min(GM_logRet); GM_logRet_max=max(GM_logRet); sprintf('Size: %0.5g ',GM_logRet_size) ans = 'Size: 4962 '

sprintf('Mean: %0.5g ',GM_logRet_mean) ans = 'Mean: 0.00019592 '

5

sprintf('Median: %0.5g ',GM_logRet_median) ans = 'Median: 0 '

sprintf('Std: %0.5g ',GM_logRet_std) ans = 'Std: 0.02065 '

sprintf('Skewness: %0.5g ',GM_logRet_skew) % se fosse normale mi aspetto skewness = 0 ans = 'Skewness: -0.17245 '

sprintf('Kurtosis: %0.5g ',GM_logRet_kurt) % se fosse normale mi aspetto kurtosis = 3 ans = 'Kurtosis: 10.052 '

sprintf('Min: %0.5g ',GM_logRet_min) ans = 'Min: -0.23594 '

sprintf('Max: %0.5g ',GM_logRet_max) ans = 'Max: 0.16642 '

% What are the values of the kurtosis and skewness? % If you perform the Jarque-Bera Test, do you expect to accept or reject % the null hypothesis of normality?

Test for Normality: Jarque-Bera Test [h_jb,p_jb,stat_jb] = jbtest(GM_logRet,0.05) Warning: P is less than the smallest tabulated value, returning 0.001. h_jb = 1 p_jb = 1.0000e-03 stat_jb = 1.0308e+04

% % % % % % %

What's the Conclusion? test basato su skewness e kurtosis. e' basato su una distribuzione chi quadro, H = 1, rifiuto l'ipotesi nulla di normalita'. Posso vedere ancha dal p-value...


Similar Free PDFs