Dienstag, 16. April 2024, 12:38 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Thomas

unregistriert

21

Dienstag, 9. September 2003, 19:35

Hallo zusammen,

ich habe jetzt noch einmal eine Frage zu der Generalisierungsfähigkeit des Kontrollzeitraums bei Crossvalidation und Verwendung von GA.

Ich gehe, wie ich ja schon gesagt habe, davon aus dass dieser Zeitraum nicht valide in bezug auf die Generalisierungsfähigkeit ist. Ich will das mal kurz begründen, bitte korrigieren falls ich was falsches schreibe.

Bei der Crossvalidation werden verschiedene Zeiträume innerhalb des definierten Trainingszeitraums (Samples) trainiert. Die Anpassung der Gewichte erfolgt allein aufgrund der Daten im Trainingszeitraum. Die Zahl der Individuen läßt sich über die GA-Einstellungen definieren. Soweit ich weiß erfolgt die Berechnung der Endergebnisse aufgrund eines Mittelwertes, der sich aus den einzelnen Crossvalidationszeiträumen sowie dem Kontrollzeitraum ergibt. Dieser Mittelwert wird doch dann für die GA-Selektion der Individuen verwandt, oder? Bedeutet dies nicht automatisch, je mehr Freiraum ich dem NN durch die Erweiterung der Population lasse, desto eher besteht die Gefahr, dass sich die Nachkommen am Kontrollzeitraum orientieren, also tendenziell nur Nachkommen trainiert werden, die im Kontrollzeitraum gute Ergebnisse bringen, da der Kontrollzeitraum über den Mittelwert die Auswahl mitbestimmt? Die zweite Frage wäre noch, wie stark der Kontrollzeitraum in die Endergebnisse einfließt. Variiert dies mit der Zahl der Samples, also bei 10 Samples zu 1/11 oder fließt er mit dem gleichen Gewicht ein, wie der Trainingszeitraum (alle Samples)? Meine persönliche Erfahrung ist, dass GA mit Crossvalidation sehr schnell gute Kontrollzeiträume bringt. Der Verlauf im Anschluss ist jedoch fast immer deutlich schlechter. Die Ursache vermute ich in dem bereits gesagten. Für das Training ist dieses Auswahlverfahren sicherlich unersetzlich, die Frage ist aber ob die Generalisierungsfähigkeit beim Kontrollzeitraum gegeben ist.

Registrierungsdatum: 2. September 2002

Beiträge: 433

Wohnort: Freiburg

22

Dienstag, 9. September 2003, 21:04

@robustes NN
ich habe mal unten eine Grafik angehängt. Dies ist die Kapitalkurve eines NN, das auf einen Basket von ca. 150 Aktien angewandt wurde. Es wurde auf KEINE der im Basket vorhandenen Aktien trainiert. Es handelt sich dabei auch NICHT um ein Intermarket NN, d.h. irgendwelche zeitabhängigen Faktoren, die sich ändern könnten, spielen auch keine Rolle. Die Kapitalkurve ist ohne Reinvestieren. Es wird einfach pro Position immer eine Positionsgrösse von 700 Dollar eingegangen. Der durchschn. Return (vor Gebühren und Slippage) liegt bei 1,8 %. Der exponentielle Anstieg kommt durch die mit unterschiedlich langen Zeitreihen der einzelnen Aktien zustande.

Das Netz hat ziemlich genau eine Trefferquote von 50 %. Nach den hier besprochenen Massstäben also schrecklich schlecht. Der Trick ist, wann das System handelt...

@Thomas
Bei Crossvalidation wird zur Bewertung des NN der Evaluierungszeitraum und nicht der Kontrollzeitraum herangezogen, auch bei der GA Auswahl. Der Kontrollzeitraum ist also ein echter Kontrollzeitraum (allerdings nicht mehr, wenn man später händisch den besten auswählt....).

Grüsse
Bernhard
»hungerturm« hat folgendes Bild angehängt:
  • Muster NN.jpg

Thomas

unregistriert

23

Dienstag, 9. September 2003, 21:24

Hallo Bernhard,

wenn das wirklich so ist, dann habe ich die Hilfe falsch interpretiert. Ich meine das Kapitel: Crossvalidation - ein Bündel aus Netzen

3. Absatz "Als Endergebnis berechnet Investox den Mittelwert der einzelnen Fehlermaße im Trainings- sowie im Kontrollzeitraum."

Jetzt will ich es aber ganz genau wissen ;-)

Welche Mittelwerte sind damit gemeint? Jeweils ein Mittelwert für den Trainingszeitraum und einer für den Kontrollzeitraum? Auf was wird dieser Mittelwert dann berechnet? Epochen? Generationen?

Adrian

unregistriert

24

Mittwoch, 10. September 2003, 03:53

Hi Bernhard,

Zitat

Wie gesagt, als einzige Ausnahme lasse ich zu, dass man irgendeinen Indikator entwickelt hat, der einem ein Versagen seines Modells anzeigt. Ob es sowas gibt steht auf einem ganz anderen Blatt...


Sowas gibt es nicht und wird es auch nie geben, weil jeder Indikator nur Daten aus der Vergangenheit untersuchen kann.

Ich wünsche Dir bei Deinem Intraday-NN viel Glück. Zu der 5fachen Slippage müsste sich meiner Meinung nach ein Riesendrawdown gesellen. Ich vertrete nun mal die umgekehrte Meinung: Lieber etwas zu groß als zu klein. Wenn ich dem NN nämlich Informationen im Trainingszeitraum vorenthalte (kleines NN, wenige Inputs), dann brauche ich mich beim Trading nicht über Riesendrawdowns zu wundern.

Registrierungsdatum: 2. September 2002

Beiträge: 433

Wohnort: Freiburg

25

Mittwoch, 10. September 2003, 21:58

@Adrian
Da hast Du was falsch verstanden. Wir traden derzeit kein NN, das ist ein ganz "normales" Intradaysystem. Intraday wollen wir kein NN traden, da wir dann Investox zur Signalgenerierung mit in das System einbeziehen müssten und das ist uns zu unsicher. Der Drawdown unseres Systems war auch nicht ungewöhnlich hoch (1/3 des erwarteten maximalen DDs), aber in Kombination mit der anfänglichen grossen Slippage gab uns das doch zu denken. Inzwischen ist die Slippage exakt so gross, wie wir sie erwartet hatten. Manchmal hat man einfach etwas Pech...

@Sten
Wenn Du schon so viel Generationen trainieren willst, dann würde ich probieren, diese mal sinnvoll auszuwerten. Nämlich dass Du alle Netze einer bestimmten Güte heranziehst und dann mal untersuchst, welche Inputs darin enthalten sind. Also eine Statistik aller Netze mit einer Trefferquote X und besser, wie häufig da welche Inputs herauskamen. Ich habe das früher mal gemacht, das war sehr interessant, aber auf die Dauer eben doch zu viel Arbeit.... (wäre auch was für eine automatische Analyse., würde ich sogar für sinnvoll halten). Noch ein Schritt weiter wäre, die Netze zu holen, die im Kontrollzeitpunkt eine positive Kapitalentwicklung zeigten (und eine Trefferquote über X hatten).

Grüsse
Bernhard

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

26

Donnerstag, 11. September 2003, 14:20

Hallo Bernhard,

aus reiner Neugierde habe ich mir schon mal die NN-Infobeschreibung von fertig trainierten Netzen angesehen, um zu sehen was von den vielen Inputs übrig geblieben ist.
An eine statistische Auswertung, so wie Du es vorschlägst habe ich noch nicht gedacht. Werde es mal ausprobieren.
Schön wäre es noch, wenn man herausbekommen könnte, ob eine positive Änderung des Inputs auch eine positive Änderung des Prognose-Outputs bewirkt, wenn man jeweils nur einen Input ändert und alle anderen Inputs konstant läßt.
Noch einen Schritt weiter wäre es, wenn man das ganze noch Quantifizieren würde, z.B. eine 1% Änderung der Inputkursreihe1 bewirkt eine -12% Änderung des Output, eine 1% Änderung der Inputkursreihe2 bewirkt eine 8% Änderung des Output, usw. (man sieht das NN wie einen unbekannte Schaltung (BlackBox) und schaut nach was am Ausgang passiert, wenn man die Eingänge einzeln stimmuliert).
Ich wüste aber nicht, wie man das einfach umsetzen und die Kursmanimulation wieder schnell und sicher rückgängig machen kann?
Muß mal in Ruhe drüber nachdenke (Metastocks Kurseditor so wie z.B. in MLDownloader enthalten ... zu gefährlich, man könnte vergessen die Kurse wieder zurück zu setzen ...).

Angenommen es würde hierbei folgende Ergebnis herauskommen (nur ganz einfache Analyse, so wie Du es vorschlägst):
EuroStoxx50=f(Bund, Rohöl, Euro/Dollar, Gold, Nikkei)

Wie würdest Du dann weiter verfahren? neuronal oder mechanisch

Grüsse
Torsten

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »sten« (11. September 2003, 14:28)


Registrierungsdatum: 2. September 2002

Beiträge: 433

Wohnort: Freiburg

27

Donnerstag, 11. September 2003, 15:45

Hallo Torsten,

@Sensitivitätsanalyse
ich nenne das jetzt mal einfach so...

Wie stark ein Input eingeht kann man zumindest qualitativ an den Gewichtungen sehen (vorsicht, man muss immer Prozent rechnen). Eine wirkliche Sensitivitätsanalyse kann man aber relativ einfach dadurch machen, dass man jeden Input durch einen "Inputindikator" schläusst. Dies muss ein Anwendungsindikator sein. Diesen kann man ja dann nach dem Training des NNs sehr einfach ändern und man sieht dann, was für Auswirkungen das auf das NN hat. Ich hatte da schon oft darüber nachgedacht, es aber selbst nie gemacht (war mir zuviel Arbeit). Ist mit Sicherheit aber eine sehr sinnvolle Sache.

Grüsse
Bernhard