0
ESGF 5IFM Q1 2012Financial Econometric Models  Vincent JEANNIN – ESGF 5IFM            Q1 2012                             ...
ESGF 5IFM Q1 2012Summary of the session (Est. 3h)•   Reminder of Last Session•   Time Series Analysis Principles•   Auto R...
Be logic!                                                          Reminder of Last Session            vinzjeannin@hotmail...
Differentiation possible                                                  ESGF 5IFM Q1 2012                               ...
Time can be a factor of a regression                                       vinzjeannin@hotmail.com   ESGF 5IFM Q1 2012    ...
Differentiation can add value                                    vinzjeannin@hotmail.com   ESGF 5IFM Q1 2012              ...
Check ACF/PACF for autocorrelation                                     vinzjeannin@hotmail.com   ESGF 5IFM Q1 2012         7
Time Series Analysis Principles                                  ESGF 4IFM Q1 2012    Reminders of the 3 steps            ...
ESGF 4IFM Q1 2012Reminders of the 3 components                                vinzjeannin@hotmail.com              Trend  ...
Lag = −1                               ESGF 4IFM Q1 2012      Difference                               vinzjeannin@hotmail...
ESGF 4IFM Q1 2012Differentiate series to obtain stationary seriesTime series analysis and forecast simpler with stationary...
Properties of stationary series          Same distribution of the following                                               ...
Acceptable Shortcut                                                                 ESGF 4IFM Q1 2012A series is stationar...
About the residuals…        White noise!                                                       ESGF 4IFM Q1 2012Normality ...
Auto Regressive Process   Main principle                                                                         ESGF 4IFM...
Let’s upload some dataDATA-read.csv(file=C:/Users/vin/Desktop/Series1.csv,header=T)plot(DATA$Val, type=l)                 ...
Is this a white noise?              hist(DATA$Val, breaks=20)                                          ESGF 4IFM Q1 2012  ...
Probably not…                 Portmanteau test                                                                            ...
Box.test(DATA$Val)                                                                 ESGF 4IFM Q1 2012 Box-Pierce testdata: ...
Let’s try a regression and analyse residuals      TReg-lm(DATA$Val~DATA$t)      plot(DATA$Val, type=l)                    ...
eps-resid(TReg)ks.test(eps, pnorm)layout(matrix(1:4,2,2))plot(TReg)                          ESGF 4IFM Q1 2012            ...
Box-Pierce test                                                       ESGF 4IFM Q1 2012data: epsX-squared = 187.6299, df =...
lag.plot(DATA$Val, 9, do.lines=FALSE)                                            ESGF 4IFM Q1 2012                        ...
Does the differentiation create a stationary series?           plot(diff(DATA$Val), type=l)                               ...
ACF  PACF    par(mfrow=c(2,1))    acf(diff(DATA$Val),20)                                                              ESGF...
Decreasing ACF                                            ESGF 4IFM Q1 2012PACF cancel after order 1                      ...
Let’s try to fit an AR(1) model     Modl-ar(diff(DATA$Val),order.max=20)     plot(Modl$aic)                               ...
ar(diff(DATA$Val),order.max=20)       Call:       ar(x = diff(DATA$Val), order.max = 20)       Coefficients:             1...
Need to test the residuals                                                                        ESGF 4IFM Q1 2012Box.tes...
predict(arima(diff(DATA$Val), order = c(1,0,0)), n.ahead = 7)          $pred          Time Series:          Start = 193   ...
ESGF 4IFM Q1 2012Another typical example?                                vinzjeannin@hotmail.com       You make the commen...
DATA-read.csv(file=C:/Users/vin/Desktop/Series2.csv,header=T)plot(DATA$Ser2, type=l)hist(DATA$Ser2, breaks=20)            ...
Box.test(DATA$Ser2)        Box-Pierce testdata: DATA$Ser2X-squared = 149.9227, df = 1, p-value  2.2e-16                   ...
eps-resid(TReg) Box.test(eps) Box-Pierce testdata: epsX-squared = 148.5669, df = 1, p-value  2.2e-16                      ...
lag.plot(DATA$Ser2, 9, do.lines=FALSE)                                                ESGF 4IFM Q1 2012                   ...
par(mfrow=c(2,1))plot(diff(DATA$Ser2), type=l)plot(diff(DATA$Ser2, lag=2), type=l)                                        ...
par(mfrow=c(2,1))plot(diff(DATA$Ser2), type=l)plot(diff(DATA$Ser2, lag=2), type=l)                                        ...
First order differentiation, strong AR(2) clues      par(mfrow=c(1,1))                                                  ES...
Parameters estimation ar(diff(DATA$Ser2),order.max=20)                                                  ESGF 4IFM Q1 2012C...
predict(arima(diff(DATA$Ser2), order = c(2,0,0)), n.ahead = 7)$predTime Series:Start = 193End = 199Frequency = 1[1] 0.4505...
Box.test(Modl$resid)        Box-Pierce test                                                              ESGF 4IFM Q1 2012...
Moving Average Process   Main principle                                                                        ESGF 4IFM Q...
plot(Data, type=l)hist(Data, breaks=20)                        ESGF 4IFM Q1 2012                        vinzjeannin@hotmai...
acf(Data,20)pacf(Data,20)                                                 ESGF 4IFM Q1 2012                              A...
arima(Data, order = c(0, 0, 1),include.mean = FALSE)Call:arima(x = Data, order = c(0, 0, 1), include.mean = FALSE)Coeffici...
Fore-predict(Rslt, n.ahead=5)U = Fore$pred + 2*Fore$seL = Fore$pred - 2*Fore$seminx=min(Data,L)maxx=max(Data,U)ts.plot(Dat...
ESGF 4IFM Q1 2012Another typical example?                                vinzjeannin@hotmail.com       You make the commen...
plot(Data, type=l)hist(Data, breaks=20)                        ESGF 4IFM Q1 2012                        vinzjeannin@hotmai...
vinzjeannin@hotmail.com   ESGF 4IFM Q1 201249
arima(Data, order = c(0, 0, 2),include.mean = FALSE)Call:                                                                 ...
Fore-predict(Rslt, n.ahead=5)U = Fore$pred + 2*Fore$seL = Fore$pred - 2*Fore$seminx=min(Data,L)maxx=max(Data,U)ts.plot(Dat...
ARMA      Main principle                                                                                     ESGF 4IFM Q1 ...
plot(Data, type=l)hist(Data, breaks=20)                        ESGF 4IFM Q1 2012                        vinzjeannin@hotmai...
ESGF 4IFM Q1 2012                                                          vinzjeannin@hotmail.com                        ...
Rslt-arima(Data, order = c(1, 0, 1),include.mean = FALSE) RsltCall:arima(x = Data, order = c(1, 0, 1), include.mean = FALS...
par(mfrow=c(1,1))   Fore-predict(Rslt, n.ahead=5)   U = Fore$pred + 2*Fore$se   L = Fore$pred - 2*Fore$se   minx=min(Data,...
Identification can get tricky at this stage                                              ESGF 4IFM Q1 2012                ...
What do you think?     vinzjeannin@hotmail.com   ESGF 4IFM Q1 201258
Rslt-arima(Data, order = c(4, 0, 3),include.mean = FALSE) RsltCall:arima(x = Data, order = c(4, 0, 3), include.mean = FALS...
Identification can be difficult                                                ESGF 4IFM Q1 2012Easiest model is ARImagine...
Conclusion                               AR                       MA                ARMA                                  ...
Upcoming SlideShare
Loading in...5
×

Financial Econometric Models III

468

Published on

Third Session, MSc 5th Year

Published in: Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
468
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Financial Econometric Models III"

  1. 1. ESGF 5IFM Q1 2012Financial Econometric Models Vincent JEANNIN – ESGF 5IFM Q1 2012 vinzjeannin@hotmail.com 1
  2. 2. ESGF 5IFM Q1 2012Summary of the session (Est. 3h)• Reminder of Last Session• Time Series Analysis Principles• Auto Regressive Process vinzjeannin@hotmail.com• Moving Average Process• ARMA• Conclusion 2
  3. 3. Be logic! Reminder of Last Session vinzjeannin@hotmail.com ESGF 5IFM Q1 2012 3
  4. 4. Differentiation possible ESGF 5IFM Q1 2012 vinzjeannin@hotmail.com = ln⁡ ) ( 4
  5. 5. Time can be a factor of a regression vinzjeannin@hotmail.com ESGF 5IFM Q1 2012 5
  6. 6. Differentiation can add value vinzjeannin@hotmail.com ESGF 5IFM Q1 2012 6
  7. 7. Check ACF/PACF for autocorrelation vinzjeannin@hotmail.com ESGF 5IFM Q1 2012 7
  8. 8. Time Series Analysis Principles ESGF 4IFM Q1 2012 Reminders of the 3 steps vinzjeannin@hotmail.com Identify Fit Forecast 8
  9. 9. ESGF 4IFM Q1 2012Reminders of the 3 components vinzjeannin@hotmail.com Trend Seasonality Residual 9
  10. 10. Lag = −1 ESGF 4IFM Q1 2012 Difference vinzjeannin@hotmail.com∆ = − −1 Seasonality Difference∆30 = − −30 10
  11. 11. ESGF 4IFM Q1 2012Differentiate series to obtain stationary seriesTime series analysis and forecast simpler with stationary series vinzjeannin@hotmail.comDifferent models involved with stationary or heteroscedasticity 11
  12. 12. Properties of stationary series Same distribution of the following ESGF 4IFM Q1 2012 (1 , 2 , 3 , … , ) (2 , 3 , 4 , … , +1 ) Distribution not time dependent vinzjeannin@hotmail.com Rare occurrence Stationarity accepted if ( ) = Constant in the time 12 ( , − ) Depends only on n
  13. 13. Acceptable Shortcut ESGF 4IFM Q1 2012A series is stationary if the mean and the variance are stableWhich one is more likely to be stationary? vinzjeannin@hotmail.com 13
  14. 14. About the residuals… White noise! ESGF 4IFM Q1 2012Normality test vinzjeannin@hotmail.com Have an idea with Skewness Kurtosis Proper tests: KS, Durbin Watson, Portmanteau,… 14
  15. 15. Auto Regressive Process Main principle ESGF 4IFM Q1 2012 There is a correlation between current data and previous data = + 1 −1 + 2 −2 + ⋯ + − + vinzjeannin@hotmail.com Parameters of the model White noise AR(n) If the parameters are identified, the prediction will be easy 15
  16. 16. Let’s upload some dataDATA-read.csv(file=C:/Users/vin/Desktop/Series1.csv,header=T)plot(DATA$Val, type=l) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 16
  17. 17. Is this a white noise? hist(DATA$Val, breaks=20) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 17
  18. 18. Probably not… Portmanteau test ESGF 4IFM Q1 2012 Test the autocorrelation of a series If there is autocorrelation, data aren’t independently distributed vinzjeannin@hotmail.com Let’s use Ljung–Box statistics H0: Data are independently distributed H1: Data aren’t independently distributed 2 With α confidence interval rejection = ( + 2) following a Chi Square distribution − =1 18 Autocorrelation at the lag k Χ 21−,ℎ
  19. 19. Box.test(DATA$Val) ESGF 4IFM Q1 2012 Box-Pierce testdata: DATA$ValX-squared = 188.3263, df = 1, p-value 2.2e-16 vinzjeannin@hotmail.com H0 is rejected, the data aren’t independently distributed 19
  20. 20. Let’s try a regression and analyse residuals TReg-lm(DATA$Val~DATA$t) plot(DATA$Val, type=l) ESGF 4IFM Q1 2012 abline(TReg, col=blue) vinzjeannin@hotmail.com 20
  21. 21. eps-resid(TReg)ks.test(eps, pnorm)layout(matrix(1:4,2,2))plot(TReg) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 21
  22. 22. Box-Pierce test ESGF 4IFM Q1 2012data: epsX-squared = 187.6299, df = 1, p-value 2.2e-16Residuals aren’t a white noise vinzjeannin@hotmail.comRegression rejected Not a surprise, did the series look stationary? 22 What next then?
  23. 23. lag.plot(DATA$Val, 9, do.lines=FALSE) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 23Differentiation seems to be interesting
  24. 24. Does the differentiation create a stationary series? plot(diff(DATA$Val), type=l) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 24
  25. 25. ACF PACF par(mfrow=c(2,1)) acf(diff(DATA$Val),20) ESGF 4IFM Q1 2012 pacf(diff(DATA$Val),20) vinzjeannin@hotmail.com ACF decreasing PACF cancelling after order 1 25
  26. 26. Decreasing ACF ESGF 4IFM Q1 2012PACF cancel after order 1 vinzjeannin@hotmail.com Typically an Autoregressive Process AR(1) ? 26
  27. 27. Let’s try to fit an AR(1) model Modl-ar(diff(DATA$Val),order.max=20) plot(Modl$aic) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 27The likelihood for the order 1 is significant
  28. 28. ar(diff(DATA$Val),order.max=20) Call: ar(x = diff(DATA$Val), order.max = 20) Coefficients: 1 2 3 ESGF 4IFM Q1 2012 0.5925 -0.1669 0.1385 Order selected 3 sigma^2 estimated as 0.8514 vinzjeannin@hotmail.comWe have our coefficient and standard deviation ARDif-diff(DATA$Val) ARDif[1] [1] 0.3757723We know the first term of our series = 0.3757723 + 0.5925. −1 + 28Here is our model
  29. 29. Need to test the residuals ESGF 4IFM Q1 2012Box.test(Modl$resid) Box-Pierce test vinzjeannin@hotmail.comdata: Modl$residX-squared = 7e-04, df = 1, p-value = 0.9789 H0 accepted, residuals are independently distributed (white noise) The differentiated series is a AR(1) 29
  30. 30. predict(arima(diff(DATA$Val), order = c(1,0,0)), n.ahead = 7) $pred Time Series: Start = 193 End = 199 Frequency = 1 [1] -0.81359048 -0.43300609 -0.22850452 -0.11861853 -0.05957287 - ESGF 4IFM Q1 2012 0.02784553 -0.01079729 $se Time Series: Start = 193 End = 199 Frequency = 1 vinzjeannin@hotmail.com [1] 0.923352 1.048210 1.081582 1.091027 1.093739 1.094521 1.0947471201151101051009590 308580 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101106111116121126131136141146151156161166171176181186191196
  31. 31. ESGF 4IFM Q1 2012Another typical example? vinzjeannin@hotmail.com You make the comments! 31
  32. 32. DATA-read.csv(file=C:/Users/vin/Desktop/Series2.csv,header=T)plot(DATA$Ser2, type=l)hist(DATA$Ser2, breaks=20) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 32
  33. 33. Box.test(DATA$Ser2) Box-Pierce testdata: DATA$Ser2X-squared = 149.9227, df = 1, p-value 2.2e-16 ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com TReg-lm(DATA$Ser2~DATA$t) plot(DATA$Ser2, type=l) abline(TReg, col=blue) 33
  34. 34. eps-resid(TReg) Box.test(eps) Box-Pierce testdata: epsX-squared = 148.5669, df = 1, p-value 2.2e-16 ESGF 4IFM Q1 2012 layout(matrix(1:4,2,2)) plot(TReg) vinzjeannin@hotmail.com 34
  35. 35. lag.plot(DATA$Ser2, 9, do.lines=FALSE) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 35Much less obvious but clues of autoregression
  36. 36. par(mfrow=c(2,1))plot(diff(DATA$Ser2), type=l)plot(diff(DATA$Ser2, lag=2), type=l) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 36
  37. 37. par(mfrow=c(2,1))plot(diff(DATA$Ser2), type=l)plot(diff(DATA$Ser2, lag=2), type=l) ESGF 4IFM Q1 2012 ACF decreases 2 by 2 vinzjeannin@hotmail.com PACF cancelling after order 2 37
  38. 38. First order differentiation, strong AR(2) clues par(mfrow=c(1,1)) ESGF 4IFM Q1 2012 Modl-ar(diff(DATA$Ser2),order.max=20) plot(Modl$aic) vinzjeannin@hotmail.com 38
  39. 39. Parameters estimation ar(diff(DATA$Ser2),order.max=20) ESGF 4IFM Q1 2012Call:ar(x = diff(DATA$Ser2), order.max = 20)Coefficients: 1 2 3 vinzjeannin@hotmail.com 0.5919 -0.8326 0.1086Order selected 3 sigma^2 estimated as 0.877 ARDif-diff(DATA$Ser2) ARDif[1][1] 0.3757723 39
  40. 40. predict(arima(diff(DATA$Ser2), order = c(2,0,0)), n.ahead = 7)$predTime Series:Start = 193End = 199Frequency = 1[1] 0.4505213 2.0075741 0.6639701 -1.2321156 -1.1409989 0.38667451.0879588 ESGF 4IFM Q1 2012$seTime Series:Start = 193End = 199Frequency = 1[1] 0.9220713 1.0332515 1.1413067 1.2938326 1.2957576 1.3932158 1.4080266 vinzjeannin@hotmail.com1151101051009590 408580 101 106 111 116 121 126 131 136 141 146 151 156 161 166 171 176 181 186 191 196 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96
  41. 41. Box.test(Modl$resid) Box-Pierce test ESGF 4IFM Q1 2012data: Modl$residX-squared = 0.0023, df = 1, p-value = 0.9619 vinzjeannin@hotmail.com Model accepted The more factors the harder the prediction is The more factors there are the more stationary need to be the series for a good prediction 41
  42. 42. Moving Average Process Main principle ESGF 4IFM Q1 2012 Stationary series with auto correlation of errors = + + 1 −1 + 2 −2 + ⋯ + − vinzjeannin@hotmail.com Parameters of the model White noise MA(n) More difficult to estimate than a AR(n) 42
  43. 43. plot(Data, type=l)hist(Data, breaks=20) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 43
  44. 44. acf(Data,20)pacf(Data,20) ESGF 4IFM Q1 2012 ACF cancels after order 1 vinzjeannin@hotmail.com PACF decays to 0 44 ACF PACF suggest MA(1)
  45. 45. arima(Data, order = c(0, 0, 1),include.mean = FALSE)Call:arima(x = Data, order = c(0, 0, 1), include.mean = FALSE)Coefficients: ma1 ESGF 4IFM Q1 2012 -0.4621s.e. 0.0903sigma^2 estimated as 0.937: log likelihood = -138.76, aic = 281.52 vinzjeannin@hotmail.com Box.test(Rslt$residuals) Box-Pierce test data: Rslt$residuals X-squared = 0, df = 1, p-value = 0.9967 45 It works, MA(1), 0 mean, parameter -0.4621
  46. 46. Fore-predict(Rslt, n.ahead=5)U = Fore$pred + 2*Fore$seL = Fore$pred - 2*Fore$seminx=min(Data,L)maxx=max(Data,U)ts.plot(Data,Fore$pred,col=1:2,ylim=c(minx,maxx))lines(U, col=blue, lty=dashed) ESGF 4IFM Q1 2012lines(L, col=blue, lty=dashed) vinzjeannin@hotmail.com 46
  47. 47. ESGF 4IFM Q1 2012Another typical example? vinzjeannin@hotmail.com You make the comments! 47
  48. 48. plot(Data, type=l)hist(Data, breaks=20) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 48
  49. 49. vinzjeannin@hotmail.com ESGF 4IFM Q1 201249
  50. 50. arima(Data, order = c(0, 0, 2),include.mean = FALSE)Call: ESGF 4IFM Q1 2012arima(x = Data, order = c(0, 0, 2), include.mean = FALSE)Coefficients: ma1 ma2 -0.5365 0.6489s.e. 0.0701 0.1044 vinzjeannin@hotmail.comsigma^2 estimated as 1.005: log likelihood = -142.74, aic = 291.48 Box.test(Rslt$residuals) Box-Pierce testdata: Rslt$residualsX-squared = 0.0283, df = 1, p-value = 0.8664 50 MA(2)
  51. 51. Fore-predict(Rslt, n.ahead=5)U = Fore$pred + 2*Fore$seL = Fore$pred - 2*Fore$seminx=min(Data,L)maxx=max(Data,U)ts.plot(Data,Fore$pred,col=1:2,ylim=c(minx,maxx)) ESGF 4IFM Q1 2012lines(U, col=blue, lty=dashed)lines(L, col=blue, lty=dashed) vinzjeannin@hotmail.com 51
  52. 52. ARMA Main principle ESGF 4IFM Q1 2012 The series is a function of past values plus current and past values of the noise vinzjeannin@hotmail.com ARMA(p,q) Combines AR(p) MA(q) 52
  53. 53. plot(Data, type=l)hist(Data, breaks=20) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 53
  54. 54. ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 54Both ACF and PACF decreases exponentially after order 1
  55. 55. Rslt-arima(Data, order = c(1, 0, 1),include.mean = FALSE) RsltCall:arima(x = Data, order = c(1, 0, 1), include.mean = FALSE) ESGF 4IFM Q1 2012Coefficients: ar1 ma1 0.7214 0.7563s.e. 0.0716 0.0721sigma^2 estimated as 0.961: log likelihood = -141.13, aic = 288.27 vinzjeannin@hotmail.com Box.test(Rslt$residuals) Box-Pierce testdata: Rslt$residualsX-squared = 0.0098, df = 1, p-value = 0.9213 ARMA(1,1) fits 55
  56. 56. par(mfrow=c(1,1)) Fore-predict(Rslt, n.ahead=5) U = Fore$pred + 2*Fore$se L = Fore$pred - 2*Fore$se minx=min(Data,L) maxx=max(Data,U) ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 56
  57. 57. Identification can get tricky at this stage ESGF 4IFM Q1 2012 vinzjeannin@hotmail.com 57
  58. 58. What do you think? vinzjeannin@hotmail.com ESGF 4IFM Q1 201258
  59. 59. Rslt-arima(Data, order = c(4, 0, 3),include.mean = FALSE) RsltCall:arima(x = Data, order = c(4, 0, 3), include.mean = FALSE)Coefficients: ESGF 4IFM Q1 2012 ar1 ar2 ar3 ar4 ma1 ma2 ma3 0.2722 -0.5276 0.0202 -0.2663 0.8765 -0.4672 -0.5248s.e. 0.2018 0.2308 0.1968 0.1546 0.1992 0.1690 0.1882sigma^2 estimated as 1.140: log likelihood = -151.19, aic = 318.38 Box.test(Rslt$residuals) vinzjeannin@hotmail.com Box-Pierce testdata: Rslt$residualsX-squared = 0.2953, df = 1, p-value = 0.5869 Was supposed to fit pretty wel…. Data-arima.sim(model=list(ar=c(0.5,-0.5,0.3,- 59 0.3),ma=c(0.75,-0.5,-0.5)),n=100)
  60. 60. Identification can be difficult ESGF 4IFM Q1 2012Easiest model is ARImagine when the series is not stationary… vinzjeannin@hotmail.comStep by step approach, exploration, tries,… Sometimes you find a satisfying model 60 Sometimes you don’t!
  61. 61. Conclusion AR MA ARMA Times series vinzjeannin@hotmail.com ESGF 5IFM Q1 201261
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×