Dienstag, 16. April 2024, 12:12 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

1

Dienstag, 4. Dezember 2007, 18:50

Direkte Anbindung Weka-SVM mit Investox 5

Hallo zusammen,

meine versprochene direkte Anbindung hat sich um ein paar Tage verzögert. Aber nun ist die erste Version da.

Eine kurze Erläuterung des Paketes und zu seiner Verwendung.

Das Gesamtpaket besteht aus:

1. Handelssystem WekaInvestox
Das beigefügte Handelssystem arbeitet mit Tagesdaten für den Dax. Grundsätzlich kann jede Komprimierung verwendet werden. Die Handelsregel ist sehr einfach. Der SVM-Kernel liefert für jeden Datensatz die Progrnose zurück. Wenn die Prognose positiv ist wird gekauft, wenn sie negativ ist wird verkauft. Dies kann natürlich verändert werden und hängt von dem definierten Prognoseziel ab (Hierzu weiter unten "Weka.ini").

Der Aufruf des SVM-Kernels erfogt über den Indikator WekaInvestox.
Diesem sind die folgenden Parameter zu übergeben:


  • trainPerioden = Anzahl der für das Training des Kernels gewünschten Perioden
  • testPerioden = Anzahl der für die Prognose gewünschten Perioden
  • cValue = C-Value über den das Verhalten SVM-Kernels angepasst werden kann

(Der Kernel ist im Moment noch fest gewählt XXX, soll aber demnächst ebenfalls hier bestimmt werden können)

Bei jeder Aktualisierung des Netzes in Investox werden die kompletten Daten für die Trainings- und die Testperioden exportiert, der Kernel in
SVM wird trainiert, die Prognose wird für die Trainings- und die Testdaten erstellt und dann sind die Prognosen in Investox verfügbar.
Die Prognosen für die Trainingsperioden habe ich mit berücksichtigt, damit die Prognosequalität auch für dieses Intervall beurteilt werden
kann.

Welche Daten nun für das Training berücksichtigt werden wird in der Weka.ini festgelegt.

2. Indikator WekaInvestox für den Import in Investox


3. Integrationsfiles für Weka

Kompleter Inhalt des Verzeichnisses "C:\weka"
Die dort erforderlichen Dateien sind Weka.ini und InvWeka.jar

Erläuterung zu Weka.ini
Die Weka.ini Datei ist eine typische INI-Datei in der Parameter für die Steuerung der Experimente gemacht werden. Zur Zeit sind nur die
Parameter für die gewünschten Zeitreihen (reihe1= - reiheN=), das Ziel (ziel=) und die gewünschten Historien (historien=) relevant.
Die Reihen 1-n bestimmen, welche Zeitreihen ausgewertet werden. Bsp.:
reihe1=Close
reihe2=Roc(Close - Open, 5, %)
...
Hier werden die Funktionen wie in Investox selber eingetragen. Wenn eine Zeitreihe für das Handelssystem in Investox funktioniert sollte sie
auch hier für den SVM-Schätzer klappen. Wenn nicht ... dann schaut euch die Fehlermeldung in "c:\weka\debug.txt" an. Dort werden Reihen die
nicht gelesen werden können angegeben (und noch ein paar mögliche Fehler).

Das Prognoseziel wird wie die Reihen bestimmt. Also zum Beispiel:
ziel=Ref(Open, 2) - Ref(Open, 1)
Ich gehe ja mit dem Open der Folgeperiode ins Rennen. Natürlich kann hier jede gültige Investoxformel stehen.

Historien bedeuten, dass der Kernel nicht nur die aktuellen Werte der Reihen, sondern auch deren gewünschte Vergangenheit berücksichtigt.
Z.B.:
historien=0,-1,-5
Die Zeitreihen werden in der jeweils aktuellen Periode und den zurückliegenden Perioden 1 und 5 verwendet. Ganz einfach <Periode1>,<Periode2> usw.

Ich habe den Ansatz mit den frei definierbaren Reihen aus Investox gewählt, da bei der Prognose das Ergebnis in erster Linie von den in die Auswertung eingehenden Daten abhängt. Natürlich "lernt" eine SVM auch auf der Grundlage von Close, Open, Low, High, Volume, Openint und den Zeitreihen dieser Werte. Aber wenn wir zum Beispiel an die umfangreichen Arbeiten zu Candlesticks, Widerstandlinien, Formationen, Pivot-Linien oder Fibonacci-Zahlen wird leicht deutlich, dass es Muster gibt, die einen nicht unerheblichen Einfluß auf unseren Erfolg zu haben scheinen. Solche Muster kann eine SVM aus einem kurzen Trainingsintervall des Dax oder des Bund natürlich nicht neu lernen. Um die bereits aufbereiteten Muster beim Training der SVM dennoch zu berücksichtigen können die Reihen frei nach Investox-Syntax frei gestaltet werden. So könnte der Abstand eines aktuellen Wertes zu den Pivot-Linien der letzten übergeordneten Zeiteinheit als Reihe übergeben
werden.

Für den Start würde ich aber die Weka.ini wie ausgeliefert verwenden. Optimieren kann man wenn es läuft.

Voraussetzungen überprüfen!
Investox 5 - wegen des VBScript

Auf dem Rechner muss eine aktuelle Java Runtime installiert und im Pfad
eingebunden sein.
1. Öffnet ein Dos-Fenster: (in XP) Start->Ausführen und Cmd eintippen
2. Fragt die Java Version ab: Im Dos-Fenster "java - version".
Wenn die Version 1.5 oder höher angezeigt wird sollte alles OK sein - selber habe ich jedoch nur mit 1.6 getestet.
Wenn die Meldung kommt, dass der der Befehl unbekannt ist müsst ihr den Pfad auf Java in der Systemsteuerung bekanntgeben. Wenn kein Java auf
dem Rechner ist müsst Ihr dies zuvor installieren. Eine sehr klare Anleitung findet ihr unter "http://www.torsten-horn.de/techdocs/java-install.htm#InstallationUnterWindows".
Nur dass wir keine Java-SDK (Entwicklungsumgebung) sondern nur die Java-JRE (Laufzeitumgebung) brauchen. Aber alle Schritte können analog
durchgeführt und getestet werden. Nur die Installation von ANT, Schritt 7 in der Anleitung, ist natürlich nicht erforderlich.

Das Paket MUSS auf dem Laufwerk "C" und dort im Verzeichnis "c:\weka" liegen. Ansonsten funktioniert NICHTS.

Aktuelle Einschränkungen
1. Es läßt sich nur ein Kernel für ein Handelssystem berechnen.
Wegen der von mir verwendeten Namenskonventionen würden mehrere Kernels die gleichen internen Dateien verwenden und das klappt nicht.
2. Es läßt sich zur Zeit nur SVM als Schätzer verwenden. Andere Algorithmen wie z.B. J48 lassen sich noch nicht ansteuern.

Das Archiv mit dem HS, dem Indikator und den beiden Dateien für den Ordner "c:\weka" findet ihr in Rapidshare unter[url]http://rapidshare.com/files/74273408/WekaInvestoxIntegration.rar.[/url] Hier im Forum gibt es leider keinen Platz für so GROSSE Dateien.

DIREKTER DOWNLOAD der Datei (zugefügt von Udo)

Bei Fragen und Problemen einfach nachfragen.

Viele Grüße und danke allen, die mich aktiv unterstütz haben.

Martin

Das Handelssystem ist nur zu Demonstrationszwecken beigefügt. Jede Verwendung birgt das Risiko von Verlusten. Der Handel erfolgt auf eigenes Risiko.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

2

Dienstag, 4. Dezember 2007, 18:58

Und hier noch ein Screenshot vom veröffentlichten System



Die SVM und der verwendete Kernel sind "weka.classifiers.functions.SVMreg -C 1.0 -N 0 -I "weka.classifiers.functions.supportVector.RegSMOImproved -L 0.0010 -W 1 -P 1.0E-12 -T 0.0010 -V" -K "weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0" (aus Weka kopiert)

Der Parameter cValue ist der markierte Parameter.

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

3

Dienstag, 4. Dezember 2007, 19:01

Und noch eine Ergänzung für die Verwendung:

Wenn das HS mit dem Indikator die SVM berechnet braucht es ein paar Augenblicke. Ggf. kommen wie bei den NN von Reiner Hinweise zum Abbruch. Hier stets ignorieren!

Und, wenn jeweils kurz schwarze Fenster aufpoppen liegt dies an VBScript und dessen eingeschränkter Möglichkeit direkt mit Java zusammen zu arbeiten.

Martin

Peratron

unregistriert

4

Dienstag, 4. Dezember 2007, 19:02

Super, vielen Dank für Deine Mühe! Eine Frage zu den Daten: Sind dies adj. DAX, Pinnacledaten?
Grüße Peratron

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

5

Dienstag, 4. Dezember 2007, 19:04

Und hier noch ein kurzer Robustheitstest mit Variation des cValue



Martin

halobungie

unregistriert

6

Dienstag, 4. Dezember 2007, 19:08

Hallo Martin,

Herzlichen Dank für Deinen grossen Einsatz!!! :thumbsup:

Jetzt kanns richtig losgehen...

Vielen Dank,
halobungie

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

7

Dienstag, 4. Dezember 2007, 19:12

@Peratron

ich verwende Daten von Pinnacle. Aber es ist dem System egal woher die Daten kommen. Hauptsache Du hast genügend Datensätzt 8)

Martin

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

8

Dienstag, 4. Dezember 2007, 20:08

Hallo Martin,

das liest sich klasse. Ich habe gerade erst mit WEKA zu experimentieren angefangen....jetzt fehlt mir nur noch die V5!
Viele Grüße,
Hans-Jürgen

Reiner

unregistriert

9

Dienstag, 4. Dezember 2007, 20:22

Hallo Martin!

Hallo Martin,

Herzlichen Dank für Deinen grossen Einsatz!!! :thumbsup:

Jetzt kanns richtig losgehen...

Vielen Dank,
halobungie


Dieser Gratulation möchte ich mich hiermit anschließen!!!!

Und Dir für diese tolle Leistung meine Anerkennung ausdrücken.

Aber dieses dicke Lob soll auch für Deinen Entschluß gelten, dass Du Deine Arbeit hier im Forum veröffentlichst!

Viele und herzliche Grüße

Reiner

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

10

Dienstag, 4. Dezember 2007, 20:34

Hallo Martin,

ich schließe mich meinen Vorpostern gerne an !
Tolle Leistung - das hat Du SUPER gemacht !
Danke dafür, dass Du den Indikator hier für alle zur Verfügung stellst !!! :)
Viele Grüße von Anke

http://www.ascunia.de

dubi

Profi

Registrierungsdatum: 1. September 2002

Beiträge: 331

11

Dienstag, 4. Dezember 2007, 20:38

WOW - grosses Kompliment! Damit ergeben sich ja tolle Möglichkeiten!
Vielen Dank für die Bereitstellung!!!
-dubi

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

12

Dienstag, 4. Dezember 2007, 21:27

Mit dem Download scheint es Probleme zu geben. Bitte mailt mich hier an, und ich schicke euch erstmal per Mail das Archiv wenn ihr es wünscht.

Martin

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

13

Dienstag, 4. Dezember 2007, 22:05

Hallo Martin,

zunächst ein dickes Dankeschön für die Arbeit! Ich habe Deinen ersten Beitrag modifiziert so das der LINK jetzt funktioniert! Rapid Share ist aber nicht so optimal. Ich werde versuchen die Datei für Dich zu hosten...
Happy Trading

hajo

Meister

Registrierungsdatum: 20. Oktober 2002

Beiträge: 553

14

Dienstag, 4. Dezember 2007, 22:13

Guten Abend Martin ,

es ist fast nicht zu glauben was Du uns da präsentierst.
Die Weihnachtsgeschenke werden natürlich sehr gerne in Empfang genommen.
Applaus für Deine Arbeit :thumbsup:

Gruß,
hajo

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

15

Dienstag, 4. Dezember 2007, 22:23

Hierkönnt ihr Martins Datei direkt downloaden!
Happy Trading

Hans-Jürgen Männlich

Administrator

Registrierungsdatum: 10. Juli 2002

Beiträge: 1 712

16

Mittwoch, 5. Dezember 2007, 07:19

Hallo Martin,

zunächst ein dickes Dankeschön für die Arbeit! Ich habe Deinen ersten Beitrag modifiziert so das der LINK jetzt funktioniert! Rapid Share ist aber nicht so optimal. Ich werde versuchen die Datei für Dich zu hosten...


Warum solche Schnellschüsse ;) ? Fragt den Administrator! Der hat für diese Dinge immer ein Plätzchen frei. Ich kann das direkt unterhalb des Forums verlinken....wenn es gewünscht ist.

Erfolgreichen Tag wünsche ich.
Viele Grüße,
Hans-Jürgen

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

17

Mittwoch, 5. Dezember 2007, 08:52

Leider war der Admin gestern um 22:00 Uhr nicht mehr gegenwärtig und ich habe improvisiert... 8)
Happy Trading

Peratron

unregistriert

18

Mittwoch, 5. Dezember 2007, 13:00

Ich bin begeistert! Es war relativ einfach das Projekt zum laufen zu bringen. Und es läuft sogar ohne WEKA zu starten!

Kurze Anmerkung zur Beschreibung von MartinP:
Wenn man unter Start --> Auführen im Dos Fenster gelandet ist, sollte man java -version schreiben nicht " java - version".
Hab ein Screenshot angehängt. Nur als kleine Hilfe!

@MartinP:
Wieso hast Du die Exitbasis auf Close, Delay1 gestellt? Es müsste doch auch Open, Delay1 gehen, oder?

Grüße Peratron
»Peratron« hat folgendes Bild angehängt:
  • cmd.gif

halobungie

unregistriert

19

Mittwoch, 5. Dezember 2007, 13:12

Hallo Peratron,

leider habe ich Investox_V5 noch nicht ausgeliefert erhalten. Kann es kaum erwarten, dann das Projekt von Martin zu starten!!!

Wie sehen Deine Ergebnisse mit dem Indikator von Martin aus, kannst Du uns dazu schon etwas sagen?

Besten Dank,

halobungie

Peratron

unregistriert

20

Mittwoch, 5. Dezember 2007, 13:39

Hi halobungie,
naja hab gerade mal meine DAX Tickdaten in Komp auf Tagesbasis geladen und vom gesamt bzw. freien Zeitraum ein Screenshot gemacht. HS wurde auf Enter/Exit Open Delay 1 gestellt. Wenn Du mich fragst ist die KK viel zu gut! Irgendwie hab ich das Gefühl das mir die Zeiträume in Investox nicht richtig angezeigt werden. Kann aber noch nicht viel sagen da ich erst 30Min aktiv an dem Projekt arbeite.
»Peratron« hat folgende Bilder angehängt:
  • gesamt.jpg
  • oos.jpg