Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir...

26
Clemens Holzkorn 1 Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK 040121 Angewandte Ökonometrie 05.05.2016 Clemens Holzkorn

Transcript of Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir...

Page 1: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 1

Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK 040121 Angewandte Ökonometrie

05.05.2016

Clemens Holzkorn

Page 2: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 2

Inhalt

Vorwort ...................................................................................................................................... 3

Zeitreiheneigenschaften und Stationarität (FRED-Daten) ......................................................... 3

Zeitreiheneigenschaften (Moodle-Daten) ................................................................................. 6

Modellwahl und Prognosevalidierung ....................................................................................... 7

Modellselektion für eine Teilstichprobe .................................................................................. 10

Out-of-Sample-Prognose .......................................................................................................... 14

Mehr-Schritt-Prognose ............................................................................................................. 16

Schlussfolgerungen .................................................................................................................. 17

Appendix: STATA Code ............................................................................................................. 19

Page 3: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 3

Vorwort Die im folgenden verwendeten Daten stammen aus der Economic Research Datenbank der

Feder Reserve Bank von St. Louis.

Eine komplette Auflistung der verwendeten STATA-Befehle befindet sich im Appendix.

Zeitreiheneigenschaften und Stationarität (FRED-Daten)

Das Ziel unserer Analyse ist die Prognose des heutigen Wechselkurses aufgrund von

vergangenen Wechselkursen (Lags) durch ein passendes Zeitreihenmodell. Der Wechselkurs

im Zeitverlauf ist in den Abbildungen 1 (links) und 2 (logarithmiert, rechts) dargestellt.

Die ersten Differenzen lassen durch ihre horizontale Trendlinie Stationarität vermuten:

.81

1.2

1.4

1.6

Wechse

lkurs

EU

R/U

SD

2000m1 2005m1 2010m1 2015m1Monate

-.2

0.2

.4.6

Lo

gari

thm

iert

er

Wech

se

lkurs

2000m1 2005m1 2010m1 2015m1Monate

-.1

-.05

0

.05

.1

2000m1 2005m1 2010m1 2015m1Monate

Erste Differenz Wechselkurs Fitted values

Abb. 1 Abb. 2

Abb. 3

Page 4: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 4

Die Autokorrelationsfunktion (ACF) kann uns ebenfalls Hinweise auf die Stationarität geben:

Bei einer stationären Zeitreihe fällt die ACF schnell auf null, bei nicht-stationären Daten

nimmt sie langsamer ab. Abb. 4 bildet die ACF des Wechselkurses ab, Abb. 5 die ACF des

logarithmierten Wechselkurses und Abb. 6 jene der Differenzen der Lags.

Wie erwartet sollten die Differenzen der Lags stationär sein. Um auf Stationarität zu testen

können wir den Augmented Dickey-Fuller-Test (ADF) verwenden. Der ADF-Test prüft die

𝐻0: 𝑧 = 1 gegen die 𝐻1: 𝑧 ≠ 1, wobei z die „unit roots“ der charakteristischen Gleichung

sind.

-1.0

0-0

.50

0.0

00.5

01.0

0

Au

toco

rrela

tions o

f exue

0 10 20 30 40Lag

Bartlett's formula for MA(q) 95% confidence bands

-1.0

0-0

.50

0.0

00.5

01.0

0

Au

toco

rrela

tions o

f le

xue

0 10 20 30 40Lag

Bartlett's formula for MA(q) 95% confidence bands

-0.2

0-0

.10

0.0

00.1

00.2

00.3

0

Au

toco

rrela

tions o

f dex

0 10 20 30 40Lag

Bartlett's formula for MA(q) 95% confidence bands

Abb. 4 Abb. 5

Abb. 6

Page 5: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 5

Mit unserer Test-Statistik |T| ≥ |c|, können wir die 𝐻0: 𝑧 = 1 für die Zeitreihe der Ersten

Differenz verwerfen und annehmen, dass Stationarität vorliegt.

Für die Zeitreihen der Beobachtungen der Variablen 𝑒𝑥𝑢𝑠𝑒𝑢 und 𝑙𝑜𝑔𝑒𝑥𝑢𝑠𝑒𝑢 berichtet uns

der Dickey-Fuller-Test die p-Werte 0.4527 (𝑊𝑒𝑐ℎ𝑠𝑒𝑙𝑘𝑢𝑟𝑠) und 0.5015

(𝑙𝑜𝑔𝑎𝑟𝑖𝑡ℎ𝑚𝑖𝑒𝑟𝑡𝑒𝑟 𝑊𝑒𝑐ℎ𝑠𝑒𝑙𝑘𝑢𝑟𝑠), was auf nicht-Stationarität schließen lässt.

Außerdem erhalten wir mit dem Befehl sum die deskriptiven Eigenschaften unserer

Variablen:

Page 6: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 6

Zeitreiheneigenschaften (Moodle-Daten)

Für die nächste Analyse laden wir die Daten zum Wechselkurs zwischen EUR und USD von

moodle. Zunächst visualisieren wir die Zeitreihe:

Weiters betrachten wir die Autokorrelationsfunktion (ACF) und die partielle

Autokorrelationsfunktion (PACF) in einem übersichtlichen Korrelogramm:

Da die ACF nur sehr langsam abfällt, haben wir Grund zu vermuten, dass die Zeitreihe nicht

stationär ist. Ein Dickey-Fuller test liefert uns einen p-Wert von 0.5996, weshalb wir

eigentlich annehmen sollten, dass Stationarität vorliegt. Wir könnten die Erste Differenz des

Wechselkurses bilden um einen stationären Prozess zu erzeugen.

Trotzdem werden wir in den nächsten Schritten annehmen, dass keine Stationarität vorliegt,

da die Aufgabenstellung es so verlangt.

-.2

0.2

.4.6

Wechse

lkurs

EU

R/U

SD

2000m1 2005m1 2010m1 2015m1Monate

Abb. 7

Page 7: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 7

Modellwahl und Prognosevalidierung

Für diesen Abschnitt verwenden wir einen gesplitteten Datensatz, bestehend aus einer

Evaluierungsperiode (Januar 1999 – Februar 2014, Monate 1 – 182) und Schätzperiode (März

2014 – März 2016, Monate 183 – 207).

Da wir in unserer Zeitreihe von Stationarität ausgehen ist keine weitere Differenzierung

notwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1.

Wir gehen gleich dazu über die Informationskriterien verschiedener ARMA(p,q)-Modelle zu

vergleichen.

Modell AIC BIC

𝐴𝑅𝑀𝐴(1,0) -752.6999 -743.0879

𝐴𝑅𝑀𝐴(2,0) -750.9107 -738.0947

𝐴𝑅𝑀𝐴(2,1) -749.8521 -733.8321

𝐴𝑅𝑀𝐴(2,2) -748.3962 -729.1722

𝐴𝑅𝑀𝐴(0,1) -349.2816 -339.6696

𝐴𝑅𝑀𝐴(0,2) -476.6309 -463.8149

𝐴𝑅𝑀𝐴(1,2) -749.1403 -733.1203

Da wir sowohl für das AIC als auch für das BIC mit dem 𝐴𝑅𝑀𝐴(1,1)-Modell die niedrigsten

Werte erhalten (wobei AIC Modelle mit mehr Parametern präferiert), sollten wir es für

unsere Prognose wählen:

𝑒𝑥𝑡 = ∅1𝑒𝑥𝑡−1 + 𝜀𝑡

Nachdem wir ein Modell aufgrund seiner Informationskriterien gewählt haben führen wir

eine Residuenanalyse durch.

1 Der KPSS-Test verwirft ab einem Lag die 𝐻0 der Stationarität nicht mehr, was bedeutet, dass wir eigentlich einen ARMA(p,d,q)-Prozess mit d=1 wählen sollten. Der Code zum Test im Appendix.

Page 8: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 8

Bei einem Blick auf die AC und PAC der Residuen fallen uns keine verborgenen Strukturen

auf, die weitere Investigation benötigen würden. Somit wurde die Lag-Ordnung richtig

gewählt.

Als nächstes betrachten wir einen Breusch-Godfrey-Test, der die Autokorrelation der

Residuen nicht verwerfen kann:

Zuletzt betrachten wir noch die Verteilung unserer Fehlerterme. Mit freiem Auge scheint

eine Normalverteilung recht plausibel zu sein.

010

20

30

Den

sity

-.1 -.05 0 .05 .1Residuals

Abb. 8

Page 9: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 9

Um sicher zu gehen, dass die Fehlerterme normalverteilt sind, führen wir noch einen Jarque-

Bera Test durch, der anhand der Schiefe und Kurtosis der Daten prüft, ob diese

normalverteilt sind.

Der p-Wert von 0.0745 bedeutet, dass wir die Nullhypothese, dass die Fehler normalverteilt

sind, auf dem 10%-Niveau verwerfen müssen.

Nun können wir unsere Prognose ansehen und uns fällt auf, dass der Verlauf der

Prognosekurve jenem der Datenkurve sehr ähnlich ist:

-.2

0.2

.4.6

2000m1 2005m1 2010m1 2015m1Monate

Wechselkurs EUR/USD Prognose, Schätzperiode

Abb. 9

Page 10: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 10

Modellselektion für eine Teilstichprobe

Wir wählen aufgrund des Verlaufes der Zeitreihe die Periode Juni 2001 – Mai 2009 (Monate

30-125), da hier der größte Anstieg des Wechselkurses stattfand.

Zunächst versuchen wählen wir einen AR(1)-Prozess. Die Regression produziert jedoch einen

sehr hohen Koeffizienten (nahe 1), der uns vermuten lässt, dass der Prozess nicht stationär

ist.

Daraufhin führen wir einen KPSS-Test, dass die Zeitreihe um einen deterministischen Trend

herum stationär ist, durch. Dieser liefert folgende Ergebnisse:

-.2

0.2

.4.6

Wechse

lkurs

EU

R/U

SD

2001m1 2003m1 2005m1 2007m1 2009m1Monate

Abb. 10

Page 11: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 11

Kritische Werte für 𝐻0: 𝑑𝑖𝑓 𝑖𝑠 𝑡𝑟𝑒𝑛𝑑 𝑠𝑡𝑎𝑡𝑖𝑜𝑛𝑎𝑟𝑦

10%: 0.119; 5% : 0.146; 2.5%: 0.176; 1% : 0.216

Wechselkurs Erste Differenz des Wechselkurses

Anzahl Lags Teststatistik Anzahl Lags Teststatistik

0 1.05 0 0.0423

1 0.55 1 0.0394

2 0.383 2 0.0405

3 0.299 3 0.0393

4 0.25 4 0.0401

Der Wert der Teststatistik des Wechselkurses verwirft die 𝐻0 des KPSS-Tests für jede

sinnvolle Anzahl an Lags. Die erste Differenz des Wechselkurses hingegen ist für jede Lag-

Anzahl stationär. Somit wählen wir in jedem Fall ein 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 𝑞)-Modell mit 𝑑 = 1.

Als nächstes betrachten wir die ACF (Abb. 11) und PACF (Abb. 12) unserer Teilstichprobe:

Bei einem 𝐴𝑅𝐼𝑀𝐴(𝑝, 𝑑, 0)-Prozess ist die ACF entweder exponential abnehmend oder

sinusoid und hat eine Spitze bei p (aber keine davor). Ein 𝐴𝑅𝐼𝑀𝐴(0, 𝑑, 𝑞)-Prozess hat eine

PACF, die entweder exponential abnehmend oder sinusoid ist und eine Spitze bei q (aber

keine davor) hat. Auf den ersten Blick ist nicht klar, welchem Prozess unsere Zeitreihe folgt.

Nun testen wir verschiedene 𝐴𝑅𝐼𝑀𝐴(𝑝, 1, 𝑞)-Modelle um unter ihnen jenes zu finden,

welches unsere Zeitreihe am besten beschreibt:

-0.2

0-0

.10

0.0

00.1

00.2

0

Au

toco

rrela

tions o

f dif

0 10 20 30 40Lag

Bartlett's formula for MA(q) 95% confidence bands

-0.4

0-0

.20

0.0

00.2

00.4

0

Pa

rtia

l auto

co

rrela

tions o

f d

if

0 10 20 30 40Lag

95% Confidence bands [se = 1/sqrt(n)]

Abb. 11 Abb. 12

Page 12: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 12

Modell AIC BIC

𝐴𝑅𝐼𝑀𝐴(0,1,0) -752.6999 -743.0879

𝐴𝑅𝐼𝑀𝐴(0,1,1) -400.5469 -392.8539

𝐴𝑅𝐼𝑀𝐴(1,1,0) -400.3754 -392.6824

𝐴𝑅𝐼𝑀𝐴(2,1,0) -398.8943 -388.6369

𝐴𝑅𝐼𝑀𝐴(2,1,1) -398.8929 -386.0711

𝐴𝑅𝐼𝑀𝐴(1,1,1) -402.0992 -391.8418

𝐴𝑅𝐼𝑀𝐴(1,1,2) -398.8385 -386.0168

𝐴𝑅𝐼𝑀𝐴(2,1,2) -398.1858 -382.7998

𝐴𝑅𝐼𝑀𝐴(0,1,2) -399.6988 -389.4414

Nachdem uns das 𝐴𝑅𝐼𝑀𝐴(0,1,0)-Modell bei weitem die niedrigsten Werte für AIC und BIC

liefert, nehmen wir für unsere Zeitreihe einen Random Walk mit Drift an.

Dennoch berechnen wir aufgrund der Datenstruktur das beste undifferenzierte Modell:

Modell AIC BIC

𝐴𝑅𝑀𝐴(1,0) -391.6564 -383.9634

𝐴𝑅𝑀𝐴(2,0) -391.1196 -380.8622

𝐴𝑅𝑀𝐴(2,1) -391.2174 -378.3957

𝐴𝑅𝑀𝐴(2,2) -392.7214 -379.8996

𝐴𝑅𝑀𝐴(0,1) -193.0995 -185.4064

𝐴𝑅𝑀𝐴(0,2) -256.4906 -246.2332

𝐴𝑅𝑀𝐴(1,2) -390.0166 -377.1949

𝐴𝑅𝑀𝐴(1,1) -391.328 -381.0706

Laut der Box-Jenkins-Methode sollten wir den aufgrund des BIC-Wertes entscheiden, da

dieser weniger Parameter präferiert (also „sparsamer“ ist). Das beste undifferenzierte

Modell, welche unsere Zeitreihe beschreibt, ist somit ein 𝐴𝑅(1)-Modell.

Page 13: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 13

Ein einfacher Blick auf die Prognosen genügt, um zu sehen, dass das 𝐴𝑅(1)-Modell den

Random Walk schlägt:

Somit wählen wir das 𝐴𝑅(1)-Modell und führen erneut eine Residuenanalyse durch. In der

ACF und PACF sind kleine Unregelmäßigkeiten zu sehen, die aber keine großen Probleme

darstellen sollten, da die PACF an der Stelle 𝑝 + 1 gleich Null ist.

Der Breusch-Godfrey-Test auf nicht-Autokorrelation kann mit einem p-Wert von 0.4092

nicht verworfen werden. Der Jarque-Bera-Test verwirft auf dem 5%- und 10%-Niveau die

Nullhypothese der Normalverteilung der Fehler (p-Wert: 0.0480).

-.2

0.2

.4.6

2001m1 2003m1 2005m1 2007m1 2009m1Monate

Wechselkurs EUR/USD AR(1)

Random Walk

Abb. 13

Page 14: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 14

Out-of-Sample-Prognose

Wir arbeiten mit dem 𝐴𝑅𝐼𝑀𝐴(0,1,0)-Modell weiter, das wir für unsere Teilstichprobe

gewählt haben. Wir führen unsere Regression durch...

...und erhalten mit dem STATA-Befehl predict unsere „one-step prediction“ die Konstante

0.00534645. Um die Prognosekraft unseres Random-Walks zu testen, stellen wir es einem

undifferenzierten 𝐴𝑅(1)-Modell gegenüber, welches den Prozess für 𝑑 = 0 am besten

beschreibt:

Wir sehen, dass der Random Walk für 1-Monats-Prognosen wesentlich schlechter

abschneidet als der nicht-differenzierte 𝐴𝑅(1), der eigentlich zuvor durch das KPSS-

01

23

2009m1 2010m1 2011m1 2012m1 2013m1 2014m1 2015m1 2016m1Monate

Kumulierte Fehler AR(1) Kumulierte Fehler Random Walk

Abb. 14

Page 15: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 15

Kriterium ausgeschieden wurde. Unter der Annahme, dass dieser 𝐴𝑅(1)-Prozess doch

stationär sei sollten wir ihn für die 1-Schritt-Prognose unserer Teilstichprobe verwenden.

Anschließend können wir den RMSE (Root Mean Squared Error), sowie den MAPE (Mean

absolute percentage error) berechnen.

RMSE MAPE

Random Walk 0.04369931 0.03456352

𝐴𝑅(1) 0.02908432 0.0227306

Der RMSE kann als Standardabweichung der nicht-erklärten Varianz interpretiert werden

und ist ein absolutes Measure-of-Fit. Er ist das wichtigste Kriterium für den Goodness-of-Fit

bei Prognosemodellen. Desto niedriger sein Wert, desto besser der Fit. Der MAPE stellt den

Fit als Prozentsatz dar und ist ebenfalls relativ besser, falls er einen niedrigeren Wert besitzt.

Somit hat aufgrund des RMSE und des MAPE das 𝐴𝑅(1)-Modell den besseren Fit.

Page 16: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 16

Mehr-Schritt-Prognose

In der Mehr-Schritt-Prognose berechnen wir ein Modell aus der Schätzperiode und führen

rekursive Prognosen für 𝑦𝑡+3 in der Evaluierungsperiode durch (Der Wert für 𝑦𝑡+3 errechnet

sich somit aus Werten von 𝑦𝑡). In diesem letzten Abschnitt stellen wir einen Vergleich

zwischen dem 𝐴𝑅𝐼𝑀𝐴(1,1,0) und einem Random-Walk-Modell dar.

Modell AIC BIC

𝐴𝑅𝐼𝑀𝐴(1,1,0) -748.2105 -741.8246

𝑅𝑎𝑛𝑑𝑜𝑚 𝑊𝑎𝑙𝑘 -751.9333 -745.5363

Bei der differenzierten Zeitreihe fällt uns auf, dass die Prognosegenauigkeit des 𝐴𝑅(1)-

Modells im Gegensatz zu einstufigen Prozessen stark sinkt. Der Random Walk schneidet hier

wesentlich besser ab und produziert abschnittsweise sogar geringere Prognosefehler

(kumuliert), wie Abbildung 15 veranschaulicht:

0.2

.4.6

.8

2014m7 2015m1 2015m7 2016m1Monate

Fehler ARIMA(1,1,0) Fehler Random Walk

Abb. 15

Page 17: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 17

Demnach sollten wir uns die Mehr-Schritt-Prognose sowohl für den 𝐴𝑅𝐼𝑀𝐴(1,1,0)-Prozess,

als auch für den Random Walk ansehen:

Wir können beobachten, dass sowohl das 𝐴𝑅𝐼𝑀𝐴(1,1,0)-Modell, als auch der Random Walk

für eine Mehr-Schritt-Prognose keine besonders gute Vorhersage der Daten liefert.

Schlussfolgerungen

Wir sollten anmerken, dass 𝐴𝑅𝐼𝑀𝐴-Modelle basierend auf den vergagenen Wechselkursen

eventuell nicht die besten Prognosen für FOREX-Daten liefern. Investopedia nennt 3 weitere

Möglichkeiten Wechselkursveränderungen vorherzusagen2:

1. Purchasing Power Parity (PPP): Der Kaufkraft-Approach ist basiert auf der Theorie

eines Weltpreises für ein bestimmtes Gut. Wenn ein Gut in allen Währungen gleich

viel kostet, so bestimmt sich der Wechselkurs lediglich aus den unterschiedlichen

Inflationen der Währungen.

2. Relative Economic Strength Approach: Diese Vorgehensweise betrachtet das

Ausmaß des Wirtschaftswachstums in den verschiedenen Volkswirtschaften bzw.

Währungsunionen um die Entwicklung des Währungskurses vorherzusagen.

2 http://www.investopedia.com/articles/forex/11/4-ways-to-forecast-exchange-rates.asp

-.1

0.1

.2.3

2014m7 2015m1 2015m7 2016m1Monate

Wechselkurs EUR/USD Prognose ARIMA(1,1,0)

Prognose RW

Abb. 16

Page 18: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 18

3. Andere Ökonometrische Modelle: Im Gegensatz zu 𝐴𝑅𝐼𝑀𝐴-Modellen, die ohne

ökonomische Theorie auskommen, gibt es eine vielzahl an ökonometrischen

Modellen, die auch andere Einflussfaktoren (als die Lags des Regressanden)

beinhalten können.

Wechselkurse zu berechnen ist kein leichtes Unterfangen, das noch schwieriger wird, desto

kürzer wir die Zeitperioden wählen. Programme wie MetaTrader erlauben die Verwendung

von adaptiven Modellen, die auf Machine-Learning-Algorithmen basieren und quasi „mit der

Zeitreihe lernen“. Es wäre spannend herauszufinden wie sich FOREX-Märkte verhalten

würden, wenn jegliche Entscheidungen von Trading Bots getroffen werden und die Märkte

so statt einer (zumindest noch zum Teil) Ökonomisch-Theoretischen Verhaltensweise eine

rein Statistisch-Spieltheoretische Verhaltensweise annehmen würden, die nicht mehr auf

realwirtschaftlichen Indikatoren basiert. Vielleicht würden unsere 𝐴𝑅𝐼𝑀𝐴-Modelle dann an

Aussagekraft gewinnen.

Page 19: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 19

Appendix: STATA Code

/*Teil 1*/ cd "D:\Empirisches Projekt" import excel "D:\Empirisches Projekt\EXUSEU.xls", sheet("EXUSEU") firstrow clear drop DATE rename VALUE exue gen lexue = ln(exue) /*Teil 2*/ gen t = tm(1999m1) + _n - 1 format t %tm tsset t list t exue twoway line exue t twoway line lexue t gen lagex = exue[_n-1] gen dex = exue-lagex twoway line dex t gen llagex = lexue[_n-1] gen ldex = lexue-llagex /*Grafiken*/ twoway (line exue t) twoway (line ldex t) twoway (line dex t)(lfit dex t) ac exue ac lexue ac dex pac exue pac lexue pac dex /*Dickey-Fuller-Test*/ dfuller dex dfuller exue dfuller lexue /*Teil 3*/ capture log close cd "D:\Empirisches Projekt" log using XrateUSEUR, replace use XrateUSEUR, clear

Page 20: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 20

drop DATE rename VALUE xrate drop if xrate >=. gen t = tm(1999m1) + _n - 1 format t %tm tsset t list t xrate twoway line xrate t /*zeitreihe schaut nicht stationär aus deswegen differenzieren*/ /*lt. Angabe: schwache Stationarität.*/ gen x2 = xrate[_n-1] gen dif = xrate - x2 twoway line dif t corrgram xrate dfuller xrate, lags(2) ac dif dfuller dif, lags(2) /*Teil 4*/ /*KPSS test*/ kpss xrate in 1/182 kpss dif in 2/182 arima xrate in 1/182, arima(1,1,0) estat ic /*-750.0396 -740.4441*/ arima xrate in 1/182, arima(2,1,0) estat ic /*-748.2533 -735.4593*/ arima xrate in 1/182, arima(1,1,1) /*-748.9649 -736.1709*/ estat ic arima xrate in 1/182, arima(0,1,1) estat ic /*-750.0481 -740.4526*/ arima xrate in 1/182, arima(0,1,2) estat ic /*-748.4023 -735.6083*/ arima xrate in 1/182, arima(0,1,0)

Page 21: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 21

estat ic /*-751.9333 -745.5363*/ arima xrate in 1/182, arima(2,1,2) estat ic /*-746.8181 -727.6271*/ arima xrate in 1/182, arima(1,1,2) estat ic /*-747.3797 -731.3872*/ arima xrate in 1/182, arima(2,1,1) estat ic /*-747.5056 -731.5131*/ /*Anmerken. Wir arbeiten mit dem AR(1)-Modell weiter*/ /*Alle ARMA(0-2,0-2)-Modelle durchtesten*/ arima xrate in 1/182, arima(1,0,0) estat ic /*-752.6999 -743.0879*/ arima xrate in 1/182, arima(2,0,0) estat ic /*-750.9107 -738.0947*/ arima xrate in 1/182, arima(2,0,1) estat ic /*-749.8521 -733.8321*/ arima xrate in 1/182, arima(2,0,2) estat ic /*-748.3962 -729.1722*/ arima xrate in 1/182, arima(0,0,1) estat ic /*-349.2816 -339.6696*/ arima xrate in 1/182, arima(0,0,2) estat ic /*-476.6309 -463.8149*/ arima xrate in 1/182, arima(1,0,2) estat ic /*-749.1403 -733.1203*/ /*AR(1)-Modell ist das beste!*/ /*AR(1)-Modell ausführen*/ reg xrate x2 in 1/182 /*-753.2121 -746.8151*/ /*Residuenanalyse*/ /*Zunächst die Residuen berechnen*/ predict res4, residuals /*Korrelogramm ansehen*/ corrgram res4, lags(15)

Page 22: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 22

/*Breusch-Godfrey-Test auf Autokorrelation*/ bgodfrey, lags(1) /*Normalität überprüfen*/ ** Jarque Bera Test auf Normalität sktest res4 **Histogramm um Form der Residuen zu checken hist res4, bin(100) kdensity normal /*Prognose durchführen*/ predict fc4 in 183/207 tsline xrate fc4 /*Teil 5*/ arima xrate in 30/125, arima(1,0,0) /*hoher Koeffizient bei AR(1) => Random Walk?*/ kpss xrate in 30/125 kpss dif in 30/125 ac dif in 30/125 pac dif in 30/125 /* AR(1) Koeffizient ist gleich dem Autokorrelationskoeffizienten*/ arima xrate in 30/125, arima(0,1,0) estat ic /* -401.5456 -396.4169*/ arima xrate in 30/125, arima(0,1,1) estat ic /* -400.5469 -392.8539*/ arima xrate in 30/125, arima(1,1,0) estat ic /*-400.3754 -392.6824*/ arima xrate in 30/125, arima(2,1,0) estat ic /*-398.8943 -388.6369*/ arima xrate in 30/125, arima(2,1,1) estat ic /*-398.8929 -386.0711*/ arima xrate in 30/125, arima(1,1,1) estat ic /*-402.0992 -391.8418*/ arima xrate in 30/125, arima(1,1,2) estat ic /*-398.8385 -386.0168*/ arima xrate in 30/125, arima(2,1,2) estat ic /*-398.1858 -382.7998*/

Page 23: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 23

arima xrate in 30/125, arima(0,1,2) estat ic /*-399.6988 -389.4414*/ /*Prognose*/ reg xrate x2 in 30/125 predict res51 in 30/125 reg xrate dif in 30/125 predict res52 in 30/125 tsline xrate res51 res52 in 30/125 /*Residuenanalyse*/ reg xrate x2 in 30/125 /*Korrelogramm ansehen*/ corrgram res51, lags(15) /*Breusch-Godfrey-Test auf Autokorrelation*/ bgodfrey, lags(1) /*Normalität überprüfen*/ ** Jarque Bera Test auf Normalität sktest res51 **Histogramm um Form der Residuen zu checken hist res51, bin(100) kdensity normal /*RW bestes differenziertes Modell!*/ arima xrate in 30/125, arima(1,0,0) estat ic /*-391.6564 -383.9634*/ arima xrate in 30/125, arima(2,0,0) estat ic /*-391.1196 -380.8622*/ arima xrate in 30/125, arima(2,0,1) estat ic /*-391.2174 -378.3957*/ arima xrate in 30/125, arima(2,0,2) estat ic /*-392.7214 -379.8996*/ arima xrate in 30/125, arima(0,0,1) estat ic /*-193.0995 -185.4064*/ arima xrate in 30/125, arima(0,0,2) estat ic /*-256.4906 -246.2332*/ arima xrate in 30/125, arima(1,0,2) estat ic /*-390.0166 -377.1949*/ arima xrate in 30/125, arima(1,0,1)

Page 24: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 24

estat ic /*-391.328 -381.0706*/ /*Teil 6*/ arima xrate in 30/125, arima(0,1,0) predict f1 /*liefert mir Spalte voll mit der errechneten Konstanten. Also Modell ist Random walk mit drift*/ /*Berechne Prognosefehler */ gen d1 = 1 in 126/207 gen dif2 = dif[_n-1] gen er_rw = dif - (dif2 + f1) if d1==1 /*cumsum*/ gen cerrw = sum(abs(er_rw)) /*arima(1,1,0)*/ regress dif dif2 in 30/125 predict f2 gen er2 = dif - f2 if d1==1 gen cer2 = sum(abs(er2)) twoway (line cerrw t in 126/207)(line cer2 t in 126/207) /*für nicht-differenzierte*/ reg xrate x2 in 30/125 predict xrate1 gen d = 1 in 126/207 gen er_ar1 = xrate - xrate1 if d == 1 gen sumer_ar1 = sum(abs(er_ar1)) arima xrate in 30/125, arima(0,0,0) predict xrate2 gen er_rw = xrate - (x2+xrate2) if d == 1 gen sumer_rw = sum(abs(er_rw)) twoway (line sumer_ar1 t in 126/207) (line sumer_rw t in 126/207) /*Quadrierte Prognosefehler erstellen*/

Page 25: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 25

gen sq_errw = er_rw^2 gen sq_erar = er_ar1^2 /*Absolute Prognosefehler erstellen*/ gen ab_errw = abs(er_rw) gen ab_erar = abs(er_ar1) /* MAPE erstellen über abgespeicherte Werte des Befehls summarize. Das Voranstellen von quietly verhindert, dass die deskriptiven Statistiken aus- gegeben werden. */ quietly sum ab_errw scalar mape_errw = r(mean) quietly sum ab_erar scalar mape_erar = r(mean) ** RMSE erstellen über abgespeicherte Werte des Befehls summarize. quietly sum sq_errw scalar rmse_errw = sqrt(r(mean)) quietly sum sq_erar scalar rmse_erar = sqrt(r(mean)) ** Evalution der Ein-Schrittprognosen scalar list mape_errw mape_erar rmse_errw rmse_erar /*Teil 7*/ /* AR(1) und RW zum vorcasten, f1+dif und f2*/ /*Einmal für 3 Monate und einmal für 6 Monate.*/ /*AR(1),3*/ regress dif dif2 in 1/182 estat ic /*-748.2105 -741.8246*/ predict f2_1 gen f2_3 = f2_1[_n-2] gen d2 = 1 in 185/207 gen er_3 = dif - f2_3 if d2==1 gen cer3 = sum(abs(er_3)) /*RW, 3*/ arima xrate in 1/182, arima(0,1,0) estat ic /*-751.9333 -745.5363*/ predict f3 gen dif_3 = dif[_n-3] gen er_4 = dif - (dif_3+f3) if d2==1

Page 26: Empirisches Projekt: FOREX-Daten mit ARIMA-Modell UK ... · PDF filenotwendig und wir können das Testen verschiederner ARIMA(p,d,q)-Modelle überspringen1. ... Wechselkurs EUR/USD

Clemens Holzkorn 26

gen cer4 = sum(abs(er_4)) twoway (line cer3 t in 185/207)(line cer4 t in 185/207) /*Grafiken*/ gen pred_ar_m = f2_3*100 gen pred_rw_m = f3*100 tsline xrate l2_100 l3_100 in 185/207