PáginasReferencia · 28 / 29
Referencia de la documentación de QuantCraft
QuantCraft incluye dos tipos de documentación complementarios: temas integrados que lees dentro del IDE y Markdown de referencia de estrategias incluido con el producto para el detalle de la API. Juntos describen cómo escribir estrategias, ejecutar backtests y usar el IDE. Esta documentación web refleja muchos de esos temas: empieza por la Introducción o Primeros pasos.
Dónde leer la documentación en la aplicación
- Abre QuantCraft desde la aplicación principal.
- Expande la barra lateral derecha (si está contraída).
- Abre la pestaña Documentation (junto a QuantCraft AI).
Llegas a un índice con búsqueda de temas. Escribe en el cuadro de búsqueda para filtrar por título, resumen o palabras clave incrustadas (por ejemplo on_finish, PaperAccount, chart_indicator_series).
Pulsa una tarjeta de tema para abrir el artículo completo. Usa Back para volver al índice.
Índice de temas (en la aplicación)
Los temas se agrupan en dos secciones, igual que en la barra lateral Documentation.
Getting started
| Tema | Qué aprenderás |
|---|---|
| Datos fundamentales | Datos de estados financieros, tablas indexadas por fecha, cómo se alinean los datos fundamentales con las barras y cómo leerlos en una estrategia. |
| Factores Fama-French | Rendimientos mensuales globales de factores FF3/FF5 mediante fama_french.qc (Premium; sin argumento de callback). |
| Datos de calendario | Dividendos, splits, fechas de resultados y presentaciones (argumento de callback calendar, solo backtests) y acciones corporativas en la simulación. |
| Cuenta | PaperAccount: saldos, posiciones, órdenes, PnL y métricas de rendimiento expuestos durante un backtest. |
| Ciclo de vida | Orden de los callbacks: on_init, on_bar, on_tick, on_timer opcional (solo forward), on_finish, incluidos los fundamentos con varios símbolos y el on_finish(bars) opcional de serie completa. |
Reference
| Tema | Qué aprenderás |
|---|---|
| Parámetros de entrada | Declarar quantcraft.inputs.params, los tipos y cómo se suministran los valores desde los cuadros de ejecución (backtest, forward masivo, forward sobre el gráfico). |
| Preajustes de ejecución (.qcs) | Guardar y recargar los ajustes de los cuadros de ejecución como archivos .qcs en tu espacio de trabajo. |
| Depuración | Debug Run frente a Debug Test, puntos de interrupción, ejecución paso a paso, pila de llamadas y variables. |
| AutoTrading | Ejecuciones forward locales de algoritmos y agentes, New Bulk / Agent Bulk Run y monitorización de trabajos masivos / sobre el gráfico. |
| QuantCloud | Ejecuciones forward masivas en ejecutores en la nube cuando tu PC está apagado (guía de usuario de escritorio). |
| Agentes | Agentes Trading, Test y Optimization; construir grafos de nodos a mano o con el AI Builder; parámetros expuestos y optimización; backtest en papel, forward / real mediante el bróker conectado; importación / exportación .qca. |
| QuantCraft AI | El chat de IA del IDE, conectar un modelo (AI → API Providers), herramientas del Screener, AI Tools, servidores MCP y nodos AI Prompt en agentes. |
| QuantCraft Tools | Herramientas de mercado integradas de solo lectura que la IA puede invocar (chat, nodos AI Prompt, agentes Test / Optimization). |
| OHLCV | Forma de las barras (OhlcvBarView), cargadores (bróker conectado o B2), rangos de tiempo y uso de los datos de barras en los callbacks. |
| Series de indicadores | Construir superposiciones chart_indicator_series (líneas, histogramas, paneles) en los gráficos de resultados del backtest. |
Cualquier tarjeta del índice que todavía no abra un artículo completo aparece etiquetada como Soon en la interfaz.
Cómo se relaciona la documentación integrada con tu flujo de trabajo
Usa este mapa rápido cuando estés haciendo algo en el IDE:
| Quieres… | Empieza por |
|---|---|
| Configurar símbolos, fechas, datos fundamentales y ejecutar una simulación | Ciclo de vida de la estrategia + OHLCV; luego Ejecutar código (Test) y Resultados de pruebas. |
| Dimensionar posiciones, stops o leer Sharpe / drawdown | Modelo de cuenta |
| Dejar que los usuarios ajusten umbrales sin editar código | Parámetros de entrada |
| Trazar series personalizadas en el gráfico de capital | Series de indicadores |
| Mezclar precios y presentaciones / estados financieros | Datos fundamentales |
| Mezclar precios y rendimientos de factores globales | Factores Fama-French |
| Reaccionar a dividendos / splits o protegerte alrededor de fechas de resultados | Datos de calendario: argumento de callback calendar, days_to_earnings, acciones corporativas |
| Combinar marcos temporales principal y secundarios | Datos OHLCV y de barras: Additional timeframes + rt.get_bar |
| Reutilizar ajustes de un cuadro de backtest o de forward | Preajustes de ejecución (.qcs) |
| Pausar en una línea e inspeccionar variables | Depuración |
| Ejecutar algoritmos forward en tu propio equipo | AutoTrading |
| Ejecutar algoritmos en un ejecutor remoto | QuantCloud |
| Construir una automatización con nodos visuales | Agentes |
Los artículos integrados están escritos para autores de estrategias y usuarios del IDE. La configuración de servidor de QuantCloud para operadores no se cubre en esta documentación pública.
Importaciones de estrategias
Escribe cada importación como quantcraft.*, con nombres de módulo sin sufijo (por ejemplo quantcraft.inputs, no quantcraft.inputs_module). Las rutas antiguas ide.* y quantcraft.*_module siguen resolviéndose, igual que quantcraft.backtest.* —el antiguo nombre del paquete antes de renombrarse quantcraft.process.*—, de modo que las estrategias existentes siguen funcionando sin cambios, pero no escribas código nuevo con ellas.
| Importación principal | Rutas antiguas que puedes ver | Se usa para |
|---|---|---|
quantcraft.process.runtime | quantcraft.backtest.runtime, ide.backtest.runtime | account, chart_indicators, qc_fundamentals, qc_fama_french, qc_calendar, get_bar (mediante import quantcraft.runtime as rt) |
quantcraft (Timeframe) | — | Enumeración de marcos temporales para rt.get_bar(Timeframe.DAILY, shift=1) (marcos principal y adicionales) |
quantcraft.runtime | — | El mismo módulo que quantcraft.process.runtime, con escritura más corta: import quantcraft.runtime as rt para rt.get_bar y los manejadores del runtime |
quantcraft.timeframes | — | La enumeración Timeframe (también from quantcraft import Timeframe) |
quantcraft.inputs | ide.inputs_module, quantcraft.inputs_module | params de los cuadros de ejecución |
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: se pasa como argumento de callback calendar cuando los datos de calendario están activados; consulta Datos de calendario. Es el único módulo que conserva su sufijo _module: no existe quantcraft.calendar. |
quantcraft.cross_sectional | — | Clasificación / z-scores de todo el universo; consulta más abajo |
quantcraft.process | — | clamp_indicator_period |
También funcionan reexportaciones más cortas: quantcraft.indicator_series, quantcraft.account. Para Fama-French, prefiere from quantcraft import fama_french y lee fama_french.qc dentro de los callbacks.
Acceso a filas de Fama-French: dataset["rows"] es un dict YYYYMM → valores, no una lista. Usa .row(...) o .rows_chronological(...); latest_row(...) solo en ejecuciones forward (en un backtest es anticipación; consulta Factores Fama-French). No uses rows[0] / rows[-1].
No uses paquetes internos como quantcraft.b2.* (la capa de descarga de datos tras los cargadores de precios y datos fundamentales) ni quantcraft.ai_assistant.* en los scripts de estrategia: son ayudantes internos, no la API de estrategias. No confundas quantcraft.process.ohlcv (API OHLCV de estrategias) con quantcraft.b2.ohlcv (capa de datos interna).
Ayudantes transversales
quantcraft.cross_sectional ofrece ayudantes vectorizados para comparar muchos símbolos a la vez (numpy): stack_field, latest_return, latest_sma, latest_std, latest_rsi, rank, zscore, demean, winsorize, además 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]Solo ejecuciones forward / masivas tal como está escrito. En un backtest,
rt.qc_ohlcv_by_symbolcontiene el rango completo cargado de cada símbolo, así que "el último" allí significa la última barra de la prueba: anticipación. En un backtest, recopila los cierres de cada símbolo desde subarmientras la ejecución avanza y pasa esos arrays a los ayudantes.
Manejadores de módulo frente a nombres importados
quantcraft.process.runtime y quantcraft.fama_french son alias de módulo, así que el acceso por atributo lee el valor vivo de la sesión:
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 lo demás reexporta nombres por valor, así que from ... import <name> enlaza una instantánea tomada en el momento de la importación.
Para los manejadores que el motor asigna en cada ejecución, el motor vuelve a enlazar esos nombres en el archivo raíz del algoritmo tras cargarlo, así que la forma from ... import es segura allí, para los nombres que vuelve a enlazar:
- 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. - Ejecuciones forward: solo
account,qc_fundamentalsyqc_fama_french, así que parachart_indicatorsy los manejadores OHLCV usa allírt.<name>.
# 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 módulo auxiliar dividido es distinto: permanece en caché en sys.modules entre ejecuciones del mismo proceso, así que un nombre importado conserva el manejador de la sesión que estaba vigente en la primera importación: obsoleto para la siguiente ejecución (forward / masiva). En los módulos auxiliares, importa el módulo y usa acceso 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 es la excepción: params es un único objeto vivo cuyos valores cambian en cada ejecución, así que la forma from es segura en todas partes; consulta Parámetros de entrada.
Referencia de estrategias incluida (Markdown)
Para el comportamiento de los módulos línea a línea, los contratos de los callbacks y los detalles del motor, el producto también incluye Markdown en el paquete quantcraft-dev (conceptualmente: "referencia de estrategias de QuantCraft"). Una tabla de contenidos típica es esta:
| Documento | Enfoque |
|---|---|
| IMPORTS | Rutas de importación quantcraft.* (incl. quantcraft.cross_sectional), las rutas antiguas ide.* / quantcraft.backtest.* aún resueltas para scripts existentes, y manejadores de módulo frente a nombres importados |
| BACKTEST_README | Visión general del paquete de backtest |
| BACKTEST_ENGINE | Orquestación del motor, configuración, callbacks, carga del resultado |
| BACKTEST_MODULE | Punto de entrada WebSocket del backtest desde el IDE |
| IDE_BACKTEST_RUNNER | Ejecutor en subproceso junto al servicio Python |
| RUNTIME | Globales del runtime: account, chart_indicators, get_bar / marcos temporales principal y adicionales; manejadores por sesión y acceso rt.<name> |
| INPUTS_MODULE | Conexión de params desde los cuadros de ejecución |
| RUN_CONFIG_QCS | Formato de preajustes de ejecución .qcs y correspondencia entre cuadros |
| ACCOUNT_MODULE | API de trading de PaperAccount, comisión / slippage |
| OHLCV_MODULE | Cargadores QcOhlcv, bar en callbacks, marcos temporales secundarios |
| INDICATOR_SERIES_MODULE | Carga de series de gráfico y ayudantes |
| FUNDAMENTALS_MODULE | Forma JSON y API de datos fundamentales |
| FAMA_FRENCH | Factores Fama-French globales / fama_french.qc / dict de filas YYYYMM |
| CALENDAR_MODULE | Dividendos, splits, fechas de resultados (argumento de callback calendar); acciones corporativas en la simulación; la página de usuario es Datos de calendario |
| DEBUGGING | Debug Run / Debug Test, puntos de interrupción, pila de llamadas y variables; la página de usuario es Depuración |
| AUTO_TRADING | Ejecuciones forward locales (algoritmo + agente masivo) y el cuadro New Run; la página de usuario es AutoTrading |
| QUANT_CLOUD | Trabajos forward masivos de algoritmos en ejecutores en la nube; la página de usuario es QuantCloud |
| AGENTS | Agentes Trading / Test / Optimization, AI Builder, Test en papel frente a forward/real mediante bróker conectado; la página de usuario es Agentes |
| AI_ASSISTANT | El chat de IA del IDE, proveedores de modelos, herramientas del Screener, AI Tools, servidores MCP; la página de usuario es QuantCraft AI |
| QUANTCRAFT_TOOLS | Herramientas de mercado integradas de solo lectura para la IA; la página de usuario es QuantCraft Tools |
| SCREENER | Filtros sin código y con Python, preajustes, ejecuciones guiadas por screener; la página de usuario es Screener |
| POSSIBLE_ERRORS | Errores comunes y soluciones; la página de usuario es Errores posibles |
Esos archivos están dirigidos a autores de estrategias que necesitan nombres y contratos exactos. Los temas avanzados como BACKTEST_MODULE (punto de entrada WebSocket del backtest) e IDE_BACKTEST_RUNNER (ejecutor en subproceso) se incluyen en el paquete para colaboradores, pero no son rutas principales de usuario. QuantCraft AI en el IDE viene precargado con este material para que las respuestas se mantengan alineadas con los módulos distribuidos.
Otras superficies de ayuda en QuantCraft
No son la pestaña Documentation, pero forman parte del mismo "ecosistema de referencia" para los usuarios:
- QuantCraft AI: haz preguntas en lenguaje natural; las respuestas pueden citar el mismo corpus de desarrollo. Conecta un modelo en AI → API Providers (tu propia clave, o QuantCraft Premium / opciones alojadas).
- Importar y exportar: mueve archivos
.py(y relacionados) entre el disco y el espacio de trabajo. - Resultados de pruebas: gráfico de capital, métricas, operaciones y exportación HTML tras un backtest.
Consejos de búsqueda
- Prefiere términos cortos que aparezcan en el código:
on_finish,params,chart_indicator_series,coerce_chart_time,pane_id. - Si nada coincide, borra la búsqueda: el índice lista cada tema por sección.
- Las ideas que cruzan temas (por ejemplo "datos fundamentales +
on_bar") suelen necesitar dos artículos: abre Datos fundamentales para la forma de los datos y luego Ciclo de vida de la estrategia para saber cuándo están disponibles.
Historial del documento
La documentación integrada se mantiene junto al runtime de estrategias. Cuando cambian los módulos de Python o la carga del backtest, los temas integrados y el Markdown incluido se actualizan juntos para que los ejemplos y los nombres sigan sincronizados. Los ejemplos de importación de estrategias se escriben en todo momento con rutas quantcraft.* sin sufijo; las rutas antiguas ide.*_module y quantcraft.*_module se documentan únicamente como ayuda de lectura para scripts existentes.

