Marktprognose basierend auf makroökonomischen Indikatoren - Seite 51

 
Vladimir:
Ich stimme zu, ich habe sogar selbst so etwas hier irgendwo geschrieben. Einen Prädiktor aus der gesamten Geschichte auszuwählen und dann einen Vorwärtstest aus derselben Geschichte zu verwenden, ist eine Selbsttäuschung, die jeder, vom Händler bis zum Wissenschaftler, begeht. Viele Artikel, die sich mit der Vorhersage der Wirtschaft befassen, beginnen mit einer Liste ausgewählter Prädiktoren und melden dann "großartige" Ergebnisse. Händler wählen Strategien, die z.B. auf Rebound oder Breakout basieren, weil "es in der Vergangenheit funktioniert hat", und hoffen, dass es auch in der Zukunft funktionieren wird, und zeigen Forward-Tests aus der Vergangenheit, ohne sich bewusst zu sein, dass ihre Wahl der Strategie selbst auf dem Studium der gesamten Geschichte, einschließlich der Geschichte für Forward-Tests, beruht. Für mich wird der Test meines BIP- und Marktmodells in der Zukunft stattfinden, daher habe ich diesen Thread eröffnet - um Vorhersagen zu posten und zu sehen, wie sie sich in Echtzeit bewahrheiten. Die Arbeit ist noch nicht beendet. Es gibt viele Ideen für nichtlineare Datentransformationen. Zum Beispiel beeinflussen einige Prädiktoren wie HOUST das BIP-Wachstum über eine Schwellenfunktion.

Nichtlinearität, ja.

Aber wie findet man eine nicht-lineare Funktion? Indem Sie verschiedene Varianten ausprobieren? Oder einfach neuronale Netze verwenden?

 
Дмитрий:

Nichtlinearität, ja.

Aber wie findet man eine nicht-lineare Funktion? Indem Sie verschiedene Varianten ausprobieren? Oder einfach neuronale Netze verwenden?

Sie könnten auch Random Forest ausprobieren, das ist einfacher zu handhaben und simuliert auch Nichtlinearitäten.

Beispiel: https://www.quora.com/How-does-random-forest-work-for-regression-1

Das Aussehen der resultierenden Funktion kann auch mit den eingebauten Werkzeugen bewertet werden.

How does random forest work for regression? - Quora
  • www.quora.com
I think the first step would be to understand how decision trees work in a regression problem. You might be aware of CART - Classification and Regression Trees. When dealing with regression problem you try to predict real valued numbers at the leaf nodes which would look something like this for singular scale feature: Now the question comes how...
 
Alexey Burnakov:

Sie können auch Random Forest ausprobieren, der einfacher zu verwenden ist und auch Nichtlinearitäten simuliert.

Beispiel: https://www.quora.com/How-does-random-forest-work-for-regression-1

Das Aussehen der resultierenden Funktion kann auch mit den eingebauten Werkzeugen bewertet werden.

Danke, Random Forest ist mir vertraut
 
Дмитрий:

Nichtlinearität, ja.

Aber wie findet man eine nicht-lineare Funktion? Indem Sie verschiedene Varianten ausprobieren? Oder einfach neuronale Netze verwenden?

Lassen Sie uns also gemeinsam nachdenken. Ich wollte eine einfache Stufenfunktion wählen:

out = -1 wenn Eingang < Schwellenwert, +1 wenn Eingang > Schwellenwert

Dabei ist der Schwellenwert unser unbekannter Schwellenwert, der für verschiedene Prädiktoren unterschiedlich ist. Für den S&P500 und das BIP beispielsweise ist der Schwellenwert = 0, d.h. der Rückgang dieser Indikatoren selbst ist wichtig, nicht der Schwellenwert. Bei anderen Wirtschaftsindikatoren ist das nicht so einfach. Der Schwellenwert muss angepasst werden. Die Modellierung könnte folgendermaßen aussehen:

1. Bestimmen Sie die Art der Daten: steigend (S&P500, BIP,...) oder schwankend (Arbeitslosenquote, Bundessätze,...), indem Sie die Werte zu Beginn und am Ende der Geschichte vergleichen - Sie sollten sich eine robuste automatische Methode zur Bestimmung der Daten ausdenken.

2. Sind die Daten steigend, so werden sie durch Inkremente von x[i] - x[i-1] ersetzt. Wenn Bereich, dann nicht ändern.

3. Wählen Sie eine simulierte Ausgabe wie z. B. BIP-Zuwächse (Wachstum) und wenden Sie darauf eine Stufenfunktion mit einem Schwellenwert von Null an, d. h. das BIP-Wachstum wird durch eine binäre Reihe von +/- 1 ersetzt.

4. Auf diese Weise beginnen wir, alle Prädiktoren und ihre verzögerten Versionen für die Vorhersagefähigkeit aufzuzählen. Wir nehmen einen Prädiktor oder seine Inkremente in Abhängigkeit von Punkt 2, messen seinen Bereich über die gesamte Historie, teilen diesen Bereich durch z.B. 10 und erhalten 9 Schwellenwerte. Ersetzen Sie den Prädiktor unter Verwendung jedes der 9 Schwellenwerte durch eine binäre Reihe von +/-1 und zählen Sie die Anzahl der +1 und -1 unseres Prädiktors, die mit +1 und -1 unserer simulierten Reihe (BIP) übereinstimmen, um M Übereinstimmungen für N vollständige Balken in der Historie zu erhalten. Wir berechnen eine Funktion der M/N-Trefferhäufigkeit für jeden der 9 Progs und wählen den Schwellenwert aus, der die höchste Trefferhäufigkeit ergibt. Wiederholen Sie dies für jeden Prädiktor. Dies sollte eine schnelle Berechnung sein.

Wenn jemand helfen möchte, nehmen Sie die Daten, die ich hier vor ein paar Seiten gepostet habe, und versuchen Sie es. Ich möchte das lineare Modell vorerst abschließen und mich dann dem nichtlinearen Modell zuwenden.

PS: Da es in den Reihen der S&P500- und BIP-Inkremente viel mehr positive (+1) als negative (-1) Werte gibt, kann man sich eine Abwandlung der oben beschriebenen Methode ausdenken, um das Zusammentreffen negativer Werte stärker zu gewichten und so die Rückgänge gegenüber den Anstiegen dieser Indikatoren zu betonen. Der Indikator für die Anpassungsgüte könnte zum Beispiel so aussehen:

J = M(+1)/N + W*M(-1)/N

wobei W eine Gewichtung >1 ist, die widerspiegelt, wie viel weniger negative Werte beim BIP-Wachstum vorhanden sind als positive Werte.

Ein großes Problem entsteht, wenn wir ein Modell mit 2 oder mehr Prädiktoren finden wollen. Wir müssen uns überlegen, wie wir diese Prädiktoren miteinander verbinden: mit AND-, OR- oder XOR-Funktionen. Wenn die Verbindung hergestellt ist, müssen die Schwellenwerte erneut optimiert werden.

 
Vladimir:

Ein großes Problem entsteht, wenn wir ein Modell mit 2 oder mehr Prädiktoren finden wollen. Hier müssen wir uns überlegen, wie wir diese Prädiktoren miteinander verbinden: mit AND-, OR- oder XOR-Funktionen. Wenn die Verbindung hergestellt ist, müssen die Schwellenwerte erneut optimiert werden.

Wenn Sie das Raster mit Daten füttern, findet es die Schwellenwerte "automatisch" und auf einmal für alle Prädiktoren, die in den Eingabevektor aufgenommen wurden.
 
Vladimir:

Wenn Ihnen jemand helfen möchte, nehmen Sie die Daten, die ich vor ein paar Seiten hier eingestellt habe, und probieren Sie sie aus.

Können die gleichen Daten in csv konvertiert werden?
 
Stanislav Korotky:
Können die gleichen Daten in csv konvertiert werden?
Beigefügt. Die erste Spalte zeigt die Daten im Matlab-Format, von Q1 1959 bis Q4 2015. Die übrigen Spalten sind nicht umgerechnete Wirtschafts- und Finanzzahlen. Das BIP steht in der 1168sten Spalte.
Dateien:
Data.zip  1037 kb
 

Fertigstellung der linearen BIP-Vorhersagen. Hier sind zwei Quartale voraus:


Es gibt 4 Prädiktoren in dem Modell, obwohl 3 ausreichend sind. Nach 3-4 Prädiktoren sieht der Rest wie Rauschen aus. Die Vorhersage des S&P500 mit der gleichen Methode wie das BIP funktioniert sehr schlecht. Ich zeige sie nicht einmal hier. Ich habe auch schnell nichtlineare Transformationen mit einer Stufenfunktion ausprobiert, wie ich sie zuvor beschrieben habe. Sie funktioniert schlechter als die lineare Regression.

Ich warte auf die Veröffentlichung des neuen BIP-Wertes Ende April. Sie ruhen sich erst einmal aus.

 
Vladimir:
Beigefügt. Die erste Spalte zeigt die Daten im Matlab-Format, von Q1 1959 bis Q4 2015. Die übrigen Spalten sind nicht umgerechnete Wirtschafts- und Finanzzahlen. Das BIP steht in der Spalte 1168.
Ich danke Ihnen. Es wäre jedoch wünschenswert, die Namen aller Spalten zu kennen. Außerdem wurden, soweit ich weiß, die Daten nicht ganz korrekt kopiert (mit Verlust der Zahlengenauigkeit ), so dass die Einträge in Gruppen von 11 mit demselben Datum erscheinen.
 
Vladimir:

Fertigstellung der linearen BIP-Vorhersagen. Hier sind zwei Quartale voraus:

Das Bild ist schön, aber könnten wir stattdessen bei jedem Schritt das Produkt aus der vorhergesagten Veränderung und der tatsächlichen Veränderung berechnen, über den gesamten Zeitraum summieren und durch dasselbe Produkt dividieren, wobei jedoch die vorhergesagte und die tatsächliche Veränderung modulo genommen werden?