Donnerstag, 18. April 2024, 02:16 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.

frank sinatra

unregistriert

1

Sonntag, 2. Oktober 2011, 22:51

Eigene Kennzahl für Testergebnisse erstellen

Hallo Leute,

Die Kennzahlen die man sich in Investox für die Testergebnisse anzeigen lassen kann sind ja wirklich gewaltig. Leider fehlt mir eine Kennzahl sehr dringend: Performance p.a.
Netto. Also damit meine ich ganz schnöde die Rendite pro Jahr nach Abzug aller Kosten/Slippage/Steuern. Es gibt eine Kennzahl die fast alles hat, was ich will: Netto-Profit%. Die Zahl müsste jetzt nur noch anualisiert werden und das von Hand für jedes getestete System zu machen ist sehr mühselig. Ich grüble schon einige Zeit darüber, ob ich das eventuell als Berechnung in den Chart einfügen könnte - habe aber kein Schlüsselwort gefunden mit dem Ich auf die Ergebnisse Zugreifen könnte. Indikatoren? Oder gibt es einen anderen Workaraound? Im Prinzip müsste das Ergebnis von Netto-Profit% relativ simpel annualisiert werden so nach dem Motto:

L= Laufzeit des Systemtests in Jahren
N= Netto-Profit%

Performance p.a. = ((N/100+1)^(1/L)-1)*100%

Ich weiss halt nur nicht wie ich auf die Kennzahl zugreifen kann....

Hoffe ihr habt einen Einfall... Alles ist besser als das jedesmal von Hand auszurechen.. :baby:

P.S. Die Formel oben berechnet eine geometrische Rendite - und das ist mit den arithmetischen Maßen, die in Investox vorhanden sind nicht zu vergleichen wie Durschnittlicher Return pro Zeiteinneit etc. Das ist mehr so Futures-mäßig gedacht, am Aktienmarkt interessiert man sich ja eher für Rendite p.a....

Ganesha

unregistriert

2

Montag, 3. Oktober 2011, 00:10

Zumindest bei V6 gibt es die Zahl. Es gibt Netto-Profit, Netto-Profit%, Netto-Profit/Jahr, Netto-Profit/Periode. Musst noch mal richtig gucken.
Möglicherweise hast Du noch nicht alle Werte gesehen? Rechtsklick über Testgebnisse und dann "Ergebnis-Anzeige einstellen".

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

3

Montag, 3. Oktober 2011, 10:01

Ich weiss halt nur nicht wie ich auf die Kennzahl zugreifen kann....


Es gibt in V6 die Möglichkeit eigene Testergebnisse mit VBS zu definieren.
Hierbei hat man die Möglichkeit auf alle Trades des Systems oder Kennzahlen zuzugreifen.
Die auf diese Art angelegte Testergebnisse kann man auch in Rob-Tests oder Optimierungen verwenden.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

frank sinatra

unregistriert

4

Montag, 3. Oktober 2011, 11:55

Hi Ganesha,

also Netto-Profit/Jahr ist eine der arithmetischen Kennzahlen, ich hatte sie auch schon gesehen. Sie wird zwar am Ende als Prozentzahl angegeben, aber sie wird wohl berechnet als: kumulierter Profit in Punkten/Laufzeit in Jahren und dann in Prozent umgerechnet.... So was was liefert keine geometrischen Renditen. Für ein Testsystem liefert das bspw. 94,73% p.a. Händisch als geometrische Rendite berechnet komme ich auf 14,68%....Da liegen schon Welten dazwischen...

Grüße!

frank sinatra

unregistriert

5

Montag, 3. Oktober 2011, 11:59

Hi Lenzelott,

ich habe IV5 jetzt für eine Kennzahl das Update zu kaufen wäre natürlich schon teuer. Gibt es vielleicht die Möglichkeit, dass ich aus dem Code raus auf folgende Zahlen zugreifen kann:

Startpunkt Kapitalkurve/Endpunkt Kapitalkurve/Startdatum des Systemtests/Endzeitpunkt des Systemtests...?

Dann könnte ich die Formel komplett aufbauen...

Aber danke für den Tipp ! - müsste dann aber auch erstmal noch schauen was VBS so genau ist - habe früher mal Kleinigkeiten in VBA in Excel gemacht - mal schauen...

Grüße!

Ganesha

unregistriert

6

Montag, 3. Oktober 2011, 13:21

ich habe IV5 jetzt für eine Kennzahl das Update zu kaufen wäre natürlich schon teuer. Gibt es vielleicht die Möglichkeit, dass ich aus dem Code raus auf folgende Zahlen zugreifen kann:
Ja, per Master/Slave-System.
Im Slave kann man per Schlüsselwort auf die KK zugreifen. Systemstart und Ende als Schlüsselwort gibt es IMO erst ab V6, aber immerhin kennst Du ja die Werte.

Was man damit nicht kann, ist auf diesen berechneten Wert hin zu optimieren.

frank sinatra

unregistriert

7

Montag, 3. Oktober 2011, 17:23

Hallo,

bin gerade über diesen etwas älteren Thread gestolpert:

Testergebnisse für Handelssysteme: Profit pro Jahr?

Eine Lösung von Herrn Knöpfel dazu war ja:

Hallo,



die Systementwicklung ohne kumulative Effekte (Reinvestition) ist
sicherlich ein sinnvoller Weg. Noch ein anderer Vorschlag dazu.

Man kann in den Testbedingungen als Buy-/Hold-Basis einen bestimmten erwarteten Zins definieren:



const Startkapital: 1000;

const Zinsatz: 0.1;

calc Jahre: CUM(ROC(DatePart(yyyy),1,$)<>0);

Startkapital + Startkapital*(Power(1+0.1,Jahre)-1)



und dann die Systeme an Hand des Testergebnisses "Profit-Ratio zu
Buy/Hold" vergleichen. In einer künftigen Version wird man auch
Testergebnisse selbst definieren können, dann ist das auch kein Thema
mehr.



Viele Grüße

Andreas Knöpfel

frank sinatra

unregistriert

8

Montag, 3. Oktober 2011, 17:27

Nur leider verstehe/finde ich nicht wie ich unter den Testbedingungen eine Buy-/Hold Basis finde? Unter Berechnung finde ich nur ein Feld - d.h. Aktueller Zins. Und dort soll ich dann die Formel eingeben oder wie? ?(

Könnte mir das vielleicht Jemand erklären? :baby:

Danke euch

@Ganesha: Also das ist jetzt nicht das Problem - ich muss nicht auf die Ergebnisse für die Optimierung zugreifen, ich wollte den Aufwand das von Hand zu berechnen sparen...

P.S. Ist es in IV6 so dass man eigene Formeln erstellen kann und die werden dann in den Testergebnissen angezeigt? Oder ist das nur für den "internen Zugriff" zwecks Optimierung gedacht...

Finde es aber trotzdem schon sehr ärgerlich, dass die Allerwerweltskennzahl "Performance p.a." die wirklich in jedem Finanzmagazin verwendet wird, in jeder Börsensendung drüber gesrprochen wird und für jeden Fond permanent veröffentlicht wird fehlt und erst programiert werden muss oder workarounds..

frank sinatra

unregistriert

9

Montag, 3. Oktober 2011, 17:54

Hallo Herr Knöpfel,

wäre das nicht möglich/sinnvoll, dass das noch durch ein Serviceupdate für wenigestens die Vorgängerversion (5) gefixt wird? Das Ergebnis aus Netto-Profit% und eventueller Berücksichtigung der Steuer geometrisch zu annualisieren sind wahrscheinlich nur wenige Zeilen Code. Die Formel die ich gepostet habe stimmt und könnte direkt verwendet werden:

Zitat

L= Laufzeit des Systemtests in Jahren
N= Netto-Profit% in Prozent

Performance p.a. = ((N/100+1)^(1/L)-1)*100%
Der Vorteil wäre dann das alle System mit Reinvestierung der Gewinne komfortabel miteinander verglichen werden könnten.

Grüße!

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

10

Dienstag, 4. Oktober 2011, 10:29

Hallo,

>>Nur leider verstehe/finde ich nicht wie ich unter den Testbedingungen eine Buy-/Hold Basis finde?

Registerkarte "Position", Buy/Hold-Basis.

Im Chart kann man den annualisierten Profit auch ohne Master/Slave darstellen, solange die Kapitalkurve dort enthalten ist:

Quellcode

1
2
3
calc n: (ErsterWert(Datenreihe(#Kapitalkurve#),-1)-ErsterWert(Datenreihe(#Kapitalkurve#),1))/ErsterWert(Datenreihe(#Kapitalkurve#),1);
calc l: ErsterWert(CUM( ROC(DatePart(yyyy), 1, $)>0 ),-1);
(Power(1+n, 1/L)-1)*100

Viele Grüße
Andreas Knöpfel

frank sinatra

unregistriert

11

Montag, 10. Oktober 2011, 10:25

Hallo Herr Knöpfel,

leider bin ich erst heute dazu gekommen, mir das anzuschauen. Erstmal Danke für den CodeEs gibt jetzt folgendes Problem damit: Falls die Basisreihe länger vorliegt als das System Signaler generiert (weil das HS beispielsweise eine externe Kursreihe mit kürzere Historie verwendet), bezieht sich die Laufzeitberechung auf den längeren Chart. Das verfälscht die Ergebnisse. Zusätzlich ist mir nicht klar wie ich in der Formel die Monate auch berücksichtigen könnte. Das verfälschtr die Ergebnisse bei küzeren Zeiträumen doch etwas.

Gibt es dafür auch noch eine Lösung?

Grüße!

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

12

Montag, 10. Oktober 2011, 11:13

Hallo,

mit dem Schlüsselwort #_HS_Zeitraum# (auch in V5) kann man in Verbindung mit ValueWhen() auf die gewünschten Daten zugreifen.

Viele Grüße
Andreas Knöpfel

frank sinatra

unregistriert

13

Mittwoch, 12. Oktober 2011, 13:26

Hallo Herr Knöpfel bin leider erst jetzt wieder dazugekommen zu antworten. Danke für die Antwort,mir ist jetzt aber nicht klar, wie ich

Zitat

calc l: ErsterWert(CUM( ROC(DatePart(yyyy), 1, $)>0 ),-1);
verändern müsste, damit es funktioniert. Insbesondere verstehe ich nicht wie ich an das Datum herankomm, dass Schlüsselwort #HS_Zeitraum# liefert doch nur eine Zeitreihe mit den Werten 0 oder 1. ?(

Hoffe jemand kann mir weiterhelfen

viele Grüße aus Frankfurt..

Investox

Administrator

Registrierungsdatum: 31. August 2002

Beiträge: 5 680

14

Donnerstag, 13. Oktober 2011, 11:20

Hallo,

man benötigt das Datum nicht, da man das Ergebnis von #HS_Zeitraum# (also 0 oder 1) in ValueWhen einsetzen kann. So erhält man dann den Wert der gewünschten Datenreihe - z.B. der Kapitalkurve, oder der Jahreskurve Datepart(yyyy) - , an dem #HS_Zeitraum# 1 liefert.

ValueWhen(Datenreihe_mit_gesuchtem_Wert, #HS_Zeitraum xy#, 1, V)

Viele Grüße
Andreas Knöpfel