CommunitySchreiben & Editierengithub.com

TqSdk Trading und Daten

Erklären, implementieren oder debuggen Sie TqSdk Python-Workflows für wait_update- oder is_changing-Updateloops, Marktdatenabruf, historischen Download, Kontotypauswahl, Kontostände, Positionen, Orders oder Trades, Feldbedeutungen, Orderplatzierung oder -stornierung, Target-Position-Tools, TqScenario-Margin-Simulationen, echte Kontomarginratenabfrage, Margin- oder Risikoquote-Was-wäre-wenn-Analyse, Simulation, Backtest und häufige TqSdk-Fehler.

Was ist TqSdk Trading und Daten?

Diese Fähigkeit (Skill) ist speziell für Entwickler und fortgeschrittene Benutzer der TqSdk-Bibliothek konzipiert, die in Finanzmärkten wie Futures und Aktien handeln. Sie bietet eine umfassende Anleitung zur Lösung von Problemen im Zusammenhang mit dem Aktualisierungsmechanismus von TqSdk, dem Abrufen von Marktdaten (z. B. Kurse, K-Linien, Ticks), dem Herunterladen historischer Daten, der Kontotypauswahl (z. B. TqAccount, TqKq, TqSim), und den Handelsabläufen (Orderplatzierung, Stornierung, Positionsanpassung). Die Fähigkeit behandelt sowohl Futures- als auch Aktienworkflows und hebt wichtige Unterschiede hervor, wie etwa die Verwendung von SecurityAccount anstelle von Account für Aktienkonten. Sie unterstützt auch erweiterte Funktionen wie Szenariosimulationen mit TqScenario, Margin-Berechnungen und Risikoanalysen. Die Antworten priorisieren kurze, ausführbare Codeausschnitte, die auf den tatsächlichen APIs und der Dokumentation des TqSdk-Repositories basieren. Ein besonderer Schwerpunkt liegt auf der Erklärung des wait_update()-Loops, der für die korrekte Aktualisierung von Daten und die Ausführung von Handelsaktionen unerlässlich ist. Die Fähigkeit leitet den Benutzer durch die Lektüre spezifischer Referenzdokumente, die auf seine spezifische Frage zugeschnitten sind, um sicherzustellen, dass er die richtigen APIs und Muster verwendet. Sie betont die Unterscheidung zwischen Futures- und Aktienbörsen, den korrekten Umgang mit Margin-Raten, die Verwendung von TargetPosTask und TargetPosScheduler für die Positionsverwaltung und die Behandlung von häufigen Fehlern und Fallstricken.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shinny-xuyida/tqsdk-agent-skills/tree/main/skills/tqsdk-trading-and-data

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht TqSdk Trading und Daten?

Verwenden Sie diesen Skill, um TqSdk-Fragen mit den tatsächlichen APIs, Dokumentationen und Beispielen des Repositories zu beantworten. Bevorzugen Sie minimal lauffähige Code-Snippets, halten Sie Futures- und Aktienverhalten getrennt und erklären Sie die Update-Schleife explizit, wann immer das Problem des Benutzers von wait_update() abhängt.

Leiten Sie die Anfrage zuerst weiter

Lesen Sie nur die Referenzen, die für die Frage des Benutzers erforderlich sind.

  1. Lesen Sie references/wait-update-and-update-loop.md für wait_update, is_changing, deadline, asynchrone Update-Benachrichtigungen, Jupyter-Hinweise oder Backtest-Fortschrittsfragen.
  2. Lesen Sie references/market-data.md für get_quote, get_kline_serial, get_tick_serial, Kontraktfindung, Symbol-Metadaten und DataDownloader.
  3. Lesen Sie references/account-type-matrix.md für TqAccount, TqKq, TqKqStock, TqSim, TqSimStock, OTG-Kontoklassen und TqMultiAccount.
  4. Lesen Sie references/accounts-and-trading.md für Getter für Konten, Positionen, Orders und Trades sowie Muster für Multi-Account-Getter.
  5. Lesen Sie references/scenario-and-margin.md für TqScenario, die Abfrage von Margin-Raten für echte Konten, die Berechnung der Margin-Belegung, Was-wäre-wenn-Analysen der Risikoquote und begrenzte integrierte Margin-Rabattregeln.
  6. Lesen Sie references/order-functions-and-position-tools.md für insert_order, cancel_order, TargetPosTask, support_open_min_volume, TargetPosScheduler und erweiterte Ausführungshilfen.
  7. Lesen Sie references/object-fields.md, wenn der Benutzer fragt, was Felder auf Quote, K-Linien- oder Tick-Zeilen, Account, Position, Order, Trade oder deren Aktienvarianten bedeuten.
  8. Lesen Sie references/simulation-and-backtest.md für lokale Simulation, Quick-Simulation, Aktiensimulation, Backtest und kontenübergreifende Backtest-Einschränkungen.
  9. Lesen Sie references/error-faq.md, wenn der Benutzer nach häufigen TqSdk-Fehlern, verwirrendem Verhalten oder Ausnahmenachrichten fragt.
  10. Lesen Sie references/example-map.md, wenn Sie ein repository-gestütztes Beispiel oder eine Dokumentationsseite zur Nachahmung wünschen.

Kernregeln

  1. Behandeln Sie get_*-Ergebnisse als Live-Referenzen, nicht als Schnappschüsse. Erklären Sie, dass sie während wait_update() aktualisiert werden.
  2. Erklären Sie wait_update(), wann immer der Benutzer über fehlende Daten, veraltete Felder, Orders, die den Client nicht verlassen, oder TargetPosTask, das nicht reagiert, verwirrt ist.
  3. Unterscheiden Sie Futures- und Aktienworkflows:
    • Futures-Konten und -Objekte verwenden Account, Position, Order, Trade.
    • Aktienkonten und -Objekte verwenden SecurityAccount, SecurityPosition, SecurityOrder, SecurityTrade.
    • Aktienhandel verwendet kein offset, und TargetPosTask ist nicht für Aktienhandel geeignet.
  4. Wählen Sie den Kontotyp, bevor Sie Code schreiben. Verwenden Sie nicht standardmäßig TqKq oder TqAccount, es sei denn, der Benutzer benötigt diesen Kontomodus wirklich.
  5. Übergeben Sie im Multi-Account-Modus account= für Getter und Handelsaufrufe oder verwenden Sie die eigenen get_account-, get_position-, get_order- und get_trade-Methoden des Kontobjekts.
  6. Vermeiden Sie für aktuelle Marktbeispiele abgelaufene Kontrakte. Bevorzugen Sie Kontraktfindungs-APIs oder Hauptkontraktsymbole.
  7. Wenn der Benutzer nach Feldbedeutungen fragt, erklären Sie zuerst die kleinste relevante Feldmenge und geben Sie an, ob das Objekt Futures oder Aktien betrifft.
  8. Bevorzugen Sie für lange historische Zeiträume DataDownloader anstatt get_kline_serial als unbegrenzte Historie-API auszugeben.
  9. Bevorzugen Sie für erweiterte Ausführung zuerst öffentliche Hilfsfunktionen:
    • TargetPosTask für eine Ziel-Nettoposition.
    • TargetPosTask(..., support_open_min_volume=True) nur für Kontrakte mit börsenminimalen Eröffnungsgrößenregeln, wenn eine approximative Fertigstellung akzeptabel ist.
    • TargetPosScheduler plus twap_table oder vwap_table aus tqsdk.algorithm für geplante Ausführung.
    • Erwähnen Sie InsertOrderTask und InsertOrderUntilAllTradedTask als interne oder erweiterte Hilfsfunktionen, nicht als Standardantwort.
  10. Verwenden Sie TqScenario für synchrone Was-wäre-wenn-Margin- und Risiko-Simulationen, nicht für die Live-Orderplatzierung. Es ist nur für Futures, Einzelkonto und aktualisiert den Simulations-Schnappschuss sofort nach jedem Aufruf.
  11. Erklären Sie die Margin-Ratenquelle in jeder TqScenario-Antwort:
    • account=None oder TqSim() verwendet Quote-Margin-Daten.
    • TqAccount(...) oder TqKq() fragt kontospezifische Raten synchron ab und kann auf Quote-Margin zurückfallen, wenn die Suche fehlschlägt.
  12. Gehen Sie konservativ mit Margin-Rabatten um. Verwenden Sie ein TqScenario-Objekt für schrittweise Simulationsaktionen wieder und versprechen Sie keine maklerspezifischen Vorzugsregeln, die über die begrenzten integrierten Regeln hinausgehen, die von TqSdk modelliert werden.
  13. Bewahren Sie die börsenspezifischen Glattstellungssemantiken in TqScenario. Behalten Sie für SHFE- oder INE-Futures die Konsistenz von CLOSE gegenüber CLOSETODAY mit dem importierten Positions-Schnappschuss bei.

Antwortstil

  • Bevorzugen Sie Importe aus tqsdk.__init__ für APIs der obersten Ebene. Wenn eine API in einem Untermodul dokumentiert ist, verwenden Sie diesen offiziellen Untermodulpfad wie tqsdk.tools oder tqsdk.algorithm.
  • Bevorzugen Sie kurze, korrekte Code-Blöcke gegenüber breitem Pseudocode.
  • Nennen Sie die genaue API, die der Benutzer als Nächstes aufrufen sollte.
  • Wenn sich das Verhalten im Live-Handel, Quick-Sim, lokaler Sim, Aktien-Sim oder Backtest unterscheidet, sagen Sie dies explizit.
  • Wenn die Antwort von einer häufigen Falle abhängt, nennen Sie die Falle direkt, anstatt sie in Beispielen zu verstecken.
  • Wenn die Antwort TqScenario verwendet, geben Sie an, welcher Schnappschuss in positions, welcher Saldo in init_balance eingeht und ob das Ergebnis von der Quote-Margin oder kontospezifischen Margin-Raten stammt.

Verwandte Skills