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
- Öffnen Sie QuantCraft in der Haupt-App.
- Klappen Sie die rechte Seitenleiste auf (falls sie eingeklappt ist).
- Ö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
| Thema | Was Sie lernen |
|---|---|
| Fundamentaldaten | Finanzberichtsdaten, datumsindizierte Tabellen, wie Fundamentaldaten an Balken ausgerichtet werden und wie man sie in einer Strategie liest. |
| Fama-French-Faktoren | Globale monatliche FF3/FF5-Faktorrenditen über fama_french.qc (Premium; kein Callback-Argument). |
| Kalenderdaten | Dividenden, Splits, Ergebnistermine und Einreichungen (Callback-Argument calendar, nur Backtests) und Kapitalmaßnahmen in der Simulation. |
| Konto | PaperAccount: Salden, Positionen, Orders, PnL und Performance-Kennzahlen, die während eines Backtests bereitstehen. |
| Lebenszyklus | Callback-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
| Thema | Was Sie lernen |
|---|---|
| Eingabeparameter | quantcraft.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. |
| Debugging | Debug Run vs. Debug Test, Haltepunkte, Einzelschritte, Aufrufliste und Variablen. |
| AutoTrading | Lokale Forward-Läufe für Algorithmen und Agents, New Bulk / Agent Bulk Run und Überwachung von Bulk-/Chart-Jobs. |
| QuantCloud | Forward-Bulk-Läufe auf Cloud-Runnern, wenn Ihr PC aus ist (Desktop-Benutzerhandbuch). |
| Agents | Trading-, 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 AI | Der IDE-KI-Chat, ein Modell verbinden (AI → API Providers), Screener-Tools, AI Tools, MCP-Server und AI-Prompt-Knoten in Agents. |
| QuantCraft Tools | Eingebaute schreibgeschützte Markt-Tools, die die KI aufrufen kann (Chat, AI-Prompt-Knoten, Test-/Optimization-Agents). |
| OHLCV | Balkenform (OhlcvBarView), Loader (verbundener Broker vs. B2), Zeiträume und Nutzung von Balkendaten in Callbacks. |
| Indikatorserien | chart_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ühren | Strategie-Lebenszyklus + OHLCV; dann Code ausführen (Test) und Testergebnisse. |
| Positionen, Stops dimensionieren oder Sharpe / Drawdown lesen | Kontomodell |
| Benutzer Schwellenwerte anpassen lassen, ohne Code zu ändern | Eingabeparameter |
| Eigene Serien auf dem Eigenkapital-Chart plotten | Indikatorserien |
| Kurse und Einreichungen / Berichte mischen | Fundamentaldaten |
| Kurse und globale Faktorrenditen mischen | Fama-French-Faktoren |
| Auf Dividenden / Splits reagieren oder rund um Ergebnistermine absichern | Kalenderdaten — Callback-Argument calendar, days_to_earnings, Kapitalmaßnahmen |
| Primäre und sekundäre Zeitrahmen kombinieren | OHLCV- und Balkendaten — Additional timeframes + rt.get_bar |
| Einstellungen eines Backtest- oder Forward-Dialogs wiederverwenden | Ausführungsvorlagen (.qcs) |
| In einer Zeile anhalten und Variablen untersuchen | Debugging |
| Algos auf dem eigenen Rechner forward ausführen | AutoTrading |
| Algos auf einem entfernten Runner ausführen | QuantCloud |
| Eine Automatisierung aus visuellen Knoten bauen | Agents |
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önnen | Verwendet für |
|---|---|---|
quantcraft.process.runtime | quantcraft.backtest.runtime, ide.backtest.runtime | account, 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.inputs | ide.inputs_module, quantcraft.inputs_module | params aus den Lauf-Dialogen |
quantcraft.process.ohlcv | quantcraft.backtest.ohlcv, ide.backtest.ohlcv_module, quantcraft.backtest.ohlcv_module | QcOhlcv, qc_ohlcv |
quantcraft.fundamentals | ide.fundamentals_module, quantcraft.fundamentals_module | QcFundamentals |
quantcraft.fama_french | ide.factors_module | QcFamaFrench, fama_french.qc |
quantcraft.account | quantcraft.process.account, quantcraft.backtest.account, ide.account_module, quantcraft.account_module | PaperAccount, OpenPosition |
quantcraft.process.indicator_series | quantcraft.backtest.indicator_series, ide.backtest.indicator_series_module, quantcraft.backtest.indicator_series_module | ChartIndicatorSeries, 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_symbolden 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 seinembar, 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 loaderAlles 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_fundamentalsundqc_fama_french— nutzen Sie dort fürchart_indicatorsund die OHLCV-Handles alsort.<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_frenchEin 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* runfrom 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:
| Dokument | Schwerpunkt |
|---|---|
| IMPORTS | quantcraft.*-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_ENGINE | Engine-Orchestrierung, Konfiguration, Callbacks, Ergebnis-Nutzlast |
| BACKTEST_MODULE | WebSocket-Backtest-Einstieg aus der IDE |
| IDE_BACKTEST_RUNNER | Subprozess-Runner neben dem Python-Dienst |
| RUNTIME | Runtime-Globals: account, chart_indicators, get_bar / primäre und zusätzliche Zeitrahmen; Handles pro Sitzung und rt.<name>-Zugriff |
| INPUTS_MODULE | params-Anbindung aus den Lauf-Dialogen |
| RUN_CONFIG_QCS | .qcs-Ausführungsvorlagenformat und dialogübergreifende Zuordnung |
| ACCOUNT_MODULE | PaperAccount-Handels-API, Provision / Slippage |
| OHLCV_MODULE | QcOhlcv-Loader, bar in Callbacks, sekundäre Zeitrahmen |
| INDICATOR_SERIES_MODULE | Chart-Serien-Nutzlast und Helfer |
| FUNDAMENTALS_MODULE | JSON-Form und API der Fundamentaldaten |
| FAMA_FRENCH | Globale Fama-French-Faktoren / fama_french.qc / YYYYMM-Zeilen-Dict |
| CALENDAR_MODULE | Dividenden, Splits, Ergebnistermine (Callback-Argument calendar); Kapitalmaßnahmen in der Simulation — die Benutzerseite ist Kalenderdaten |
| DEBUGGING | Debug Run / Debug Test, Haltepunkte, Aufrufliste und Variablen — die Benutzerseite ist Debugging |
| AUTO_TRADING | Lokale Forward-Läufe (Algo + Agent-Bulk) und der Dialog New Run — die Benutzerseite ist AutoTrading |
| QUANT_CLOUD | Algorithmus-Forward-Bulk-Jobs auf Cloud-Runnern — die Benutzerseite ist QuantCloud |
| AGENTS | Trading-/Test-/Optimization-Agents, AI Builder, Papier-Test vs. Forward/Live über verbundenen Broker — die Benutzerseite ist Agents |
| AI_ASSISTANT | Der IDE-KI-Chat, Modellanbieter, Screener-Tools, AI Tools, MCP-Server — die Benutzerseite ist QuantCraft AI |
| QUANTCRAFT_TOOLS | Eingebaute schreibgeschützte Markt-Tools für die KI — die Benutzerseite ist QuantCraft Tools |
| SCREENER | No-Code- und Python-Screens, Vorlagen, Screener-gesteuerte Läufe — die Benutzerseite ist Screener |
| POSSIBLE_ERRORS | Hä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.

