PáginasReferência · 28 / 29
Referência da documentação do QuantCraft
O QuantCraft traz dois tipos de documentação complementares: tópicos integrados que você lê dentro do IDE e Markdown de referência de estratégias incluído no produto para o detalhe da API. Juntos, descrevem como escrever estratégias, executar backtests e usar o IDE. Esta documentação web espelha muitos desses tópicos — comece pela Introdução ou por Primeiros passos.
Onde ler a documentação no aplicativo
- Abra o QuantCraft pelo aplicativo principal.
- Expanda a barra lateral direita (se estiver recolhida).
- Abra a aba Documentation (ao lado do QuantCraft AI).
Você chega a um índice pesquisável de tópicos. Digite na caixa de busca para filtrar por título, resumo ou palavras-chave incorporadas (por exemplo on_finish, PaperAccount, chart_indicator_series).
Toque em um cartão de tópico para abrir o artigo completo. Use Back para voltar ao índice.
Índice de tópicos (no aplicativo)
Os tópicos são agrupados em duas seções, como na barra lateral Documentation.
Getting started
| Tópico | O que você vai aprender |
|---|---|
| Dados fundamentalistas | Dados de demonstrações financeiras, tabelas indexadas por data, como os dados fundamentalistas se alinham às barras e como lê-los em uma estratégia. |
| Fatores Fama-French | Retornos mensais globais de fatores FF3/FF5 por meio de fama_french.qc (Premium; sem argumento de callback). |
| Dados de calendário | Dividendos, desdobramentos, datas de resultados e arquivamentos (argumento de callback calendar, somente backtests) e eventos corporativos na simulação. |
| Conta | PaperAccount: saldos, posições, ordens, PnL e métricas de desempenho expostos durante um backtest. |
| Ciclo de vida | Ordem dos callbacks: on_init, on_bar, on_tick, on_timer opcional (somente forward), on_finish — incluindo noções de vários símbolos e o on_finish(bars) opcional de série completa. |
Reference
| Tópico | O que você vai aprender |
|---|---|
| Parâmetros de entrada | Declarar quantcraft.inputs.params, os tipos e como os valores são fornecidos pelas caixas de execução (backtest, forward em massa, forward no gráfico). |
| Predefinições de execução (.qcs) | Salvar e recarregar as configurações das caixas de execução como arquivos .qcs no seu espaço de trabalho. |
| Depuração | Debug Run vs Debug Test, pontos de interrupção, execução passo a passo, pilha de chamadas e variáveis. |
| AutoTrading | Execuções forward locais de algoritmos e agentes, New Bulk / Agent Bulk Run e monitoramento de tarefas em massa / no gráfico. |
| QuantCloud | Execuções forward em massa em executores na nuvem quando o seu PC está desligado (guia do usuário desktop). |
| Agentes | Agentes Trading, Test e Optimization; montar grafos de nós à mão ou com o AI Builder; parâmetros expostos e otimização; backtest em paper, forward / real pela corretora conectada; importação / exportação .qca. |
| QuantCraft AI | O chat de IA do IDE, conectar um modelo (AI → API Providers), ferramentas do Screener, AI Tools, servidores MCP e nós AI Prompt em agentes. |
| QuantCraft Tools | Ferramentas de mercado integradas somente leitura que a IA pode chamar (chat, nós AI Prompt, agentes Test / Optimization). |
| OHLCV | Formato das barras (OhlcvBarView), carregadores (corretora conectada vs B2), intervalos de tempo e uso dos dados de barras nos callbacks. |
| Séries de indicadores | Montar sobreposições chart_indicator_series (linhas, histogramas, painéis) nos gráficos de resultado do backtest. |
Qualquer cartão do índice que ainda não abra um artigo completo aparece rotulado como Soon na interface.
Como a documentação integrada se relaciona com o seu fluxo de trabalho
Use este mapa rápido quando estiver fazendo algo no IDE:
| Você quer… | Comece por |
|---|---|
| Configurar símbolos, datas, dados fundamentalistas e executar uma simulação | Ciclo de vida da estratégia + OHLCV; depois Executando código (Test) e Resultados dos testes. |
| Dimensionar posições, stops ou ler Sharpe / drawdown | Modelo de conta |
| Deixar usuários ajustarem limites sem editar código | Parâmetros de entrada |
| Plotar séries personalizadas no gráfico de patrimônio | Séries de indicadores |
| Misturar preços e arquivamentos / demonstrações | Dados fundamentalistas |
| Misturar preços e retornos de fatores globais | Fatores Fama-French |
| Reagir a dividendos / desdobramentos, ou se proteger em torno de datas de resultados | Dados de calendário — argumento de callback calendar, days_to_earnings, eventos corporativos |
| Combinar intervalos de tempo principal e secundários | Dados OHLCV e de barras — Additional timeframes + rt.get_bar |
| Reutilizar as configurações de uma caixa de backtest ou forward | Predefinições de execução (.qcs) |
| Pausar em uma linha e inspecionar variáveis | Depuração |
| Executar algoritmos forward na sua própria máquina | AutoTrading |
| Executar algoritmos em um executor remoto | QuantCloud |
| Montar uma automação a partir de nós visuais | Agentes |
Os artigos integrados são escritos para autores de estratégias e usuários do IDE. A configuração de servidor do QuantCloud para operadores não é coberta por esta documentação pública.
Importações de estratégia
Escreva toda importação como quantcraft.*, com nomes de módulo sem sufixo (por exemplo quantcraft.inputs, não quantcraft.inputs_module). Os caminhos antigos ide.* e quantcraft.*_module ainda funcionam, assim como quantcraft.backtest.* — o antigo nome do pacote antes de ser renomeado para quantcraft.process.* —, de modo que as estratégias existentes continuam funcionando sem alterações — mas não escreva código novo com eles.
| Importação principal | Caminhos antigos que você pode ver | Usada para |
|---|---|---|
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) | — | Enumeração de intervalos para rt.get_bar(Timeframe.DAILY, shift=1) (intervalos principal e adicionais) |
quantcraft.runtime | — | Mesmo módulo que quantcraft.process.runtime, grafia mais curta — import quantcraft.runtime as rt para rt.get_bar e os identificadores do runtime |
quantcraft.timeframes | — | A enumeração Timeframe (também from quantcraft import Timeframe) |
quantcraft.inputs | ide.inputs_module, quantcraft.inputs_module | params das caixas de execução |
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 — passado como argumento de callback calendar quando os dados de calendário estão ativados; veja Dados de calendário. O único módulo que mantém o sufixo _module — não existe quantcraft.calendar. |
quantcraft.cross_sectional | — | Ranking / z-scores de todo o universo — veja abaixo |
quantcraft.process | — | clamp_indicator_period |
Reexportações mais curtas também funcionam: quantcraft.indicator_series, quantcraft.account. Para Fama-French, prefira from quantcraft import fama_french e leia fama_french.qc dentro dos callbacks.
Acesso às linhas Fama-French: dataset["rows"] é um dict YYYYMM → valores, não uma lista. Use .row(...) ou .rows_chronological(...); latest_row(...) somente em execuções forward (no backtest é antecipação — veja Fatores Fama-French). Não use rows[0] / rows[-1].
Não use pacotes internos como quantcraft.b2.* (a camada de download de dados por trás dos carregadores de preços e dados fundamentalistas) nem quantcraft.ai_assistant.* em scripts de estratégia — são auxiliares internos, não a API de estratégias. Não confunda quantcraft.process.ohlcv (API OHLCV de estratégias) com quantcraft.b2.ohlcv (camada de dados interna).
Auxiliares transversais
quantcraft.cross_sectional tem auxiliares vetorizados para comparar muitos símbolos de uma vez (numpy): stack_field, latest_return, latest_sma, latest_std, latest_rsi, rank, zscore, demean, winsorize, além de 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]Somente execuções forward / em massa como escrito. Em um backtest,
rt.qc_ohlcv_by_symbolguarda o intervalo completo carregado de cada símbolo, então "o mais recente" ali significa a última barra do teste — antecipação. Em um backtest, colete os fechamentos de cada símbolo a partir da suabarenquanto a execução avança e passe esses arrays aos auxiliares.
Identificadores de módulo vs nomes importados
quantcraft.process.runtime e quantcraft.fama_french são aliases de módulo, então o acesso por atributo lê o valor vivo da sessão:
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 loaderTodo o resto reexporta nomes por valor, então from ... import <name> vincula um instantâneo tirado no momento da importação.
Para os identificadores que o mecanismo atribui a cada execução, o mecanismo revincula esses nomes no arquivo raiz do algoritmo depois de carregá-lo, então a forma from ... import é segura ali — para os nomes que ele revincula:
- 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. - Execuções forward: apenas
account,qc_fundamentalseqc_fama_french— então, parachart_indicatorse os identificadores OHLCV, usert.<name>ali.
# Fine in the root algo file — the engine rebinds these after loading your script
from quantcraft.process.runtime import account, qc_fundamentals, qc_fama_frenchUm módulo auxiliar separado é diferente: ele permanece em cache em sys.modules entre execuções no mesmo processo, então um nome importado mantém o identificador da sessão vigente na primeira importação — desatualizado para a próxima execução (forward / em massa). Nos módulos auxiliares, importe o módulo e use acesso por atributo:
# 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 é a exceção: params é um único objeto vivo cujos valores mudam a cada execução, então a forma from é segura em qualquer lugar — veja Parâmetros de entrada.
Referência de estratégia incluída (Markdown)
Para o comportamento dos módulos linha a linha, os contratos dos callbacks e os detalhes do mecanismo, o produto também inclui Markdown no pacote quantcraft-dev (conceitualmente: "referência de estratégias do QuantCraft"). Um sumário típico é este:
| Documento | Foco |
|---|---|
| IMPORTS | Caminhos de importação quantcraft.* (incl. quantcraft.cross_sectional), os caminhos antigos ide.* / quantcraft.backtest.* ainda resolvidos para scripts existentes, e identificadores de módulo vs nomes importados |
| BACKTEST_README | Visão geral do pacote de backtest |
| BACKTEST_ENGINE | Orquestração do mecanismo, configuração, callbacks, carga do resultado |
| BACKTEST_MODULE | Ponto de entrada WebSocket do backtest a partir do IDE |
| IDE_BACKTEST_RUNNER | Executor em subprocesso ao lado do serviço Python |
| RUNTIME | Globais do runtime: account, chart_indicators, get_bar / intervalos principal e adicionais; identificadores por sessão e acesso rt.<name> |
| INPUTS_MODULE | Ligação de params a partir das caixas de execução |
| RUN_CONFIG_QCS | Formato de predefinição de execução .qcs e mapeamento entre caixas |
| ACCOUNT_MODULE | API de negociação do PaperAccount, comissão / slippage |
| OHLCV_MODULE | Carregadores QcOhlcv, bar nos callbacks, intervalos secundários |
| INDICATOR_SERIES_MODULE | Carga das séries de gráfico e auxiliares |
| FUNDAMENTALS_MODULE | Formato JSON e API de dados fundamentalistas |
| FAMA_FRENCH | Fatores Fama-French globais / fama_french.qc / dict de linhas YYYYMM |
| CALENDAR_MODULE | Dividendos, desdobramentos, datas de resultados (argumento de callback calendar); eventos corporativos na simulação — a página do usuário é Dados de calendário |
| DEBUGGING | Debug Run / Debug Test, pontos de interrupção, pilha de chamadas e variáveis — a página do usuário é Depuração |
| AUTO_TRADING | Execuções forward locais (algoritmo + agente em massa) e a caixa New Run — a página do usuário é AutoTrading |
| QUANT_CLOUD | Tarefas forward em massa de algoritmos em executores na nuvem — a página do usuário é QuantCloud |
| AGENTS | Agentes Trading / Test / Optimization, AI Builder, Test em paper vs forward/real pela corretora conectada — a página do usuário é Agentes |
| AI_ASSISTANT | O chat de IA do IDE, provedores de modelos, ferramentas do Screener, AI Tools, servidores MCP — a página do usuário é QuantCraft AI |
| QUANTCRAFT_TOOLS | Ferramentas de mercado integradas somente leitura para a IA — a página do usuário é QuantCraft Tools |
| SCREENER | Filtros no-code e em Python, predefinições, execuções guiadas por screener — a página do usuário é Screener |
| POSSIBLE_ERRORS | Erros comuns e correções — a página do usuário é Erros possíveis |
Esses arquivos são voltados a autores de estratégias que precisam dos nomes e contratos exatos. Tópicos avançados como BACKTEST_MODULE (ponto de entrada WebSocket do backtest) e IDE_BACKTEST_RUNNER (executor em subprocesso) estão incluídos no pacote para colaboradores, mas não são caminhos principais de usuário. O QuantCraft AI no IDE vem pré-carregado com esse material para que as respostas fiquem alinhadas aos módulos distribuídos.
Outras superfícies de ajuda no QuantCraft
Elas não são a aba Documentation, mas fazem parte do mesmo "ecossistema de referência" para os usuários:
- QuantCraft AI — Faça perguntas em linguagem natural; as respostas podem citar o mesmo corpus de desenvolvimento. Conecte um modelo em AI → API Providers (sua própria chave, ou QuantCraft Premium / opções hospedadas).
- Importar e exportar — Mova arquivos
.py(e relacionados) entre o disco e o espaço de trabalho. - Resultados dos testes — Gráfico de patrimônio, métricas, operações e exportação HTML após um backtest.
Dicas de busca
- Prefira termos curtos que aparecem no código:
on_finish,params,chart_indicator_series,coerce_chart_time,pane_id. - Se nada corresponder, limpe a busca — o índice lista cada tópico por seção.
- Ideias que cruzam tópicos (por exemplo "dados fundamentalistas +
on_bar") costumam precisar de dois artigos: abra Dados fundamentalistas para o formato dos dados e depois Ciclo de vida da estratégia para saber quando estão disponíveis.
Histórico do documento
A documentação integrada é mantida junto com o runtime de estratégias. Quando os módulos Python ou a carga do backtest mudam, os tópicos integrados e o Markdown incluído são atualizados juntos para que exemplos e nomes permaneçam sincronizados. Os exemplos de importação de estratégia são escritos em todo o texto com caminhos quantcraft.* sem sufixo; os caminhos antigos ide.*_module e quantcraft.*_module são documentados apenas como auxílio de leitura para scripts existentes.

