Documentação1.0 (latest)
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

  1. Abra o QuantCraft pelo aplicativo principal.
  2. Expanda a barra lateral direita (se estiver recolhida).
  3. 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ópicoO que você vai aprender
Dados fundamentalistasDados 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-FrenchRetornos mensais globais de fatores FF3/FF5 por meio de fama_french.qc (Premium; sem argumento de callback).
Dados de calendárioDividendos, desdobramentos, datas de resultados e arquivamentos (argumento de callback calendar, somente backtests) e eventos corporativos na simulação.
ContaPaperAccount: saldos, posições, ordens, PnL e métricas de desempenho expostos durante um backtest.
Ciclo de vidaOrdem 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ópicoO que você vai aprender
Parâmetros de entradaDeclarar 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çãoDebug Run vs Debug Test, pontos de interrupção, execução passo a passo, pilha de chamadas e variáveis.
AutoTradingExecuções forward locais de algoritmos e agentes, New Bulk / Agent Bulk Run e monitoramento de tarefas em massa / no gráfico.
QuantCloudExecuções forward em massa em executores na nuvem quando o seu PC está desligado (guia do usuário desktop).
AgentesAgentes 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 AIO 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 ToolsFerramentas de mercado integradas somente leitura que a IA pode chamar (chat, nós AI Prompt, agentes Test / Optimization).
OHLCVFormato das barras (OhlcvBarView), carregadores (corretora conectada vs B2), intervalos de tempo e uso dos dados de barras nos callbacks.
Séries de indicadoresMontar 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çãoCiclo de vida da estratégia + OHLCV; depois Executando código (Test) e Resultados dos testes.
Dimensionar posições, stops ou ler Sharpe / drawdownModelo de conta
Deixar usuários ajustarem limites sem editar códigoParâmetros de entrada
Plotar séries personalizadas no gráfico de patrimônioSéries de indicadores
Misturar preços e arquivamentos / demonstraçõesDados fundamentalistas
Misturar preços e retornos de fatores globaisFatores Fama-French
Reagir a dividendos / desdobramentos, ou se proteger em torno de datas de resultadosDados de calendário — argumento de callback calendar, days_to_earnings, eventos corporativos
Combinar intervalos de tempo principal e secundáriosDados OHLCV e de barras — Additional timeframes + rt.get_bar
Reutilizar as configurações de uma caixa de backtest ou forwardPredefinições de execução (.qcs)
Pausar em uma linha e inspecionar variáveisDepuração
Executar algoritmos forward na sua própria máquinaAutoTrading
Executar algoritmos em um executor remotoQuantCloud
Montar uma automação a partir de nós visuaisAgentes

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 principalCaminhos antigos que você pode verUsada para
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)—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.inputside.inputs_module, quantcraft.inputs_moduleparams das caixas de execução
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 — 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_symbol guarda 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 sua bar enquanto 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 loader

Todo 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_fundamentals e qc_fama_french — então, para chart_indicators e os identificadores OHLCV, use rt.<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_french

Um 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* run

from 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:

DocumentoFoco
IMPORTSCaminhos 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_READMEVisão geral do pacote de backtest
BACKTEST_ENGINEOrquestração do mecanismo, configuração, callbacks, carga do resultado
BACKTEST_MODULEPonto de entrada WebSocket do backtest a partir do IDE
IDE_BACKTEST_RUNNERExecutor em subprocesso ao lado do serviço Python
RUNTIMEGlobais do runtime: account, chart_indicators, get_bar / intervalos principal e adicionais; identificadores por sessão e acesso rt.<name>
INPUTS_MODULELigação de params a partir das caixas de execução
RUN_CONFIG_QCSFormato de predefinição de execução .qcs e mapeamento entre caixas
ACCOUNT_MODULEAPI de negociação do PaperAccount, comissão / slippage
OHLCV_MODULECarregadores QcOhlcv, bar nos callbacks, intervalos secundários
INDICATOR_SERIES_MODULECarga das séries de gráfico e auxiliares
FUNDAMENTALS_MODULEFormato JSON e API de dados fundamentalistas
FAMA_FRENCHFatores Fama-French globais / fama_french.qc / dict de linhas YYYYMM
CALENDAR_MODULEDividendos, desdobramentos, datas de resultados (argumento de callback calendar); eventos corporativos na simulação — a página do usuário é Dados de calendário
DEBUGGINGDebug Run / Debug Test, pontos de interrupção, pilha de chamadas e variáveis — a página do usuário é Depuração
AUTO_TRADINGExecuções forward locais (algoritmo + agente em massa) e a caixa New Run — a página do usuário é AutoTrading
QUANT_CLOUDTarefas forward em massa de algoritmos em executores na nuvem — a página do usuário é QuantCloud
AGENTSAgentes Trading / Test / Optimization, AI Builder, Test em paper vs forward/real pela corretora conectada — a página do usuário é Agentes
AI_ASSISTANTO chat de IA do IDE, provedores de modelos, ferramentas do Screener, AI Tools, servidores MCP — a página do usuário é QuantCraft AI
QUANTCRAFT_TOOLSFerramentas de mercado integradas somente leitura para a IA — a página do usuário é QuantCraft Tools
SCREENERFiltros no-code e em Python, predefinições, execuções guiadas por screener — a página do usuário é Screener
POSSIBLE_ERRORSErros 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.

12 min de leituraSugerir uma edição ↗
Referência — Documentação (1.0 (latest)) | QuantCraft