Donnerstag, 18. April 2024, 15:55 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.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

21

Mittwoch, 5. Dezember 2007, 14:10

Hallo Peratron,

ich möchte nicht ausschließen, dass es keine Fehler gibt. Aber ich hoffe die kritischen bereits gefunden zu haben.

Die Kapitalkurve sieht sehr gut aus. Aber probier mal einen anderen cValue, z.B. 1. Und du wirst sehen, dass sich die Kurve wesentlich ändert. Du darfst nicht übersehen, dass ich die Zeitreihen und die weiteren Einstellungen ja gerade für den Dax gemacht hatte. Nicht alle Ergebnisse bei mir sind so schön gewesen. Interessant wäre es die Ergebnisse mit einer Simulation zu verifizieren. Dann sollte erkennbar werden ob es passt. Dazu bin ich bisher leider nicht gekommen.

Viele Grüße

Martin

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

22

Mittwoch, 5. Dezember 2007, 14:14

@Peratron zu Basis Close oder Open

es sollte grundsätzlich egal sein welche Basis du nimmst. Das System an sich sollte nicht in die Zukunft schauen. Dann hängt es von dir ab welche Zeitreihen du nimmst, welchen Entry/Exit und welche Zielfunktion. Aber mit dem Close gebe ich dir völlig recht. Besser wäre es natürlich mit dem Open einzusteigen. Ich habs halt in der Auslieferung auf Close gehabt.

Grüße

Martin

Peratron

unregistriert

23

Mittwoch, 5. Dezember 2007, 14:26

@MartinP
Den CValue Wert habe ich verändert. Im Bereich 10-20 wurden die besten Ergebnisse erzielt. Und nun bin ich in den 15 Min Bereich um zu sehen ob alle Signale
korrekt abgerechnet werden. Mal schauen was rauskommt. Grüße und nochmal vielen Dank für Deine Mühe.

Fritz

unregistriert

24

Mittwoch, 5. Dezember 2007, 14:40

Hallo,

auch ich möchte hier noch einmal Martin für seine Arbeit danken. Damit vereinfacht sich das ganze Procedere ja wesentlich und man darf gespannt sein auf Martins Erweiterungen.

Da ich anfangs das Teil nicht zum Laufen brachte ( @ Martin jetzt geht es, danke ), hier noch ein wichtiger Hinweis.
Investox 5 muß mit dem letzten Update, also 5.1.1 installiert sein, davor waren kleinere Fehler bezüglich VbScript, an denen Martins Indi offensichtlich gescheitert ist.

Viele Grüße

Fritz

Terminator3

unregistriert

25

Mittwoch, 5. Dezember 2007, 15:11

Ich kriege diese Woche Investox V5 und habe schon Pinnacle Daten.
Reichen EOD Pinnacle Daten oder sollte man lieber Intraday Daten haben fuer SVMs?

Peratron

unregistriert

26

Mittwoch, 5. Dezember 2007, 18:06

@Terminator3
Der Indikator verarbeitet Intraday sowie EOD Daten!

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

27

Mittwoch, 5. Dezember 2007, 20:05

Korrekte Anzeige der Trainings- und Testperioden im Chart

Hallo,

für die farbliche Anzeige der Test- und Trainingsperioden fehlte in meiner Auslieferung leider der erforderliche Indi "Zeiten".

Hier reiche ich ihn nach.

Viel Grüße

Martin
»MartinP« hat folgende Datei angehängt:
  • zeiten.Inn (922 Byte - 682 mal heruntergeladen - zuletzt: 27. Februar 2024, 15:57)

halobungie

unregistriert

28

Mittwoch, 5. Dezember 2007, 21:17

Ergebnisse wie genau deuten?

Hallo zusammen,

ich bin in Englisch nicht gerade gut, eher schlecht...

Kann mir vielleicht jemand erklären, wie ich folgende (WEKA)-Ergebnisse genau zu deuten habe?
Correlation coefficient 0.5527
Mean absolute error 0.8265
Root mean squared error 1.0558
Relative absolute error 80.608 %
Root relative squared error 89.0436 %
Total Number of Instances 25
Ignored Class Unknown Instances 1

Besten Dank im voraus!
halobungie

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

29

Mittwoch, 5. Dezember 2007, 21:30

ich glaube da hilf dir das englische auch nicht viel weiter. es geht mehr um die frage, wie die verschiedenen fehlermaße zu interpretieren sind:

Correlation coefficient 0.5527 Korrelationskoeffizient
Mean absolute error 0.8265 Mittlerer absoluter Fehler
usw.

Auch im Deutschen hilft es dir nur, wenn du ausreichend Kenntnis von Statistik hat.

Viele Grüße

Martin

Peratron

unregistriert

30

Donnerstag, 6. Dezember 2007, 09:02

Hallo Martin
Folgende Vorgehensweise hab ich mir überlegt.

Im Backtest sucht man sich ideale Einstellungen für
test,train and value. zb. 10,100,20.

Wenn man nun aber unter Lifebedingungen arbeiten möchte
sollte folgendes beachten. Der Testzeitraum sollte auf 1
gestellt werden und die Aktuallisierung von dem Indi:
WekaInvestox sollte im Abstand des Testzeitraumes vom
Backtest stattfinden. Also jede 10 Periode!

Ist diese Vorgehensweise richtig?

Und wie oder wo stelle ich den Refresh von WekaInvestox
ein?

Grüße
Peratron

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

31

Donnerstag, 6. Dezember 2007, 10:08

Hallo Peratron,


aus deiner Darstellung wird mir nicht deutlich, was du mit Testzeitraum meinst. Im Indikator gibst du als Beipiel die 10 an. Und anschließend sprichst du von 1.

Wenn du den Testzeitraum auf 1 stellst bedeutet dies, dass du für genau diese eine Periode einen Prognosewert für die "Zukunft erhälst. Angezeigt über den Indi wird die Prognose für den vorangegangen Trainingszeitraum plus diese 1 Periode.

Ein einfacher Simulationstest sollte zum Beispiel mit einer je Periode neu berechneten SVM funktionieren können. Im Indikator müsste testPerioden dann auf 1 stehen. Der Indikator wird wie jeder andere indikator in Investox dann je Periode neu ermittelt (refreshed). Zur Zeit ist er so gebaut, dass er bei jeder neuen Ermittlung die aktuellen Daten an die SVM exportiert, trainiert und die Prognose an das HS zurückgibt. D.h., in dieser Konfiguration kannst du nur jeweils mit 1-Periodenschritten nach vorne gehen. Für weitergehende Anforderungen müsste ich ihn erweitern.

Hilft dir diese Antwort?

Viele Grüße

Martin

sven

unregistriert

32

Donnerstag, 6. Dezember 2007, 10:52

Hallo Martin,
egal wie groß ich Test und Trainingszeitraum wähle, ich komme nicht über das Datum Mitte Februar zurück.
Vor diesem Zeitraum gibt es kein Signal. Kannst du mal bitte schauen, ob du das bei dir Nachvollziehen kannst ?

Gruß
Sven

Fritz

unregistriert

33

Donnerstag, 6. Dezember 2007, 10:57

Hallo,
nachdem nun alles, auch die visuelle Anzeige des Train/Testzeitraums funktioniert, frage ich mich natürlich, welche Güte hat die Prognose.
Wie ist die Prognose reproduzierbar.
Natürlich hängt dies stark von den übergebenen Zeitreihen und den jeweiligen Einstellungen dort ab. Aber unter der Voraussetzung, das ich dort nichts ändere, möchte ich die Prognose in Abhängigkeit der Einstellungen trainperioden, testperioden, cvalue beurteilen.
Es bietet sich der Robtest an.
Wenn aber der Testzeitraum nur eine Periode beträgt, kann ich aus dem Ergebnis keinerlei Rückschlüsse ziehen.
Mit jeder Änderung der Trainperioden wird das Signal im 1-Periodentestzeitraum ein anderes sein, obwohl sich nur der Trainzeitraum geändert hat.
Die Größe des Testzeitraum würde ich so wählen, das in diesem eine möglichst statistisch relevante Anzahl von Signalen erzeugt wird.
Und da denke ich sind die von Martin vorgegebenen 50 Perioden ein gutes Maß, unter 30 würde ich dabei nicht gehen.

Frage an Martin:
Es werden bei cValue=10 10 Zeitreihen übergeben, welche werden nicht übergeben, wenn man z.B. 8 einstellt.
Sind dies exakt Reihe Nr. 9 und 10 ?

Viele Grüße

Fritz

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

34

Donnerstag, 6. Dezember 2007, 11:29

Hallo,

ich habe nach einigen Testläufen im Intraday-Bereich den Eindruck als müsse man sich von den traditionellen Backtests verabschieden. Lange Historien und lange Testzeiträume sind hier wohl nicht ideal-zumindest nicht mit diesem Algorithmus! Der Algroithmus könnte in der Regel mit einem Feed-Forward Test ständig neu optimiert werden,was das System anpassungsfähig macht. Die profitable Generalisierung erfolgt wohl eher über sehr kurze Zeiträumen-so zumindest mein Eindruck Intraday.Wichtig wäre das Investox einen Feed Forward Test bekommt der zudem Random-Zeitreihen initialisieren kann,zufallsverteilte Stichproben injiziert und die Paper-Trade Ergebnisse festgehalten und gelistet werden! Damit würde man ermöglichen selbst 2 Perioden Testzeitraum auf Stabilität hin untersuchen zu können! Es bräuchten nur 70-80% der zufällig ausgewählten Dekaden in 5 Testläufen profitabel sein- wenn ein FW-Test das Training automatisiert, macht es kaum Aufwand eine FW-Step Strategie zu fahren! EOD mag es wieder anders aussehen...
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

35

Donnerstag, 6. Dezember 2007, 11:49

Hallo Fritz,

der cValue hat mit den Zeitreihen nichts zu tun. Bei den Zeitreihen kannst du in der Weka.ini genau die wählen die dir gefallen. Die einzigen Voraussetzungen sind 1. sie müssen in Investox rechenbar sein und zweitens muss die Zählung der Reihen lückenlos sein, also 1. Reihe heißt reihe1= dann kommt reihe2= usw.

Der cValue ist ein wesentlicher Optimierungsparamter für die Support Vector Machine. Mit einfachen und mathematisch natürlich nicht perfekten Worten würde ich ihn als Maß der Komplexität der Schätzfunktion. Ein kleiner cValue erzeugt eine Schätzfunktion mit geringer Komplexität und umgekehrt. Es bietet sich eine Analogie zur Anzahl der Knoten in den Neuronalen Netzn von Investox an. Ein Netz mit wenigen Knoten passt sich schlechter an eine Kurve an ist jedoch weniger empfindlich in Bezug auf eine optimale Anpassung an die Trainingsdaten mit einem abrupten Abfall der Leistung bei den Schätzdaten. Aber, den Wert nur klein zu halten garantiert natürlich noch lange keine guten Vorhersagen und was klein ist ist so eine Frage. Bei 10 Trainingsperioden reagiert das Netz natürlich anders als bei 1000 8)

Nochmal zu den Zeitreihen.

Mein Rat ist, probier doch einfach mal andere Reihen aus. Sichere die originale Weka.in und passe die Werte an. Ein simples Beispiel wäre:

reihe1=Close
reihe2=ROC(Close, 10, %)
ziel=Ref(Open, 2) - Ref(Open, 1)
historien=0,-1

In diesem Fall würden halt nur 2 Reihen für den Input eingehen. Von jeder Reihe der für die aktuellen Periode gültige Wert (historie=0) und der der darvorliegenden Periode (historie=-1)
Das Ziel habe ich belassen. Die SVM sollte so minimal natürlich schneller sein.

Und probier mal einen Fehler in den Reihen zu machen. Schreibe z.B. reihe1=lose. Jetzt sollte beim Berechnen des Indi in der Datei debug.txt eine Fehlermeldung hierzu erscheinen.

Viele Grüße

Martin

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

36

Donnerstag, 6. Dezember 2007, 11:51

Hallo Sven,

so pauschal kann ich wenig sagen. Aber ich könnte mir vorstellen, dass die Zeiten für das Handelssystem entsprechend restriktiv gesetzt sein könnten und es nichts mit dem SVM-Indi zu tun hat.

Viele Grüße

Martin

Chemie262

unregistriert

37

Donnerstag, 6. Dezember 2007, 11:53

Wäre nicht eine Datenfeedsimulation geeignet, die Performance über längere Zeiträume zu testen?

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

38

Donnerstag, 6. Dezember 2007, 12:18

Habe real- Simulationen bereits laufen!

@Martin

Investox scheint Probleme mit dem ZIEL zu haben:

Ziel=(Ref(Open, +2) - Ref(Open, +1))

Signale verschwinden und kommen wieder! Wieso schiebst Du das Ziel zwei Perioden in die Zukunft und dividierst dann eine Periode?
Happy Trading

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

39

Donnerstag, 6. Dezember 2007, 12:27

Hallo Udo,

mach einen Vorschlag ... das System kann nur besser werden

Martin

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

40

Donnerstag, 6. Dezember 2007, 12:34

Hallo Martin,

gerne- aber hat das von Dir eingegeben Ziel eine besondere Bewandnis? Könnte da nicht einfach Ref(Open 1) stehen. Man müsste unter ENTER BASIS OPEN DELAY 0 eintragen damit des in ORM (Simulation) immer korrekekt übergeben werden kann!
Happy Trading