Historische Wiederholung
Die Implementierung von Alarmen und regelbasiertem Handel ist noch nicht vollständig abgeschlossen. Diese Dokumentation beschreibt die geplante und teilweise bereits umgesetzte Funktionalität.
In Bearbeitung - Zielversion V0.38.0
Voraussetzung ist eine bestehende Simulationsumgebung. Wie Sie eine solche eröffnen, beschreibt Regelbasierter Handel.
Regelmässige Einzahlungen, Auszahlungen, Kontozinsen und Gebühren lassen sich mit Konto-Daueraufträgen innerhalb der Simulation nachbilden.
Wiederholung starten
Wählen Sie im Kontextmenü einer Simulationsumgebung den Eintrag Wiederholung starten…, worauf sich der Dialog Historische Wiederholung öffnet. Der Eintrag erscheint nur im Hauptmandanten und nur bei Schreibberechtigung: Die Wiederholung bucht ihre Ausführungen als Eigentümer der Umgebung, weshalb sie nicht aus einer geöffneten Simulation heraus gestartet werden kann. Sind Sie in eine Simulation gewechselt, kehren Sie zuerst mit Zum Hauptmandanten wechseln zurück.
Im Dialog geben Sie das Enddatum an; der Beginn ist immer das Eröffnungsdatum der Umgebung und lässt sich nicht verändern. Damit bleibt nachvollziehbar, woraus ein aufgezeichnetes Ergebnis berechnet wurde. Das Enddatum muss nach dem Eröffnungsdatum und vor dem heutigen Tag liegen, denn ein noch laufender Tag hat keinen Schlusskurs, gegen den entschieden werden könnte. Wie viele Handelstage eine Wiederholung höchstens umfassen darf, legt der Administrator in den globalen Einstellungen mit gt.simulation.max.run.trading.days fest. Zulässig sind 300 bis 7500 Handelstage, vorgegeben sind 3000, also rund zwölf Jahre.
Zusätzlich können Sie Simulationssteuermodelle anwenden einschalten. Dann schätzt GT Transaktionssteuern und Ertragssteuerabzüge anhand der Simulationssteuermodelle der Steuerländer. Die Option ist standardmässig ausgeschaltet. Regelmässige Anleihencoupons erzeugen ist davon unabhängig und erzeugt vertragliche Coupons, wenn für eine direkte Festzinsanleihe keine gespeicherten Ausschüttungen vorliegen.
Mit Wiederholung starten übergeben Sie die Arbeit an den Server. Sie läuft im Hintergrund weiter, auch wenn Sie den Dialog schliessen.
Ablauf einer Wiederholung
Vor dem ersten Handelstag versetzt GT die Umgebung in ihren Eröffnungszustand zurück: Alles, was eine frühere Wiederholung erzeugt hat, wird entfernt, der Eröffnungsbestand bleibt bestehen. Deshalb beginnt eine wiederholte Ausführung immer beim gleichen Ausgangspunkt und baut nicht auf den Positionen des vorherigen Laufs auf.
Anschliessend wird jeder Handelstag der Reihe nach ausgewertet. Zuerst bucht GT fällige Konto-Daueraufträge, danach Ausschüttungen und Ereignisse am Instrumentenende. Anschliessend bewertet es die Umgebung zu den Schlusskursen dieses Tages, prüft eine allfällige Umschichtung und wertet die Strategien der einzelnen Wertpapiere aus. Fällig ist eine Umschichtung nur an einem Kontrollzeitpunkt, der sich nach dem aus der Anzahl Umschichtungen pro Jahr abgeleiteten Intervall wiederholt; wie Kontrollzeitpunkt und Toleranz zusammenwirken, beschreibt Portfolio-Neugewichtung. Ein Auftrag, der am Schluss eines Tages entsteht, wird nie am selben Tag ausgeführt, sondern zum Schlusskurs des nächsten zulässigen Handelstages dieses Wertpapiers. Vor dem Startdatum und nach dem Enddatum eines Instruments findet keine Marktausführung statt; bei einer direkten Anleihe ist bereits das Enddatum der Rückzahlung vorbehalten.
graph TD
A["Eröffnungszustand wiederherstellen"] --> B["Nächster Handelstag"]
B --> C["Konto-Daueraufträge, Ausschüttungen und Instrumentenende verarbeiten"]
C --> D["Umgebung zum Schlusskurs bewerten"]
D --> E["Umschichtung fällig?"]
E --> F["Strategien der Wertpapiere auswerten"]
F --> G["Aufträge zum nächsten zulässigen Schlusskurs ausführen"]
G -->|ja| B
G -->|nein| H["Kennzahlen berechnen und Lauf abschliessen"]
Nur vergangene Kurse
Eine Entscheidung sieht ausschliesslich Kurse bis und mit dem Tag, an dem sie getroffen wird. Spätere Kurse und der aktuelle Tageskurs sind für die Wiederholung nicht erreichbar. Nur deshalb ist ein Ergebnis überhaupt aussagekräftig.
Fortschritt verfolgen und abbrechen
Der Dialog zeigt den Status des Laufs sowie unter Handelstage und Ausgewertet, wie weit er gekommen ist. Mit Aktualisieren holen Sie den aktuellen Stand; solange ein Lauf arbeitet, geschieht dies auch selbständig. Wiederholung abbrechen stoppt den Lauf nach dem Tag, den er gerade auswertet. Die Umgebung bleibt bis zum tatsächlichen Ende des Laufs gesperrt, nicht nur bis zum Abbruchwunsch. Die bis dahin gebuchten Ausführungen bleiben in der Umgebung erhalten, Kennzahlen werden für einen abgebrochenen Lauf jedoch keine ausgewiesen.
| Status | Bedeutung |
|---|---|
| In Bearbeitung | Der Lauf ist eingereiht oder arbeitet gerade. |
| Abgeschlossen | Der Lauf hat sein Enddatum erreicht; die Kennzahlen sind gültig. |
| Abgebrochen | Sie haben den Lauf gestoppt. |
| Fehlgeschlagen | Der Lauf wurde durch einen Fehler beendet; der Grund steht im Dialog. |
| Unterbrochen | Der Server wurde während des Laufs beendet. Ein solcher Lauf wird nicht fortgesetzt, sondern neu gestartet. |
Es kann pro Simulationsumgebung immer nur eine Wiederholung gleichzeitig laufen, und der Server führt insgesamt nur wenige gleichzeitig aus. Wird dieses Kontingent erschöpft, meldet GT dies und Sie versuchen es später erneut.
Ergebnis
Der Abschnitt Durchführung hält fest, womit der Lauf gerechnet hat: Status, Eröffnungsdatum, Enddatum, die beiden gewählten Optionen, Gestartet, Beendet sowie die Ersatzfrist für Dividendenzahlungen (Kalendertage), siehe Ausschüttungen und Instrumentenende. Ein abgeschlossener Lauf weist unter Ergebnis die folgenden Kennzahlen aus. Sie beziehen sich auf das Vermögen der Simulationsumgebung, das an jedem ausgewerteten Tag zu dessen Schlusskursen bewertet wird. Der eingebrachte Eröffnungsbestand ist Kapital und kein Gewinn. Einzahlungen und Auszahlungen durch Konto-Daueraufträge werden ebenfalls als externe Kapitalflüsse statt als Ertrag behandelt.
| Kennzahl | Bedeutung |
|---|---|
| Gesamtrendite | Veränderung des Vermögens vom Eröffnungstag bis zum Enddatum. |
| Annualisierte Rendite | Die Gesamtrendite auf ein Kalenderjahr hochgerechnet. |
| Maximaler Rückgang | Der grösste Rückgang gegenüber einem zwischenzeitlichen Höchststand des Vermögens. |
| Sharpe-Ratio | Mittlere Tagesrendite geteilt durch deren Streuung, auf ein Jahr hochgerechnet. |
| Gezahlte Bruttodividenden (Mandantenwährung) | Summe der bis zum Enddatum ausbezahlten Dividenden vor Steuerabzügen. |
| Offene Bruttodividenden (Mandantenwährung) | Dividenden, deren Anspruch bis zum Enddatum entstanden ist, deren Zahltag aber erst danach liegt. |
| Abgeschlossene Geschäfte | Anzahl vollständig geschlossener Engagements. Eine am Enddatum noch offene Position zählt nicht mit; ihr Wert steckt im Schlussvermögen. |
| Gewinnbringende Geschäfte und Verlustbringende Geschäfte | Wie viele der abgeschlossenen Geschäfte mehr eingebracht als gekostet haben und wie viele weniger. |
Eine Kennzahl, die sich nicht bestimmen lässt, bleibt leer statt null zu zeigen. Ein Vermögen, das sich nie bewegt hat, ergibt keine Sharpe-Ratio, und ein Lauf mit nur einem ausgewerteten Tag ergibt keine Rendite.
Berechnungsannahmen
Kennzahlen sind nur so aussagekräftig wie die Annahmen, unter denen sie entstanden sind. GT zeichnet diese deshalb mit jedem Lauf auf und führt sie beim Ergebnis auf.
Ausgeführt wird zum Schlusskurs des nächsten zulässigen Handelstages des Wertpapiers und ohne Kursabweichung bei der Ausführung. Ist für das verwendete Depot ein Gebührenmodell konfiguriert, werden dessen Transaktionskosten berücksichtigt; andernfalls fallen keine an. Gewinn oder Verlust eines Geschäfts wird in der Währung des Wertpapiers gemessen. Die Sharpe-Ratio rechnet gegenüber einem risikolosen Zins von null; die Rendite wird über Kalendertage annualisiert, die Streuung über 252 Handelstage.
Ertragsabstimmung und Hinweise
Wenn Steuermodelle oder erzeugte Anleihencoupons beteiligt sind, zeigt ein abgeschlossener Lauf zusätzlich die Ertragsabstimmung. Für Zins/Dividende und Wertpapierzinsen werden Bruttozahlungen, Einbehaltene Steuer und Nettozahlungen getrennt ausgewiesen. Offene Ansprüche erscheinen als Bruttoforderungen und Couponabgrenzung, Geschätzter Steuerabzug sowie Nettoforderungen und Couponabgrenzung. Die Abstimmung von Wechselkursen und Rundung macht Differenzen sichtbar, welche bei Umrechnung und Rundung zwischen Brutto-, Steuer- und Nettobeträgen entstehen können.
Unter Steuer- und Ertragshinweise fasst GT gleichartige Hinweise zusammen und zeigt deren Anzahl sowie den betroffenen Zeitraum. Fehlt für ein Land ein Modellabschnitt, ein Zeitraum, eine benötigte Angabe oder eine zutreffende Regel, lässt GT nur diesen Länderbeitrag weg; gültige Beiträge anderer Länder bleiben erhalten und die Wiederholung läuft weiter. Eine ausdrückliche Nullregel gilt dagegen als vollständige Abdeckung. Übersteigt ein geschätzter Steuerabzug den Bruttoertrag, wird dieser Abzug nicht gebucht, damit kein negativer Nettoertrag entsteht. Bei ausgeschalteten Steuermodellen werden keine Steuerhinweise erzeugt.
Kein Ersatz für eine echte Handelssimulation
Kursabweichungen bei der Ausführung werden nicht berücksichtigt. Ohne konfiguriertes Gebührenmodell fehlen zudem die Transaktionskosten. Ein Ergebnis kann deshalb günstiger ausfallen als ein tatsächlicher Handel, besonders bei häufigen Geschäften.
Ausschüttungen und Instrumentenende
Eine gespeicherte Dividende begründet am Ex-Tag einen Anspruch für die Stücke, die vor diesem Tag gehalten wurden, und wird am Zahltag als Geld gebucht. Fehlt der Zahltag, verwendet GT den Ex-Tag zuzüglich einer Ersatzfrist in Kalendertagen, die der Administrator mit gt.simulation.dividend.payment.delay.days festlegt (1 bis 32, vorgegeben sind 16). Der Lauf hält die verwendete Frist fest. Bei direkten Festzinsanleihen kann GT zusätzlich regelmässige Coupons aus den Anleiheangaben erzeugen, die im Reiter Anleihensimulation des Wertpapiers erfasst werden. Ohne gespeicherte Zinstagekonvention gilt die übliche Konvention der Währung. Gespeicherte Ausschüttungen haben Vorrang. Die Erzeugung unterstützt regelmässige Festzinsperioden; abweichende erste oder letzte Zinsperioden, variable Zinssätze und Verschiebungen auf Bankarbeitstage werden nicht nachgebildet.
Eine direkte Anleihe wird an ihrem Enddatum zum Nennwert zurückgezahlt. Fehlt ein Nennwert je Einheit, verwendet GT 100. Diese Kapitalrückzahlung erfolgt unabhängig von Regelmässige Anleihencoupons erzeugen. Werden regelmässige Coupons erzeugt und fällt die Rückzahlung auf einen Coupontermin, wird der volle Coupon separat gebucht. Liegt sie zwischen zwei Couponterminen, enthält die Rückzahlung die bis dahin aufgelaufenen Stückzinsen. Für die Rückzahlung selbst fallen keine Depotgebühr und keine Transaktionssteuer an; ein Steuerabzug auf den Coupon bleibt davon unberührt.
Andere Positionen ohne Margin werden am Instrumentenende zum letzten verfügbaren Schlusskurs an oder vor diesem Datum geschlossen. Dafür gelten die normalen Gebühren- und Steuermodelle. Fehlt ein verwendbarer Kurs, bleibt die Position offen und der Verlauf zeigt Nicht verfügbar. Liegt das Instrumentenende vor dem ersten Handelstag der Wiederholung, holt GT Rückzahlung oder Schluss am ersten ausgewerteten Tag nach.
Verlauf der Wiederholung
Unter dem Ergebnis führt GT auf, was an welchem Tag geschehen ist. Der Verlauf erklärt einen Lauf, statt ihn nur zusammenzufassen: Er hält ebenso fest, weshalb nichts geschehen ist, denn ein Lauf ohne Geschäfte und ein Lauf ohne Kursdaten sähen sonst gleich aus.
| Spalte | Inhalt |
|---|---|
| Datum | Der Schlusstag, zu dem der Eintrag gehört. |
| Ereignis | Die Art des Eintrags, siehe unten. |
| Begründung | Weshalb so entschieden wurde, beispielsweise ein ausgelöster Einstieg oder eine erschöpfte Investitionsgrenze. |
| Anzahl, Kurs, Betrag, Währung | Umfang und Preis, soweit für den Eintrag vorhanden. |
| Einzelheiten | Ergänzende Angaben, etwa der Grund eines Abbruchs. |
Die Einträge Wiederholung gestartet und Wiederholung beendet umschliessen den Lauf. Dazwischen steht Glattstellung nach Eröffnung für eine CFD-, Forex- oder gehebelte Position des Eröffnungsbestands, die vor dem eigentlichen Simulationshandel geschlossen wird, Konto-Dauerauftrag für eine wiederkehrende Kontobuchung, Entscheid für einen ausgelösten Ein- oder Ausstieg und Ausführung für dessen Buchung am folgenden Handelstag. Umschichtung fällig und Ausführung der Umschichtung halten dasselbe für die Angleichung an Ihre Zielgewichtungen fest. Ersterwerb fällig und Ausführung des Ersterwerbs erscheinen nur bei einer Umgebung, die am Eröffnungsdatum keine Positionen hielt: Sie kauft sich zu Beginn des Laufs einmalig in ihre Zielgewichtungen ein, und erst danach beginnt das Intervall der Umschichtung zu zählen. Eine Umgebung, die mit Positionen eröffnet, geht dagegen direkt zu ihrer ersten Umschichtung über. Geld für einen Auftrag umgebucht kennzeichnet eine Überweisung zwischen zwei Geldkonten der Umgebung, damit ein Auftrag bezahlt werden kann; sie nennt das Wertpapier, für das sie erfolgte. Dividendenanspruch und Dividendenzahlung halten den am Ex-Tag entstandenen Anspruch und dessen Auszahlung fest. Rückzahlung bei Fälligkeit kennzeichnet die Rückzahlung einer direkten Anleihe, Schluss bei Instrumentenende das Schliessen einer anderen Position. Blockiert bedeutet, dass eine Handlung bewusst unterblieben ist, etwa wegen einer Sperrfrist oder einer ausgeschöpften Investitionsgrenze. Nicht verfügbar bedeutet, dass gar nicht entschieden werden konnte, weil etwa Kursdaten oder ein Wechselkurs fehlten.
Einschränkungen
CFDs, Forex und Instrumente mit einem Hebelfaktor ungleich 1 werden in einer Wiederholung nicht gehandelt. Enthält der Eröffnungsbestand solche Positionen, werden sie vor dem eigentlichen Simulationshandel glattgestellt (Glattstellung nach Eröffnung), danach nicht wieder gekauft, und ihre Gewichtung wird für diesen Lauf auf die übrigen Wertpapiere verteilt. Ein Auftrag, für den innerhalb der Wiederholung kein zulässiger Handelstag mehr folgt, bleibt unausgeführt. Fehlen für einen Tag Schlusskurse oder Wechselkurse, wird für das betroffene Wertpapier nicht entschieden; der Lauf setzt seine Arbeit dennoch fort und hält den Grund im Verlauf fest.
Ausführungen einer Umschichtung tragen keine Zuordnung zu einer Strategie, da die Buchhaltung eine solche nur für Strategien der taktischen Handelsebene führt. Die zugehörige Strategie ist stattdessen im Verlauf ersichtlich. Wird ein Wertpapier gleichzeitig von einer Anlageklasse mit Zielgewichtung und von einer eigenen Strategie beansprucht, meldet die Strategie dieses Wertpapier als nicht entscheidbar. Ordnen Sie ein Wertpapier deshalb nur einer Anlageklasse zu.
Ergebnisse werden ersetzt
Pro Simulationsumgebung wird genau ein Lauf aufbewahrt. Eine erneute Wiederholung stellt den Eröffnungszustand wieder her und ersetzt das bisherige Ergebnis samt Verlauf. Möchten Sie zwei Zeiträume nebeneinander betrachten, legen Sie eine zweite Simulationsumgebung an. Simulation löschen entfernt auch deren Lauf; solange eine Wiederholung arbeitet, ist das Löschen abgelehnt. Was in einer Umgebung sonst möglich ist und was Sie darin besser unterlassen, steht unter In der Simulationsumgebung arbeiten.