エンジン比較 · v0.8.0 · 100戦略ベンチマーク

PineForge vs PyneCore。
再現性で語ります。

本ページの数値は、オープンソースpineforge-engine内のbash benchmarks/run_all.shが、同一の53,930本バー(Binance ETH/USDT · 15分足)に対して出力した結果です。クリーンクローンから約5分で再現でき、外部API呼び出しは不要です。

横並び比較

各エンジンが実際に提供するもの。

機能PineForgeTradingViewPyneCore
バイト単位で再現可能なバックテスト
ネイティブコンパイルランタイム
245/246 厳密TVパリティ
コンパイル済みバイナリとして戦略を販売
期限付き販売者ライセンス
マシン紐付け販売者ライセンス
監査可能なオープンソースランタイム
自分のデータ、自分のマシンで実行
コンプライアンス対応の監査グレード再現性
ネイティブなライブブローカー連携
100戦略の一致度

100戦略のうち、いくつが Excellent ティアでTradingViewと整合するか。

C++ static lib
PineForge
100 / 100
Excellent100Strong0Moderate0Weak0
Python (PyneSys cloud-compiled)
PyneCore
85 / 100
Excellent85Strong2Moderate10Weak3
TypeScript (LuxAlgo)
PineTS
インジケーターのみ
戦略バックテスターバーごとのインジケーター10/10 インジケーター一致

PineTSでの戦略実行は上流ロードマップです。ここではインジケーター精度をPineTSと突き合わせ、浮動小数点由来の差分を三角測量しています。

ティアはPineForgeの標準パリティスイープに準拠します。Excellentは、4次元(取引数差分・エントリーp90・エグジットp90・損益p90)がすべて厳密閾値内かつ約定の≥95%一致。Strongは厳密閾値の5倍以内。ModerateWeakMinimalは段階的に緩和されます。TradingViewのtrail_*系エグジットを使う戦略には、本番閾値プロファイル(エグジット/損益の許容がやや緩い)を適用します。

3戦略のデルタ

3つの戦略が、 すべて の差を生みます。

参照100戦略のうち85戦略では、PineForgeもPyneCoreもExcellentに到達しています。残る15戦略の乖離はランダムではなく、ブラケット決済・トレーリングストップ・部分決済に一貫して集中します。この領域ではPyneCoreのブローカーエミュレータがTradingViewと異なり、PineForgeは取引単位でTradingViewへ寄せています。

06-liquidity-sweep
ブラケット決済
PineForgeexcellent (88 / 88)·PyneCoremoderate (91)
対象ウィンドウのTV約定は93件。PineForgeは厳密閾値のもと88件一致。PyneCoreは91件を生成し、件数+3のほかブラケット決済での約定価格ドリフトも発生します。
07-scalping-strategy
トレーリングストップ(本番閾値)
PineForgeexcellent (412 / 429)·PyneCoremoderate (412)
対象ウィンドウのTV約定は429件。PineForgeは412件一致で、4次元すべてが本番閾値内。PyneCoreも一致件数は同水準ですが、エグジット価格p90が閾値外 — <code>trail_offset</code>の演算がTradingViewと乖離します。
49-partial-exit-qty-percent
部分決済(qty_percent)
PineForgeexcellent (683 / 725)·PyneCoreweak (2,671)
コーパスで最も明瞭な乖離です。725件のTV約定に対し、PineForgeは683件が厳密一致。PyneCoreは2,671件を生成し、正しい件数の約3.7倍。原因は、PyneCoreのstrategy.close(qty_percent=…)が部分決済を単一約定として扱わず、エントリーごとにサブ決済へ分割する点です(本コミット時点では上流のissueを参照)。
選定の目安

こちらの不足も開示します。 他社も 同様であるべきです。

PineForgeを選ぶべき場合
  • バイト単位で再現可能な決定性が必要なとき(CIゲート、監査証跡、クライアントに対するパリティ保証)。
  • ブラケット決済、トレーリングストップ、部分決済でTVに忠実なセマンティクスが必要なとき。上記の3戦略がこの点で明確な根拠。
  • パラメータスイープにネイティブコンパイル速度が必要なとき(5万本バーで数千通りのパラメータをOptunaで探索など)。
  • 後にホスト型Studio UIが欲しいとき — Code · Backtest · Optimize · Compare · Reportsタブを2026 Q4にリリース予定。
  • 将来、コンパイル済み戦略を他のトレーダーに販売したいとき。暗号化配信+ライセンスサーバーの設計は公開エンジンリポジトリにある。
PyneCoreを選ぶべき場合
  • 本日時点でフォワードテストやブローカー経由のライブ実行が必要なとき。PineForgeは2026 Q3〜Q4にリリース予定だが、PyneCoreは現在利用可能。
  • 完全にPython完結の戦略実行パスが必要なとき(NumPy/Pandasベースのバックテストツールとの深い統合、Jupyterネイティブの反復処理)。
  • ブラケット/トレーリング/部分決済の注意点を許容できるとき(100戦略中85戦略はそれでもExcellentに到達)。
  • ソースアベイラブルより、エンドツーエンドで完全なOSIオープンソースを重視するとき。PyneCoreは全体がOSIライセンスです。一方PineForgeはエンジンこそApache-2.0ですが、コード生成はソースアベイラブル(PolyForm Noncommercial、個人トレードなら無料)であり、OSI承認ライセンスではありません。
  • あなたが活発なコントリビューターで、自身のPRが戦略実行パスに直接反映されるプロジェクトを求めているとき。
インジケーター精度

TradingViewへの近さで見ると、PineForgeはPyneCoreより桁で優位です。

TradingViewに対するインジケーターのドリフト(小さいほど近い) PineForgePyneCore
ema21
1.9e-10·1.9e-8
sma21
1.9e-10·1.9e-8
rsi14
9.7e-11·9.7e-9
atr14
2.8e-10·2.8e-8
macd_line
2.3e-10·2.3e-8
macd_signal
2.4e-10·2.4e-8
bb_basis
0·0
bb_upper
1.9e-10·1.9e-8
1e-12絶対誤差 · 対数スケール1e-7

リポジトリHEAD時点のベンチマークスイープに基づくドリフト値です。 評価方法

表は信じず、 再現 してください。

本ページの数値は公開ベンチマークから生成されています。隠し設定やAPIキー、固定スナップショットの持ち込みはありません。クリーンクローンから約5分です。

# 1. オープンソースエンジンとベンチマークスイートをクローン
git clone https://github.com/pineforge-4pass/pineforge-engine
cd pineforge-engine

# 2. LFS管理のOHLCVを取得(2.3 MB)
git lfs install && git lfs pull

# 3. 3エンジン全スイープを実行(約5分)
bash benchmarks/run_all.sh

# 4. 結果を確認 — このページと同じ表
cat benchmarks/results/summary.md