Documentação1.0 (latest)
PáginasQuantCloud · 24 / 29

QuantCloud

O QuantCloud executa trabalhos bulk forward em runners na nuvem dedicados, que continuam funcionando enquanto a sua estação de trabalho está desligada ou o QuantCraft está fechado. Cada runner executa um trabalho bulk forward por vez, então você configura e monitora um lote por runner. Os runners executam apenas algoritmos do IDE — os agentes (inclusive as execuções bulk de agentes) rodam localmente pelo AutoTrading. O aplicativo para desktop se conecta aos runners provisionados para a sua conta depois que você entra; ele não usa o seu serviço Python local para esses trabalhos.

Este é o equivalente em nuvem do AutoTrading, que executa o mesmo tipo de lote na sua máquina local. Esta página cobre o que você faz no aplicativo; a configuração e a operação dos servidores estão fora do escopo desta documentação.

A página do QuantCloud e a sua entrada de navegação aparecem quando o recurso QuantCloud está habilitado para a sua versão.


Comprando um runner na nuvem

Clique em Buy Cloud Runner e:

  1. Escolha um nível de máquina — cada cartão mostra o nome do nível, o preço ($X/mo), o tipo de instância e uma breve descrição.
  2. Clique em Continue to payment (ou ← Back para mudar de nível). A próxima etapa mostra um resumo do pedido e botões de assinatura do PayPal. O pagamento é uma assinatura do PayPal; o aplicativo não coleta dados de cartão diretamente.
  3. Após a aprovação, o runner é provisionado e aparece na página em alguns minutos — use Refresh runners para verificar.

Você precisa de uma assinatura ativa do QuantCraft que inclua o QuantCloud (veja o seu plano).


Cartões de runner

Cada runner mostra um status — Warmup, Running, Loading…, Unavailable ou Ready — com seu rótulo e endpoint. Runners recém-provisionados exibem um banner de warmup (com o tempo restante) que bloqueia temporariamente execuções bulk, instalações de dependências e atualização.

Ações em um runner: Dependencies, New bulk run (ou Edit / Stop / Delete / Resume quando existe um trabalho) e Refresh. Um rodapé recolhível mostra os Packages instalados e o log de instalação mais recente.


Instalando dependências

Clique em Dependencies em um runner para instalar pacotes do PyPI (o runner usa o mesmo Python dos algoritmos bulk/forward, não o .venv do seu IDE local). Se o seu algoritmo importa pacotes além dos padrão (por exemplo pandas, numpy), adicione-os aqui:

  • Informe nomes de pacotes separados por vírgula, opcionalmente com versões (por exemplo pandas==2.1.0, numpy, scipy>=1.10). Instalar de novo um pacote com uma nova versão substitui a fixação antiga.
  • Clique em Install para acompanhar um log de instalação ao vivo; o runner reinicia após uma instalação bem-sucedida para que os novos pacotes sejam importados (isso pode levar até um minuto).
  • As instalações ficam bloqueadas enquanto um trabalho bulk está em execução (pare-o primeiro) e durante o warmup.
  • Os pacotes instalados aparecem como selos coloridos (por exemplo pandas 2.1.0) no painel Packages.
  • Os pacotes que você adicionou têm um botão × para removê-los (após uma confirmação Remove package?). A remoção não reinicia o runner — entra em vigor na próxima execução — e fica bloqueada enquanto um trabalho bulk ou uma instalação estiver em andamento.

Instale as mesmas bibliotecas que você usa no IDE em Packages (Dependências) quando esses pacotes forem necessários em tempo de execução.


Executando um lote em um runner

  • Em um runner ocioso, clique em New bulk run. Isso abre a mesma caixa New Run do AutoTrading — veja AutoTrading para as abas Algorithm / Targets / Schedule & data — vinculada àquele runner. O escopo de destino Screener está disponível, então um trabalho na nuvem pode operar o que um filtro salvo retornar e refiltrar no próprio cronograma (Refresh interval (days) / Refresh time (ET)) sem a sua estação ligada. A primeira execução de screener em um runner novo baixa todo o universo de dados fundamentalistas (lento); depois disso, atualiza uma vez por dia UTC. O runner baixa com o seu login do QuantCraft e não consegue renová-lo, então, em uma execução de muitos dias, as novas filtragens continuam usando os últimos dados quando o login expira. Veja Screener.
  • Escolha o seu algoritmo compilado (.qcraft.json), os símbolos ou o escopo de destino, o período/intervalo de tempo e, opcionalmente, parâmetros do script. Defina timerIntervalMs se a sua estratégia definir on_timer (Ciclo de vida da estratégia).
  • Um trabalho por runner: quando um trabalho existe, você verá Edit run, Stop bulk run, Delete run e Resume bulk run em vez de New. Resume bulk run é para trabalhos em pending resume e exige uma conta de trading ativa.
  • A seção bulk do runner mostra Details e Logs (mesmo layout do cartão bulk local), com Pause / Resume (pausa ou retoma apenas o acompanhamento do log ao vivo — não pausa o trabalho), Refresh, Download logs (CSV) e Clear logs.

Você pode usar Load / Save no topo da caixa para reutilizar uma predefinição de execução (.qcs). Ao editar uma execução bulk existente, o algoritmo (algoId) é fixo — o Load atualiza alvos, temporizador, modo de tick e params, mas não troca o arquivo do algoritmo.


Logs

Cada execução bulk forward transmite stdout, stderr e eventos de status para a aba Logs do runner no QuantCloud:

AçãoO que faz
Live streamNovas linhas de log aparecem enquanto a execução acontece.
Pause / ResumePausa ou retoma apenas o acompanhamento do log ao vivo — não pausa o trabalho; o runner continua gravando.
RefreshRecarrega o trecho recente do log a partir do runner.
Download logsExporta o histórico visível como CSV.
Clear logsLimpa apenas a lista na tela — não exclui o histórico do servidor.

Linhas mais antigas podem ser descartadas quando o volume de logs é alto. Use Refresh se você suspeitar que está vendo apenas o final do histórico completo. Excluir uma execução bulk remove o arquivo de log armazenado daquele trabalho no runner, e os logs de um trabalho abandonado podem ser eliminados após cerca de 7 dias.


Monitoramento e parada

  • O status do bulk é consultado a cada cerca de 5 segundos enquanto a página do QuantCloud está ativa, e a cada cerca de 30 segundos nos demais casos.
  • Stop bulk run e Delete bulk forward run pedem confirmação; a exclusão limpa o estado salvo no runner e remove o trabalho da lista.

Dicas

  • Faça os pacotes do IDE e do runner coincidirem — se o Test passa localmente, mas a execução na nuvem falha com ImportError, adicione o pacote ausente por Dependencies.
  • on_timer é para execuções forward — a caixa de backtest do IDE não configura temporizadores; defina timerIntervalMs na caixa bulk forward.
  • on_tick em execuções forward — dispara a cada atualização de preço da corretora da sua corretora conectada enquanto o algoritmo roda; veja Ciclo de vida da estratégia.
  • Credenciais da corretora — trabalhos bulk que operam em real ou simulado podem exigir credenciais da corretora enviadas a cada execução; siga as instruções da caixa para o seu tipo de conta.
  • Pasta do espaço de trabalho — salvar predefinições .qcs exige uma pasta de espaço de trabalho vinculada.

Veja também

6 min de leituraSugerir uma edição ↗
QuantCloud — Documentação (1.0 (latest)) | QuantCraft