Donnerstag, 18. April 2024, 20:25 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

1

Sonntag, 2. November 2008, 11:34

Dynamisches Money Management wie im Life Handel umsetzen?

Wie lässt sich die Kontraktanzahl über das Money Management von Investox im Real-Handel umsetzen?

Details zum Problem:
* im Life-Handel steht dem HS nur der Signalzeitraum zur Verfügung. Die Kapitalkurve startet immer wieder "vor ein paar Tagen" mit dem in den Testbedingungen eingegebenen Startkapital von sagen wir 10'000.
* Das HS läuft aber in Wirklichkeit schon 4 Wochen und hat eigentlich, sagen wir mal, 40'000 im Bauch.
* Da das HS mit degressivem Kapitalanteil aufgesetzt ist, müsste mit den 40'000 eine höhere Kontraktzahl gehandelt werden, als das Startkapital im Signalzeitraum dem HS glauben macht!

Ich kann nicht einfach auf das reale Depot schielen und dem HS für den laufenden Tag sozusagen die Mindestkontrak-Anzahl anpassen. Grund: in den Testbedingungen wird das Delta über eine globale Variable berechnet. In diese Berechnung fliesst der aktuelle Kontraktwert ein (welcher durch die derzeitigen Verwerfungen an den Märkten ja starken Schwankungen ausgesetzt ist), sowie eine auf meine angepeilte Handels-Range gerechnete True Range ("myATR").

Mit anderen Worten, ich weiss am Anfang des Tages noch nicht, mit wievielen Kontrakten das HS life in den Markt gehen wird. Abhängig von dem angesammelten Kapital, dem Kontraktwert und den Turbulenzen können das heute im ersten Trade sagen wir 3 Kontrakte sein und obwohl Gewinn gemacht wurde im nächsten Trade am gleichen Tag nur noch 1 Kontrakt.

Der Backtest funktioniert zwar prima; aber ich habe wirklich keine Idee, wie ich das mit Investox *life* umsetzen kann! Vielleicht sehe ich auch den Wald vor Bäumen nicht und alles ist ganz einfach?
Gruss
Bernd

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

2

Sonntag, 2. November 2008, 12:17

Hallo Bernd,

Der Backtest funktioniert zwar prima; aber ich habe wirklich keine Idee, wie ich das mit Investox *life* umsetzen kann! Vielleicht sehe ich auch den Wald vor Bäumen nicht und alles ist ganz einfach?

Würdest Du mir bitte verraten, wie Du eine Depotfunktion ohne Depot umsetzt? Ich gehe davon aus dass in einem D, epot mehrere Werte vorhanden sind, deren aktueller Wert zum Zeitpunkt x festgestellt werden muss um das Positionsgrößenmanagement zu steuern! Wie fasst zu das alles zusammen und ermittelst die momentan mögliche Kontaktanzahl für den aktuellen Trade? Ich bin der Meinung dass jeder Backtest der nicht den kompletten Kontostand erfasst hinsichtlich der Positionsgröße verfälscht ist, und somit der komplette Backtest bei größeren Konten zunehmend unbrauchbar wird, da man nicht weiß welche Partitio, nsgröße man real einsetzen kann und was im Backtest zur Simulation herangezogen wird/wurde! Es sei denn, Du handelst lediglich mit einem Wert, was sich aber nach deinen bisherigen Beiträgen nicht annehme!
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

3

Sonntag, 2. November 2008, 15:03

Hallo Bernd,

Ohne einen Glaubenskrieg anzuzetteln, will ich vorab mal was abseits Deines Ausgangsthemas zu MM schreiben.
Degressiven Kapitalanteil als MM finde ich pers. Selbstbelügung.
Warum soll man am Anfang eines HS ein höheres Risiko gehen und dann wenn es Geld verdient hat das Risiko rausnehmen (für immer ?!, oder doch irgendwann wieder erhöhen)?
Die Handelsergebnisse im Backtest sind hier dann absolut abhängig vom Startzeitpunkt des Backtestes.
Entweder man hat ein vernünftiges MM/RM aufgesetzt, dann sollte man das auch durchhandeln, aber ein anfänglich höheres Risiko einzugehen um später mit einem größeren Konto Risikoaverser zu handeln finde ich nicht sinnvoll.
Der dahinter stehende Gedanke, wenn ich wenig Geld habe kann ich´s ja ruhig mit höherem Risiko angehen, weil dann geht nicht soviel über die Wupper hat mit Systematik für mich nicht viel zu tun.
Lieber ein MM, dass man auch mit einer Million handeln würde auf ein kleiner Konto angewendet und stringent durchgehalten, dann weiß man meiner Meinung nach, dass man ein psychologisch langfristig handelsbares System hat, ansonsten frickelt man permanent am MM nach jedem 5. Trade rum, weil einem der DD zu hoch ist etc..

Zur Kontraktanzahlsteuerung;
Ich handhabe es so, dass ich meinen Kontostand (Net Liquidation) in einer CSV Tabelle Vorhalte, die ich als Titel in IV verknüpfe und mit meinen eigenen RM/MM Bedingungen mittels einer globalen Konstante die handelbaren Kontrakte bestimme.
Konkret geht das bei mir so:
1. maximalen Verlust pro Kontrakt bestimmen gemäß Stops. Risk pro Kontrakt: (Stop(%)*open Kurs*punktwert)
2. Risk pro Trade(%)*Kontostand=Max Risk pro Trade €
3. Kontraktzahl=int(max Risk pro Trade €/risk pro Kontrakt)

Wenn man pyramidisiert, ist das natürlich ein anderes Thema und kann so einfach nicht angegangen werden. Hierzu muss jede Pyramide einzeln betrachtet werden.
In meinem Fall ist das relativ einfach: wenn ich eine Pyramide aufbaue ziehe ich den Stop auf Breakeven des Urpsrungstrades und damit kann ich das freiwerdene Risikobudget in die Pyramide stecken. Dürfte bei Dir ein wenig anders gelagert sein.

Für den Backtest ergibt sich hierzu allerdings das Problem, dass man nicht auf die aktuelle Kapitalkurve zurückgreifen kann um darauf das RM/MMM anzusetzen.
Man kann dafür einen Umweg gehen und das Handelssystem von Punkttest auf % Investment umstellen und aus der Kontraktzahl einen Leverage Faktor berechnen.
Die Handelsgebühren muss man für den Backtestzeitraum ermitteln (Kontraktzahl=1) und ins Verhältniss setzen zum gehandelten Marktwert der Kontrakte.
Diese Zahl kann man dann in % als Kosten ins Handelssystem übernehmen.
Dabei stößt man dann leider auf ein Investox"problem", dass IV auf den Hebel keine Gebühren rechnet.
Deswegen wäre es für diesen Ansatz unbedingt notwendig, dass man das Marginfeld in den Handelssystemeinstellungen mit einer globalen Konstante benutzen kann.

Gruß

Kalli
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

4

Sonntag, 2. November 2008, 15:07

Nachtrag:

extrem elegant wird dieser Ansatz zur Kontraktanzahlsteuerung im Lifehandel, wenn man sich via API von IB die Netliquidation in einen RTT Titel zaubert.
Die TWS liefert den Wert alle 3 Minuten und bei jedem Trade.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

testeritis der zweite

unregistriert

5

Sonntag, 2. November 2008, 16:10

Import/Export Tabelle für dynamisches Money-Management

Zur Kontraktanzahlsteuerung;
Ich handhabe es so, dass ich meinen Kontostand (Net Liquidation) in einer CSV Tabelle Vorhalte, die ich als Titel in IV verknüpfe und mit meinen eigenen RM/MM Bedingungen mittels einer globalen Konstante die handelbaren Kontrakte bestimme.
Konkret geht das bei mir so:
1. maximalen Verlust pro Kontrakt bestimmen gemäß Stops. Risk pro Kontrakt: (Stop(%)*open Kurs*punktwert)
2. Risk pro Trade(%)*Kontostand=Max Risk pro Trade ?
3. Kontraktzahl=int(max Risk pro Trade ?/risk pro Kontrakt)

Hallo,

danke für die Erläuterung, die Tabelle könnte aber auch mit anderen Programmen (MetaStock, tradesignal, DySen usw.) verwendet werden oder ist das schon speziell auf Inv-Import abgestimmt? Dies ist eine technische Frage.

Ausser Frage steht das Risk pro Trade bzw. Skalierung der Size vor eröffnen der ersten realen Position festzulegen, egal ob Aktien, ETF, Futures, DMA-CFD usw. und egal welcher Markt :thumbup:

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

6

Sonntag, 2. November 2008, 16:36

danke für die Erläuterung, die Tabelle könnte aber auch mit anderen Programmen (MetaStock, tradesignal, DySen usw.) verwendet werden oder ist das schon speziell auf Inv-Import abgestimmt? Dies ist eine technische Frage.


Ich arbeite nur mit Investox, daher kann ich zu den anderen Tools wenig bis nichts sagen.
Die Tabelle enthält drei allgemeingültige Felder "Datum; Uhrzeit;Netliquidation Value", also nichts Investox spezifisches.

Generell: Wenn die genannten Programme CSV einlesen können und darauf Berechnungen erlauben zur Kontraktzahlsteuerung, dann geht das.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 1. Mai 2003

Beiträge: 240

Wohnort: Gardasee

7

Sonntag, 2. November 2008, 18:42

Hallo Bernd

Zitat

* Das HS läuft aber in Wirklichkeit schon 4 Wochen und hat eigentlich, sagen wir mal, 40'000 im Bauch.

Dann hast du einen Depot Eintrag mit P/L von +40000 denn du über #_Depot_RealPL# abrufen kannst diesen nimmst du als Berechnungsgrundlage für deine MM Regeln und setzt das degressive MM auch als Regel um und fügst das ganze als Glabal Variable unter Managment-->Kontraktanzahl ein und stellst auf Feste Kontraktzahl um. Ob das ganze mit Pyramiden geht kann ich nicht sagen aber ohne klappts Prima.

Im Post Nummer 14 von volgender Diskussion habe ich eine Variable Anzahl an Zertifikaten je nach Preis des Zertifilkates realisiert das müsste in etwa deinen Ansatz mit den Kursschwankungen enstprechen.
Mit freundlichen Grüßen

Revel7777

Yoggi

unregistriert

8

Sonntag, 2. November 2008, 21:21

setzt das degressive MM auch als Regel um


Hallo Revel7777,
kannst Du mir da mal einen Hinweis geben, wie ich das als Formel fassen kann? Ich hab das schon öfters mal mit meinen lange zurückliegenden Mathegrundkurs-Restbeständen versucht zu formulieren, aber war bislang immer wieder auf die normale EInstellung in INV verfallen, weil ich es nicht hinbekommen habe.
Beispiel:
Ich beginne mit 5 Kontrakten und warte, bis jeder einzelne Kontrakt 1000€ verdient hat (Delta also 1000). Wenn der Depoteintrag also 5000€ im Plus ist soll das HS auf 6 Kontrakte erhöhen. Wenn diese 6 Kontrakte dann wieder jeweils 1000€ verdient haben (das Konto stünden dann also bei 5000+6000=11.000 im Gewinn), dann soll der 7 Kontrakt zugekauft werden, bei 18.000€ Gewinn dann der 8 usw.
Gibt es irgendeine mathematische Funktion, die ich - nicht mehr - kenne - oder noch nie gekannt habe -, die das berechnen kann?
Das würde mir bei der Parallelisierung von Handelssystem und Realdepotstand ziemlich weiterhelfen.
Alles Gute
Yoggi

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

9

Montag, 3. November 2008, 17:19

Hallo zusammen

Das wurde ja bisher schon ein interessanter Thread! Mal im Einzelnen:

@Udo
Ich habe gar nicht an eine Depot-Lösung gedacht bei meiner Frage. Ganz im Gegenteil hat doch Investox schon (fast) alles an Board, um das Problem elegant lösen zu können!

Sehen wir die Sache doch mal pragmatisch: die Signalmaschine / Backtestmaschine von Investox kann genau das gewünschte Handelssignal generieren, würde ich den Signalzeitraum auf 4 Wochen einstellen. Vor 4 Wochen also waren da 10'000$, nun sind es 40'000$ im Backtest-System von Investox, und Investox würde gemäss meiner Delta-Formel dle Anzahl der Kontrakte dynamisiert handeln.

DAS wäre genau das, wonach ich hier gefragt habe.

Leider kann ich keinen 4 Wochen Signalzeitraum einstellen. Es ist mir nämlich noch nicht gelungen, am Markt einen PC zu kaufen, mit dem Investox diese 4 Wochen Historie in Echtzeit rechnen könnte ;(

Also muss ich den Signalzeitraum auf ca. 3 Tage beschränken - aber ich kann Investox derzeit nirgends sagen, dass es so rechnen soll, als hätte es vor 4 Wochen 10'000$ gehabt und nun hat es 40'000$ und es doch bitte darauf fussend das MM am heutigen Tag aufsetzen soll! Dazu kommt: die Information, dass der Startzeitpunkt vor 4 Wochen war, ist für die Berechnung heute völlig unerheblich. Man müsste Investox nur sagen können: Start irgendwann: 10'000$, per heute (bzw. per Anfang Signalzeitraum) 40'000$ und los geht's, rechne daraus und aus der Delta-Formel die Kontrakte für den nächsten Trade.

Alle anderen Beiträge manöverieren um diese missliche Einschränkung von Investox herum:


@Lenzelott
Dein Vorschlag gefällt mir soweit ganz gut - hat aber für mich den Nachteil, dass mein fertig entwickeltes Projekt nochmal ganz an den Anfang zurückkehren müsste und ich es mit dieser Idee neu aufsetzen müsste. Diese Zeit möchte und kann ich nicht investieren. Ich hatte schon geglaubt, dass die Investox-Signalmaschine das Delta nicht nur im Backtest rechnen kann, sondern es auch life umsetzbar ist! Auch alle Weiterentwicklungen des Projekts würden damit in meinen Augen ausserordentlich schwerfällig werden.

Was den degressiven Kapitalanteil betrifft: es kommt ja immer drauf an, was man machen will! Klar habe ich in meinem Posting nur mein Problem kurz umrissen und nicht das Gesamt-Konzept offengelegt, zumal es doch mit dem hier behandelten Problem nix zu tun hat. An dieser Stelle nur soviel: ich fühle mich ausserordentlich wohl mit einem Basis-System, dass anfangs schnell Kapital aufbaut und danach risikoavers wird. Genau das wollte ich auch haben. Mit dem Geld, was man da auf Tasche hat, kann man nämlich danach viel interessantere Sachen machen. Man könnte es z.B. in in den Bau von Pyramiden-Stufen stecken :D Der von Dir für diese degressive Geschichte angenomene Gedanke "wenn ich wenig Geld habe kann ich´s ja ruhig mit höherem Risiko angehen, weil dann geht nicht soviel über die Wupper hat mit Systematik für mich nicht viel zu tun" muss nicht derselbe sein, der andere Leute umtreibt 8)


@Revel777
Dein Vorschlag scheint mir noch am besten geeignet, das HS schnell auf life umzustellen - wenn, ja wenn da die Frage von Yoggi nicht wäre. Mir geht es da nämlich genau wie ihm: wie hast Du es geschafft (Respekt!), die eigentlich schon in Investox vorhandenen MM Regeln selbst umzusetzen, um dieses Investox-Einschränkungen beim Übergang vom Backtest auf den Life-Handel zu umgehen?
Gruss
Bernd

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Bernd« (3. November 2008, 17:39)


Registrierungsdatum: 1. Mai 2003

Beiträge: 240

Wohnort: Gardasee

10

Dienstag, 4. November 2008, 21:23

Hallo

Zitat

Ich beginne mit 5 Kontrakten und warte, bis jeder einzelne Kontrakt 1000€ verdient hat (Delta also 1000). Wenn der Depoteintrag also 5000€ im Plus ist soll das HS auf 6 Kontrakte erhöhen. Wenn diese 6 Kontrakte dann wieder jeweils 1000€ verdient haben (das Konto stünden dann also bei 5000+6000=11.000 im Gewinn), dann soll der 7 Kontrakt zugekauft werden, bei 18.000€ Gewinn dann der 8 usw.
Gibt es irgendeine mathematische Funktion, die ich - nicht mehr - kenne - oder noch nie gekannt habe -, die das berechnen kann?
Das würde mir bei der Parallelisierung von Handelssystem und Realdepotstand ziemlich weiterhelfen.

Das ist nicht MM nach Fixed Ratio aber man kann das Programmieren, du musst mir etwas Zeit geben ich habe mal so was Programmiert allerdings finde ich das jetzt nicht auf die schnelle da ich nicht zu Hause bin.

Zur Formel von Herrn Ryan Jones die in Invetox laut Hilfe verwendet wird. Die Formel die ich kenne lautet K=0,5+[(1+8*P/delta)^0,5+1] K=Anzahl Kontrakte; P=Profit; delta=delta 8o . Ich habe das in IV wie folgt Umgestzt:
global const DP:#_Depot_RealPL#;{Realer Depotwert}
global calc D:6000; {Delta}
global calc MA:10;{Maximale Anzahl an Kontrakten }
global calc HDW:MAX (0.01, DP);{Hilfs Depot Wert, in der Formel dürfen keine negativen Werte verwendet werden}
global calc K:If(DP<=0, 1, 0.5*(SQR(1+8*HDW/D)+1));{Formel von Ryan Jones mit der If Verknüpfung solte der Profit beim Start oder während des Betriebs ins Minus laufen soll 1 Kontrakt minimum gehandelt werden}
global calc KR:MIN(INT(K), MA);{Anzahl an Kontrakte nach der Ryan Jones Formel (Fixed Ratio); Begrentzung der Kontrakte über MA}

Achtung beim Kopieren der Formel ich musste in Zeile 4 bei HDW zwischen MAX und der Klammer ein Leerzeichen einfügen sonst währe es ein smilie geworden

man kann das ganze Einstellen wie unter Managmnet siehe Beschreibungen in den Klammern. Mann muss unter Managment-->Punktetest auf Fetster Kontrakt stellen und unter Anzahl die Globale Variable KR Eintargen.

Ich habe diese Formel nicht mehr real im Einsatz habe diese aber intensiv getstet aber wie immer ohne Gewähr.
Mit freundlichen Grüßen

Revel7777

Yoggi

unregistriert

11

Mittwoch, 5. November 2008, 11:02

Das ist nicht MM nach Fixed Ratio


Hallo Revel7777,
vielen Dank schonmal für Dein Programmierbeispiel. Das werde ich mal testen und versuchen zu verstehen. Aber wieso meinst Du, dass mein Beispiel nicht MM nach Fixed Ratio entspricht? Habe ich da einen Denkfehler drin. Hier das Beispiel aus der IV-Hilfe:
Degressiver Kapitalanteil (Fixed Ratio)Beispiel
Startkapital:
50 000 $ (= Margin 20 000 $ + Drawdown-Absicherung 30 000 $)
Delta:
20 000 $

Daraus ergibt sich folgende Investitionsstrategie:
Kontrakte Zusätzlich benötigtes Kapital benötigtes Gesamtkapital
1 0 Startkapital
2 20 000 ab 70 000
3 40 000 ab 110 000
4 60 000 ab 170 000
5 80 000 ab 250 000
usw.

Ich verstehe das so: Der erste Kontrakt muss 20.000€ verdienen, damit ein zweiter Kontrakt nachgekauft wird. Dann müssen diese beiden Kontrakte jeweils 20.000 verdienen (also 40.000), damit ein dritter dazu gekauft werden kann. D.h. die zugrundeliegende Kursbewegung, die für eine Kontrakterhöhung nötig ist, bleibt bei dem degressiven Kapitaleinsatz identisch. Wenn ich also einen Kontrakt handeln würde, der pro Punkt 1000€ Gewinn bringt, dann müsste die Kursbewegung, die für eine Aufstockung von 3 auf 4 Kontrakte nötig ist, dieselbe sein, wie bei der Aufstockung von 20 auf 21 Kontrakte, nämlich immer 20 Punkte.
Genau das habe ich aber in meinem Beispiel auch versucht zu sagen. Wenn ich aber einen Denkfehler drin habe, freue ich mich, wenn Du ihn mir zeigst.
Alles Gute
Yoggi

Registrierungsdatum: 1. Mai 2003

Beiträge: 240

Wohnort: Gardasee

12

Mittwoch, 5. November 2008, 17:51

Hallo Yoggi

Zitat

Ich verstehe das so: Der erste Kontrakt muss 20.000€ verdienen, damit ein zweiter Kontrakt nachgekauft wird. Dann müssen diese beiden Kontrakte jeweils 20.000 verdienen (also 40.000), damit ein dritter dazu gekauft werden kann. D.h. die zugrundeliegende Kursbewegung, die für eine Kontrakterhöhung nötig ist, bleibt bei dem degressiven Kapitaleinsatz identisch. Wenn ich also einen Kontrakt handeln würde, der pro Punkt 1000€ Gewinn bringt, dann müsste die Kursbewegung, die für eine Aufstockung von 3 auf 4 Kontrakte nötig ist, dieselbe sein, wie bei der Aufstockung von 20 auf 21 Kontrakte, nämlich immer 20 Punkte.

Das stimmt so das kann die Formel auch so umsetzten wenn du mit einem Kontrakt startest

Zitat

Ich beginne mit 5 Kontrakten und warte, bis jeder einzelne Kontrakt 1000€ verdient hat (Delta also 1000). Wenn der Depoteintrag also 5000€ im Plus ist soll das HS auf 6 Kontrakte erhöhen. Wenn diese 6 Kontrakte dann wieder jeweils 1000€ verdient haben (das Konto stünden dann also bei 5000+6000=11.000 im Gewinn), dann soll der 7 Kontrakt zugekauft werden, bei 18.000€ Gewinn dann der 8 usw.

Du hast recht so wie du es beschrieben hast ist es Fixed Ratio, ich bin nur durch den Start mit 5 Kontrakten durcheinander gekommen. Der Start mit 5Kontrakten kann auch mit der Formel erfolgen wenn du im Depoteintrag einen Trade einfügst der 10xDelta als Gewinn ausweisst dann gibt die Formel 5 als Wert aus und kauft den 6ten bei einem Zugewinn von 1xDelta pro Kontrakt.
Mit freundlichen Grüßen

Revel7777

Ähnliche Themen