Überblick über das Modul für simulierten Live-Handel

Dieses Kapitel hilft Ihnen, sich einen umfassenden Überblick zu verschaffen, bevor Sie mit dem Live-Trading beginnen: was Sie tun können, wie es sich vom Backtesting unterscheidet, die Bedeutung wichtiger Begriffe und welches Kapitel Sie als Nächstes lesen sollten.

Lieber Nutzer, wenn Sie das Backtesting Ihrer Strategie abgeschlossen haben und deren Performance in Echtzeit beobachten möchten, ist dieses Modul genau das Richtige für Sie. Wir verwenden denselben Strategiecode wie beim Backtesting, simulieren die Orderplatzierung und protokollieren die Daten lokal. So können Sie den gesamten Prozess abschließen, bevor Sie sich mit einem realen Brokerhaus verbinden.

0. 适用场景

  • Sie haben das Strategie-Backtesting abgeschlossen und sind bereit, in die Phase des simulierten Live-Handels einzutreten (noch nicht oder nur vorübergehend mit einer realen Handelsplattform verbunden).

  • Sie möchten sich schnell ein umfassendes Verständnis des Prozesses verschaffen, von der Konfiguration über die Auftragserteilung und den Transaktionsabschluss bis hin zu den Protokollen und der Fehlerbehebung.

  • Falls Sie planen, in Zukunft auch reale Brokerhäuser (wie z. B. QMT) einzubeziehen, benötigen Sie einen stabilen Dokumenteneingangspunkt.

1. 这个模块解决什么问题

  • Eine einheitliche Erklärung des gesamten Prozesses von „Konfiguration, Auftragserteilung, Ausführung, Protokollierung und Fehlerbehebung“ im simulierten Live-Handel.

  • Reduzieren Sie die kognitive Belastung beim Wechsel vom Backtesting zum Live-Testing – vermeiden Sie die Situation, in der „die Backtesting-Parameter funktionieren, Sie aber völlig verwirrt sind, wenn der Live-Test beginnt“.

  • Dies bietet einen Dokumentations-Einstiegspunkt für zukünftige Erweiterungen zur Unterstützung realer Zähler, wodurch die Notwendigkeit entfällt, bei Null anzufangen.

2. 与回测的关系

Qteasy verfolgt das Ziel, für Backtesting und Live-Trading dieselbe Strategielogik zu verwenden. Der Hauptunterschied liegt im Zeitablauf und der Durchführung des Matchings – anstatt den gesamten Strategiecode neu zu schreiben. Die folgende Tabelle hilft Ihnen, Optionen schnell zu vergleichen und die richtige auszuwählen. Wenn Sie bereits mit Backtesting vertraut sind, können Sie sich in der Spalte „Live-Trading“ auf die Einstiegspunkte und Handelsmethoden für das Live-Trading konzentrieren.

Spaltenbedeutungen: Die Vergleichselemente stellen die Dimensionen dar; die Spalte Backtesting beschreibt den historischen Verifizierungsmodus; die Spalte Simuliertes Live-Trading (mode=0) beschreibt den Live-Modus, der in Echtzeit abläuft.

Anwendung: Bei der Entscheidung, welcher Modus jetzt verwendet werden soll, suchen Sie zeilenweise; beim Starten im laufenden Betrieb stellen Sie sicher, dass der letzte Zeileneintrag mode=0 + qt.run(op) lautet.

Vergleichsartikel

Backtest

Simulierter Live-Handel (mode=0)

Datum

Zeitsprung in historische Intervalle

Echtzeit verläuft gemäß dem Handelskalender.

Strategiecode

Gleicher Operator/Strategie

Die gleiche Logik

einen Deal abschließen

Simulierte Preisanpassung basierend auf historischen Preisen

Typischerweise werden Transaktionen von einem Simulator zum Live-Preis abgeglichen.

typischer Eingang

op.run_backtest() / qt.run(op, mode=1)

qt.run(op) und mode=0

Operator (Trader-Container): Dies ist das „Trader“-Objekt, das Sie für Ihre Strategie erstellen und verwalten. Es wird sowohl beim Backtesting als auch beim Live-Trading verwendet, jedoch in unterschiedlichen Modi. Sie können sich vorstellen, dass derselbe Trader denselben Test sowohl in der „historischen Prüfung“ als auch in der „simulierten Live-Prüfung“ ablegt.

Ein gängiger Einzeiler-Code zum Starten der Live-Umgebung:

import qteasy as qt
qt.configure(mode=0, ...)  # 0 表示 live / 模拟实盘
qt.run(op)                 # op 为您的 Operator

3. 您将获得的 capability(能力地图)

Die folgenden Funktionen wurden in den letzten Versionen schrittweise verbessert, mit dem Ziel, den simulierten Live-Handel überprüfbar, abfangbar, auditierbar und skalierbar zu gestalten:

  • Konfiguration überprüfbar: Live-bezogene Parameter werden vor der Laufzeit geprüft, sodass Fehler frühzeitig gemeldet werden, wenn die Konfigurationen nicht korrekt sind, anstatt dass der Prozess mittendrin abstürzt.

  • Mögliche Risikokontrolle: Aufträge können lokal gemäß den Regeln blockiert werden, bevor sie tatsächlich an das Brokerhaus weitergeleitet werden (z. B. durch ein Vorabprüfungsgremium).

  • Prüfbare Ablehnungen: Wenn eine Bestellung abgelehnt wird, kann sie im Protokoll anhand der Regelnummer und des englischen Grundes abgerufen werden, wodurch es einfach ist, zu überprüfen, warum die Bestellung nicht abgeschlossen wurde.

  • Die Broker-Schnittstelle ist skalierbar: Sie bietet einheitliche Schnittstellen zum Verbinden, Einreichen und Abrufen von Transaktionen und erleichtert so die zukünftige Integration mit realen Handelsplattformen wie QMT.

  • Klarerer Auftragsstatus: Status wie „teilweise abgeschlossen“ und „vollständig abgeschlossen“ entsprechen eher dem kumulierten Transaktionsvolumen und verringern so die Diskrepanz zwischen der Anzeige in der Benutzeroberfläche und den Erwartungen des Kunden.

4. 术语速查表

Die Dokumentation zum simulierten Live-Handel verwendet wiederholt Begriffe wie Operator, Händler, Broker, Risikomanagement und Produktpfad. Dieser Abschnitt dient als modulweites Begriffslexikon: Die Begriffe sind nach Themen gruppiert, sodass Sie jederzeit darauf zurückgreifen können, nachdem sie im Haupttext jedes Kapitels erstmals auftauchen. Sie müssen nicht alles auf einmal lesen – nutzen Sie die Suchfunktion auf der Seite, wenn Sie auf unbekannte Begriffe stoßen.

Spaltenbedeutungen: Begriffe sind englische Bezeichnungen oder Konfigurationsschlüssel; Beschreibungen beschreiben die Verantwortlichkeiten im qteasy live Workflow; Analogien verwenden Investitions-/Alltagsszenarien zur besseren Einprägung (bei Abweichungen zwischen Analogie und realem Verhalten ist die Beschreibung in der Spalte „Beschreibung“ maßgebend).

Anleitung: Ermitteln Sie zunächst die Kategorie, in der Sie nicht weiterkommen: „Laufende Entität / Konfiguration / Auftrag / Wartung“, und öffnen Sie den entsprechenden Abschnitt. Suchen Sie anhand des aktuellen Problems (z. B. „Wo finde ich abgelehnte Aufträge?“) in der Spalte Anleitung nach Schlüsselwörtern und springen Sie dann zu Abschnitten wie :doc:3-Risiko-und-Auftragslebenszyklus oder :doc:5-Artefakte-und-Fehlerbehebung.

Beispiel: Sie sehen partial-filled in der Shell und verstehen es nicht → Öffnen Sie §4.3 und suchen Sie die Zeile → Sie werden erfahren, dass es „teilweise gefüllt“ bedeutet → Gehen Sie zu :doc:3-risk-and-order-lifecycle, um die Statusänderung zu sehen.

4.1 Operative Einheit

Im Live-Betrieb verwaltet der Operator weiterhin die Richtlinie, diese wird jedoch vom Händler gemäß dem tatsächlichen Zeitplan gesteuert; die Aufträge werden vom Broker verarbeitet. Diese Tabelle beschreibt die Hauptrollen vom „Richtliniencontainer“ bis zu Ihrer Benutzeroberfläche; sie enthält keine spezifischen Konfigurationsschlüssel (siehe §4.2).

der Begriff

Anweisungen

Analogie

Operator

Der übergeordnete Container, der die Richtliniengruppe enthält und für die Planung und das Zusammenführen von Signalen zuständig ist.

Portfoliomanager: Entscheidung, wann und welche Strategien angewendet werden sollen

Händler

Im Live-Modus bilden die Hauptprozesse, die tatsächlich nach einem Zeitplan ablaufen, einschließlich Strategieausführung, Auftragserteilung und Protokollierung, den Kern des Betriebs.

Trader Seat: Die Person, mit der Sie in Ihrer Shell-Konversation interagieren.

Broker (Wertpapierfirma)

Die Zielgruppe für den Empfang von Bestellungen, die Rückmeldung von Bearbeitungsergebnissen und die Transaktionsbestätigung.

Brokerage-Zähler: Simulator bedeutet „Übungszähler“.

Modus=0

Konfigurationselement: Gibt an, ob es sich um Live- oder simulierten Live-Handel handelt (im Vergleich zum Backtesting-Modus=1 usw.).

Schalter: 0 = Läuft in Echtzeit

CLI-Befehl

Interaktive Befehlszeilenschnittstelle (Trader Shell)

Ein „Händlerterminal“ zur Eingabe von Befehlen.

TUI

Grafische Terminalschnittstelle

Eine Vollbild-Oberfläche mit Bedienfeld oder eine CLI-Option.

4.2 Konfiguration und Daten

Vor dem Start von Live Trades werden die mit qt.configure(...) erstellten Elemente als LiveTradeConfig festgelegt. Dadurch werden die Asset-Typen, die Herkunft der Marktdaten und die Art der Datenergänzung bestimmt. Diese Tabelle dient als Terminologieverzeichnis für das Konfigurationskapitel (:doc:2-configuration-and-run).

der Begriff

Anweisungen

Analogie

LiveTradeConfig

Vor dem Start wird eine Momentaufnahme der Live-Konfiguration eingefroren, die während der Laufzeit nicht versehentlich verändert wird.

Das Formular für die Vorflugkontrolle darf nach der Unterzeichnung nicht mehr verändert werden.

Anlagentyp

Anlagearten wie beispielsweise E (Aktien) und FD (börsengehandelte Fonds/ETFs).

Teilen Sie dem System mit, „welche Regeln für den Handel mit diesem Portfolio von Vermögenswerten gelten“.

Nachfüllung

Ergänzen Sie die fehlenden Tabellen/Bereiche in der lokalen Datenquelle anhand von Online-Kanälen.

Auffüllen des lokalen „Data Warehouse“

Live-Marktfrequenz

Beispielsweise gibt live_price_acquire_freq='15MIN' an, wie oft der Echtzeitpreis abgerufen wird.

Aktualisierungsintervall der Marktbeobachtung

Simulator

Der standardmäßige simulierte Brokerage-Typ verwendet Live-Preise, um Transaktionen zu simulieren.

Papierhandelsschalter

4.3 Bestellungen und Risikokontrolle

Vom Strategiesignal bis zur Ausführung umfasst der Prozess „lokales Risikomanagement → Brokerabwicklung → asynchrone Ausführung“. Diese Tabelle enthält das Kernvokabular von :doc:3-risk-and-order-lifecycle; Bitte achten Sie darauf, zwischen den Zeilen „Ablehnung im Rahmen des Risikomanagements“ und „Ablehnung im Gegenzug“ zu unterscheiden.

der Begriff

Anweisungen

Analogie

Auftragsabsicht

Ein geplanter Auftrag: Gegenstand, Richtung, Menge, Preis usw.

Entwurf des ausgefüllten Autorisierungsformulars

Kontoübersicht

Bargeld, offene Positionen und tägliches Handelsvolumen zum Zeitpunkt der Risikobewertung

Eine Momentaufnahme des Kontos zum Zeitpunkt der Bestellung.

Risikomanager

Führe mehrere Regeln nacheinander aus, um zu bestimmen, ob der Durchgang erlaubt werden soll.

Prüfstelle: Bestellungen werden abgelehnt, wenn eine Regel den Anforderungen nicht genügt.

Risikoentscheidung

Freigabe oder Verweigerung und der Grund für die Verweigerung in englischer Sprache, Regelnummer

Abschlussbeleg der Überprüfung

Auftragsablehnung aufgrund von Risikokontrollmaßnahmen

Lokale Regelabfangung: Nicht in die Auftragstabelle eintreten, sondern im Risikoprotokoll protokollieren.

Die Prüfstelle hat das Formular zurückgeschickt; es war noch gar nicht am Schalter abgegeben worden.

Abwicklung von abgelehnten Bestellungen am Schalter

Die Brokerfirma hat den Auftrag abgelehnt: Die Auftragstabelle enthält eine Zeile mit dem Vermerk „abgelehnt“, und die Broker-ID ist leer.

Am Schalter erhalten Sie den Kassenbon zurück.

D. Langfristig teilweise gefüllt

Teilweise ausgeführt: Die Anzahl der ausgeführten Transaktionen ist geringer als die Anzahl der erteilten Aufträge.

Nur ein Teil des Auftrags wurde ausgeführt.

gefüllt

Alle Transaktionen abgeschlossen.

Die maximale Anzahl an Aufträgen wurde erreicht.

Oft abgelehnt

Abgelehnt (oft bezogen auf eine Ablehnung am Schalter)

Ungültige Delegierung

Broker-Auftrags-ID

Die Auftragsnummer des Brokerhauses wird nach erfolgreicher Bearbeitung an das lokale System zurückgesendet.

Kassenbonnummer

submit_ack

Geben Sie eine Bestellung auf und erhalten Sie zeitgleich das Ergebnis, ob sie angenommen wurde.

Unmittelbar nach Abgabe des Formulars wird der Mitarbeiter am Schalter „Annehmen/Ablehnen“ sagen.

poll_fills

Abfrage asynchron eintreffender Transaktionsergebnisse

Fragen Sie regelmäßig am Schalter: „Gab es neue Transaktionen?“

4.4 Betrieb und Beobachtbarkeit

Bei längeren Live-Tests oder der Fehlersuche stoßen Sie auf Protokollpfade, Zugriffskontrolle, Abgleich und Debugging. Diese Tabelle entspricht den Dokumenten :doc:5-artifacts-and-troubleshooting, :doc:6-trader-snapshot-gate und :doc:8-cli-trader-capability-matrix.

der Begriff

Anweisungen

Analogie

Vier-Bindungs-Produkte

Die vier festen Pfade sind sys_log, trade_log, break_point und risk_log.

Vier dedizierte Ordner: Systemprotokoll, Transaktionsdetails, Breakpoint-Archiv und Risikokontrollaufzeichnungen.

Startup-Gate

Vorlaufprüfungen: Strategie bereit, Datentabellen, optionaler Vergleich mit dem Remote-Ledger.

Sicherheitscheck vor Abflug

Strategie-Überblick (Roadmap 5-A)

Die Daten werden vor Ausführung der Strategie vorab abgerufen, und dieser Schritt nutzt die Daten wieder, um redundante E/A-Operationen zu reduzieren.

Bereiten Sie die heutigen Materialien im Voraus auf Ihrem Schreibtisch vor.

Abgleich (Abgleich-Snapshot)

Geben Sie eine Zusammenfassung der Unterschiede zwischen den lokalen und entfernten Hauptbüchern im JSON-Format zum Abschlusszeitpunkt und zu anderen Zeitpunkten aus.

Tagesabschlussrechnung

DEBUG-Modus

Der Trader-Debug-Schalter kann manuell auf run --task ... gesetzt werden.

Reparaturmodus: Aufgaben können schrittweise ausgelöst werden.

5. 推荐阅读路径

Entsprechend dem Verzeichnis auf der Modul-Homepage:

  1. Dokument:

    2-configuration-and-run — Vervollständigen Sie die minimale ausführbare Konfiguration

  2. Dokument:

    ../tutorials/8-live-trade-risk-and-broker-walkthrough — Folgen Sie dem Tutorial

  3. Dokument:

    5-Artefakte-und-Fehlerbehebung — Überprüfung von Artefakten und Skripten bei Problemen

  4. Dokument:

    4-Broker-Adapter und -Integration — Lesen Sie dies, wenn Sie Ihr Brokerage-Portfolio erweitern müssen.

  5. Dokument:

    8-cli-trader-capability-matrix — Vergleich der CLI-Befehle; Fernvergleich: 6-trader-snapshot-gate und 7-manual-smoke-live-grid-roadmap

6. 相关索引