Freitag, 19. April 2024, 11:14 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Ganesha

unregistriert

1

Sonntag, 22. Mai 2011, 12:20

Menge an Zeitraum anpassen

Hallo,

Ich will eine Buy&Hold Strategie backtesten. Der Ansatz ist "Kaufe jeden Monat einen CFD-Kontrakt".
Weitere Bedingungen sind

  • Kaufe pro Monat einen DAX-CFD Kontrakt dazu, egal wie hoch oder tief der DAX steht." Im ersten Monat soll also 1 Kontrakt gehalten werden, im zweiten Monat sollen zwei Kontrakte gehalten werden, im dritten Monat ...
  • Wird ein Downtrend festgestellt, verkaufe alles und gehe mit gleicher Positionsanzahl short (drehen)
  • Wird ein Uptrend festgestellt, drehe zurück.
  • Punktwert für CFD-Kontrakt 1,- EUR (Achtung, kein Future!)
  • Kapitalkosten und Handelskosten sollen ignoriert werden.


Das HS sieht so aus:

-----
global calc menge: 1 + 1*Abschnitt(m, 1, k, l); //jeden Monat einen mehr.
calc EnterLong: tr=1 and DatePart(m)<>Ref(DatePart(m),1);
calc ExitLong: DatePart(m)<>Ref(DatePart(m),2);
calc EnterShort: tr=-1 and DatePart(m)<>Ref(DatePart(m),1);
calc ExitShort: DatePart(m)<>Ref(DatePart(m),2);
-----


tr=1 ist dabei der langfristige Trend (z.B. kreuzende GDs) und das DatePart-Konstrukt bewirkt, dass am Monatsletzten ver- und am Ersten gekauft wird. Damit erzwinge ich, dass Investox die richtige Menge an Kontrakten hält.

Meine Frage/Problem

Die Funktion Abschnitt beginnt bei der ersten vorhandenen Periode. Ich will aber an der ersten Periode des Betrachtungszeitraum/Signalzeitraums mit einem Kontrakt beginnen. Wie kann ich das umsetzen?

Vielen Dank

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

2

Sonntag, 22. Mai 2011, 17:30

probiers mal mit

Quellcode

1
CUM(Abschnitt(m, 1, k, m)>0)


bzw. cumsince... und dabei das gewünschte Startdatum verarbeiten.

also vollständig könnte das so aussehen, wenn Du am Beginn des Optimierungszeitraumes anfangen möchtest zu handeln:

Quellcode

1
CumSince(Abschnitt(m, 1, k, m)>0, #_HS_Zeitraum OS#, 1)
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

3

Sonntag, 22. Mai 2011, 18:56

cumsince! Das war das was ich gesucht habe. :)

Also ist nicht perfekt, weil Cumsince nichts über die gerade in der GUI eingestellten Signalzeitraum weiß, aber ist trotzdem gut um gezielt einen Zeitraum untersuchen. :)

Vielen Dank.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

4

Sonntag, 22. Mai 2011, 21:12

Was willst Du denn im Backtest mit dem Signalzeitraum?
Da interessiert doch eher der Optimierungszeitraum so wie von mir vorgeschlagen.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Ganesha

unregistriert

5

Sonntag, 22. Mai 2011, 23:42

Was willst Du denn im Backtest mit dem Signalzeitraum?
Da interessiert doch eher der Optimierungszeitraum so wie von mir vorgeschlagen.
Hallo,

ach so: Für den langfristigen Trend nehme ich schlicht GD(RSL(250), 70, S). Nicht perfekt, aber auf die Schnelle ausreichend. Damit ist bei der Strategie eigentlich gar nichts zu optimieren.

Das worum es mir ging, ist aber der Backtest einer simplen Buy&Hold-Strategie, bei der ein monatlich gleichbleibender Betrag unabhängig von der aktuellen Marktsituation investiert wird. Das spannende ist halt zu untersuchen, wie sich der Drawdown abhängig vom Startzeitpunkt bzw. Marktsituation zum Startzeitpunkt entwickelt.

Der Nettogewinn ist übrigens sagenhaft gut. Jedenfalls wenn man bereit ist Drawdowns von ungefähr einem Drittel des Kapitals zu akzeptieren (im Backtest: ne halbe Million) 8)

Viele Grüße

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

6

Montag, 23. Mai 2011, 02:12

Du nix verstehe?

Du möchtest wissen ob unterschiedliche Startzeitpunkte für Deinen Sparplan mit Tradingteil abweichende Ergebnisse liefern.
Ergo stellst Du im HS den Optimierungszeitraum auf das zu untersuchenden Zeitfenster ein und schon liefert Dir obiger Code nur dafür Trades.
If you think it´s expensive to hire a professional, wait until you hire an amateur.