Comparativa de motores · v0.8.0 · benchmark de 100 estrategias

PineForge vs PyneCore. Reproducible, sin retórica.

Cada número de esta página sale de bash benchmarks/run_all.sh en el repositorio público pineforge-engine, sobre el mismo feed de Binance ETH/USDT 15m con 53.930 barras. Reprodúcelo en ~5 minutos desde un clon limpio, sin llamadas a APIs externas.
Cara a cara

Lo que cada motor te entrega de verdad.

CapacidadPineForgeTradingViewPyneCore
Backtests byte-reproducibles
Runtime compilado nativo
251/252 strict TV parity
Vender estrategias como binarios
Licencias de vendedor por tiempo
Licencias ligadas a máquina
Runtime de código abierto auditable
Corre en tus datos, tu máquina
Reproducibilidad nivel auditoría
Integraciones nativas con brókers
Grado de coincidencia en 100 estrategias

Cuántas de 100 alcanzan el nivel excelente frente a TradingView.

benchmark receipt
162xmedian
PF / PC
speed.md
2026-06-11
PF/PC set
99 strategies
PF/vbt set
65 strategies
hot loop
41,307 bars
vbt scope
replicas
sample
N=20
PineForge
C++ / GBench
median_ms
6.35 ms
throughput
6.5M bars/s
sweep
1K trials ~6.4s
6.35 ms
PyneCore
Python / subprocess
median_ms
1,100 ms
throughput
38k bars/s
sweep
1K trials ~18m
1,100 ms
vectorbt
Pandas / Numba replicas
median_ms
71.2 ms
throughput
580k bars/s
sweep
1K trials ~71s
71.2 ms
PineTS
Node / indicators
median_ms
486 ms
throughput
85k bars/s
sweep
strategy: -
486 ms
C++ static lib
PineForge
100 / 100
median_ms6.35throughput6.5M bars/svs PyneCore162xvs vectorbt10.5x
Excelente100Fuerte0Moderado0Débil0
Python (PyneSys cloud-compiled)
PyneCore
85 / 100
median_ms1,100throughput38k bars/ssample99 strategies
Excelente85Fuerte2Moderado10Débil3
TypeScript (LuxAlgo)
PineTS
solo indicadores
canonical_ms486throughput85k bars/sscope10 indicators
Motor de backtesting de estrategias-Indicadores por barra10/10 indicadorescoincidencia

Los niveles siguen el barrido canónico de paridad PineForge: excelente = las cuatro dimensiones (delta de conteo, p90 de entrada, p90 de salida, p90 de P&L) dentro de umbrales estrictos y ≥95% de operaciones coincidentes; fuerte dentro de 5× el estricto; moderado / débil / mínimo descienden a partir de ahí. Las estrategias con salidas trail_* de TradingView usan el perfil de umbrales de producción (tolerancias más laxas en salida y P&L).

El delta de 3 estrategias

Tres estrategias acaparan toda la luz.

En 85 de 100 estrategias de referencia, PineForge y PyneCore coinciden en excelente. La diferencia de 15 no es aleatoria: cada divergencia cae en la misma categoría: salidas tipo bracket, trailing stops o cierres parciales de posición. El emulador de bróker de PyneCore difiere de TV en estos casos; PineForge replica TV operación por operación.

06-liquidity-sweep
bracket exit
PineForge
excelente (88 / 88)
PyneCore
moderado (91)
93 operaciones TV en la ventana. PineForge coincide con 88 dentro de la tolerancia estricta. PyneCore genera 91 operaciones: deriva de +3 en el recuento más deriva del precio de salida en stops tipo bracket.
07-scalping-strategy
trailing stop (production thresholds)
PineForge
excelente (412 / 429)
PyneCore
moderado (412)
429 operaciones TV en la ventana. PineForge: 412 coincidentes, las cuatro dimensiones dentro del perfil de producción. PyneCore: mismo número de coincidencias pero p90 de salida fuera del umbral: la aritmética trail_offset del emulador diverge de TV.
49-partial-exit-qty-percent
partial close (qty_percent)
PineForge
excelente (683 / 725)
PyneCore
débil (2,671)
La divergencia más clara del corpus. 725 operaciones TV; PineForge coincide con 683 en paridad estricta. PyneCore genera 2,671 operaciones — 3.7× el recuento correcto. Causa raíz: strategy.close(qty_percent=…) en PyneCore parte cada entrada en sub-salidas por porcentaje en lugar de un único cierre parcial. Incidencia upstream abierta en este commit.
Dónde gana cada motor

No ocultamos nuestras lagunas; ni ellos deberían hacerlo.

ELIGE PINEFORGE CUANDO

Necesitas determinismo reproducible a nivel de bytes (puertas de CI, auditorías, garantías de paridad ante clientes).
Te importa semántica fiel a TV en brackets, trailing y cierres parciales. Las tres estrategias de arriba lo dejan clarísimo.
Necesitas velocidad nativa compilada para barridos de parámetros (Optuna sobre miles de combinaciones en feeds de 50k barras).
Quieres Studio alojado más adelante: pestañas de código · backtest · optimización · comparación · informes en Q4 2026.
A futuro quieres vender estrategias compiladas. El diseño de distribución cifrada + servidor de licencias está en el repo público del motor.

ELIGE PYNECORE CUANDO

Necesitas forward-testing o ejecución en vivo con bróker hoy. PineForge lo ofrecerá en Q3–Q4 2026; PyneCore ya lo tiene.
Quieres todo el camino de ejecución en Python (NumPy/Pandas, iteración en Jupyter).
Te encajan las salvedades bracket/trail/partial-exit (85/100 estrategias siguen alcanzando el nivel excelente pese a ellas).
El código abierto OSI de punta a punta te importa más que lo source-available. PyneCore tiene licencia OSI de principio a fin; el motor de PineForge es Apache-2.0, pero el codegen es source-available (PolyForm Noncommercial, gratis para trading personal) — sin aprobación OSI.
Contribuyes de forma intensa y buscas que tus pull requests entren directamente en la ruta de ejecución de estrategias.

No te fíes de la tabla. Reprodúcela .

Todo sale de la suite pública de benchmarks. Sin configuraciones ocultas, sin API keys, sin trucos de snapshots commiteados. ~5 minutos desde un clon limpio.

# 1. Clona el motor público y la suite de benchmarks
git clone https://github.com/pineforge-4pass/pineforge-engine
cd pineforge-engine

# 2. Trae el OHLCV en LFS (2.3 MB)
git lfs install && git lfs pull

# 3. Ejecuta el barrido triple completo (~5 min)
bash benchmarks/run_all.sh

# 4. Lee resultados — misma tabla que ves aquí
cat benchmarks/results/summary.md