Zum Inhalt springen
Hoobee

Künstliche neuronale Netzwerke

Empfohlene Beiträge

Hoobee

Liebes Forum,

 

ich war ja schon lange nicht mehr hier. Jedenfalls war ich ganz erschrocken, als ich bei der Registrierung die Mitteilung bekam, dass meine E-Mail Adresse bereits verwendet wurde :unsure:

 

Naja, weswegen ich hier bin:

 

Ich beschäftige mich nun seit ein paar Wochen mit künstlichen neuronalen Netzwerken, welche ich im Laufe meines (ingenieurwissenschaftliches) Studiums kennengelernt habe, um Vorhersagen auf den DAX zu erzielen. Momentan teste ich nur ob ich ein Plus oder Minus für den nächsten Tag vorhersagen kann. Dabei habe ich das Netzwerk über >1000 Tage trainiert und teste im Anschluss mit ~300 Tagen, welche dem Netz zum ersten Mal gezeigt werden.

Dabei erziele ich eine Trefferquote von ~55%. Das Netz liegt also öfters richtig, als falsch.

 

Meine Frage:

 

Theoretisch angenommen, dass dieser Wert real ist und das Netz verlässlich arbeitet, wie könnte man allein durch das Wissen, wie der DAX am nächsten Tag performt (also nur zu 55 Prozent richtig, ob der DAX "steigt" oder "sinkt" am nächsten Tag) Gewinne erzielen?

 

 

Viele Grüße und ein schönes Wochenende,

Hoobee :)

Diesen Beitrag teilen


Link zum Beitrag
xolgo

Theoretisch angenommen, dass dieser Wert real ist und das Netz verlässlich arbeitet, wie könnte man allein durch das Wissen, wie der DAX am nächsten Tag performt (also nur zu 55 Prozent richtig, ob der DAX "steigt" oder "sinkt" am nächsten Tag) Gewinne erzielen?

 

Durch Kaufen der entsprechenden (Short-)DAX-Position!? Wäre so meine erste Idee.

Aber rechne mal aus, ob nach Orderkosten eine Rendite besser als Tagesgeld rauskommt.

Diesen Beitrag teilen


Link zum Beitrag
Hoobee

Hallo xolgo,

 

ja, das dachte ich mir bereits. Was mich dabei aber viel mehr interessiert ist, welche Finanzprodukte man da genau wählen sollte. Also Zertifikate usw.?

Kenne mich auf der Seite leider kaum aus und frage mich deswegen, wie denn die optimale Börsenstrategie mit der Prämisse "DAX plus/minus am nächsten Tag zu 55 Prozent richtig" aussieht bzw aussehen könnte.

 

Grüße

Diesen Beitrag teilen


Link zum Beitrag
H.B.

 

Theoretisch angenommen, dass dieser Wert real ist und das Netz verlässlich arbeitet, wie könnte man allein durch das Wissen, wie der DAX am nächsten Tag performt (also nur zu 55 Prozent richtig, ob der DAX "steigt" oder "sinkt" am nächsten Tag) Gewinne erzielen?

 

 

 

 

Du handelst am Abend kurz vor Handelsschluß einen Dax-Future und stellst ihn dann am nächsten Handelstag gemäß deinem Regelwerk wieder glatt.

Das ist wohl die preiswerteste Möglichkeit.

 

Bei IB kannst du das Ganze auf einem Paper-Trading-Konto sogar eine Weile unter Marktbedingungen testen.

Diesen Beitrag teilen


Link zum Beitrag
Hoobee
· bearbeitet von Hoobee

Sind die Future-Kurse direkt abhängig vom "Realkurs", welchen man auf yahoo unter "^GDAXI" findet? Das Problem ist nämlich, dass ich das Netzwerk auf eben diesen Kurs trainiert habe und den Zusammenhang zum Futurekurs nicht genau verstehe.

Ebenso frage ich mich, wie das mit den Future genau ist. Kann ich dabei täglich kaufen/verkaufen und auf long/short setzen? Habe bisher immer nur von Monaten gelesen, 3, 6 und 9.

 

Vielen Dank für den Hinweis mit dem Test-Trading, das werde ich sicherlich mal testen.

 

Und Sorry, dass ich hier etwas blöd nachfrage, aber bin mit der Finanzwelt noch nicht so genau vertraut.

 

Grüße

Diesen Beitrag teilen


Link zum Beitrag
Schinzilord

Die 3,6,9 Monate sind nur die Laufzeiten der Futures, glattstellen kannst du börsensekündlich während der EUREX Zeiten.

Da bei so einer Strategie eine Minimierung der TA Kosten das Wichtigste ist, wäre das über Futures wohl wirklich am kostengünstigsten.

Wobei der DAX Future einen Nominal von 25 / Punkt besitzt, die Margin ist aber ned so hoch. Nur handelst du dann gleich mit 6000Punkte * 25 = 150000, dafür kostet es nix.

Andere Möglichkeit sind Futures auf z.B. den MSCI World, da ist der Posten nur ein paar Tausend groß.

 

Aber das wichtigste ist neben dem Backtest mal ein Test unter realen Bedingungen, also musst du eh ein Demokonto einrichten.

 

Magst du uns noch ein paar Infos zu deinem neuronalen Netz geben? Wir sind hier im Forum eigentlich sehr offen mit Quellcodes etc. Du musst dies natürlich nicht machen, ein paar Grundlagenpaper würden mir auch schon genügen mit ein paar Infos zur Umsetzung.

Diesen Beitrag teilen


Link zum Beitrag
Hoobee
· bearbeitet von Hoobee

Hallo Schinzilord,

 

also ich habe verschiedene Netze verwendet, feed-forward und rekursive. Insgesamt habe ich momentan etwa 300 verschiedene Netze dokumentiert und trainiert. Dabei unterscheiden sie sich hinsichtlich ihrer Struktur, d.h. Anzahl der Schichten und Neuronen, und der verwendeten Inputs. Ich bin noch ganz am Anfang und noch sehr viel am probieren, das eine Netze existiert also noch nicht. Die neusten Netze liegen bei über 55% (vereinzelt knapp 60%) Trefferquote (also DAX steigt/sinkt am nächsten Tag), sehe aber hier noch etwas Potential nach oben.

Inputs sind verschiedene Indizes (DJ, Nikkei,..), Wechselkurse und andere Konjunkturdaten, insgesamt mehrere Dutzend. Die Schwierigkeit liegt an der Datenvorbereitung, so gelang es mir bisher zum Beispiel noch nicht Rohölpreise ab ~1995 auf täglicher Basis zu finden und zu integrieren. Dies nur als Beispiel, tatsächlich habe ich noch viele weitere Ideen für Inputs, welche ich nach und nach integrieren werde.

 

Als Grundlagenpaper eignet sich vielleicht dieses: Using Neural Networks to Forecast Stock Market Prices

Gibt einen guten Überblick über verschiedene Ansätze.

 

Vielleicht noch zur Erklärung, weswegen ich nach der optimalen Handelsstrategie für die Netze suche: Ich möchte das Ganze gerne direkt anwendungsorientiert gestalten, um Zeit einzusparen. Die Inputs/Outputs sollten daher richtig gewählt werden, daher frage ich mich auch, wie es sich mit dem Future-DAX-Kurs und den Real-DAX-Kurs (den ich auf Yahoo finde und ich zum trainieren der Netze verwende) verhält. Versuche mich derzeit etwas einzulesen, aber tue ich mich dabei noch etwas schwer. Verstehe zum Beispiel nicht, weswegen sich der Future-Kurs meist oberhalb des reellen Kurses, sich aber auch unterhalb befinden kann.

 

Vielen Dank und Grüße,

Hoobee :)

Diesen Beitrag teilen


Link zum Beitrag
H.B.

Ein Future-Kontrakt bildet den Basiswert erst zur Fälligkeit exakt ab.

Vorher ist ein Aufschlag für die Finanzierungskosten, beim DAX geringfügig mehr als der Euribor und ggf. ein Abschlag für Dividendenzahlungen einzukalkulieren.

 

Das ist für deine Anwendung nicht relevant, da du ja nur kurzzeitig ein- und aussteigst. In diesen Perioden folgt der jeweils aktuelle Future dem Verlauf des Basiswerts.

Diesen Beitrag teilen


Link zum Beitrag
StockJunky

Vielleicht noch zur Erklärung, weswegen ich nach der optimalen Handelsstrategie für die Netze suche: Ich möchte das Ganze gerne direkt anwendungsorientiert gestalten, um Zeit einzusparen. Die Inputs/Outputs sollten daher richtig gewählt werden, daher frage ich mich auch, wie es sich mit dem Future-DAX-Kurs und den Real-DAX-Kurs (den ich auf Yahoo finde und ich zum trainieren der Netze verwende) verhält. Versuche mich derzeit etwas einzulesen, aber tue ich mich dabei noch etwas schwer. Verstehe zum Beispiel nicht, weswegen sich der Future-Kurs meist oberhalb des reellen Kurses, sich aber auch unterhalb befinden kann.

 

Wenn du am Ende eh nicht den DAX handelst sondern ein Derivat, dann erschließt sich mir nicht, warum du überhaupt eine Vorhersage für den DAX treffen willst. Normalerweise will man wissen, wie sich das Papier entwickelt, das man auch handelt...

 

Bei 55 Prozent (wie hast du die denn ermittelt?) würde das heißen, dass von 100 Trades 45 in Verlust enden. Das klingt für mich aber ehrlich gesagt nach der typischen Baseline. Da der DAX seit 1990 einen Aufwärtstrend hat, sind also steigende Kurse sowieso häufiger als Fallende, damit brauchst du aber kein KNN um zu wissen, dass die Kurse am nächsten Tag höher liegen als am Tag zuvor. Mit dieser Prämisse kann dich jeder der Buy and Hold macht zu geringeren Kosten outperfomen, weil er weniger Trades macht und ein geringeres Risiko eingehen muss.

 

Was dein KNN also vorhersagen muss, damit es Sinn macht, ist nicht nur die Richtung der Kurse, sondern auch wie groß die Rendite zum Vortag ist. Dir nützt es nämlich nichts, wenn der DAX 0,1 Prozent höher schließt, du aber erst mit einem Plus von 0,3 Prozent Geld verdienst. Da hast du nämlich nach Kosten wieder einen Verlust und deine 55 Prozent entwickeln sich ziemlich schnell zu 40 Prozent.

Diesen Beitrag teilen


Link zum Beitrag
Hoobee
· bearbeitet von Hoobee

@ H.B.

Danke für die Erklärung, glaube das habe ich nun verstanden :thumbsup:

 

@ StockJunky

Ich hab den DAX-Kurs von Yahoo gewählt, da es sich anfangs nur um eine Spielerei (bei der es auch immer noch bleiben kann) gehandelt hat und ich nur mal prinzipiell testen wollte, ob das funktionieren könnte, oder nicht. An Derivate habe ich zu dem Zeitpunkt noch gar nicht gedacht, weswegen ich hier ja auch nachfrage, wie man mit dem System, so wie es ist, erfolgreich handeln könnte.

Getestet habe ich folgendermaßen:

- zu Beginn habe ich Aussagen über den Dow Jones treffen wollen (positiv/negativ am nächsten Tag), habe dann über mehrere Tausend Tage das Netz trainiert und im Anschluss für knapp 1000 Tage getestet. Dabei Habe ich die Outputs in "0" für negativ und "1" für positiv ausgewertet und die vorhandenen Werte (wie sich der DJ wirklich entwickelt hat) auch. Ein einfacher Vergleich zeigte dann schon schnell, dass die Netze praktisch immer über 50% treffen, also richtig liegen bei plus oder minus

 

-angespornt durch die positiven Ergebnisse (immerhin öfters richtig als falsch über einen Zeitraum von knapp 3 Jahren - ohne Re-Training) aus dem DJ habe ich das ganze auf den DAX umgemünzt, mehr Trainingstage und dafür weniger Testtage (~320) genommen, wie oben beschrieben getestet, und erreiche mittlerweile >55%

 

Das 55 Prozent nur knapp über 50 Prozent sind und vielleicht mit Orderkosten die "Baseline" bilden ist mir klar, unter 60 Prozent Ergebnisse aus den Trockentests wird nichts weiter passieren. Jedoch spiele ich seit Jahren Poker und dabei habe ich die Einstellungen gewonnen, dass wenn ich öfters richtig als falsch liege ich durchaus gewinne ;)

(Geplant ist natürlich tatsächlich Aussagen über Prozente zu treffen, wie gesagt, mache das Ganze erst seit Dezember und muss noch viel lernen und lesen)

 

Oder so gesagt:“In this business, if you’re good, you’re right six times out of 10. You’re never going to be right nine times out of 10.” (Zitat von Peter Lynch).

 

Grüße

Diesen Beitrag teilen


Link zum Beitrag
etherial

Bei 55 Prozent (wie hast du die denn ermittelt?) würde das heißen, dass von 100 Trades 45 in Verlust enden. Das klingt für mich aber ehrlich gesagt nach der typischen Baseline.

 

Stimmt :thumbsup:

 

Da der DAX seit 1990 einen Aufwärtstrend hat, sind also steigende Kurse sowieso häufiger als Fallende, damit brauchst du aber kein KNN um zu wissen, dass die Kurse am nächsten Tag höher liegen als am Tag zuvor.

 

Ich habs mal mit den Daten seit 1990 ausgerechnet:

- 52% steigende Kurse

- 48% fallende Kurse

Ich hab dann mal zum Spaß ein paar simple Strategien angewendet:

- Gehe immer von steigender Entwicklung aus - 52% Treffer, 48% Fehler

- Nimm stets an, dass die Entwicklung von gestern sich heute fortsetzt - 51% Treffer, 49% Fehler

- Nimm stets an, dass eine Entwicklung die zwei Tage andauerte auch einen dritten andauert (in anderen Fälle gehe von steigenden Kursen aus) - 51,5% Treffer, 48,5% Fehler

 

Ich würde dir allerdings beipflichten, dass 55% Treffer zu schlecht sind - insbesondere dann, wenn noch nichtmal klar ist mit welcher Signifikanz das aufgeht.

 

Was dein KNN also vorhersagen muss, damit es Sinn macht, ist nicht nur die Richtung der Kurse, sondern auch wie groß die Rendite zum Vortag ist. Dir nützt es nämlich nichts, wenn der DAX 0,1 Prozent höher schließt, du aber erst mit einem Plus von 0,3 Prozent Geld verdienst. Da hast du nämlich nach Kosten wieder einen Verlust und deine 55 Prozent entwickeln sich ziemlich schnell zu 40 Prozent.

 

Bei Futures treten die Transaktionskosten in den Hintergrund.

 

Wer sich einen Eindruck von der Mächtigkeit Neuronaler Netze machen möchte kann ja mal das hier ausprobieren http://www.phi-t.de/mousegame/.

Diesen Beitrag teilen


Link zum Beitrag
StockJunky

Der Link ist super. Hab ne Weile gebraucht um eine Strategie zu finden, damit man das KNN schlagen kann ;)

 

Faktisch sagt das Ergebnis doch aber, dass auch die Prognosen nur zu 50 Prozent richtig liegen können... Damit wäre jeglicher Versuch hier ein System zu bauen, dass Vorhersagen trifft, sinnlos.

Diesen Beitrag teilen


Link zum Beitrag
etherial
· bearbeitet von etherial

Faktisch sagt das Ergebnis doch aber, dass auch die Prognosen nur zu 50 Prozent richtig liegen können... Damit wäre jeglicher Versuch hier ein System zu bauen, dass Vorhersagen trifft, sinnlos.

 

Ich hab selbst keine Strategie gefunden - aber auch nicht danach gesucht. Ich fand es einfach beeindruckend, dass mein chaotisches Geklicke prognostizierbar war (ich selbst hätte es nicht prognostizieren können).

 

Ich schließe aus dem Ergebnis:

- bei Annahme eines völlig chaotischen Kurses treffen 50% der Prognosen zu - in dem Fall ist das Modell wertlos

- bei Annahme eines intelligent chaotischen Kurses (d.h. einer Bewegung die danach strebt, dass Neuronale Netz zu überlisten) kann man dafür sorgen, dass bis 0% der Prognosen stimmen - dieser Fall ist bei Börsenkursen unrealistisch

- bei Annahme teilweise chaotischer Kurse, treffen mehr als 50% der Prognosen zu - ab einem gewissen Schwellwert wird das Modell interessant

 

Ich teile aber deine Meinung, dass eine Trefferquote bei 55% und ungeklärter Signifikanz zu schwach ist, um darauf eine langfristige Strategie aufzubauen. Es mag sein, dass die Profis größere Trefferquoten bei höherer Signifikanz erreichen - aber auch die können jederzeit Schiffbruch erleiden.

Diesen Beitrag teilen


Link zum Beitrag
StockJunky

Ich teile aber deine Meinung, dass eine Trefferquote bei 55% und ungeklärter Signifikanz zu schwach ist, um darauf eine langfristige Strategie aufzubauen. Es mag sein, dass die Profis größere Trefferquoten bei höherer Signifikanz erreichen - aber auch die können jederzeit Schiffbruch erleiden.

 

Ich denke, sie haben einfach niedrigere Transaktionskosten. Da machen sie auch schon bei weniger als 0,1 Prozent Kursänderung Gewinn und das liegt in den normalen Tagesschwankungen. Diesen Rahmen wird aber kein Kleinanleger jemals erreichen, weil man dazu mehrere Millionen bewegen muss. Zudem erhöht sich dadurch die Zahl der täglichen Ticks deutlich. Sie können eher Gewinne mitnehmen und schneller aussteigen, wenn der Tipp falsch war. Wer erst 1 oder 2 Prozent braucht, um Gewinn zu machen, hat da langfristig automatisch das nachsehen -- schon allein weil Kurse sich nicht jeden Tag so stark ändern.

Diesen Beitrag teilen


Link zum Beitrag
Megabulle

Schon wieder eine Reichtums-Formel? Das kommt mir doch bekannt vor... LTCM googeln

 

Statistiken sind super um ihn theoretischen Arbeiten mächtig Eindruck zu schinden. In der Praxis sind sie meistens unbrauchbar.

Wahrscheinlichkeiten sagen nichts über den Einzelfall aus. Was nützt mir ein Modell das sogar zu 99% richtig liegt, wenn ein kurzer Zeitraum falscher Signale mein Kapital verbrennt?

In deinem Modell liegt die Trefferquote gerade mal knapp über dem Münzwurf. Das ist eindeutig zu riskant.

Außerdem tritt man mit einem Trabbi gegen einen hochgezüchteten Porsche an. Man versucht mit einem recht simplen Modell gegen die Raketenwissenschaftler in den Großbanken anzutreten.

Die sind dir in Geschwindigkeit, Zeit, Ressourcen und Kenntnissen extrem überlegen. Das würde ich lieber lassen.

 

Dennoch ist die theoretische Idee sehr interessant!

Diesen Beitrag teilen


Link zum Beitrag
ipl
· bearbeitet von ipl
Ich beschäftige mich nun seit ein paar Wochen mit künstlichen neuronalen Netzwerken, welche ich im Laufe meines (ingenieurwissenschaftliches) Studiums kennengelernt habe, um Vorhersagen auf den DAX zu erzielen. Momentan teste ich nur ob ich ein Plus oder Minus für den nächsten Tag vorhersagen kann. Dabei habe ich das Netzwerk über >1000 Tage trainiert und teste im Anschluss mit ~300 Tagen, welche dem Netz zum ersten Mal gezeigt werden.

Dabei erziele ich eine Trefferquote von ~55%. Das Netz liegt also öfters richtig, als falsch.

 

also ich habe verschiedene Netze verwendet, feed-forward und rekursive. Insgesamt habe ich momentan etwa 300 verschiedene Netze dokumentiert und trainiert.

 

Je nachdem, wie du das gemacht hast, könntest du auch in eine statistische Falle getappt sein. Du hast evtl. "zu viele" Netze ausprobiert und die Beschreibung, wie du sie testest, klingt zunächst mal nach einem wenig geeigneten Testverfahren.

 

Wenn alle Netze jeweils nur einem einzigen Test unterliegen und du massenweise Netze testest, wird da mit hoher Wahrscheinlichkeit irgendwann auch ein Netz dabei sein, das aus den Lerndaten Regeln ableitet, die sehr gut zu diesen speziellen Testdaten passen. Hier wären erweiterte Testverfahren angemessen, wie z.B. Cross-validation. Aber auch sie eliminieren die Möglichkeit dieser "Falle" nicht, sie machen sie nur unwahrscheinlicher. Und wenn du dann weiter viele unterschiedliche Netze damit testest, steigerst du die Wahrscheinlichkeit wieder, bloß ein Netz gefunden zu haben, das deinen Test besteht, aber nicht in der Realität funktioniert.

 

Das ist wie mit statistischen Tests, wo man eine Regelmäßigkeit finden will, die mit 95%-iger Wahrscheinlichkeit in den Daten vorhanden ist. Macht man eine Untersuchung und die Regelmäßigkeit bestätigt sich, ist das ok. Macht man aber 100 Untersuchungen und findet dabei 5 bestätigte Regelmäßigkeiten, kann man das Ergebnis getrost in die Tonne kloppen. ^^ Für so viele Untersuchungen muss man die Signifikanzhürde entsprechend anheben.

 

Eventuell habe ich aber deine Beschreibungen auch falsch aufgefasst - soll jedenfalls nur so ein Hinweis von einem auf kognitive Systeme spezialisierten Informatiker sein. :)

 

Im Übrigen sind aus meiner Sicht mittlerweile SVMs (mit nicht-linearen Kernels) für solche Anwendungen interessanter als neuronale Netze, da sie etwas beherrschbarer als NNs sind und deren Optimierung auf besseren theoretischen Grundlagen fußt.

 

 

Edit / Nachtrag:

 

Ich hatte gerade etwas Zeit und habe mal nachgerechnet, wie groß die Wahrscheinlichkeit ist, dass eine zufällige binäre Folge mit einer vorgegebenen anderen Folge der Länge 300 in mindestens 165 Bits (also 55%) übereinstimmt. Wenn ich mich nicht täusche, liegt sie bei ca. 4,695%. Das heißt, man braucht im Schnitt 22 Versuche, um diese Übereinstimmung zu erreichen. Wenn du 300 Netze (d.h. Versuche) dafür gebraucht hast, hattest du sogar richtig "Pech". Statistisch hättest du schon nach 22 Netzen ein Netz bekommen müssen, das deinen 300-Tage-Test zufällig zu mindestens 55% besteht.

 

Wenn ich deinen Testaufbau also richtig verstanden habe, ist das Ergebnis bisher nicht statistisch signifikant.

Diesen Beitrag teilen


Link zum Beitrag

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×
×
  • Neu erstellen...