Trading-Tagebuch
Strategien & Wissen

My Trading Journal – Wie erstelle ich ein Trading Tagebuch in Excel?

Oft wird neuen Tradern geraten, ein Trading-Tagebuch zu führen, um die eigene Disziplin zu trainieren und gleichzeitig den Erfolg oder Misserfolg der verfolgten Strategie zu analysieren. Klingt gut, aber wie funktioniert das eigentlich?

Wer im Internet nach Trading-Tagebüchern recherchiert, findet in der Regel eine von zwei Varianten. Entweder eine sehr personalisierte Version irgendeines Traders, der selbige in einem Forum hochgeladen hat oder ein kostenpflichtiges Excel-Addin. Wahlweise auch eine Mischung aus beidem. Was man hingegen nur selten findet, sind Anleitungen, wie man ein solches Trading-Tagebuch selbst erstellen kann, was wir nun mit diesem Artikel ein Stück weiter erläutern möchten.

Für viele ist Excel nur ein überdimensionierter Taschenrechner, in dem man ein paar Tabellen zusammenbasteln kann und sich die Arbeit spart, selber Summen zu bilden. Wir werden uns für diesen Guide allerdings mit einigen etwas komplexeren Funktionen von Excel beschäftigen um viele Auswertungen zu automatisieren.

Anmerkung: Im Text wird gelegentlich ein kurzer Einschub erfolgen, der eine bestimmte Funktion in Excel näher erklärt und deren praktischen Nutzen erläutert.

Trading-Tagebuch? Was ist das eigentlich?

Ein Trading-Tagebuch hilft dem Trader, seine Trades zu dokumentieren, zu analysieren, seine Stärken und Schwächen aufzudecken und sich selbst zu kontrollieren. Neben dem Informationsaspekt, den Trader über seine Gewinne oder Verluste auf dem neusten Stand zu halten, kann ein Trading-Tagebuch aber auch durchaus sinnvoll sein, um die eigene Disziplin zu trainieren. Je umfangreicher das Tool wird, desto mehr können Sie aus ihren Daten herausholen, natürlich nur unter der Voraussetzung, dass Sie alle Trades konsequent und ehrlich eintragen.

Wie sollte ein Trading-Tagebuch aufgebaut sein?

Das Herzstück der Datei sind logischerweise die Daten der Trades. Je nach Umfang der Datei und der Komplexität der Formeln, können spätere Anpassungen recht lästig werden. Daher ist es durchaus ratsam, sich vor Beginn der Arbeit gründlich zu überlegen, welche Daten erfasst und welche Zusatzinformationen pro Trade notiert werden sollen und was am Ende mit den Daten gemacht wird.

Der Grundsatz heißt hier immer Struktur. Die Daten müssen nach einem festen Schema erfasst werden, sodass Formeln möglichst vollständig automatisiert werden können, was nur bedeutet, dass man nicht pro Zeile irgendeinen Bezug per Hand anpassen muss.

Der Kern der Datei

Logischerweise kann man nichts auswerten, wenn nichts vorhanden ist. Daher ist der erste Schritt eine Tabelle, in der wir alle Trades erfassen. Für unser Beispiel nehmen wir die Standardangaben aus dem MetaTrader, sowie einige persönliche Notizen pro Trade.

Trading Tagebuch

Der Aufbau bleibt zunächst simpel. Wir vergeben fortlaufend eine eigene ID, beginnend ab 1. Dies lässt sich bequem per Formel realisieren, sodass hier keine Eingabe notwendig ist. Diese ID können wir später nutzen, um komplexere Suchformeln zu erstellen, sofern wir dies wünschen.

Anmerkung: Die ID werden wir über eine Wenn-Bedingung automatisch berechnen. Wir ermitteln dabei nur, ob eine Ticket Nummer vorhanden ist und für den Fall das dem so ist, erhöhen wir die letzte ID um 1. Wenn dem nicht so ist, bleibt das Feld leer. So ergeben sich IDs automatisch, sobald man einen Trade einträgt.

=WENN(BEDINGUNG ; DANN ; SONST)

Die nächsten Spalten dienen nur der Erfassung der Trades, beginnend mit der eigentlichen Ticketnummer, gefolgt von den Tradedaten. Die letzten paar Spalten sind unsere persönlichen Kommentare zu dem jeweiligen Trade. Für dieses Beispiel erfassen wir hier, wie wir aus dem Markt ausgestiegen sind (SL, TP, Manuell), ob wir bei dem Trade all unsere Regeln eingehalten haben und eine kleine Notiz zu jedem Trade. Diese Notiz kann eigentlich alles beinhalten, zum Beispiel Gründe für Ein- oder Ausstieg oder eine eigene Analyse vom Trade (beispielsweise „Der Stop war zu groß / zu klein / wurde mehrfach verschoben und das war schlecht, weil…“).

Wer es etwas genauer möchte, kann hier die Notiz in mehrere Spalten aufteilen, wie beispielsweise:

  • „Signal für Einstieg“
  • „Grund für Ausstieg“
  • „Wurden Fehler gemacht?“
  • „Wenn ja, welche Fehler wurden gemacht und warum?“
  • „Eigene Analyse des Trades“
  • „Eigene Bewertung des Trades“

Alle Informationen die Sie notieren, können Sie später auswerten. Nehmen wir beispielsweise die Angabe „Eigene Regeln eingehalten?“. Pro Trade würden wir hier schlicht „Ja“ oder „Nein“ notieren.

Mit der Excel-Funktion ZÄHLENWENN könnten wir die Anzahl der Trades ermitteln, bei denen wir unsere eigenen Regeln gebrochen haben. Diese Zahl wiederum geteilt durch die Anzahl aller Trades liefert uns den Prozentwert der Trades, bei denen wir nicht Regelkonform gehandelt haben. Je größer diese Prozentzahl ist, desto mehr Handlungsbedarf besteht hier.

Anmerkung: ZÄHLENWENN ermöglicht es, einen Bereich nach einem bestimmten Wert zu durchsuchen und liefert als Ergebnis die Anzahl Treffer zurück.

=ZÄHLENWENN(BEREICH ; SUCHKRITERIUM)

Nehmen wir beispielsweise an, dabei würde herauskommen, dass wir bei 50 % der Trades unsere eigenen Regeln nicht einhalten, dürfte eines der größten Probleme wohl die Disziplin sein. Liegt der Wert hier jedoch bei 0 % und wir verlieren laufend Kapital, dann dürften die Regeln an sich eher das Problem sein.

Das Beispiel sei nur am Rande erwähnt, um aufzuzeigen, was man aus solchen Daten an Informationen gewinnen kann.

Zurück zum Guide:

Warum wurden die ersten Zeilen freigelassen? Weil wir später das Tabellenblatt ab der Kopfzeile fixieren. So können wir auch hunderte von Trades auflisten, ohne die Überschriften aus den Augen zu verlieren und gleichzeitig in den ersten Zeilen einige einfache Auswertungen errechnen, die immer sichtbar sind.

Anmerkung: Man kann ein Tabellenblatt auf drei Arten fixieren. Waagerecht, senkrecht oder in Kombination.

Zum fixieren geht man in Excel auf den Menüpunkt Ansicht -> Fenster fixieren.

Was dann fixiert wird, hängt davon ab, welche Zellen markiert sind.

  • Wenn eine Zeile markiert ist, wird das Blatt ab dieser Zeile nach unten scrollbar.
  • Wenn eine Spalte markiert ist, wird das Blatt ab dieser Spalte nach rechts scrollbar.
  • Wenn eine Zelle markiert ist, wird das Blatt links und oberhalb dieser Zelle fixiert.

Für unser Beispiel markieren wird Zeile 9 (die Zeile unter den Überschriften) indem wir links die 9 anklicken und fixieren dann.

Anschließend fügen wir oberhalb einige Auswertungen ein. Detailliertere Auswertungen werden aus Platzgründen eher auf ein neues Tabellenblatt ausgelagert.

Trading Journal

Die Auswertungen erfolgen je nach Kennzahl mit unterschiedlichen Formeln.

Spalte C besteht aus einer Mischung aus ANZAHL2 und ZÄHLENWENN. Spalte G und J aus SUMMEWENN und M rein aus SUMME.

Anmerkung: Die Funktion ANZAHL gibt die Anzahl der Zellen zurück, die eine Zahl enthalten. Die Funktion ANZAHL2 gibt die Anzahl der Zellen zurück, die nicht leer sind. Wir zählen in unserem Fall die Anzahl der Trades anhand der Ticket ID. Sofern diese auch Buchstaben enthalten kann, ist hier ANZAHL2 die sichere Variante.

Die Funktion SUMMEWENN funktioniert ähnlich ZÄHLENWENN. Es wird ein Bereich auf ein Kriterium durchsucht, und alle Zeilen, in denen das Kriterium gefunden wird, werden aufsummiert.

In unserem Beispiel:

Die Summe aller Profit-Trades wäre als Bereich und Summenbereich Spalte O (Profit) und als Kriterium „>=0“. Als Resultat erhalten wir die Summe aller Profite, die größer oder gleich 0 sind, sprich alle Gewinner oder BreakEven-Trades.

Die Optik

Design ist Geschmackssache, kann aber durchaus nützlich sein. Abgesehen von verschiedenen Farbverläufen in einigen Zellen, die Überschriften von Werten abgrenzen sollen, kann man auch mit bedingten Formatierungen einige nette Effekte erzielen.

Markieren wir dazu den Bereich B9 bis O20 (der Bereich kann später erweitert werden). Nun gehen wir in Excel auf den Menüpunkt Start -> Bedingte Formatierungen -> Neue Regel

Die Regel stellen wir analog zu folgendem Bild ein.

Designeinstellungen des Tradingtagebuchs

Wir ermitteln die zu formatierenden Zellen per Formel.

Die Formel lautet dabei =UND($B9<>““;$O9 >= 0) ($-Zeichen beachten). Als Formatierung wählen wir unter Ausfüllen einen Grünton und bestätigen mit OK.

Anmerkung zu $-Zeichen in Excel: Durch ein $ vor der Spalte oder der Zeile kann selbige für die Formel fixiert werden. Fixieren wir die Spalte, so sind die Zeilen noch variabel. Alternativ können wir auch die Zeile fixieren und die Spalte variabel halten. Beides geht in Kombination.

In unserer Formel fixieren wir so die Spalten B und O, sodass immer die Ticket ID und der Profit überprüft wird, lassen aber die Zeile variable, sodass die Formel für jede Zeile neu ausgewertet werden kann.

Und was macht diese Formel eigentlich? Wir verknüpfen zwei Bedingungen mit UND, sodass nur Zeilen betroffen sind, die eine Ticket ID enthalten (B9 <> ““) und einen Profit größer oder gleich 0 haben (O9 >= 0).

Ohne die Bedingung der Ticket ID wären auch alle leeren Zeilen gleich 0, was wir aber nicht wollen.

Anmerkung

=UND(Bedingung 1 ; Bedingung 2 ; .. ; Bedingung X)

Die Formel ist nur wahr, wenn alle Bedingungen wahr sind. Die einzelnen Bedingungen werden per Semikolon getrennt.

Als Resultat werden nun alle Trades Grün hervorgehoben, die positiv verlaufen sind. Entsprechend können wir eine weitere Regel mit < 0 anlegen, die alle negativen Trades Orange markiert.

Trading-Tagebuch

Anschließend gehen wir im Menü für Bedingte Formatierungen auf „Regeln verwalten“ und passen den Bereich an, für den die Regeln gelten.

Menü Regeln verwalten

Wir ändern hierbei die Zahl für Zeilen auf 30000, sodass für die nächsten paar Jahre alle Trades formatiert werden. Hierzu sei noch gesagt, dass bedingte Formatierungen nicht nur für Farben genutzt werden können.

Im Grunde lassen sich fast alle möglichen Formatierungen auch als bedingte Formatierung einrichten. So könnte man beispielsweise eine Zeile mit Rahmen versehen, sobald ein Trade eingetragen ist oder die Auswertung in der Schriftfarbe Rot oder Grün erscheinen lassen, abhängig davon, ob die Zahl positiv oder negativ ist. Aber genug der Designlektüre, fahren wir mit dem statistischen Teil fort.

Die Daten der Trades auswerten

Wir haben nun eine Liste von Daten, aus denen wir allerhand Informationen ziehen können. Die Frage der Umsetzung hängt nun davon ab, was für Informationen wir haben wollen und wie diese präsentiert werden sollen.

Da es hier eine recht große Spannweite an Möglichkeiten gibt, werden wir einige Beispiele erstellen. Der Fokus liegt dabei nicht unbedingt auf dem Inhalt, sondern eher auf der Umsetzung, da die Vorgehensweise auch für andere Auswertungen genutzt werden kann, die womöglich eher Ihren Vorstellungen entsprechen.

Bevor wir jedoch damit anfangen, die Beispiele zu erstellen, folgt noch eine kurze Excel-Einleitung in Bezug auf die Datenübernahme aus verschiedenen Tabellenblättern.

Grundsätzlich gibt es dazu mehrere Möglichkeiten. Die wohl einfachste Möglichkeit sind direkte Bezüge.

Diese unterscheiden sich nur geringfügig von Bezügen, die auf demselben Blatt verwendet werden.

Wollen Sie beispielsweise den Wert der Zelle A2 haben, so lautet die Formel dafür lediglich =A2.

Wollen Sie hingegen den Wert der Zelle A2 aus einem anderen Blatt haben, so muss ein Verweis auf das Blatt enthalten sein, ergo lautet die Formel dann =Blattname!A2.

Das Pendant dazu sind indirekte Bezüge. Diese sind wesentlich flexibler, da sich der gewünschte Zellbezug in der Regel anhand von Berechnungen ergibt, wie folgendes Beispiel zeigt.

Die Formel =INDIREKT(„A“&2+2) liefert den Wert der Zelle A4.

Das &-Zeichen in der Formel hilft uns dabei, statischen Text mit einer Berechnung zu verbinden.

(„A“&2+2) = Spalte A und das Ergebnis der Berechnung als Zeile = A4

Wozu soll das gut sein? Nun, in den meisten Fällen arbeitet man hier mit Funktionen wie SVERWEIS oder VERGLEICH. Gelegentlich kombiniert man auch beide oder arbeitet noch mit INDEX.

Als kleinen Exkurs betrachten wir zunächst die Funktion SVERWEIS. Diese ist in er Regel die Lösung, hat jedoch ein kleines Manko, dazu jedoch später mehr.

=SVERWEIS(SUCHKRITERUM ; MATRIX ; SPALTENINDEX ; BEREICH_VERWEIS)

Zerlegen wir die Formel dazu ein wenig in Excel, um es zu verdeutlichen.

Excel-Formel

Der einzige Nachteil an SVERWEIS ist die Tatsache, dass das Suchkriterium in der ersten Spalte der Matrix stehen muss. Alle Daten, die links davon stehen, können wir nicht abfragen. Würden wir also nicht nach der ID, sondern nach der Ticketnummer suchen, könnten wir die ID nicht abfragen.

Hier kommt die Funktion VERGLEICH ins Spiel.

=VERGLEICH(SUCHKRITERIUM ; SUCHMATRIX ; VERGLEICHSTYP)

Das Suchkriterium ist wieder der Wert, dessen Position wir ermitteln möchten. Die Matrix entspricht für dieses Beispiel der Spalte, in der der Wert gesucht werden soll und der Vergleichstyp wird mit 0 angegeben, um eine genaue Übereinstimmung zu suchen.

Excel Vergleich

Wir ermitteln mit VERGLEICH in einer Matrix die Zeile, in der ein eindeutiger Wert vorkommt. Danach generieren wir einen indirekten Bezug mit INDIREKT, welcher uns den gewünschten Wert liefert.

In dem Beispiel suchen wir nach einer Ticketnummer und möchten das Symbol haben. Dabei wäre es unerheblich, ob das Symbol links oder rechts von der Ticketnummer steht, da wir nicht über einen Spaltenindex gehen, sondern selbst festlegen, welcher Bezug daraus entsteht.

Die Daten auswerten und Übersichten erstellen

Im folgenden Teil werden wir einige Übersichten erstellen, die verschiedene Funktionen erfüllen. Die Umsetzung erfolgt dabei auf verschiedene Arten, sodass Sie einige Möglichkeiten kennenlernen, wie man Übersichten erstellen kann.

Tagesbilanz im Trading-Tagebuch automatisch errechnen und graphisch darstellen

Wir erstellen dazu ein neues Arbeitsblatt, fügen ein paar Kopfzeilen ein und fixieren diese. Darüber lassen wir Platz für ein Chart, dass uns die errechneten Werte optisch präsentiert.

Tagesbilanz im Trading-Tagebuch
Was wir erreichen wollen, ist eine Liste, die sich jeden Tag von selbst erweitert und berechnet, sowie ein Chart, welches sich an die anwachsende Menge an Daten automatisch anpasst.

Wir beginnen zunächst mit einem Startdatum. Für dieses Beispiel tragen wir den ersten Wert schlicht fix ein, sodass dieser vor unserem ersten Trade liegt. Alternativ dazu könnte man noch protokollieren, wann man wieviel Kapital ein- und ausgezahlt hat und davon das erste Datum als Startwert nehmen.

Wir werden hier hauptsächlich mit den Funktionen SUMMEWENNS und ZÄHLENWENNS arbeiten, sowie einer Wenn-Bedingung für das Datum.

Das Datum dient dabei als Kriterium, über das wir die Werte einschränken. Hier stoßen wir auch ein Problem, da wir in der Liste der Trades das Datum mit einer Uhrzeit versehen haben, aber in dieser Übersicht nur das Datum an sich benötigen. Ein Datum in Excel ist erstmal nichts weiter als eine Zahl mit Nachkommastellen. Die Zahl ergibt das eigentliche Datum und die Nachkommastellen die Uhrzeit.

Es gibt nun zwei Möglichkeiten. Entweder, wir fügen eine Hilfsspalte bei den Trades ein, in der wir das Datum seiner Nachkommastellen mit der Funktion GANZZAHL berauben oder alternativ dazu können wir auch mit mehreren Kriterien arbeiten. Wir entscheiden uns hier für die Kriterien, da die Hilfsspalte nicht zwingend notwendig ist.

Für die Anzahl der Trades verwenden wir folgende Formel:

=ZÄHLENWENNS(Trades!$C$9:$C$50000;“>=“&B17;Trades!$C$9:$C$50000;“<„&(B17+1))

Würden wir als Kriterium lediglich B17 angeben, würde nur nach genau diesem Datum gesucht. Wenn wir also nicht alle Trades um Punkt 00:00:00 Uhr eröffnen, werden wir hier nie Treffer mit einem direkten Vergleich des Datums erzielen.

Folgende Grafik verdeutlicht das Problem. Links steht ein Datum, rechts dieses Datum als Zahl.

Datum

Ein Datum ohne Uhrzeit entspricht der ersten Variante (00:00:00). Um also alle Einträge für ein bestimmtes Datum zu finden, suchen wir einfach mit den zwei Kriterien, dass die Einträge größer oder gleich der Ganzzahl des Datums sein müssen und gleichzeitig kleiner als die Ganzzahl des nächsten Tages.

Für das Beispiel der Grafik also >= 42500 und < 42501. Somit haben wir alle Einträge vom 10.05.16, unabhängig von der Uhrzeit.

Für Gewinn und Verlust nutzen wir dann folgende Formel:

=SUMMEWENNS(Trades!$O$9:$O$50000;Trades!$O$9:$O$50000;“>=„&0;Trades!$C$9:$C$50000;“>=

„&B17;Trades!$C$9:$C$50000;“<„&(B17+1))

Die Formel sieht schon etwas komplexer aus, ist sie aber nicht. Zunächst ersetzen wir ZÄHLENWENNS durch SUMMEWENNS, da wir nicht die Anzahl der Treffer haben wollen, sondern die Summe der Treffer. Der erste Bereich wird für die Summe verwendet. Wir geben also die Spalte O an, in der wir den Profit notieren und geben als Bereich die üblichen 50000 Zeilen an. Danach kommen abwechselnd Bereiche und Kriterien für den vorhergehenden Bereich.

Zerlegen und übersetzen wir die Formel dafür kurz:

=SUMMEWENNS( Funktion Start
Trades!$O$9:$O$50000; Summenbereich O9 bis 50000 (Profit)
Trades!$O$9:$O$50000;“>=“&0; Bedingung: Profit >= 0
Trades!$C$9:$C$50000;“>=“&B17; Bedingung: Datum >= 10.05.16
Trades!$C$9:$C$50000;“<„&(B17+1); Bedingung: Datum < 11.05.16
) Funktion Ende

An und für sich also ein recht simples Konstrukt, wenn auch etwas schwer verständlich auf den ersten Blick. Analog dazu die Formel für den Verlust, die sich einzig darin unterscheidet, dass die Bedingung für Profit auf < 0 gesetzt wird.

=SUMMEWENNS(Trades!$O$9:$O$50000;Trades!$O$9:$O$50000;“<„&0;Trades!$C$9:$C$50000;“>=

„&B17;Trades!$C$9:$C$50000;“<„&(B17+1))

Für den Nettogewinn langt es, die beiden Ergebnisse von Gewinn und Verlust zu addieren.

Nettogewinn

Als nächstes wollen wir, dass sich die Tabelle automatisch erweitert. Hierzu erweitern wir die Formeln um Wenn-Bedingungen.

Zur Erinnerung: =WENN(BEDINGUNG ; DANN ; SONST)

Der „Dann-Teil“ ist bereits vorhanden und entspricht den eben erwähnten Formeln.

Der „Sonst-Teil“ ist schlichtweg ein „“, was übersetzen heißt: „Wenn die Bedingung nicht erfüllt ist, bleibt das Feld leer“.

Fehlt also einzig die Bedingung.

Zunächst geht es uns hauptsächlich um das Datum. Wir wollten täglich einen neuen Eintrag haben, ergo wollen wir die Zeile nur befüllt haben, wenn das Datum der letzten Zeile kleiner HEUTE ist.

In Zeile B18 steht also folgende Formel:

=WENN(B17<HEUTE();B17+1;““)

Wenn B17 (der Eintrag vorher) kleiner HEUTE() (HEUTE liefert das aktuelle Datum in Excel) ist, dann möchten wir in B18 das Datum aus B17 + einen Tag. Falls nicht, soll die Zeile leer bleiben.

Alle anderen Formeln erhalten eine etwas andere Bedingung.

Wenn B17 <> „“ = Wenn B17 nicht leer ist, dann soll die Formel, die wir bereits haben, berechnet werden, ansonsten soll das Feld leer bleiben.

Wir umrunden also die vorhanden Formeln nur mit =WENN(B17<>““; bisherige Formel ; „“)

Dies machen wir für alle Spalten in B17. Danach erfreuen wir uns an der Schönheit von durchdachten Formeln und kopieren diese für einige hundert Zeilen nach unten, was für ein paar Jahre langen sollte.

Achtung: Die Formel für das Datum erst ab B18 kopieren, da wir in B17 den Startwert ohne Formeln stehen haben.

Der letzte sichtbare Eintrag in der Liste entspricht dann dem Datum von Heute.

Nun erstellen wir ein Chart, das lediglich den Nettoprofit als Balken darstellt.

Trading-Tagebuch Nettoprofit als Balken darstellt

Auch hier gibt es wieder Probleme. Ein Diagramm hat in den Standardeinstellungen immer einen festen Datenbereich. Damit sich das Diagramm also von selbst erweitert, müssen wir diesen Datenbereich dynamisch machen, da ansonsten entweder zu Beginn schon etliche 100 leere Zeilen angezeigt werden, oder eben irgendwann das Ende des Datenbereichs erreicht ist. Beides erfordert Handarbeit, welche wir ja vermeiden wollen.

Die Lösung nennt sich Namensmanager. Ein praktisches Tool für alle Einträge, die irgendwie variabel gehalten werden müssen.

Zu finden ist dieser im Menü unter Formeln -> Namensmanager. Dort legen wir einen neuen Namen an, mit folgender Formel:

=BEREICH.VERSCHIEBEN(Tagesbilanz!$B$17;0;0;ANZAHL(Tagesbilanz!$B$17:$B$50000);1)

Namensmanager

Die Formel scheint erstmal komplex, ist aber eigentlich auch kein Hexenwerk.

=BEREICH.VERSCHIEBEN(BEZUG ; ZEILEN ; SPALTEN ; [HÖHE] ; [BREITE])

Die erste Angabe ist der Anfang unseres Bereichs (B17). Die nächsten zwei Parameter bleiben 0, da wir den Bereich nicht verschieben wollen. Die Höhe des Bereichs ermitteln wir anhand der Anzahl von befüllten Feldern. Wir erweitern also den Bereich um die Anzahl an Tagen, die bereits sichtbar sind. Als letzten Parameter setzen wir eine 1, da wir nur eine Spalte haben wollen.

Der Namensmanager berechnet diese Formel dann automatisch und liefert unserem Diagramm immer den genauen Bereich an Daten, die wir haben. =B17:B“letzter Eintrag“

Wir legen nun analog dazu auch einen Namen für den Nettogewinn an. Die Formel bleibt an sich gleich, nur der Spaltenbezug ändert sich von B auf F.

Nun passen wir im Diagramm den Datenbereich an. Als Reihenwerte setzen wir folgende Formel:

=TradingDiary.xlsx!TagesbilanzBereichNetto

Das Diagramm benötigt die Angabe des Dateinamens gefolgt von einem Ausrufezeichen und dem Namen aus dem Namensmanager. Analog dazu passen wir die Achsenbeschriftungen ebenfalls an.

=TradingDiary.xlsx!TagesbilanzBereichDatum

Diese zwei Namen werden nun für automatisch aktualisiert, sodass sich das gesamte Blatt automatisch an alle eingetragenen Trades anpasst. Als Alternative zum Nettogewinn pro Tag kann man auch die Bilanz errechnen und diese dann graphisch darstellen, ebenfalls über den Namensmanager automatisiert (Bereich in der Formal auf G ändern).

Bilanz Grafik

So erhält man eine Verlaufskurve, die sich täglich aktualisiert.

Als Idee zum Spielen:

Erfassen Sie im Trading-Tagebuch separat irgendwo Ein- und Auszahlungen mit Angabe von Datum und erweitern Sie die Tabelle dann um diese Information. Danach kann man auch diese Informationen in das Chart einfließen lassen, sodass man eine Übersicht über den Bilanzverlauf hat, mit Angaben von Ein- und Auszahlungen.

Als Alternative zum Eröffnungsdatum kann man genauso gut das Datum für die Filter nehmen, an dem man den Trade geschlossen hat. Welches Datum Sie nehmen, ist eigentlich egal, solange es einheitlich bleibt. Sie ordnen damit Gewinn und Verlust eines Trades entweder dem Tag zu, an dem Sie den Trade eröffnet haben, oder dem Tag, an dem Sie den Trade geschlossen haben. Was davon Sie bevorzugen, bleibt Ihnen überlassen.

Kennzahlen für Trades berechnen

Nun möchten wir in unserem Trading-Tagebuch pro Trade einige Kennzahlen berechnen. Für dieses Beispiel übernehmen wir schlichtweg nacheinander alle IDs aus der Liste der Trades. Danach ermitteln wir die dazugehörigen Werte per SVERWEIS und nutzen diese in Formeln um einige Zahlen zu berechnen.

Kennzahlen

Die ID holen wir einfach per Formel =Trades!A9 und kopieren diese nach unten.

In Spalte C setzen wir einige Informationen zu einem Satz zusammen. Dazu verknüpfen wir die einzelnen SVERWEISE einfach mit &.

=WENN(A2<>““;SVERWEIS(A2;Trades!$A$9:$T$50000;5;FALSCH)&“ x „&SVERWEIS(A2;Trades!$A$9:$T$50000;6;FALSCH)&“ „&SVERWEIS(A2;Trades!$A$9:$T$50000;4;FALSCH)&“ @ „&SVERWEIS(A2;Trades!$A$9:$T$50000;7;FALSCH);““)

Wir fragen per SVERWEIS nach vier verschiedenen Spalten mit der ID aus A2 und verknüpfen jedes Ergebnis mit &“ TEXT “&, sodass daraus ein Satz entsteht.

SIZE x ITEM TYP @ PRICE

Alle Formeln wieder umrundet mit einer Abfrage, ob wir eine ID haben. Falls dem nicht so ist, bleibt das Feld einfach leer.

Wer etwas genauer hinsieht, stellt fest, dass hier alle SVERWEISE im Grunde gleich sind, abgesehen von dem Spaltenindex, der zurückgegeben wird.

Risk und Reward berechnen wir anhand des Open Price und dem SL bzw. TP.

=WENN(A2<>““;ABS(SVERWEIS(A2;Trades!$A$9:$T$50000;7;FALSCH)-SVERWEIS(A2;Trades!$A$9:$T$50000;8;FALSCH));““)

Die Formel etwas vereinfacht wäre ABS(TP-OPEN) bzw. ABS(SL-OPEN).

ABS liefert in Excel den Absolutwert, auch Betrag genannt zurück. Wir nutzen dies, um uns die Unterscheidung der Reihenfolge bei Long und Short zu sparen (Was ziehen wir wovon ab?), da uns letztendlich sowieso nur die Differenz der beiden Zahlen interessiert.

Danach ermitteln wir noch das Verhältnis zwischen Risk und Reward.

=WENN(A23<>““;WENN(D23<>0;“1 : „&RUNDEN(E23/D23;2);0);““)

Auch hier schachteln sich wieder die Formeln, um die gewünschten Effekte zu erzielen, daher eine kurze Aufschlüsselung der Formel. Die erste Wenn-Bedingung fragt wieder ab, ob eine ID vorhanden ist. Die zweite Wenn-Bedingung prüft, ob wir als Wert für Risk nicht 0 haben, da wir durch 0 nicht teilen können. Wenn beides OK ist, bauen wir einen Text zusammen nach dem Schema 1 : (Reward / Risk), wobei wir dieses Ergebnis noch auf 2 Stellen runden.

Schließlich berechnen wir noch die Haltedauer des Trades, wobei uns hier die Angaben zur Uhrzeit zu Nutze werden.

=WENN(A2<>““;WENN(UND(SVERWEIS(A2;Trades!$A$9:$T$50000;10;FALSCH)<>““;SVERWEIS(A2;Trades!$A$9:$T$50000;3;FALSCH)<>““);SVERWEIS(A2;Trades!$A$9:$T$50000;10;FALSCH)-SVERWEIS(A2;Trades!$A$9:$T$50000;3;FALSCH);““);““)

Wie sie mittlerweile bemerkt haben dürften, werden die Formeln immer unübersichtlicher, weswegen es wichtig ist, dass Sie die einzelnen Funktionen an sich verstehen, um bei solchen Formeln noch durchzublicken, was denn eigentlich dort passiert.

Neben der üblichen ID Abfrage in der ersten Bedingung, fragt die zweite Bedingung die beiden Werte für Eröffnungs- und Schließungsdatum ab und prüft ob beide einen Wert enthalten. Sollte ein Trade noch offen sein, wird nichts berechnet, wobei man auch hier noch eleganter sein könnte.

Nur wenn beide Werte vorhanden sind, subtrahieren wir den Zeitpunkt der Eröffnung vom Zeitpunkt der Schließung. Nun Formatieren wir das Feld in Excel als Zeit und erhalten die gewünschte Information.

Auswertung nach Handelssymbol

Die meisten Trader werden speziell bei Währungspaaren einige Favoriten haben, welche sie bevorzugt handeln. Aber welches Paar ist eigentlich das lukrativste? Hierfür würde sich eine Auswertung der einzelnen Handelsinstrumente für unser Trading-Tagebuch eignen, doch wie berechnet man sowas ohne viel Eigenarbeit?

Auswertung

Wir nutzen hier schon größtenteils die Funktionen, die wir in den vorhergehenden Beispielen genutzt haben. Die Anzahl der Trades über ZÄHLENWENNS, Profit und Verlust über SUMMEWENNS, sowie Netto und Durchschnitt über einfache Formeln mit den Ergebnissen.

Das Chart an sich kann sich wieder per Namensmanager steuern lassen. Was jetzt noch Handarbeit erfordert, ist die Liste mit Symbolen, die wir gehandelt haben. Für dieses Problem gibt es mehrere Lösungen, wobei keine wirklich schön ist.

Die einfachste Variante wäre logischerweise, die Liste einfach entsprechend per Hand zu erweitern, sobald ein weiteres Handelsinstrument hinzukommt. Bedeutet Arbeit, wird gelegentlich vergessen und ist bei steigender Anzahl an Möglichkeiten auch recht fehleranfällig, wird daher einstimmig abgelehnt.

Die zweite Variante ist rein formelbasiert, erfordert aber etliche Hilfsspalten und Formeln, die kein Normalsterblicher auf Anhieb begreifen würde.

Bleibt also Variante drei, ein Makro, dass die Liste auf Knopfdruck erstellt.

Anmerkung: Um Makros zu erstellen, benötigen Sie die Entwicklertools. Diese sind standardmäßig ausgeblendet. Um Sie zu aktivieren gehen Sie im Menü auf Datei -> Optionen -> Menüband anpassen und blenden dort die Entwicklertools ein. Danach haben Sie unter anderem Zugriff auf Visual Basic.

Der Code soll hier nicht groß erläutert werden, jedoch müssen ein paar Anmerkungen gemacht werden, sofern Sie die Datei geringfügig anders aufbauen.

Folgender Code liefert uns das gewünschte Ergebnis:

Public Sub ListeFiltern()
    ActiveWorkbook.Sheets(„AuswertungHandelssymbol“).Range(„B18:B5000“).ClearContents
    Set TargetRange = Sheets(„AuswertungHandelssymbol“).Range(„B18“)
    Set TradeRange = Sheets(„Trades“).Range(„F9:F50000“)

If Application.WorksheetFunction.CountA(TradeRange) > 0 Then
Dim ListArray As Variant
Dim TradeDic As Object
Dim Counter As Long
ListArray = TradeRange
Set TradeDic = CreateObject(„Scripting.Dictionary“)
For Counter = 1 To UBound(ListArray)
TradeDic(ListArray(Counter, 1)) = 0
Next
TargetRange.Resize(TradeDic.Count) = WorksheetFunction.Transpose(TradeDic.Keys)
End If
End Sub

Ohne auf die Funktion des Codes näher einzugehen, gibt es drei Zeilen, die gewisse Anpassungen benötigen, sofern Sie die Datei anders aufbauen.

ActiveWorkbook.Sheets(„AuswertungHandelssymbol“).Range(„B18:B5000“).ClearContents

Diese Zeile löscht die bisherige Symbolliste, um Platz für eine neue zu schaffen und Fehler durch falsche Einträge zu vermeiden.

Set TargetRange = Sheets(„AuswertungHandelssymbol“).Range(„B18“)

Diese Zeile liegt das Ziel fest, ab dem die Liste ausgegeben werden soll. In unserem Fall B18, weil dort der erste Eintrag stehen soll.

Set TradeRange = Sheets(„Trades“).Range(„F9:F50000“)

Die letzte Zeile legt den Bereich fest, in dem die Symbole in unserer Tradeliste stehen. In unserem fall also Spalte F von 9 bis irgendwo weit unten. Der Rest vom Code geht dann diese Zeilen durch, sucht die Unikate und gibt sie auf der anderen Seite wieder aus. Wenn also entweder die Tradeliste oder die Auswertungsseite anders aufgebaut ist, müssen diese drei Zeilen entsprechend angepasst werden.

Nun feilen wir noch ein wenig an der Optik.

Zunächst erstellen wir über das Menü -> Einfügen -> Formen einen Button. Suchen Sie sich dazu irgendeine Form aus und formatieren Sie diese wie Sie wollen.

Danach machen wir auf die Form einen Rechtsklick -> Makro hinzufügen -> ListeFiltern.

Der Knopf führt dann per Klick das Makro aus und die Symbolliste wird aktualisiert.

Für die Optik erweitern wir die restlichen Formeln wie immer mit Wenn-Bedingungen, damit Sie nur etwas anzeigen, wenn auch ein Symbol vorhanden ist. Teilweise kommen der Namensmanager und einige Makros nicht ganz miteinander klar, speziell wenn das Makro Daten löscht. Daher müssen wir den Namensmanager hier etwas erweitern.

Zunächst ermitteln wir die Anzahl der Symbole per Formel und geben diesen Wert im Tabellenblatt aus.

Danach erweitern wir die Formeln im Namensmanager um eine Wenn-Bedingung, damit der Bereich nur berechnet wird, wenn mindestens ein Symbol in der Liste steht. Ansonsten wird es zu Fehlermeldungen kommen, sobald das Makro gestartet wird, wobei das Chart dann nichts mehr anzeigt.

Trading Tagebuch Chart 2

Namensmanager:

=WENN(AuswertungHandelssymbol!$C$2>0;BEREICH.VERSCHIEBEN(AuswertungHandelssymbol!$B$18;0;0;ANZAHL2

(AuswertungHandelssymbol!$B$18:$B$50000);1);0)

Alles in allem haben wir auch hier eine fast automatisch generierte Auswertung. Einzig und allein ein Knopfdruck ist nötig, der Rest wird wieder über Formeln ermittelt.

Makros vs. Formeln

Für gewöhnlich langen Formeln aus, um die entsprechenden Ansichten und Berechnungen zu ermöglichen. In einigen Fällen ist der Griff zu Makros allerdings aus mehreren Gründen sinnvoll.

Zum einen kann es vorkommen, dass es einfach keine formelbasierte Lösung gibt oder diese zumindest so komplex ist, dass es völlig unübersichtlich wird. Zum anderen gibt es Fragestellungen, die sich nur über mehrere Matrixformeln lösen lassen. Um dann noch möglichst flexibel in der Menge der Daten zu bleiben, müssen die Bereiche entsprechend groß angelegt werden. Matrixformeln erlauben es zu einem gewissen Grad, innerhalb von Formeln noch separate Berechnungen durchzuführen.

Nehmen wir ein praktisches Beispiel.

Wir haben unsere Liste voller Trades (1000+ Einträge) und möchten nun eine Seite erstellen, in der wir einige Filter setzen können, um dann als Resultat nur noch die Trades angezeigt bekommen, die dem Filter entsprechen.

Zum Beispiel: Nur EURUSD mit einem Profit > 100 und einer Haltedauer < 1 Tag.

Solch eine Ansicht lässt sich zwar rein über Formeln bauen, hat aber aufgrund der Menge an Berechnungen die Eigenschaft, Excel in die Knie zu zwingen. Das wäre an und für sich nicht ganz so dramatisch, wenn man diese Berechnungen nur durchführt, solange man auf der Seite aktiv ist. Bei fast allen Anwendern ist die Berechnungsmethode allerdings auf Automatisch gestellt ( Menü -> Formeln -> Berechnungsoptionen ), was bedeutet, dass bei jeder Änderung alle Formeln berechnet werden. Je umfangreicher die Datei, desto mehr Berechnungen sind notwendig und desto langsamer wird Excel.

Eine VBA-Lösung würde die Berechnungen nur auf Knopfdruck ausführen und die Zellen mit reinem Text befüllen. Damit wird Excel allerhöchstens während der Laufzeit der Makros etwas verlangsamt, läuft aber ansonsten flüssig. Außerdem lassen sich mit Makros wesentlich komplexere Berechnungen in Schleifen durchlaufen, was in den meisten Fällen auch noch schneller programmiert ist, als die entsprechenden Formeln zusammenzusetzen.

Trading-Tagebuch in Excel!

Sie haben nun einige Möglichkeiten kennengelernt, wie man Daten in einem Trading-Tagebuch verwerten kann. Richtig aufgebaut, läuft diese Auswertung danach größtenteils von selbst, sodass man keinerlei Arbeit hat, außer täglich seine Trades einzutragen. Die Erstellung mag zwar aufwendig sein, ist aber in den meisten Fällen eine Arbeit, die man nur einmal erledigt (und gelegentlich erweitert) und danach dauerhaft nutzen kann.

Wenn Sie also Spaß am Basteln haben, ist solch ein Projekt garantiert eine sinnvolle Investition, zumal Sie am Ende der Arbeit eine Datei haben, die genau das macht, was Sie erwarten. Nicht mehr und nicht weniger, wie es bei den meisten fertigen Lösungen der Fall ist.

Das Herzstück solcher Dateien sind immer die Daten. Je mehr Sie zu einem Trade erfassen, desto mehr können Sie auch mit den Daten machen. Sie kennen nun einige Möglichkeiten, wie Sie die Daten von A nach B bekommen, wie Sie gezielt nach Daten suchen und wie Sie diese in Formeln verwenden können. Mit etwas Bastelarbeit und ein wenig Design lassen sich daraus maßgeschneiderte Tools entwickeln, die Ihnen den Trading-Alltag erleichtern können. Mit den hier vorgestellten Funktionen lassen sich etliche Auswertungen erledigen, sodass das Resultat Ihrer Arbeit nur noch von der eigenen Kreativität abhängt.

Sofern Sie über die nötigen VBA-Kenntnisse verfügen, lässt sich das Ganze noch auf eine weitaus flexiblere Ebene katapultieren.

Als kleiner Tipp zur Einarbeitung in VBA:

In den Entwicklertools gibt es die Funktion „Makro aufzeichnen“. Wenn Sie diese Option aktivieren, wird jeder Mausklick und jede Eingabe, die Sie in der Datei machen, aufgezeichnet. Sobald Sie die Aufnahme beenden, können Sie das Makro in Codeform im Editor einsehen und somit nachvollziehen welche Aktion in Excel welchem Code entspricht. Das erleichtert es Ihnen ungemein, gewisse Funktionen in Code zu verwandeln und zu verstehen, was hinter dem Code steckt.

Wir wünschen viel Spaß und Erfolg beim Basteln!

Das könnte Sie auch interessieren

Trading mit Market Profile (2) – Strategien und Trading Set-ups

Smartmoneynews

Wie werde ich zu einem erfolgreichen Trader?

Rudolf T.

Die faszinierende Welt des Devisenhandels

Rudolf T.
>