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
- Ouvrez QuantCraft depuis l'application principale.
- Développez la barre latérale droite (si elle est réduite).
- 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
| Rubrique | Ce que vous apprendrez |
|---|---|
| Données fondamentales | Donné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-French | Rendements mensuels globaux de facteurs FF3/FF5 via fama_french.qc (Premium ; pas d'argument de callback). |
| Données de calendrier | Dividendes, fractionnements, dates de résultats et dépôts (argument de callback calendar, backtests uniquement) et opérations sur titres dans la simulation. |
| Compte | PaperAccount : soldes, positions, ordres, PnL et métriques de performance exposés pendant un backtest. |
| Cycle de vie | Ordre 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
| Rubrique | Ce que vous apprendrez |
|---|---|
| Paramètres d'entrée | Dé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ébogage | Debug Run et Debug Test, points d'arrêt, exécution pas à pas, pile d'appels et variables. |
| AutoTrading | Exécutions forward locales d'algorithmes et d'agents, New Bulk / Agent Bulk Run, et suivi des tâches en masse / sur graphique. |
| QuantCloud | Exécutions forward en masse sur des exécuteurs cloud lorsque votre PC est éteint (guide utilisateur de l'application de bureau). |
| Agents | Agents 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 AI | La 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 Tools | Outils de marché intégrés en lecture seule que l'IA peut appeler (discussion, nœuds AI Prompt, agents Test / Optimization). |
| OHLCV | Forme des barres (OhlcvBarView), chargeurs (courtier connecté ou B2), plages de temps et utilisation des données de barres dans les callbacks. |
| Séries d'indicateurs | Construire 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 simulation | Cycle 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 / drawdown | Modèle de compte |
| Laisser les utilisateurs ajuster des seuils sans modifier le code | Paramètres d'entrée |
| Tracer des séries personnalisées sur le graphique de capital | Séries d'indicateurs |
| Mélanger prix et dépôts / états financiers | Données fondamentales |
| Mélanger prix et rendements de facteurs globaux | Facteurs Fama-French |
| Réagir aux dividendes / fractionnements, ou se protéger autour des dates de résultats | Données de calendrier — argument de callback calendar, days_to_earnings, opérations sur titres |
| Combiner intervalles principal et secondaires | Données OHLCV et de barres — Additional timeframes + rt.get_bar |
| Réutiliser les réglages d'une fenêtre de backtest ou de forward | Préréglages d'exécution (.qcs) |
| Faire une pause sur une ligne et inspecter les variables | Débogage |
| Exécuter des algos en forward sur votre propre machine | AutoTrading |
| Exécuter des algos sur un exécuteur distant | QuantCloud |
| Construire une automatisation à partir de nœuds visuels | Agents |
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 principal | Anciens chemins que vous pouvez rencontrer | Utilisé pour |
|---|---|---|
quantcraft.process.runtime | quantcraft.backtest.runtime, ide.backtest.runtime | account, 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.inputs | ide.inputs_module, quantcraft.inputs_module | params provenant des fenêtres d'exécution |
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 — 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_symbolcontient 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 sabarau 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 loaderTout 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_fundamentalsetqc_fama_french— pourchart_indicatorset les handles OHLCV, utilisez doncrt.<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_frenchUn 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* runfrom 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 :
| Document | Sujet |
|---|---|
| IMPORTS | Chemins 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_README | Vue d'ensemble du paquet de backtest |
| BACKTEST_ENGINE | Orchestration du moteur, configuration, callbacks, charge utile du résultat |
| BACKTEST_MODULE | Point d'entrée WebSocket du backtest depuis l'IDE |
| IDE_BACKTEST_RUNNER | Exécuteur en sous-processus à côté du service Python |
| RUNTIME | Globales du runtime : account, chart_indicators, get_bar / intervalles principal et supplémentaires ; handles par session et accès rt.<name> |
| INPUTS_MODULE | Câblage de params depuis les fenêtres d'exécution |
| RUN_CONFIG_QCS | Format des préréglages d'exécution .qcs et correspondance entre fenêtres |
| ACCOUNT_MODULE | API de trading PaperAccount, commission / slippage |
| OHLCV_MODULE | Chargeurs QcOhlcv, bar dans les callbacks, intervalles secondaires |
| INDICATOR_SERIES_MODULE | Charge utile des séries de graphique et assistants |
| FUNDAMENTALS_MODULE | Forme JSON et API des données fondamentales |
| FAMA_FRENCH | Facteurs Fama-French globaux / fama_french.qc / dict de lignes YYYYMM |
| CALENDAR_MODULE | Dividendes, fractionnements, dates de résultats (argument de callback calendar) ; opérations sur titres dans la simulation — la page utilisateur est Données de calendrier |
| DEBUGGING | Debug Run / Debug Test, points d'arrêt, pile d'appels et variables — la page utilisateur est Débogage |
| AUTO_TRADING | Exécutions forward locales (algo + agent en masse) et fenêtre New Run — la page utilisateur est AutoTrading |
| QUANT_CLOUD | Tâches forward en masse d'algorithmes sur des exécuteurs cloud — la page utilisateur est QuantCloud |
| AGENTS | Agents Trading / Test / Optimization, AI Builder, Test sur papier vs forward/réel via courtier connecté — la page utilisateur est Agents |
| AI_ASSISTANT | La discussion IA de l'IDE, fournisseurs de modèles, outils du Screener, AI Tools, serveurs MCP — la page utilisateur est QuantCraft AI |
| QUANTCRAFT_TOOLS | Outils de marché intégrés en lecture seule pour l'IA — la page utilisateur est QuantCraft Tools |
| SCREENER | Filtres no-code et Python, préréglages, exécutions pilotées par le screener — la page utilisateur est Screener |
| POSSIBLE_ERRORS | Erreurs 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.

