Dokumentation1.0 (latest)
SeitenReferenz · 28 / 29

QuantCraft-Dokumentationsreferenz

QuantCraft liefert zwei einander ergänzende Arten von Dokumentation: In-App-Themen, die Sie in der IDE lesen, und Strategie-Referenz-Markdown, das für tiefere API-Details mit dem Produkt gebündelt ist. Zusammen beschreiben sie, wie man Strategien schreibt, Backtests ausführt und die IDE nutzt. Diese Web-Dokumentation spiegelt viele dieser Themen — beginnen Sie mit der Einführung oder Erste Schritte.


Wo Sie die Dokumentation in der App lesen

  1. Öffnen Sie QuantCraft in der Haupt-App.
  2. Klappen Sie die rechte Seitenleiste auf (falls sie eingeklappt ist).
  3. Öffnen Sie den Tab Documentation (neben QuantCraft AI).

Sie landen auf einem durchsuchbaren Index der Themen. Tippen Sie in das Suchfeld, um nach Titel, Zusammenfassung oder eingebetteten Schlüsselwörtern zu filtern (zum Beispiel on_finish, PaperAccount, chart_indicator_series).

Tippen Sie auf eine Themenkarte, um den vollständigen Artikel zu öffnen. Mit Back kehren Sie zum Index zurück.


Themenindex (In-App)

Die Themen sind in zwei Abschnitte gruppiert, passend zur Seitenleiste Documentation.

Getting started

ThemaWas Sie lernen
FundamentaldatenFinanzberichtsdaten, datumsindizierte Tabellen, wie Fundamentaldaten an Balken ausgerichtet werden und wie man sie in einer Strategie liest.
Fama-French-FaktorenGlobale monatliche FF3/FF5-Faktorrenditen über fama_french.qc (Premium; kein Callback-Argument).
KalenderdatenDividenden, Splits, Ergebnistermine und Einreichungen (Callback-Argument calendar, nur Backtests) und Kapitalmaßnahmen in der Simulation.
KontoPaperAccount: Salden, Positionen, Orders, PnL und Performance-Kennzahlen, die während eines Backtests bereitstehen.
LebenszyklusCallback-Reihenfolge: on_init, on_bar, on_tick, optionales on_timer (nur Forward), on_finish — einschließlich Multi-Symbol-Grundlagen und optionalem Vollserien-on_finish(bars).

Reference

ThemaWas Sie lernen
Eingabeparameterquantcraft.inputs.params deklarieren, Typen, und wie Werte aus den Lauf-Dialogen (Backtest, Forward-Bulk, Chart-Forward) geliefert werden.
Ausführungsvorlagen (.qcs)Einstellungen der Lauf-Dialoge als .qcs-Dateien in Ihrem Arbeitsbereich speichern und neu laden.
DebuggingDebug Run vs. Debug Test, Haltepunkte, Einzelschritte, Aufrufliste und Variablen.
AutoTradingLokale Forward-Läufe für Algorithmen und Agents, New Bulk / Agent Bulk Run und Überwachung von Bulk-/Chart-Jobs.
QuantCloudForward-Bulk-Läufe auf Cloud-Runnern, wenn Ihr PC aus ist (Desktop-Benutzerhandbuch).
AgentsTrading-, Test- und Optimization-Agents; Knotengraphen von Hand oder mit dem AI Builder bauen; bereitgestellte Parameter und Optimierung; Backtest auf Papier, Forward / live über den verbundenen Broker; .qca-Import / -Export.
QuantCraft AIDer IDE-KI-Chat, ein Modell verbinden (AI → API Providers), Screener-Tools, AI Tools, MCP-Server und AI-Prompt-Knoten in Agents.
QuantCraft ToolsEingebaute schreibgeschützte Markt-Tools, die die KI aufrufen kann (Chat, AI-Prompt-Knoten, Test-/Optimization-Agents).
OHLCVBalkenform (OhlcvBarView), Loader (verbundener Broker vs. B2), Zeiträume und Nutzung von Balkendaten in Callbacks.
Indikatorserienchart_indicator_series-Overlays (Linien, Histogramme, Panes) auf Backtest-Ergebnis-Charts aufbauen.

Jede Karte im Index, die noch keinen vollständigen Artikel öffnet, ist in der Oberfläche mit Soon beschriftet.


Wie die In-App-Dokumentation zu Ihrem Workflow passt

Nutzen Sie diese Kurzübersicht, wenn Sie in der IDE etwas tun:

Sie möchten…Beginnen Sie mit
Symbole, Daten, Fundamentaldaten konfigurieren und eine Simulation ausführenStrategie-Lebenszyklus + OHLCV; dann Code ausführen (Test) und Testergebnisse.
Positionen, Stops dimensionieren oder Sharpe / Drawdown lesenKontomodell
Benutzer Schwellenwerte anpassen lassen, ohne Code zu ändernEingabeparameter
Eigene Serien auf dem Eigenkapital-Chart plottenIndikatorserien
Kurse und Einreichungen / Berichte mischenFundamentaldaten
Kurse und globale Faktorrenditen mischenFama-French-Faktoren
Auf Dividenden / Splits reagieren oder rund um Ergebnistermine absichernKalenderdaten — Callback-Argument calendar, days_to_earnings, Kapitalmaßnahmen
Primäre und sekundäre Zeitrahmen kombinierenOHLCV- und Balkendaten — Additional timeframes + rt.get_bar
Einstellungen eines Backtest- oder Forward-Dialogs wiederverwendenAusführungsvorlagen (.qcs)
In einer Zeile anhalten und Variablen untersuchenDebugging
Algos auf dem eigenen Rechner forward ausführenAutoTrading
Algos auf einem entfernten Runner ausführenQuantCloud
Eine Automatisierung aus visuellen Knoten bauenAgents

Die In-App-Artikel sind für Strategieautoren und IDE-Benutzer geschrieben. Die serverseitige Einrichtung von QuantCloud für Betreiber wird in dieser öffentlichen Dokumentation nicht behandelt.


Strategie-Importe

Schreiben Sie jeden Import als quantcraft.*, mit suffixfreien Modulnamen (zum Beispiel quantcraft.inputs, nicht quantcraft.inputs_module). Die älteren Pfade ide.* und quantcraft.*_module lösen weiterhin auf, ebenso quantcraft.backtest.* — der frühere Name des Pakets, bevor es in quantcraft.process.* umbenannt wurde —, sodass bestehende Strategien unverändert weiterlaufen — aber schreiben Sie keinen neuen Code dagegen.

Primärer ImportÄltere Pfade, die Sie sehen könnenVerwendet für
quantcraft.process.runtimequantcraft.backtest.runtime, ide.backtest.runtimeaccount, chart_indicators, qc_fundamentals, qc_fama_french, qc_calendar, get_bar (über import quantcraft.runtime as rt)
quantcraft (Timeframe)—Zeitrahmen-Enum für rt.get_bar(Timeframe.DAILY, shift=1) (primäre und zusätzliche Zeitrahmen)
quantcraft.runtime—Dasselbe Modul wie quantcraft.process.runtime, kürzere Schreibweise — import quantcraft.runtime as rt für rt.get_bar und die Runtime-Handles
quantcraft.timeframes—Das Timeframe-Enum (auch from quantcraft import Timeframe)
quantcraft.inputside.inputs_module, quantcraft.inputs_moduleparams aus den Lauf-Dialogen
quantcraft.process.ohlcvquantcraft.backtest.ohlcv, ide.backtest.ohlcv_module, quantcraft.backtest.ohlcv_moduleQcOhlcv, qc_ohlcv
quantcraft.fundamentalside.fundamentals_module, quantcraft.fundamentals_moduleQcFundamentals
quantcraft.fama_frenchide.factors_moduleQcFamaFrench, fama_french.qc
quantcraft.accountquantcraft.process.account, quantcraft.backtest.account, ide.account_module, quantcraft.account_modulePaperAccount, OpenPosition
quantcraft.process.indicator_seriesquantcraft.backtest.indicator_series, ide.backtest.indicator_series_module, quantcraft.backtest.indicator_series_moduleChartIndicatorSeries, coerce_chart_time
quantcraft.calendar_module—BacktestCalendar — wird als Callback-Argument calendar übergeben, wenn Kalenderdaten aktiviert sind; siehe Kalenderdaten. Das einzige Modul, das sein Suffix _module behält — es gibt kein quantcraft.calendar.
quantcraft.cross_sectional—Universumsweites Ranking / Z-Scores — siehe unten
quantcraft.process—clamp_indicator_period

Kürzere Re-Exporte funktionieren ebenfalls: quantcraft.indicator_series, quantcraft.account. Für Fama-French bevorzugen Sie from quantcraft import fama_french und lesen fama_french.qc innerhalb der Callbacks.

Zugriff auf Fama-French-Zeilen: dataset["rows"] ist ein YYYYMM → Werte-Dict, keine Liste. Nutzen Sie .row(...) oder .rows_chronological(...); latest_row(...) nur bei Forward-Läufen (im Backtest ist es Look-ahead — siehe Fama-French-Faktoren). Verwenden Sie nicht rows[0] / rows[-1].

Verwenden Sie in Strategieskripten keine internen Pakete wie quantcraft.b2.* (die Daten-Download-Schicht hinter den Kurs- und Fundamentaldaten-Loadern) oder quantcraft.ai_assistant.* — das sind interne Hilfen, nicht die Strategie-API. Verwechseln Sie quantcraft.process.ohlcv (Strategie-OHLCV-API) nicht mit quantcraft.b2.ohlcv (interne Datenschicht).

Cross-Sectional-Helfer

quantcraft.cross_sectional enthält vektorisierte Helfer zum Vergleich vieler Symbole auf einmal (numpy): stack_field, latest_return, latest_sma, latest_std, latest_rsi, rank, zscore, demean, winsorize sowie ColumnarBarArena.

import quantcraft.runtime as rt import quantcraft.cross_sectional as xs def on_bar(bar_index, bar, symbol=None): syms, close = xs.stack_field(rt.qc_ohlcv_by_symbol, "close") momentum = xs.latest_return(close, 20) # per-symbol 20-bar return score = dict(zip(syms, xs.rank(momentum))) # rank in [0, 1]

Wie geschrieben nur für Forward-/Bulk-Läufe. In einem Backtest enthält rt.qc_ohlcv_by_symbol den gesamten geladenen Bereich jedes Symbols, daher bedeutet „neuester“ dort den letzten Balken des Tests — Look-ahead. Sammeln Sie im Backtest stattdessen die Schlusskurse jedes Symbols aus seinem bar, während der Lauf voranschreitet, und übergeben Sie diese Arrays an die Helfer.

Modul-Handles vs. importierte Namen

quantcraft.process.runtime und quantcraft.fama_french sind Modul-Aliase, daher liest der Attributzugriff den aktuellen Sitzungswert:

import quantcraft.process.runtime as rt import quantcraft.fama_french as ff rt.account # this run's PaperAccount rt.chart_indicators # this run's collector ff.qc # this run's Fama-French loader

Alles andere re-exportiert Namen per Wert, daher bindet from ... import <name> einen Schnappschuss, der beim Import entsteht.

Für die Handles, die die Engine pro Lauf zuweist, bindet die Engine diese Namen in der Algo-Stammdatei nach dem Laden neu, sodass die Form from ... import dort sicher ist — für die Namen, die sie neu bindet:

  • Backtest / Debug Test: account, chart_indicators, get_bar, qc_ohlcv, qc_ohlcv_by_symbol, qc_ohlcv_by_tf, qc_fundamentals, qc_fama_french, qc_calendar.
  • Forward-Läufe: nur account, qc_fundamentals und qc_fama_french — nutzen Sie dort für chart_indicators und die OHLCV-Handles also rt.<name>.
# Fine in the root algo file — the engine rebinds these after loading your script from quantcraft.process.runtime import account, qc_fundamentals, qc_fama_french

Ein aufgeteiltes Hilfsmodul ist anders: Es bleibt über Läufe im selben Prozess hinweg in sys.modules gecacht, sodass ein importierter Name das Handle der Sitzung behält, die beim ersten Import aktuell war — veraltet für den nächsten Lauf (Forward / Bulk). Importieren Sie in Hilfsmodulen das Modul und nutzen Sie Attributzugriff:

# helpers/signals.py — always read through the module import quantcraft.process.runtime as rt def record(sym, t, value): rt.chart_indicators.add(...) # live handle for *this* run

from quantcraft.inputs import params ist die Ausnahme: params ist ein einzelnes lebendiges Objekt, dessen Werte sich pro Lauf ändern, daher ist die Form from überall sicher — siehe Eingabeparameter.


Mitgelieferte Strategie-Referenz (Markdown)

Für das Modulverhalten auf Zeilenebene, Callback-Verträge und Engine-Details enthält das Produkt außerdem Markdown im Bundle quantcraft-dev (konzeptionell: „QuantCraft-Strategie-Referenz“). Ein typisches Inhaltsverzeichnis sieht so aus:

DokumentSchwerpunkt
IMPORTSquantcraft.*-Importpfade (inkl. quantcraft.cross_sectional), die älteren Pfade ide.* / quantcraft.backtest.*, die für bestehende Skripte weiter aufgelöst werden, sowie Modul-Handles vs. importierte Namen
BACKTEST_READMEÜberblick über das Backtest-Paket
BACKTEST_ENGINEEngine-Orchestrierung, Konfiguration, Callbacks, Ergebnis-Nutzlast
BACKTEST_MODULEWebSocket-Backtest-Einstieg aus der IDE
IDE_BACKTEST_RUNNERSubprozess-Runner neben dem Python-Dienst
RUNTIMERuntime-Globals: account, chart_indicators, get_bar / primäre und zusätzliche Zeitrahmen; Handles pro Sitzung und rt.<name>-Zugriff
INPUTS_MODULEparams-Anbindung aus den Lauf-Dialogen
RUN_CONFIG_QCS.qcs-Ausführungsvorlagenformat und dialogübergreifende Zuordnung
ACCOUNT_MODULEPaperAccount-Handels-API, Provision / Slippage
OHLCV_MODULEQcOhlcv-Loader, bar in Callbacks, sekundäre Zeitrahmen
INDICATOR_SERIES_MODULEChart-Serien-Nutzlast und Helfer
FUNDAMENTALS_MODULEJSON-Form und API der Fundamentaldaten
FAMA_FRENCHGlobale Fama-French-Faktoren / fama_french.qc / YYYYMM-Zeilen-Dict
CALENDAR_MODULEDividenden, Splits, Ergebnistermine (Callback-Argument calendar); Kapitalmaßnahmen in der Simulation — die Benutzerseite ist Kalenderdaten
DEBUGGINGDebug Run / Debug Test, Haltepunkte, Aufrufliste und Variablen — die Benutzerseite ist Debugging
AUTO_TRADINGLokale Forward-Läufe (Algo + Agent-Bulk) und der Dialog New Run — die Benutzerseite ist AutoTrading
QUANT_CLOUDAlgorithmus-Forward-Bulk-Jobs auf Cloud-Runnern — die Benutzerseite ist QuantCloud
AGENTSTrading-/Test-/Optimization-Agents, AI Builder, Papier-Test vs. Forward/Live über verbundenen Broker — die Benutzerseite ist Agents
AI_ASSISTANTDer IDE-KI-Chat, Modellanbieter, Screener-Tools, AI Tools, MCP-Server — die Benutzerseite ist QuantCraft AI
QUANTCRAFT_TOOLSEingebaute schreibgeschützte Markt-Tools für die KI — die Benutzerseite ist QuantCraft Tools
SCREENERNo-Code- und Python-Screens, Vorlagen, Screener-gesteuerte Läufe — die Benutzerseite ist Screener
POSSIBLE_ERRORSHäufige Fehler und Lösungen — die Benutzerseite ist Mögliche Fehler

Diese Dateien richten sich an Strategieautoren, die exakte Namen und Verträge brauchen. Fortgeschrittene Themen wie BACKTEST_MODULE (WebSocket-Backtest-Einstieg) und IDE_BACKTEST_RUNNER (Subprozess-Runner) sind für Mitwirkende im Bundle enthalten, aber keine primären Benutzerpfade. QuantCraft AI in der IDE ist mit diesem Material vorab geladen, damit Antworten mit den ausgelieferten Modulen übereinstimmen.


Weitere Hilfeoberflächen in QuantCraft

Diese gehören nicht zum Tab Documentation, sind aber Teil desselben „Referenz-Ökosystems“ für Benutzer:

  • QuantCraft AI — Stellen Sie Fragen in natürlicher Sprache; Antworten können sich auf dasselbe Entwicklungskorpus stützen. Verbinden Sie ein Modell unter AI → API Providers (eigener Schlüssel oder QuantCraft Premium / gehostete Optionen).
  • Import und Export — .py-Dateien (und verwandte) zwischen Festplatte und Arbeitsbereich verschieben.
  • Testergebnisse — Eigenkapitalkurve, Kennzahlen, Trades und HTML-Export nach einem Backtest.

Suchtipps

  • Bevorzugen Sie kurze Tokens, die im Code vorkommen: on_finish, params, chart_indicator_series, coerce_chart_time, pane_id.
  • Wenn nichts passt, leeren Sie die Suche — der Index listet jedes Thema nach Abschnitt.
  • Themenübergreifende Ideen (zum Beispiel „Fundamentaldaten + on_bar“) brauchen oft zwei Artikel: Öffnen Sie Fundamentaldaten für die Datenform, dann Strategie-Lebenszyklus dafür, wann sie verfügbar sind.

Dokumentationshistorie

Die In-App-Dokumentation wird zusammen mit der Strategie-Runtime gepflegt. Wenn sich die Python-Module oder die Backtest-Nutzlast ändern, werden die In-App-Themen und das mitgelieferte Markdown gemeinsam aktualisiert, damit Beispiele und Namen synchron bleiben. Strategie-Importbeispiele sind durchgängig mit suffixfreien quantcraft.*-Pfaden geschrieben; die älteren Pfade ide.*_module und quantcraft.*_module sind nur als Lesehilfe für bestehende Skripte dokumentiert.

Referenz — Dokumentation (1.0 (latest)) | QuantCraft