Donnerstag, 18. April 2024, 08:49 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.

Tobias Männlich

Meister

Registrierungsdatum: 3. September 2002

Beiträge: 663

Wohnort: NRW / Paderborn

141

Dienstag, 1. Januar 2008, 19:01

nochmal ein paar Gedanken zur praktischen und realen Umsetzung der SVM im Handel :



es müsste eigentlich eine Trainigszeitreihe "eingefroren" werden können, um den realen Handel zu zulassen.

Bsp. : Ich habe z.B. eine SVM erstellt, die mir 20 Perioden Test Zeitraum gute Prognosen liefert. So, jetzt will ich ja diese 20 Perioden traden und erst danach die SVM wieder neu trainieren. Das Problem, was wir jetzt immer haben ist ja, dass sich die SVM nicht einfrieren lässt und IMMMER neu trainiert und dadurch sich Prognosen ändern. Mit dem derzeitigen Stand läßt sich meines Erachtens die SVM Engine nicht zum Realhandeln benutzen.

Wie seht Ihr das ?
Gruss Tobias

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

142

Dienstag, 1. Januar 2008, 19:22

@ Tobias,

du hast vollkommen Recht. Aber es gibt einen kleinen Trick über den du auch so das gewünschte erreichen kannst. Eine SVM ergibt im Gegensatz zu NN immer die gleichen Ergebnisse. Wenn du jetzt eine SVM 20 Perioden lang traden möchtest kannst du dies über den Offset machen. Jede neue Periode wird der Offset erhöht. Der Nachteil ist, dass dennoch jede Periode auch neu trainiert wird.

Aber mir ist klar, dass dies keine dauerhafte Lösung ist.

Unabhängig davon würde mich interessieren, wie eure bisherigen Erfahrungen mit SVM sind. Ich selber komme beim vielen Programmieren kaum zu vernünftigen Test.

Und. Ein gutes neues Jahr

Martin

Tobias Männlich

Meister

Registrierungsdatum: 3. September 2002

Beiträge: 663

Wohnort: NRW / Paderborn

143

Dienstag, 1. Januar 2008, 19:44

... über den Offset ... ? Hilf mir - ich steh auf der Leitung ?(

versteh ich nicht ganz ...



Ergebnisse - tja bislang nicht sehr erfolgreich. EoD.

Im Dax hatte ich beste Ergebnisse mit total banalen Inputs :



zeitreihen]
reihe1=Detrend(Close,5)
reihe2=ROC(Detrend(Close,5), 2, %)



ziel=(Ref(Close, +1)- Ref(Close, +0))
historien=0,-1,-2,-3,-4,-5,-6,-7,-8



Und dann auf Close 0 im ORM getestet. Irgendwas um 93000 € Profit ab 1.1.2007 mit 25 € Slippage pro HalfTurn.



Ist aber z.B. auf den SMI nicht reproduzierbar. Da such ich noch was um überhaupt profitabel zu sein .... bislang nix ... :baby:



Was habt Ihr denn so als Inputs - irgendwas Spannenderes ?
Gruss Tobias

Gerasan

unregistriert

144

Mittwoch, 2. Januar 2008, 01:13

Hallo,
ich habe biser den FDAX auf Stunden-Basis simuliert. Ab Sommer bis jetzt. 25 € Slippage pro HalfTurn. Ergebnis ernüchternd, siehe Grafik. Allerdings sind klar Phasen zu beobachten, in denen SVM sehr gut ist. TrainPerioden setze ich auf 35. cValue auf 155.



[zeitreihen]
reihe1=close
reihe2=high
reihe3=low
reihe4=open
ziel=Ref(roc(close, 2,%),2)
historien=0,-1,-2,-3,-4,-5,-6,-7,-8,-9

Zu Input: Reiner hat mal gesrieben, und da stimme ich ihm zu, das diese Modelle oft besser aus Rohdaten Information extrahieren können, als aus technischen Indikatoren. Deswegen versuchte ich das so.

Terminator3

unregistriert

145

Mittwoch, 2. Januar 2008, 04:11

Naja, die KK sieht garnicht gut aus.
Da kann man nicht gerade sagen das es gute Phasen gibs, die sind einfach zufaellig.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

146

Mittwoch, 2. Januar 2008, 12:53

Hallo zusammen,

testet mal mit einer Verschiebung der Lernzeiträume und legt sekundär Wert auf die Inputs! Bevor man nicht systematisch testet, kann man nicht viel über die Qualität sagen aber momentan ist systematisches Testen aufgrund fehlender Funktionen oder umständlichen Handlings noch nicht möglich! Man müsste zumindest einen Feed Forward Test haben um aussagekräftige Testreihen durchzuführen. Eventuell kann Herr Knöpfel einen FW implementieren den man auch,nebenbei bemerkt, fernab von SVM hervorragend nutzen kann!

@Gerasan

Ich habe den damaligen realen Test aufgegeben, da das Ergebnis eine "Eintagsfliege" war! Daher gehe daher ich sehr stark davon aus das der Erfolg eines SVM-Systems 75% vom Lernzeitraum abhängig ist! Die Lernzeiträume können "ultrakurz" sein da SVM absolut keine Mustervergleiche in langen Historien benötigt!
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

147

Mittwoch, 2. Januar 2008, 13:19

Damit man die Wirkungsweise der Algorithmen besser klassifizieren kann, wäre eine Möglichkeit synthetische Datenreihen (Sinuskurve ect. ) anzulegen oder SVM an oszillierenden Indikatoren zu testen! Einen Indikator als Titel erhält man indem man die Datenreihe exportiert-importiert!Ich habe festgestellt das die unterschiedlichen Algorithmen sehr unterschiedliche Sentensivitäten zeigen- Bei sehr kleinen Komprimierungen ist das sehr hinderlich da durch zu viel Sentensvität der Out of Sample Zeitraum zu sehr verrauscht wird!
Ob SVM tatsächlich ,so wie man es von NNs kennt,generalisieren können bezweifle ich noch das sie in der Lage sind das Optimum in der Lernphase darzustellen. Im Umkehrschluss würde das bedeuten, das SVMs projizieren und nicht generalisieren. Ich kann mich natürlich täuschen, aber das ist aber mein bisheriger (erster) Eindruck dazu! Sollte es zutreffen, würden sich auch die Profite aus kurzen Lernphasen erklären!
Happy Trading

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

148

Mittwoch, 2. Januar 2008, 13:32

Wäre es nicht möglich, SVM als Alternative für das Training von Variablen einzusetzen? In der Regel müssten diese Algorithmen schnell das Optimum der besten Einstellung für Indikatoren ect.-ähnlich heuristischer Verfahren- finden! Vier Generationen liefern das Ergebnis der bislang vier Algorithmen (wobei NRCM schon von mehr als 20 spricht) wobei jede Generation innerhalb kurzer Zeit das Optimum anzeigt! Die Input-Variablen werden,wie auch bei GA so verändert, bis Optimal des Systems erreicht ist! Allerdings hätte ich bedenken hinsichtlich des Curve Fittings-was bislang auch bei einer Generation und Input in SVM so ist! Der Verdacht hat sich zwar noch nicht endgültig bestätigt, aber das Gegenteil konnte ich bislang auch nicht an den Tag fördern!
Happy Trading

Chemie262

unregistriert

149

Mittwoch, 2. Januar 2008, 19:13

@
Unabhängig davon würde mich interessieren, wie eure bisherigen Erfahrungen mit SVM sind. Ich selber komme beim vielen Programmieren kaum zu vernünftigen Test.


Hallo Martin,
ich habe folgende Ergebnisse im Forexhandel über den virtuellen Broker mit Datenanbindung an IB erzielt. Dabei wurden verschiedene Kompressionen verwendet, um zu prüfen, bei welchen das System gut funktioniert. Dabei habe ich alle HS parallel laufen lassen (112 !), was die Hardware ganz schön schwitzen ließ.
Das ist die Systembeschreibung. Ich habe alle anderen Währungspaare analog programmiert und jeweils einen Verluststop von 50 Pips und einen Gewinnstop von 100 Pips eingebaut.

Beschreibung für System 'EUWekaTest'
Uhrzeit: 02.01.2008 18:54:23
Angelegt am: 27.12.2007 14:22:40
Zuletzt bearbeitet: 02.01.2008 10:44:42
Komprimierung: 5 Minuten

***** Regeln ******

Enter Long:
signal > 0

Enter Short:
signal < 0

Übergreifende Definitionen:
Global const trainPerioden: 100;
Global const testPerioden: 1;
Global const offset: 0;
Global const cValue: 10;
Global const model: 4;
Global const debug: 0;

Global calc signal: WekaInvestox(trainPerioden, testPerioden, offset, cValue, model, debug);

***** Optimierung *****

Start: 01.01.1988
Ende: 31.12.1993

Optimierte Titel:
EU

Optimierungskriterien:
Maximiere 'Profit-Ratio zu Buy/Hold', Gewichtung: 1
Maximiere 'Sharpe Ratio', Gewichtung: 1

GA-Einstellung: Optimiere maximal 50 Generationen mit 15 Eltern und 100 Nachkommen.

***** Test-Einstellungen *****

Positionen: Long+Short
Enter-Basis: Open
Delay: 1
Exit-Basis: Open
Delay: 1
Buy/Hold-Basis: Close
Trade-Mindestdauer: 1
Out-Mindestdauer: 1
Punkte testen
Initial Margin: 1
Wert pro Punkt: 0,67
Gewinn-/Verlustberechnung verwendet High/Low-Kurse.
Entry-Gebühren: 0
Exit-Gebühren: 0
Slippage: 0,00005
Portfolio Zinssatz: 5
Risikotoleranz: 24
Sofortverlust Stop: bei 0,005 Punkten/0,005 Punkten
Sofortgewinn Stop: bei 0,01 Punkten/0,01 Punkten
Intra-Verlust Long+Short
bei 0,005 Kurspunkten
ab 0 Perioden
Intra-Gewinn Long+Short
bei 0,01 Kurspunkten
ab 0 Perioden
Money-Manag. Fester Kontrakt
Anzahl 100000
Delta 1
Max. Kontrakte 100000

***** Optimierungs-Report *****

Kein Optimierungsergebnis vorhanden

***** Order-Einstellungen- *****

Automatische Orderaufgabe ist aktiv
Broker: Interactive Brokers
Alle Angaben in Punkten
Std.-Stückzahl: 100000
Manuelle Bestätigung: Keine
Keine Bestätigung beim manuellen Ordern!

Enter-Order:
Bestens (at Market)
Kein Aufstocken von Positionen

Exit-Order:
Bestens (at Market)
Beim Drehen Enter/Exit separat ausführen

Sicherheits-Verluststop aktiv:
Stop Long: 0,005
Stop Short: 0,005
Sicherheits-Gewinnstop aktiv:
Limit Long: 0,01
Limit Short: 0,01
Sicherheitsstops an letzte gefillte Order anpassen

Out-Signale als Exit-Signal verwenden
Hold-Signale als Enter-Signal verwenden
Stückzahlen Depot/Handelssystem abgleichen

IB-Optionen:
Sicherheitsstops mit Enter-Order aufgeben

Dies war die Weka-Ini:

[filenames]
filename=data
suffix=.arff
addOnTrain=_train
addOnTest=_test
addOnModel=_model
addOnResult=_result


[zeitreihen]
reihe1=RSI(ADX(10), 10)
reihe2=POszi(Stoch(5, 3), 1, 10, S, $)
reihe3=VolaCh(10, 10)
reihe4=Mass(25)
reihe5=Mass(50)
ziel=Ref(Open, 2) - Ref(Open, 1)
historien=0,-1,-5,-8,-13,-21,-35,-50

Es wurde die neueste Version des InkWeka.jar benutzt.
Und so sah´s aus. Die erste Reihe zeigt die Nettoprofite und die 2. die Anzahl Trades.



Die Ergebnisse sind schon mehr als beeindruckend. Ich habe deshalb heute einen Versuch gestartet, bei dem ein HS live mit IB handelt und Parallel 4 Systeme mit den verschiedenen Modellen über VB. Theoretisch sollte das IB System mit dem VB-Model4 identische Resultat geben. Auswertung erfolgt morgen.
Außerdem habe ich für alle Währungspaare jeweils eine Kompression ausgwählt, die über den IB-Papertrader laufen.
Auch dazu kann ich morgen mehr sagen.

Tschüß,
Herbert

Chemie262

unregistriert

150

Mittwoch, 2. Januar 2008, 19:24


es müsste eigentlich eine Trainigszeitreihe "eingefroren" werden können, um den realen Handel zu zulassen.

Hallo Tobias,
ich sehe gerade in dem ständig neuen Training den großen Vorteil der SVM. Dadurch wird das HS ständig den sich ändernden Marktbedingungen angepaßt. Das scheint zumindest bei relativ ruhigem Handel gut zu funktionieren. Es wird natürlich da genauso wie alle anderen HS schlapp machen, wo Wirtschaftsnachrichten heftige Preiskorrekturen bewirken. Aber da sollte man vorher immer aus dem Markt gehen und die Nachrichten mit speziellen Methoden handeln.
Der Livehandel funktioniert ohne Probleme mit mehreren HS parallel.
Aber mir scheinen die Ergebnisse viel zu gut (kenne ich bisher nur von HS, die in die Zukunft schauen). Daher suche ich immer noch nach einem gravierenden Fehler.
Ich glaube erst an den Stein der Weisen, wenn ich die Resultate auf meinem Bankkonto sehe.

Tschüß,
Herbert

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

151

Mittwoch, 2. Januar 2008, 20:15

Prima Herbert,

nach anfänglich guten Backtestergebnissen dann das im Live-Trade mit dem FDAX!
»Udo« hat folgendes Bild angehängt:
  • Backtest.png
Happy Trading

Tobias Männlich

Meister

Registrierungsdatum: 3. September 2002

Beiträge: 663

Wohnort: NRW / Paderborn

152

Donnerstag, 3. Januar 2008, 07:48

@ Herbert : Ich bin mal sehr gespannt auf Deinen Versuch heute ! Viel Erfolg & lass uns mit den Ergebnissen nicht zu lange warten !
Gruss Tobias

ulukai

unregistriert

153

Donnerstag, 3. Januar 2008, 09:43

@herbert

ich hatte auch vor mal so einen test zu machen , konnte es aber mangels inv-software(xl-version) nicht durchführen und die kreditkarte für rss kam bisher auch noch nich, warum weiss ich net.

aber rmich würde interessieren wie du auf diese settings kommst:

Übergreifende Definitionen:
Global const trainPerioden: 100;
Global const testPerioden: 1;
Global const offset: 0;
Global const cValue: 10;
Global const model: 4;
Global const debug: 0;

warum dieser trainingszeitraum und nicht z.b. 300, oder warum den cvalue auf 10 nicht auf 100 und das svm-model 4?

ich hatte mit dem svm´s (lösung von anke u. reiner) immer gute ergebnisse mit 200-300 perioden.

[zeitreihen]
reihe1=RSI(ADX(10), 10)
reihe2=POszi(Stoch(5, 3), 1, 10, S, $)
reihe3=VolaCh(10, 10)
reihe4=Mass(25)
reihe5=Mass(50)
ziel=Ref(Open, 2) - Ref(Open, 1)
historien=0,-1,-5,-8,-13,-21,-35,-50

diese Paramter unter [zeitreihen] sind die festgelegt?, oder wenn nicht warum grade diese indikatoren und die historie?

ich blicke bei einigen einstellungen noch nicht richtig durch....

Chemie262

unregistriert

154

Donnerstag, 3. Januar 2008, 12:14

Hallo Stefan,
ich habe die Settings zunächst so aus dem System von Martin übernommen. Ich teile mir mit einem Kollegen die Untersuchungen und da kommt es zunächst darauf an, einen Standard zu definieren, damit wir unsere Ergebnisse vergleichen können. Mein Ziel ist, zunächst zu prüfen, ob gute Resultate mit den SVM im realen Handel belegt werden können. Und wenn es generell Ergebnisses mit guter Prognose gibt, kann man später an den Indikatoren feilen.

Übrigens ist um die Feiertage wenig los beim Handeln von Wirtschaftsnachrichten. Da hast Du nichts verpaßt.

Tschüß,

Herbert

Gerasan

unregistriert

155

Freitag, 4. Januar 2008, 14:48

Wenn man das Signal in dem Chart einfügt, wird gut sichtbar, wann die Prognose instabil wird. Auf dem unteren Bild ist zu sehen, das im Trainigszeitraum die Amplitude des Signals deutlich kleiner ist als im Prognosezeitraum. Das ist deutlicher Hinweis, daß Model instabil ist.

Fritz

unregistriert

156

Freitag, 4. Januar 2008, 17:20

Hallo,
dem möchte ich ein anderes Beispiel gegenüber stellen.



Allerdings kann man auch bei diesem Beispiel nicht grundsätzlich davon ausgehen, das die Prognosefähigkeit sehr gut ist.
Grund: dies ist nur eine Momentaufnahme. In der nächsten Periode kann die blaue KK, die den Testzeitraum zeigt, wieder ganz anders aussehen. Konkret kann man nur immer das aktuelle Signal verwenden. Da ich nicht über das Ordermodul verfüge, nutze ich die Signalprotokollierung und kopiere diese nach Excel zur Auswertung. Leider noch etwas umständlich und zeitaufwändig.

Gruß Fritz

Tobias Männlich

Meister

Registrierungsdatum: 3. September 2002

Beiträge: 663

Wohnort: NRW / Paderborn

157

Freitag, 4. Januar 2008, 17:39

Genau hier ist das Problem :

Bei Fritz sieht man eine schöen KK im Testzeitraum.

Nur - das Doofe ist : man kann sie nicht handeln.



Was müsste man tun : Als Trader möchte ich mich ja an den Zeitpunkt Trainigsende-Anfang Testzeitraum ( t=0 ) stellen und dann ab t=0 das SVM Netz handeln. Dazu dürfte sich aber das SVM nicht ständig neu trainieren. Es müsste ab dem Zeitpunkt t=0 eingefroren werden und erst ab t=20 ( bei 20 Perioden Testzeitraum ) erst wieder einmal trainiert werden, wobei der Trainigszeitraum nun um diese 20 Perioden verlängert wird.

Diese KK kann nur eine Augenblicksaufnahme sein - in der nächsten Periode sieht ALLES ganz anders aus... und nach meinen ganzen Simulationstests mit ORM - sieht es ganz schattig aus. :thumbdown:

Nichts ist backtestbar, nichts ist nachvollziehbar.

Daher habe ich erstmal die SVM´s zur Seite gelegt. Alle Tests sind derzeit für mich nicht verwertbar.

( das war ein Hilfeschrei ;( ... belehrt mich eines Besseren... bitte ... )
Gruss Tobias

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

158

Freitag, 4. Januar 2008, 17:52

Hallo zusammen,

Ich sehe, dass ich nicht der einzige bin, der sich mit dem Problem der Prognosefähigkeit über längere Zeiträume hinweg beschäftigt. Um sich ein besseres Bild davon machen zu können habe ich einen zusätzlichen Indikator entwickelt. Bei diesem Indikator wird über eine frei zu bestimmende Anzahl ein Perioden kontinuierlich ein SVM basierte System nach dem anderen abgearbeitet. So erhält man für den gesamten Zeitraum reine Prognosewerte.

Hier ist ein Beispiel für den Einsatz dieses Indikators ein DAX. Dabei wurden insgesamt 1800 Perioden prognostiziert.



das Handelssystem weist keine außerordentliche Performance auf. Schön ist aber, dass es trotz des großen Einbruchs 2001 in dieser Zeit gute Gewinne abgeworfen hätte. Schwächen bestehen insbesondere bei Seitwärtsbewegungen.

Den Indikator findet Ihr in meinem Wiki unter "http://weka.agile-germany.de/wikka/wikka.php?wakka=WekaInvestoxFeedForward"

Herzliche Grüße

Martin

Chemie262

unregistriert

159

Freitag, 4. Januar 2008, 19:23



Daher habe ich erstmal die SVM´s zur Seite gelegt. Alle Tests sind derzeit für mich nicht verwertbar.

( das war ein Hilfeschrei ;( ... belehrt mich eines Besseren... bitte ... )


Hallo Tobias,
vielleicht kann ich Dich bewegen, doch nicht die Flinte ins Korn zu werfen. Zunächst müssen wir Martin mächtig dankbar sein, daß er es geschafft hat, daß man mit Bordmitteln von Investox SVMs überhaupt live traden kann. Allerdings müssen wir uns von den gewohnten Robustheitstests und Kapitalkurven verabschieden. Statt dessen muß hier live per VB oder Papertrader getestet werden und die Kapitalkurven aus den Depotinformationen oder per Excel erstellt werden, was natürlich recht langwierig ist. Da hilft nur, recht viele Einstellungen parallel zu testen, damit man schneller zu brauchbaren Aussagen kommt. Die Möglichkeit eine Datenfeedsimulation durchzuführen, wäre schon ein großer Vorteil, da dann Test im Zeitraffer durchgeführt werden können. Aber vielleicht bietet der gerade von Martin gepostete Indikator ja schon eine Lösung.
Ich bin zwar nach wie vor den SVMs gegenüber vorsichtig, weil die Ergebnisse "zu gut" sind, aber die Versuche geben schon sehr eindrucksvolle Resultate.
ich habe meine 16 HS für Währungspaare wie oben beschrieben in 2 h Kompression seit gestern 11 h mit dem IB-Papertrader durchlaufen lassen. Bis heute 18 h haben sie 99 Trades bei 55% positiven Resultaten geliefert. Der Hammer ist, daß sie dabei 3.828 € unterm Strich verdient habe. Bei 1% Risiko pro Trade bedeutet das eine Rendite von ca. 10% in weniger als 2 Handelstagen. Wenn das kein Argument ist, weiterzumachen...
Ein schönes Wochenende wünscht Dir
Herbert

MartinP Männlich

Meister

Registrierungsdatum: 13. März 2007

Beiträge: 690

Wohnort: Köln

160

Freitag, 4. Januar 2008, 19:46

Hallo Herbert,

ich habe versucht bei mir dein HS nach zu bauen. Leider bekomme ich deine Ergebnisse nicht ebenso schön hin.

Meine Daten stammen von Interactive Brokers, ansonsten sollte alles identisch sein.

Hast du vielleicht einen Tip?

Viele Grüße

Martin