Donnerstag, 18. April 2024, 11:04 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.

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

1

Sonntag, 10. August 2008, 14:05

Charting der rollierenden 12 Monatsperformance

Ich möchte gerne im Chart die rolliernde 12 Monatsperformance eines Handelssystemes anzeigen lassen; natürlich unabhängig von der Komprimierung des selben.

Folgende Berechnung liefert mir im Chart die Veränderung des Kapitales über die letzten 12 Perioden:

Quellcode

1
2
calc kapital:Datenreihe(#Kapitalkurve#);
ROC(kapital,12,%)


Normalerweise, habe ich gedacht, dass man das ganze einfach auf Monatsbasis komprimiert und erhält monatsgenau das gewünschte Ergebnis:

Quellcode

1
komp(#ROC(kapital,12,%)#,#M#)


Aber leider führt das Vorgehen immer zu einem Fehler :




Hat jemand eine Idee, wie ich das Problem lösen kann?

P.S. Einfach ausrechnen wieviele Perioden es in der aktuellen Kmprimierung sind, ist leider auch nicht die Lösung, da sich die Handelszeiten zb. im FDAX und FESX drastisch verändert haben in den letzten 8 Jahren ud Renko würde damit überhaupt nicht funktionieren.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Lenzelott« (10. August 2008, 14:22)


Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

2

Sonntag, 10. August 2008, 18:10

So geht´s übrigens auch nicht:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
calc kapital:Datenreihe(#Kapitalkurve#);

calc tag:ErsterWert(DatePart(d),-1);
calc monat:ErsterWert(DatePart(m),-1);
calc jahr:ErsterWert(DatePart(y),-1);
calc aktuelles_datum:tag+monat*31+(jahr-1)*12*31;
calc datum:DatePart(d)+DatePart(m)*31+DatePart(y)*12*31;
calc kapitalalt:ValueWhen(kapital,datum<=aktuelles_datum,1,v);
calc rolling_12m:(kapital/kapitalalt-1)*100;

kapitalalt


Ergebnis:

Vergleich der Kapitalkurve mit dem Indikator Ergebnis:



HILFE, Ich bin zu doof.
Niemand ne Idee ?
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

3

Sonntag, 10. August 2008, 20:01

Hoi Kalli

Ich hab's gerade mal probiert, und Deine Formel ROC(kapital,12,%) eben in einen Indi reingestellt. Danach die KK markiert, Menu Chart / Indikator zufügen ausgewählt und da kommt die gewünschte Anzeige. Direkt als Formel in den Chart reinschreiben hat aber bei mir auch nicht funktioniert.

Vielleicht hilfts Dir ja mit einem Indi.
Gruss
Bernd

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

4

Sonntag, 10. August 2008, 20:07

Ohh, ich sehe gerade, Du willst ja noch einen Komp() drum legen; ja da kommt auch mit dem Indi die selbe Fehlermeldung :whistling:

Mmmh.
Gruss
Bernd

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

5

Sonntag, 10. August 2008, 20:57

Hallo Bernd,

was meinst Du mit rollierender KK genau?
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

6

Montag, 11. August 2008, 01:33

Hallo Udo,

ich denke Du meintest mich mit Deiner Frage nach rollierend....

Ich will in einem belibieg komprimierten Handelssystem im Chart den Verlauf der 12 Monatsperformance darstellen.
Also die ROC der KK für 12 Monate um´s mal technisch auszudrücken.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

7

Montag, 11. August 2008, 09:12

Hallo Lenzelott,

ich meinte Dich..habe ich verwechselt! :) Zu einem direkten Zugriff fällt mir leider auch nichts ein aber der Umweg wäre, unter ANALYSE-KAPITLALENTWICKLUNG-JÄHRLICH (oder MONATLICH) die Tabelle zu kopieren und in EXCEL grafisch aufzubereiten,das ganze alternativ als txt. zu speichern und wieder in Investox zurück transformieren! Die sauberste und schnellste Lösung ist vermutlich ein echtes Depot indem man Zeitachsen variieren, und mit statistischen Graphen Auswertungen durchführen...und das ganze wie einen BT zur Anwendung in Investox-Systeme einlesen kann!
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

8

Montag, 11. August 2008, 11:12

unter ANALYSE-KAPITLALENTWICKLUNG-JÄHRLICH (oder MONATLICH) die Tabelle zu kopieren und in EXCEL grafisch aufzubereiten,das ganze alternativ als txt. zu speichern und wieder in Investox zurück transformieren!


Das mach ich im Prinzip so, nur dass ich die gesamte Auswertung dann in Excel mache.
Allerdings kopiere ich die Kapitalkurve nach Excel und werte Sie dort aus.
Ich mußte deswegen notgedrungen auf Office 2007 updaten, da Office 2003 nur 65k Zeilen kann und eine KK in 5 Minuten Komprimierung über ein paar Jahre mal deutlich mehr Datenpunkte hat.

Im Charting müßte das eigentlich gehen mit Investox Boardmitteln.
Mein obiger Ansatz hat aber noch irgend einen Fehler und da ich mittlerweile schon 2 Tage drüber sitze bin ich Betriebsblind geworden.

Wer hat ne Idee dazu, was ich falsch mache?
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

9

Montag, 11. August 2008, 11:43

Hallo Lenzelott,

meiner Ansicht liegt das Problem in der #---# Box und zudem kann,meines Wissens, kein Zugriff auf die systemeigene KK im gleichen System erfolgen! Für eine Auswertung müsste man die KK als Titel einlesen und dann auswerten-entweder über einen BT vorkomprimiert, oder direkt mit KOMP und TITEL!
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

10

Montag, 11. August 2008, 11:47

h will ja auch nicht im System darauf zugreifen sondern nur im Chart und da geht das schon!

Sonst würde ja auch der Underwater Indikator der hier im Downbloadbereich steht nicht funktionieren.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

11

Montag, 11. August 2008, 12:19

Ja, da hat man auch keine zwei Rautenverschachtlungen...
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

12

Montag, 11. August 2008, 12:31

schon richtig, deswegen habe ich ja auch den zweiten Ansatz gepostet; der hat nämlich keine zwei #-Verschachtelung mehr.
Dafür macht der einen anderen "Fehler". Er liefer nicht das was ich erwarte.

Und der Ansatz muss irgendwie zum laufen zu bringen sein.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

13

Montag, 11. August 2008, 12:46

Aber anscheinend ist der Ursprung des Fehlers die Verschachtelung denn wie ich es auch drehe und wende...der Fehler kommt immer im Zusammenhang mit KOMP
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

14

Montag, 11. August 2008, 13:38

Hallo Udo,

Bitte schau mal in meinen 2. Post. Da ist kein KOMP drinnen:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
calc kapital:Datenreihe(#Kapitalkurve#);

calc tag:ErsterWert(DatePart(d),-1);
calc monat:ErsterWert(DatePart(m),-1);
calc jahr:ErsterWert(DatePart(y),-1);
calc aktuelles_datum:tag+monat*31+(jahr-1)*12*31;
calc datum:DatePart(d)+DatePart(m)*31+DatePart(y)*12*31;
calc kapitalalt:ValueWhen(kapital,datum<=aktuelles_datum,1,v);
calc rolling_12m:(kapital/kapitalalt-1)*100;

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

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

15

Montag, 11. August 2008, 14:45

Hallo Lenzelott,

habe ich gesehen aber trotzdem funktioniert es nicht! Daher meine Annahme das man nicht auf die "interne" KK zugreifen kann da auch die Fehlermeldung passen würde....
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

16

Montag, 11. August 2008, 15:12

es greift darauf zu.
kopiere Dir das Ding mal in den Chart und Du wirst es sehen.
Es macht nur nicht das was ich erwartet habe vom Code.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Registrierungsdatum: 30. August 2002

Beiträge: 8 155

Wohnort: Trade-Planet

17

Montag, 11. August 2008, 22:07

Hallo Lenzelott,

wie schon vermutete kann man via KOMP nicht auf die KK zugreifen-zumindest habe ich das nicht geschafft! Ich habe meine vorgeschlagene Variante getestet.Der Aufwand ist ca.2 Minuten und das monatliche aktualisieren dauert ca. 30 Sekunden! Hat es einen besonderen Grund weshalb Du die KK nicht ex-importierst? Mit den Daten die man unter ANALYSE kopieren kann sollte EXCEL keinerlei Probleme haben..

Das ganze sieht dann so aus:
»Udo« hat folgendes Bild angehängt:
  • KK.png
Happy Trading

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

18

Dienstag, 12. August 2008, 00:31

Hallo Udo,

wie ich oben bereits geschrieben habe mach ich das im aktuell schon so mit Export und Import in Excel.
Und wie ich ebenfalls geschrieben habe ist mir durchaus bewusst, dass die KOMP Nummer wohl nicht gehen wird aufgrund der doppelt "#" Verschalterlung, die IV nicht ordentlich verarbeitet.

Allerdings will ich das nicht monatlich aktualisieren, sondern der Chart soll mir im Laufe der Entwicklungsarbeit eines HS als Anhaltspunkt dienen für die Stabilität. Und alle paar Minuten nach einen Robustheitstest wieder ein paar Mintuen Arbeitszeit für "anhanced Charting" finde ich auch ziemlich daneben.

Soweit bin ich also schon gewesen vor dem Thread, habe ich nicht explizit so reingeschrieben, mein Fehler!

Was mich aktuell abfackelt: warum geht die Version aus meinem zweite post nicht.
Hier mit kommentaren, was ich mir dabei gedacht habe:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
calc kapital:Datenreihe(#Kapitalkurve#);  // hole die aktuelle KK in den Chart -> das geht, aber nur im Chart !!!!

calc tag:ErsterWert(DatePart(d),-1);   // bestimmen das Handelstages des Monates
calc monat:ErsterWert(DatePart(m),-1);  // bestimmen des Handelsmonates
calc jahr:ErsterWert(DatePart(y),-1);  // bestimmen des Jandelsjahres
calc aktuelles_datum:tag+monat*31+(jahr-1)*12*31;   // Normierung des Datumes heute minus 1 Jahr
calc datum:DatePart(d)+DatePart(m)*31+DatePart(y)*12*31;  // Normierung aktuelles Datum
calc kapitalalt:ValueWhen(kapital,datum<=aktuelles_datum,1,v);  // bestimmen das wertes der KK vor einem Jahr
calc rolling_12m:(kapital/kapitalalt-1)*100;  // berechnen der ROC

kapitalalt    // Ausgabe der KK vor einem Jahr zum vergleich mit der aktuellen



Kommt aber nicht das raus, was ich erwartet. Siehe Grafik 2. Post. :baby: :baby: :baby:
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

19

Dienstag, 12. August 2008, 10:24

Normalerweise würde man das mit datemark lösen, aber leider nimmt die Funktion keine "Zeitreihe" als Parameter.
If you think it´s expensive to hire a professional, wait until you hire an amateur.

Wiwu Weiblich

Experte

Registrierungsdatum: 4. September 2002

Beiträge: 1 752

Wohnort: Neuenhagen b. Berlin

20

Dienstag, 12. August 2008, 11:29

Hallo Lenzelott,

ich habe deinen Quellcode aus dem vorletzten Posting aus Zeitgründen noch nicht testen können.

Beim ersten Drübergucken ist mir aber in Zeile 5 aufgefallen, dass du das Jahr mit Datepart(y) abfragen willst.
Detapart(y) fragt den Tag ab- Datepart(yyyy) das Jahr.

Vielleicht liegt ja hier schon der Fehler ?
Viele Grüße von Anke

http://www.ascunia.de