Marktprognose basierend auf makroökonomischen Indikatoren - Seite 12

 
avtomat:


gilt nur für die begrenzte Klasse von Modellen, die "Ihre Universitäten" Ihnen beigebracht haben.


Ich habe es nicht an Universitäten studiert. Ich bin Autodidakt. Ich denke mit meinem eigenen Verstand. Ich hinterfrage und überprüfe alles. Auf die Notwendigkeit der Stationarität kam ich, nachdem ich mehrfach erfolglos versucht hatte, ein Modell für nicht-stationäre Daten zu erstellen. Ich kann das im Detail beweisen, aber ich bedaure die Zeit, denn jeder wird bei seiner Meinung bleiben.

Mein Interesse an diesem Thema wurde geweckt, nachdem ich die Marktnachrichten gesehen hatte, in denen Professor Steve Keen damit prahlte, dass sein Wirtschaftsmodell den Crash von 2008 vorhersagte, während das von der Fed verwendete DSGE-Modell nichts vorhersagen konnte. Also habe ich das DSGE-Modell und das Modell von Keen studiert. Für diejenigen, die meinem Weg folgen wollen, empfehle ich, mit diesem Matlab-Artikel über DSGE-Modelle zu beginnen. Sie enthält alle erforderlichen Codes, einschließlich des Codes für den Austausch von Wirtschaftsdaten aus der FRED-Datenbank (Fedreserve):

http://www.mathworks.com/help/econ/examples/modeling-the-united-states-economy.html

Das Fed-Modell verwendet die folgenden Prädiktoren:

% FRED Reihenbeschreibung% ---------------------------------------------------------------------------% COE Bezahltes Arbeitnehmerentgelt in Mrd. $% CPIAUCSL Verbraucherpreisindex% FEDFUNDS Effektiver Bundesgeldsatz% GCE Konsumausgaben und Investitionen des Staates in Mrd. $% BIP Bruttoinlandsprodukt in Mrd. $% GDPDEF Preisdeflator des Bruttoinlandsprodukts% GPDI Bruttoinvestitionen des privaten Sektors im Inland in Mrd. $% GS10 Rendite zehnjähriger Staatsanleihen % HOHOANBS Index der geleisteten Arbeitsstunden im nicht landwirtschaftlichen Sektor% M1SL Geldmenge M1 (enge Geldmenge)% M2SL Geldmenge M2 (weite Geldmenge)% PCEC Persönliche Konsumausgaben in Mrd. $% TB3MS Dreimonatsrendite für Schatzwechsel% UNRATE Arbeitslosenquote


Dann schauen Sie sich die Vorträge von Steve Keen auf YouTube an:

https://www.youtube.com/watch?v=aJIE5QTSSYA

https://www.youtube.com/watch?v=DDk4c4WIiCA

https://www.youtube.com/watch?v=wb7Tmk2OABo

Und lesen Sie seine Artikel.

Modeling the United States Economy - MATLAB & Simulink Example
  • www.mathworks.com
The Smets-Wouters model (2002, 2004, 2007) is a nonlinear system of equations in the form of a Dynamic Stochastic General Equilibrium (DSGE) model that seeks to characterize an economy derived from economic first principles. The basic model works with 7 time series: output, prices, wages, hours worked, interest rates, consumption, and...
 
DasMinsky-Programm (Wirtschaftssimulator) ist beigefügt, und die Website, von der es stammt, hat eine Menge Videos, die erklären, wie es funktioniert, und viele andere Dinge.

/go?link=http://www.ideaeconomics.org/minsky/

Dateien:
 
ProfSteveKeen
ProfSteveKeen
  • www.youtube.com
Rethinking Economics at the London School of Economics I was invited by the Rethinking Economics student association at the London School of Economics to give a talk about Greece, Austerity, Post Keynesian Economics and anticipating the crisis. There...
 
Und für die unterentwickelten Menschen, in lesbarer Sprache
 
Vinin:
Und für die Unterentwickelten in leicht verständlicher Sprache

Für die Deutschen :)

https://translate.google.com.ua/translate?sl=en&tl=ru&js=y&prev=_t&hl=ru&ie=UTF-8&u=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSteve_Keen&edit-text=

 
gpwr:

Die Aufgabe besteht also darin, den S&P 500 Index auf der Grundlage der verfügbaren Wirtschaftsindikatoren vorherzusagen.

Schritt 1: Finden Sie die Indikatoren. Die Indikatoren sind hier öffentlich zugänglich: http://research.stlouisfed.org/fred2/. Es gibt 240.000 davon. Das wichtigste ist das BIP-Wachstum. Dieser Indikator wird jedes Quartal berechnet. Daher beträgt unser Schritt 3 Monate. Alle Indikatoren mit kürzerem Zeithorizont werden auf 3 Monate umgerechnet, der Rest (jährlich) wird verworfen. Wir verwerfen auch Indikatoren für alle Länder außer den USA und Indikatoren, die keine lange Historie haben (mindestens 15 Jahre). Also sichten wir mühsam eine Reihe von Indikatoren und erhalten etwa 10 Tausend Indikatoren. Formulieren wir eine spezifischere Aufgabe, um den S&P 500-Index ein oder zwei Quartale im Voraus zu prognostizieren, wobei 10 Tausend Wirtschaftsindikatoren mit einem vierteljährlichen Zeitraum vorliegen. Ich mache alles in Matlab, aber es ist auch möglich, es in R zu machen.

Schritt 2: Umwandlung aller Daten in eine stationäre Form durch Differenzierung und Normalisierung. Es gibt eine ganze Reihe von Methoden. Die Hauptsache ist, dass die umgewandelten Daten aus den ursprünglichen Daten wiederhergestellt werden können. Ohne Stationarität wird kein Modell funktionieren. Die S&P 500-Reihe vor und nach der Umwandlung ist unten dargestellt.

Schritt 3: Wählen Sie ein Modell. Sie könnten ein neuronales Netz haben. Es kann sich um eine multivariablelineare Regression handeln. Es könnte sich um eine polynomiale Regression mit mehreren Variablen handeln. Nachdem wir lineare und nichtlineare Modelle ausprobiert haben, kommen wir zu dem Schluss, dass die Daten so verrauscht sind, dass es keinen Sinn macht, ein nichtlineares Modell anzupassen, da das y(x)-Diagramm mit y = S&P 500 und x = einer von 10.000 Indikatoren fast eine runde Wolke ist. Daher formulieren wir die Aufgabe konkreter: Vorhersage des S&P 500-Index für ein oder zwei Quartale im Voraus anhand von 10 Tausend Wirtschaftsindikatoren mit einem vierteljährlichen Zeitraum unter Verwendung einer multivariablen linearen Regression.

Schritt 4: Auswahl der wichtigsten Wirtschaftsindikatoren aus 10 Tausend (Reduzierung der Dimension des Problems). Dies ist der wichtigste und schwierigste Schritt. Nehmen wir die Geschichte des S&P 500, die 30 Jahre lang ist (120 Quartale). Um den S&P 500 als lineare Kombination verschiedener Wirtschaftsindikatoren darzustellen, reichen 120 Indikatoren aus, um den S&P 500 während dieser 30 Jahre genau zu beschreiben. Darüber hinaus kann es sich bei den Indikatoren um absolut beliebige Indikatoren handeln, um ein so genaues Modell von 120 Indikatoren und 120 Werten des S&P 500 zu erstellen. Wir werden also die Zahl der Eingaben unter die Zahl der beschriebenen Funktionswerte reduzieren. Wir suchen zum Beispiel die 10-20 wichtigsten Indikatoren/Eingaben. Solche Aufgaben, bei denen Daten durch eine kleine Anzahl von Eingaben beschrieben werden, die aus einer großen Anzahl von möglichen Basen (Wörterbuch) ausgewählt werden, werden als spärliche Kodierung bezeichnet.

Für die Auswahl der Prädiktoren gibt es viele Methoden. Ich habe sie alle ausprobiert. Hier sind die beiden wichtigsten:

  1. Wir klassifizieren alle 10k Daten nach ihrer Vorhersagekraft für den S&P 500. Die Vorhersagefähigkeit kann durch den Korrelationskoeffizienten oder die gegenseitige Information gemessen werden.
  2. Gehen wir alle 10.000 Indikatoren einzeln durch und wählen wir denjenigen aus, der das lineare Modell y_mod = a + b*x1 zur Beschreibung des S&P 500 mit dem geringsten Fehler liefert. Dann wählen wir die zweite Eingabe erneut aus, indem wir die verbleibenden 10 Tausend -1 Indikatoren ausprobieren, so dass sie das Residuum y - y_mod = c + d*x2 mit dem geringsten Fehler beschreibt. Und so weiter. Diese Methode wird als schrittweise Regression oder Matching Pursuit bezeichnet.

Hier sind die ersten 10 Indikatoren mit dem höchsten Korrelationskoeffizienten mit dem S&P 500:

Serien-ID Lag Corr Gegenseitige Information
PPICRM 2 0.315 0.102
CWUR0000SEHE'. 2 0.283 0.122
CES1021000001'. 1 0.263 0.095
B115RC1Q027SBEA'. 2 0.262 0.102
CES1000000034'. 1 0.261 0.105
A371RD3Q086SBEA'. 2 0.260 0.085
B115RC1Q027SBEA'. 1 0.256 0.102
CUUR0000SAF111'. 1 0.252 0.117
CUUR0000SEHE'. 2 0.251 0.098
USMINE 1 0.250 0.102

Hier sind die 10 wichtigsten Indikatoren mit der größten gegenseitigen Information mit dem S&P 500:

Serien-ID Lag Corr Gegenseitige Information
CPILEGSL 3 0.061 0.136
B701RC1Q027SBEA'. 3 0.038 0.136
CUSR0000SAS'. 3 0.043 0.134
'GDPPOT' 3 0.003 0.134
NGDPPOT'. 5 0.102 0.134
OTHSEC". 4 0.168 0.133
3 'LNU01300060' 3 0.046 0.132
LRAC25TTUSM156N'. 3 0.046 0.132
LRAC25TTUSQ156N'. 3 0.046 0.131
CUSR0000SAS'. 1 0.130 0.131

Lag ist die Verzögerung der Eingabereihen relativ zur simulierten S&P 500-Reihe. Wie Sie aus diesen Tabellen ersehen können, führen verschiedene Methoden zur Auswahl der wichtigsten Eingaben zu unterschiedlichen Eingabesätzen. Da mein oberstes Ziel die Minimierung des Modellfehlers ist, wählte ich die zweite Methode der Eingabewahl, d. h. die Aufzählung aller Eingaben und die Auswahl der Eingabe, die den kleinsten Fehler ergab.

Schritt 5: Wählen Sie eine Methode zur Berechnung des Fehlers und der Koeffizienten des Modells. Die einfachste Methode ist die RMS-Methode, weshalb die lineare Regression nach dieser Methode so beliebt ist. Das Problem bei der RMS-Methode ist, dass sie empfindlich auf Ausreißer reagiert, d. h. diese Ausreißer haben einen erheblichen Einfluss auf die Modellkoeffizienten. Um diese Empfindlichkeit zu verringern, kann die Summe der absoluten Fehlerwerte anstelle der Summe der Fehlerquadrate verwendet werden, was zu einer Kleinstmodulmethode (LMM) oder robusten Regression führt. Bei dieser Methode gibt es im Gegensatz zur linearen Regression keine analytische Lösung für die Modellkoeffizienten. Normalerweise werden die Module durch glatte/differenzierbare Näherungsfunktionen ersetzt und die Lösung ist numerisch und langwierig. Ich habe beide Methoden (lineare Regression und LNM) ausprobiert und konnte keinen besonderen Vorteil der LNM feststellen. Anstelle von DOM bin ich einen Umweg gegangen. Im zweiten Schritt, der Gewinnung stationärer Daten durch Differenzierung, habe ich eine nicht-lineare Normalisierungsoperation hinzugefügt. Das heißt, die ursprünglichen Reihen x[1], x[2], ... x[i-1], x[i] ... wird zunächst in eine Differenzreihe x[2]-x[1] umgewandelt ... x[i]-x[i-1] ... und dann wird jede Differenz normalisiert, indem sie durch sign(x[i]-x[i-1])*abs(x[i]-x[i-1])^u ersetzt wird, wobei 0 < u < 1. Wenn u=1 ist, erhalten wir die klassische RMS-Methode mit ihrer Empfindlichkeit gegenüber Ausreißern. Bei u=0 werden alle Werte der Eingangsreihen durch binäre +/-1-Werte mit fast keinen Ausreißern ersetzt. Bei u=0,5 erhalten wir etwas, das dem RMS nahe kommt. Der optimale Wert von u liegt irgendwo zwischen 0,5 und 1.

Eine beliebte Methode zur Umwandlung von Daten in eine stationäre Form besteht darin, die Werte der Reihe durch die Differenz der Logarithmen dieser Werte zu ersetzen, d. h. log(x[i]) - log(x[i-1]) oder log(x[i]/x[i-1]). Die Wahl dieser Transformation ist in meinem Fall gefährlich, da es viele Zeilen mit Nullen und negativen Werten im Wörterbuch mit 10k Eingaben gibt. Der Logarithmus hat außerdem den Vorteil, dass er die Empfindlichkeit der RMS-Methode gegenüber Ausreißern verringert. Meine Transformationsfunktion sign(x)*|x|^u erfüllt also den gleichen Zweck wie log(x), jedoch ohne die mit Nullen und negativen Werten verbundenen Probleme.

Schritt 6: Wir berechnen die Modellvorhersage, indem wir die neuen Eingabedaten anpassen und die Modellausgabe unter Verwendung derselben Modellkoeffizienten berechnen, die durch die lineare Regression im vorangegangenen Abschnitt der Geschichte ermittelt wurden. Es ist wichtig, daran zu denken, dass die vierteljährlichen Wirtschaftsindikatoren und die Werte des S&P 500 fast gleichzeitig (innerhalb von 3 Monaten) erscheinen. Um den S&P 500 für das nächste Quartal vorherzusagen, sollte das Modell daher zwischen dem aktuellen Quartalswert des S&P 500 und um mindestens ein Quartal verzögerten Eingaben (Lag>=1) erstellt werden. Um den S&P 500 ein Quartal im Voraus zu prognostizieren, sollte das Modell zwischen dem aktuellen Quartalswert des S&P 500 und um mindestens 2 Quartale verzögerten Inputs (Lag>=2) erstellt werden. Und so weiter. Die Genauigkeit der Vorhersagen nimmt bei Verzögerungen von mehr als 2 deutlich ab.

Schritt 7: Überprüfen Sie die Genauigkeit der Vorhersagen anhand des bisherigen Verlaufs. Die erste oben beschriebene Methode (jede Eingabe in die Vorgeschichte schreiben, die Eingabe mit dem niedrigsten RMS auswählen und den letzten Wert dieser Eingabe verwenden, um eine Vorhersage zu erstellen) ergab sogar noch schlechtere Ergebnisse als Zufalls- oder Nullvorhersagen. Ich habe mich gefragt: Warum sollte eine Eingabe, die gut in die Vergangenheit passt, eine gute Vorhersagekraft für die Zukunft haben? Es ist sinnvoll, die Modelleingaben auf der Grundlage ihres vorherigen Vorhersagefehlers und nicht auf der Grundlage des kleinsten Regressionsfehlers bei bekannten Daten auszuwählen.

Schließlich lässt sich mein Modell Schritt für Schritt wie folgt beschreiben:

  1. Wir laden Wirtschaftsdaten von stlouisfed herunter (etwa 10k Indikatoren).
  2. Transformieren Sie die Daten in eine stationäre Form und normalisieren Sie sie.
  3. Wählen Sie ein lineares Modell des S&P 500 Index, das analytisch mit der RMS-Methode (lineare Regression) gelöst wird.
  4. Wir wählen die Länge der Historie (1960 - Q2 2015) und unterteilen sie in einen Trainingszeitraum (1960 - Q4 1999) und einen Testzeitraum (Q1 2000 - Q2 2015).
  5. Wir beginnen die Vorhersagen mit 1960 + N + 1 Jahren, wobei N*4 die ursprüngliche Anzahl der bekannten Quartalswerte des S&P 500 ist.
  6. Aus den ersten N Daten wird für jeden Wirtschaftsindikator ein lineares Modell y_mod = a + b*x erstellt, wobei y_mod das S&P 500-Modell und x einer der Wirtschaftsindikatoren ist.
  7. Wir sagen mit jedem Modell N + 1 Balken voraus.
  8. Berechnen Sie die Vorhersagefehler von N + 1 Balken mit jedem Modell. Erinnern Sie sich an diese Fehler.
  9. Wir erhöhen die Anzahl der bekannten Werte des S&P 500 um 1, d.h. N + 1, und wiederholen die Schritte 6-9, bis wir das Ende des Trainingszeitraums (4. Quartal 1999) erreichen. In diesem Schritt haben wir die Vorhersagefehler von 1960 + N +1 Jahre bis Q4 1999 für jeden Wirtschaftsindikator gespeichert.
  10. Wir beginnen mit dem Test des Modells für das zweite historische Intervall (Q1 2000 - Q2 2015).
  11. Für jeden der 10 Tausend Inputs berechnen wir den mittleren quadratischen Fehler der Vorhersagen für den Zeitraum 1960 - Q4 1999.
  12. Wählen Sie aus 10 Tausend Eingaben diejenige mit dem geringsten RMS-Vorhersagefehler von 1960 - Q4 1999.
  13. Wir konstruieren ein lineares Modell y_mod = a + b*x für jeden wirtschaftlichen Indikator für 1960 - Q4 1999.
  14. Wir prognostizieren Q1 2000 nach jedem Modell.
  15. Wir wählen die Vorhersage der ausgewählten Eingabe mit dem niedrigsten RMS der Vorhersagen für den vorangegangenen Zeitraum (1960 - Q4 1999) als unsere Hauptvorhersage für Q1 2000.
  16. Berechnen Sie die Vorhersagefehler aller Eingaben im ersten Quartal 2000 und addieren Sie sie zum Effektivwert der gleichen Eingaben im vorangegangenen Zeitintervall (1960 - Q4 1999).
  17. Wir gehen zum 2. Quartal 2000 und wiederholen die Schritte 12-17, bis wir das Ende des Testabschnitts (2. Quartal 2015) mit einem unbekannten Wert des S&P 500 erreichen, dessen Vorhersage unser Hauptziel ist.
  18. Wir akkumulieren die Vorhersagefehler für Q1 2000 - Q4 2014, die von den Eingaben mit dem niedrigsten RMS der Vorhersagen in den vorherigen Segmenten gemacht werden. Dieser Fehler (err2) ist unser Modell für den Vorhersagefehler außerhalb der Stichprobe.

Kurz gesagt, die Wahl des Prädiktors hängt von seinem RMS der Vorhersagen für frühere S&P 500-Werte ab. Es gibt keinen Blick in die Zukunft. Der Prädiktor kann sich im Laufe der Zeit ändern, aber am Ende des Testabschnitts ändert er sich grundsätzlich nicht mehr. Mein Modell hat PPICRM mit einer Verzögerung von 2 Quartalen als ersten Input für die Vorhersage von Q2 2015 gewählt. Die lineare Regression des S&P 500 durch den ausgewählten PPICRM(2)-Input für 1960 - Q4 2014 ist unten dargestellt. Die schwarzen Kreise zeigen die lineare Regression. Die mehrfarbigen Kreise sind historische Daten für 1960 - Q4 2014. Die Farbe des Kreises zeigt die Uhrzeit an.


Vorhersagen des S&P 500 in stationärer Form (rote Linie):

S&P 500-Prognosen in Rohform (rote Linie):

Die Grafik zeigt, dass das Modell einen Anstieg des S&P 500 im zweiten Quartal 2015 vorhersagt. Die Hinzufügung einer zweiten Eingabe erhöht den Vorhersagefehler:

1 err1=0,900298 err2=0,938355 PPICRM (2)

2 err1=0,881910 err2=0,978233 PERMIT1 (4)

Dabei ist err1 der Regressionsfehler. Offensichtlich sinkt sie, wenn man einen zweiten Eingang hinzufügt. err2 ist der mittlere quadratische Vorhersagefehler geteilt durch den zufälligen Vorhersagefehler. err2>=1 bedeutet also, dass die Vorhersage meines Modells nicht besser ist als Zufallsvorhersagen. err2<1 bedeutet, dass die Vorhersage meines Modells besser ist als Zufallsvorhersagen.

PPICRM = Erzeugerpreisindex: Rohmaterial zur Weiterverarbeitung

PERMIT1 = Durch Baugenehmigungen genehmigte neue private Wohneinheiten - in Gebäuden mit 1 Einheit

Das oben beschriebene Modell kann wie folgt umformuliert werden. Wir versammeln 10.000 Wirtschaftswissenschaftler und bitten sie, die Marktentwicklung für das kommende Quartal vorherzusagen. Jeder Wirtschaftswissenschaftler kommt mit seiner Vorhersage durch. Aber anstatt eine Vorhersage auf der Grundlage der Anzahl der von ihnen geschriebenen Lehrbücher oder der von ihnen in der Vergangenheit erhaltenen Nobelpreise zu treffen, warten wir ein paar Jahre und sammeln ihre Vorhersagen. Nach einer beträchtlichen Anzahl von Vorhersagen sehen wir, welcher Wirtschaftswissenschaftler genauer ist, und wir beginnen, seinen Vorhersagen zu glauben, bis ein anderer Wirtschaftswissenschaftler sie an Genauigkeit übertrifft.

Die Antwort ist einfach: Handeln Sie im Jahresrhythmus....
 
IvanIvanov:
Die Antwort ist einfach: Handeln Sie im Jahresrhythmus....
Soll das ein Scherz sein?
 
gpwr:
Soll das ein Scherz sein?

:-) ich weiß es nicht.... Wenn die Analyse auf Jahre..... ist, weiß ich nicht, worauf ich mich einlassen soll... Auf dem m5 wird es wahrscheinlich keine praktischen Auswirkungen haben...

Sie können versuchen, Ihre Analyse auf H4 anzuwenden...

 

gpwr:

...Nach einer beträchtlichen Anzahl von Vorhersagen sehen wir, welcher Ökonom treffsicherer ist und beginnen, seinen Vorhersagen zu glauben, bis ein anderer Ökonom ihn in der Genauigkeit übertrifft...


Mmmm, das widerspricht irgendwie Taleb mit seinem schwarzen Schwan. Wie können Wirtschaftswissenschaftler, die in einem bestimmten Umfeld gute Prognosen abgeben, einen Zusammenbruch vorhersagen?

Ich meine nicht wie, sondern warum wird es geschehen? Weil sie sich ziemlich sicher sind, dass sie Recht haben, warum sollten sie dieses Recht revidieren, so dass wir Lemminge bekommen, die sich begeistert in den Abgrund stürzen.

 

Hier ist der Artikel von Keane über sein Modell:

http://keenomics.s3.amazonaws.com/debtdeflation_media/papers/PaperPrePublicationProof.pdf

Allerdings muss ich gleich zu Beginn sagen, dass ich sein Modell nicht mag. Ihr Zweck ist es, Konjunkturzyklen und -einbrüche zu erklären, nicht aber, die Markt- oder Wirtschaftsleistung als BIP mit einer gewissen Genauigkeit vorherzusagen. So sagte sein Modell beispielsweise voraus, dass die steigende Verschuldung der privaten Haushalte zu einem Zusammenbruch der Wirtschaft führen würde. Aber wann genau hat sein Modell das vorausgesagt? Sie ist auch nicht in der Lage vorherzusagen, was nach dem Zusammenbruch passieren wird. Alle seine theoretischen Kurven gehen ins Unendliche und verharren dort auf unbestimmte Zeit, obwohl sich der Markt und die Wirtschaft in den USA im Jahr 2009 erholt haben. Das ist wohl auch der Grund, warum er sich weiterhin sehr negativ über den Aufschwung äußert, nicht daran glaubt und behauptet, dass eine schlimmere große Depression bevorsteht als die zwei Jahrzehnte dauernde japanische. Ich denke, das ist das Problem mit allen dynamischen Wirtschaftsmodellen: Sie sind schwer zu stabilisieren, und wenn sie instabil werden, bleiben sie stecken und können die Zukunft nicht mehr vorhersagen. Obwohl ein berühmter Hedgefonds Kean als Wirtschaftsberater eingestellt hat.