Confronto engine · v0.8.0 · benchmark su 100 strategie

PineForge vs PyneCore. Riproducibile, non retorico.

Ogni numero in questa pagina è generato da bash benchmarks/run_all.sh nella repo open-source pineforge-engine, sullo stesso feed Binance ETH/USDT 15 minuti da 53.930 barre. Riproducibile in ~5 minuti da un clone pulito, zero chiamate ad API esterne.
Fianco a fianco

Cosa ti dà davvero ogni engine.

CapacitàPineForgeTradingViewPyneCore
Backtest riproducibili bit per bit✓—◐
Runtime compilato nativo✓——
251/252 parità stretta con TV✓✓◐
Vendere strategie come binari compilati✓——
Licenze seller a scadenza✓——
Licenze seller vincolate alla macchina✓——
Runtime open-source auditabile✓—✓
Eseguire sui tuoi dati, sulla tua macchina✓—✓
Riproducibilità da audit per la compliance✓—◐
Integrazioni broker live native◐✓✓
Grado di match su 100 strategie

Quante delle 100 strategie raggiungono il tier eccellente contro 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
Eccellente100Forte0Moderato0Debole0
Python (PyneSys cloud-compiled)
PyneCore
85 / 100
median_ms1,100throughput38k bars/ssample99 strategies
Eccellente85Forte2Moderato10Debole3
TypeScript (LuxAlgo)
PineTS
solo indicatori
canonical_ms486throughput85k bars/sscope10 indicators
Backtester di strategia-Indicatori per-bar✓10/10 indicatorimatch

I tier seguono la canonica parity sweep di PineForge: eccellente = tutte e quattro le dimensioni (delta del numero di trade, p90 di entry, p90 di exit, p90 di P&L) sotto soglia stretta e ≥95% di trade matchati; forte entro 5× la soglia stretta; moderato / debole / minimo a scendere. Le strategie che usano gli exit trail_* di TradingView ricevono il profilo soglia di produzione (tolleranze più ampie su exit + P&L).

Il delta di 3 strategie

Tre strategie spiegano tutta la differenza.

Su 85 delle 100 strategie di riferimento, PineForge e PyneCore raggiungono entrambi l'eccellenza. Il gap di 15 non è casuale — ogni divergenza cade nella stessa categoria: bracket exit, trailing stop o chiusure parziali di posizione. Il broker emulator di PyneCore diverge da TV qui; PineForge replica TV trade per trade.

06-liquidity-sweep
bracket exit
PineForge
eccellente (88 / 88)
PyneCore
moderato (91)
93 trade TV nella finestra. PineForge ne matcha 88 entro le tolleranze strette. PyneCore ne genera 91 — drift di +3 sul conteggio, più drift sul prezzo di uscita per gli exit fermati dal bracket.
07-scalping-strategy
trailing stop (soglie di produzione)
PineForge
eccellente (412 / 429)
PyneCore
moderato (412)
429 trade TV nella finestra. PineForge: 412 matchati, tutte e quattro le dimensioni di parità entro le soglie di produzione. PyneCore: stesso numero matchato, ma p90 sul prezzo di uscita fuori soglia — l'aritmetica trail_offset del broker emulator diverge da TV.
49-partial-exit-qty-percent
chiusura parziale (qty_percent)
PineForge
eccellente (683 / 725)
PyneCore
debole (2.671)
La divergenza più netta del corpus. 725 trade TV, PineForge ne matcha 683 in parità stretta. PyneCore genera 2.671 trade — 3,7× il numero corretto. Causa radice: strategy.close(qty_percent=…) in PyneCore divide ogni entry in sub-exit per percentuale invece di una singola chiusura parziale. Issue upstream aperta a questo commit.
Dove vince ciascun engine

Non nascondiamo i nostri buchi. Nemmeno loro dovrebbero.

SCEGLI PINEFORGE QUANDO

Ti serve determinismo riproducibile bit per bit (gate in CI, audit trail, claim di parità verso clienti paganti).
Ti serve semantica fedele a TV su bracket exit, trailing stop o chiusure parziali. Le tre strategie sopra non lasciano spazio a interpretazioni.
Ti serve la velocità di un compilato nativo per i parameter sweep (Optuna su migliaia di combinazioni di parametri su feed da 50k barre).
Più avanti vuoi una UI Studio hosted — i tab Code · Backtest · Optimize · Compare · Reports arrivano in Q4 2026.
Prima o poi vuoi vendere strategie compilate ad altri trader. L'architettura distribuzione cifrata + license server è pubblica nella repo dell'engine.

SCEGLI PYNECORE QUANDO

Ti serve forward-test o esecuzione live oggi. PineForge li rilascia Q3-Q4 2026; PyneCore ce li ha adesso.
Vuoi un percorso di esecuzione strategia interamente in Python (integrazione più profonda con NumPy/Pandas, iterazione Jupyter-native).
Sei tranquillo sui caveat di bracket/trail/partial-exit (85/100 strategie raggiungono comunque l'eccellenza).
L'open-source OSI puro end-to-end ti pesa più del source-available. PyneCore è OSI-licensed dall'inizio alla fine; l'engine di PineForge è Apache-2.0 ma il codegen è source-available (PolyForm Noncommercial, gratis per il trading personale) — non approvato OSI.
Sei un contributor pesante e vuoi un progetto dove le tue PR atterrano direttamente sul percorso di esecuzione strategia.

Non fidarti della tabella. Riproducila .

Ogni numero in questa pagina è generato dalla benchmark suite pubblica. Niente config nascosta, niente API key, niente trucchi con snapshot committati. ~5 minuti da un clone pulito.

# 1. Clona engine open-source + benchmark suite
git clone https://github.com/pineforge-4pass/pineforge-engine
cd pineforge-engine

# 2. Scarica gli OHLCV tracciati con LFS (2,3 MB)
git lfs install && git lfs pull

# 3. Lancia lo sweep completo a tre engine (~5 min)
bash benchmarks/run_all.sh

# 4. Leggi i risultati — la stessa tabella di questa pagina
cat benchmarks/results/summary.md