Documentation1.0 (latest)
PagesRéférence · 28 / 29

Référence de la documentation QuantCraft

QuantCraft propose deux types de documentation complémentaires : des rubriques intégrées que vous lisez dans l'IDE, et un Markdown de référence de stratégie fourni avec le produit pour le détail de l'API. Ensemble, ils décrivent comment écrire des stratégies, exécuter des backtests et utiliser l'IDE. Cette documentation web reprend bon nombre de ces rubriques — commencez par l'Introduction ou Premiers pas.


Où lire la documentation dans l'application

  1. Ouvrez QuantCraft depuis l'application principale.
  2. Développez la barre latérale droite (si elle est réduite).
  3. Ouvrez l'onglet Documentation (à côté de QuantCraft AI).

Vous arrivez sur un index consultable des rubriques. Saisissez du texte dans la zone de recherche pour filtrer par titre, résumé ou mots-clés intégrés (par exemple on_finish, PaperAccount, chart_indicator_series).

Touchez une carte de rubrique pour ouvrir l'article complet. Utilisez Back pour revenir à l'index.


Index des rubriques (dans l'application)

Les rubriques sont regroupées en deux sections, comme dans la barre latérale Documentation.

Getting started

RubriqueCe que vous apprendrez
Données fondamentalesDonnées des états financiers, tables indexées par date, alignement des données fondamentales sur les barres, et lecture dans une stratégie.
Facteurs Fama-FrenchRendements mensuels globaux de facteurs FF3/FF5 via fama_french.qc (Premium ; pas d'argument de callback).
Données de calendrierDividendes, fractionnements, dates de résultats et dépôts (argument de callback calendar, backtests uniquement) et opérations sur titres dans la simulation.
ComptePaperAccount : soldes, positions, ordres, PnL et métriques de performance exposés pendant un backtest.
Cycle de vieOrdre des callbacks : on_init, on_bar, on_tick, on_timer optionnel (forward uniquement), on_finish — y compris les bases multi-symboles et on_finish(bars) optionnel en série complète.

Reference

RubriqueCe que vous apprendrez
Paramètres d'entréeDéclarer quantcraft.inputs.params, les types, et comment les valeurs sont fournies par les fenêtres d'exécution (backtest, forward en masse, forward sur graphique).
Préréglages d'exécution (.qcs)Enregistrer et recharger les réglages des fenêtres d'exécution sous forme de fichiers .qcs dans votre espace de travail.
DébogageDebug Run et Debug Test, points d'arrêt, exécution pas à pas, pile d'appels et variables.
AutoTradingExécutions forward locales d'algorithmes et d'agents, New Bulk / Agent Bulk Run, et suivi des tâches en masse / sur graphique.
QuantCloudExécutions forward en masse sur des exécuteurs cloud lorsque votre PC est éteint (guide utilisateur de l'application de bureau).
AgentsAgents Trading, Test et Optimization ; construire des graphes de nœuds à la main ou avec l'AI Builder ; paramètres exposés et optimisation ; backtest sur compte papier, forward / réel via le courtier connecté ; import / export .qca.
QuantCraft AILa discussion IA de l'IDE, connexion d'un modèle (AI → API Providers), outils du Screener, AI Tools, serveurs MCP et nœuds AI Prompt dans les agents.
QuantCraft ToolsOutils de marché intégrés en lecture seule que l'IA peut appeler (discussion, nœuds AI Prompt, agents Test / Optimization).
OHLCVForme des barres (OhlcvBarView), chargeurs (courtier connecté ou B2), plages de temps et utilisation des données de barres dans les callbacks.
Séries d'indicateursConstruire des superpositions chart_indicator_series (lignes, histogrammes, volets) sur les graphiques de résultats de backtest.

Toute carte de l'index qui n'ouvre pas encore d'article complet porte la mention Soon dans l'interface.


Lien entre la documentation intégrée et votre flux de travail

Utilisez cette carte rapide lorsque vous faites quelque chose dans l'IDE :

Vous voulez…Commencez par
Configurer symboles, dates, données fondamentales et lancer une simulationCycle de vie de la stratégie + OHLCV ; puis Exécution du code (Test) et Résultats des tests.
Dimensionner des positions, des stops, ou lire Sharpe / drawdownModèle de compte
Laisser les utilisateurs ajuster des seuils sans modifier le codeParamètres d'entrée
Tracer des séries personnalisées sur le graphique de capitalSéries d'indicateurs
Mélanger prix et dépôts / états financiersDonnées fondamentales
Mélanger prix et rendements de facteurs globauxFacteurs Fama-French
Réagir aux dividendes / fractionnements, ou se protéger autour des dates de résultatsDonnées de calendrier — argument de callback calendar, days_to_earnings, opérations sur titres
Combiner intervalles principal et secondairesDonnées OHLCV et de barres — Additional timeframes + rt.get_bar
Réutiliser les réglages d'une fenêtre de backtest ou de forwardPréréglages d'exécution (.qcs)
Faire une pause sur une ligne et inspecter les variablesDébogage
Exécuter des algos en forward sur votre propre machineAutoTrading
Exécuter des algos sur un exécuteur distantQuantCloud
Construire une automatisation à partir de nœuds visuelsAgents

Les articles intégrés s'adressent aux auteurs de stratégies et aux utilisateurs de l'IDE. La mise en place côté serveur de QuantCloud n'est pas couverte par cette documentation publique.


Imports de stratégie

Écrivez chaque import sous la forme quantcraft.*, avec des noms de modules sans suffixe (par exemple quantcraft.inputs, pas quantcraft.inputs_module). Les anciens chemins ide.* et quantcraft.*_module fonctionnent toujours, tout comme quantcraft.backtest.* — l'ancien nom du paquet avant qu'il ne soit renommé quantcraft.process.* — de sorte que les stratégies existantes continuent de fonctionner sans changement — mais n'écrivez pas de nouveau code avec eux.

Import principalAnciens chemins que vous pouvez rencontrerUtilisé pour
quantcraft.process.runtimequantcraft.backtest.runtime, ide.backtest.runtimeaccount, chart_indicators, qc_fundamentals, qc_fama_french, qc_calendar, get_bar (via import quantcraft.runtime as rt)
quantcraft (Timeframe)—Énumération d'intervalles pour rt.get_bar(Timeframe.DAILY, shift=1) (intervalles principal et supplémentaires)
quantcraft.runtime—Même module que quantcraft.process.runtime, écriture plus courte — import quantcraft.runtime as rt pour rt.get_bar et les handles du runtime
quantcraft.timeframes—L'énumération Timeframe (aussi from quantcraft import Timeframe)
quantcraft.inputside.inputs_module, quantcraft.inputs_moduleparams provenant des fenêtres d'exécution
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 — transmis comme argument de callback calendar lorsque les données de calendrier sont activées ; voir Données de calendrier. Le seul module qui conserve son suffixe _module — il n'existe pas de quantcraft.calendar.
quantcraft.cross_sectional—Classement / z-scores sur tout l'univers — voir ci-dessous
quantcraft.process—clamp_indicator_period

Des réexportations plus courtes fonctionnent aussi : quantcraft.indicator_series, quantcraft.account. Pour Fama-French, préférez from quantcraft import fama_french et lisez fama_french.qc dans les callbacks.

Accès aux lignes Fama-French : dataset["rows"] est un dict YYYYMM → valeurs, pas une liste. Utilisez .row(...) ou .rows_chronological(...) ; latest_row(...) uniquement dans les exécutions forward (en backtest, c'est de l'anticipation — voir Facteurs Fama-French). N'utilisez pas rows[0] / rows[-1].

N'utilisez pas de paquets internes comme quantcraft.b2.* (la couche de téléchargement de données derrière les chargeurs de prix et de données fondamentales) ni quantcraft.ai_assistant.* dans les scripts de stratégie — ce sont des assistants internes, pas l'API de stratégie. Ne confondez pas quantcraft.process.ohlcv (API OHLCV de stratégie) avec quantcraft.b2.ohlcv (couche de données interne).

Assistants transversaux

quantcraft.cross_sectional propose des assistants vectorisés pour comparer de nombreux symboles à la fois (numpy) : stack_field, latest_return, latest_sma, latest_std, latest_rsi, rank, zscore, demean, winsorize, ainsi que 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]

Exécutions forward / en masse uniquement, tel qu'écrit. En backtest, rt.qc_ohlcv_by_symbol contient la plage complète chargée de chaque symbole ; « le dernier » y désigne donc la dernière barre du test — de l'anticipation. En backtest, collectez plutôt les clôtures de chaque symbole depuis sa bar au fil du parcours et transmettez ces tableaux aux assistants.

Poignées de module et noms importés

quantcraft.process.runtime et quantcraft.fama_french sont des alias de module ; l'accès par attribut lit donc la valeur courante de la session :

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

Tout le reste réexporte des noms par valeur : from ... import <name> lie donc un instantané pris à l'import.

Pour les handles que le moteur affecte à chaque exécution, il relie ces noms dans le fichier d'algo racine après l'avoir chargé ; la forme from ... import y est donc sûre — pour les noms qu'il relie :

  • 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.
  • Exécutions forward : seulement account, qc_fundamentals et qc_fama_french — pour chart_indicators et les handles OHLCV, utilisez donc rt.<name> dans ce cas.
# 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

Un module d'aide séparé est différent : il reste en cache dans sys.modules d'une exécution à l'autre dans le même processus ; un nom importé conserve donc le handle de la session courante lors du premier import — périmé pour l'exécution suivante (forward / en masse). Dans les modules d'aide, importez le module et utilisez l'accès par attribut :

# 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 est l'exception : params est un seul objet vivant dont les valeurs changent à chaque exécution, donc la forme from est sûre partout — voir Paramètres d'entrée.


Référence de stratégie fournie (Markdown)

Pour le comportement des modules ligne par ligne, les contrats des callbacks et les détails du moteur, le produit inclut aussi du Markdown dans le lot quantcraft-dev (conceptuellement : « référence de stratégie QuantCraft »). Une table des matières typique ressemble à ceci :

DocumentSujet
IMPORTSChemins d'import quantcraft.* (dont quantcraft.cross_sectional), anciens chemins ide.* / quantcraft.backtest.* toujours résolus pour les scripts existants, et poignées de module vs noms importés
BACKTEST_READMEVue d'ensemble du paquet de backtest
BACKTEST_ENGINEOrchestration du moteur, configuration, callbacks, charge utile du résultat
BACKTEST_MODULEPoint d'entrée WebSocket du backtest depuis l'IDE
IDE_BACKTEST_RUNNERExécuteur en sous-processus à côté du service Python
RUNTIMEGlobales du runtime : account, chart_indicators, get_bar / intervalles principal et supplémentaires ; handles par session et accès rt.<name>
INPUTS_MODULECâblage de params depuis les fenêtres d'exécution
RUN_CONFIG_QCSFormat des préréglages d'exécution .qcs et correspondance entre fenêtres
ACCOUNT_MODULEAPI de trading PaperAccount, commission / slippage
OHLCV_MODULEChargeurs QcOhlcv, bar dans les callbacks, intervalles secondaires
INDICATOR_SERIES_MODULECharge utile des séries de graphique et assistants
FUNDAMENTALS_MODULEForme JSON et API des données fondamentales
FAMA_FRENCHFacteurs Fama-French globaux / fama_french.qc / dict de lignes YYYYMM
CALENDAR_MODULEDividendes, fractionnements, dates de résultats (argument de callback calendar) ; opérations sur titres dans la simulation — la page utilisateur est Données de calendrier
DEBUGGINGDebug Run / Debug Test, points d'arrêt, pile d'appels et variables — la page utilisateur est Débogage
AUTO_TRADINGExécutions forward locales (algo + agent en masse) et fenêtre New Run — la page utilisateur est AutoTrading
QUANT_CLOUDTâches forward en masse d'algorithmes sur des exécuteurs cloud — la page utilisateur est QuantCloud
AGENTSAgents Trading / Test / Optimization, AI Builder, Test sur papier vs forward/réel via courtier connecté — la page utilisateur est Agents
AI_ASSISTANTLa discussion IA de l'IDE, fournisseurs de modèles, outils du Screener, AI Tools, serveurs MCP — la page utilisateur est QuantCraft AI
QUANTCRAFT_TOOLSOutils de marché intégrés en lecture seule pour l'IA — la page utilisateur est QuantCraft Tools
SCREENERFiltres no-code et Python, préréglages, exécutions pilotées par le screener — la page utilisateur est Screener
POSSIBLE_ERRORSErreurs courantes et correctifs — la page utilisateur est Erreurs possibles

Ces fichiers s'adressent aux auteurs de stratégies qui ont besoin des noms et contrats exacts. Les sujets avancés comme BACKTEST_MODULE (point d'entrée WebSocket du backtest) et IDE_BACKTEST_RUNNER (exécuteur en sous-processus) sont inclus dans le lot pour les contributeurs mais ne sont pas des parcours utilisateur principaux. QuantCraft AI dans l'IDE est préchargé avec ce contenu afin que les réponses restent alignées sur les modules livrés.


Autres surfaces d'aide dans QuantCraft

Elles ne font pas partie de l'onglet Documentation mais appartiennent au même « écosystème de référence » pour les utilisateurs :

  • QuantCraft AI — Posez des questions en langage naturel ; les réponses peuvent citer le même corpus de développement. Connectez un modèle dans AI → API Providers (votre propre clé, ou QuantCraft Premium / options hébergées).
  • Import et export — Déplacez des fichiers .py (et associés) entre le disque et l'espace de travail.
  • Résultats des tests — Graphique de capital, métriques, opérations et export HTML après un backtest.

Conseils de recherche

  • Préférez des jetons courts qui apparaissent dans le code : on_finish, params, chart_indicator_series, coerce_chart_time, pane_id.
  • Si rien ne correspond, effacez la recherche — l'index liste chaque rubrique par section.
  • Les idées transversales (par exemple « données fondamentales + on_bar ») nécessitent souvent deux articles : ouvrez Données fondamentales pour la forme des données, puis Cycle de vie de la stratégie pour savoir quand elles sont disponibles.

Historique du document

La documentation intégrée est maintenue en même temps que le runtime des stratégies. Lorsque les modules Python ou la charge utile du backtest changent, les rubriques intégrées et le Markdown fourni sont mis à jour ensemble pour que les exemples et les noms restent synchronisés. Les exemples d'import de stratégie sont écrits partout avec des chemins quantcraft.* sans suffixe ; les anciens chemins ide.*_module et quantcraft.*_module ne sont documentés que comme aide à la lecture des scripts existants.

Référence — Documentation (1.0 (latest)) | QuantCraft