本文へスキップ
パリティの測定方法

7,989件を評価、100.00%が「優秀」か「良好」

TradingViewの取引一覧と照合:「優秀」7,983件、「良好」6件。「良好」未満はなし。

15分足日足ETHUSDT.PBTCUSDTその他
15分足日足ETHUSDT.PBTCUSDTその他

タップやドラッグで各点の値を確認できます。

出典:パリティベースラインpineforge-parity-baseline-20261103-release-tag-3d8717c4(2026-11-03)。評価方法

グラフのデータを表で見る

各マークは、1つの戦略スクリプトを1つの銘柄と時間足で実行したものです。琥珀色の6件は「良好」、残る7,983件は「優秀」と判定されています。

銘柄時間足評価済み優秀良好
ETHUSDT.P15分足1,0091,0090
BTCUSDT15分足6686662
BTCUSDT日足5165160
ETHUSDT.P日足5405400
その他15分足3,0813,0774
その他日足2,1752,1750

評価ランクの基準

「優秀」と「良好」の基準。「優秀」では、時刻、価格、方向が完全に同じところに TradingView が二つ以上の異なるエントリー Signals を示す場合、エンジンもそこに同じ数の個別のエントリーを示します(個別エントリーの識別)。
基準優秀良好
取引数の差0< 6%
エントリー価格(90パーセンタイル)< 0.01%< 0.1%
決済価格(90パーセンタイル)< 0.01%*< 0.5%
損益(90パーセンタイル)< 1%*< 100%
TradingViewの取引の一致率または一致しない取引が1件以下≥ 99%≥ 95%
計測方法

このサイトの数値は、すべて以下のいずれかの測定から得たものです。各セクションでは、何を測定し、どう評価し、ソースがどこにあるかを示します。

各バックテストは、同じスクリプト、銘柄、時間足でTradingViewがエクスポートした取引一覧と照合して評価します。TradingViewの各取引は、同じ方向で、エントリー時刻の差が1時間以内、エントリー価格の差が$3以内のエンジン側の取引のうち、最も近いものと対応付けます。取引数、価格、損益の各基準は、両方の一覧がカバーする期間で計算します。カバレッジ(一致率)は、決済済みのTradingViewの取引をすべて対象に数えます。

「良好」の下には、「中程度」「低水準」「最低水準」が続きます。

*trail_*で決済する戦略は、本番用プロファイルで評価します。このプロファイルは、そうした決済でTradingViewに生じるバー内の約定価格のずれを吸収するもので、決済価格は0.05%以内、損益は100%以内とします。

パリティ検証ベースライン

計測方法

main:pineforge-parity-baseline-20261103-release-tag-3d8717c4(2026-11-03)、エンジン59f98ba8、スナップショット3d8717c4。リリースv1.10.0:「優秀」7,983件/「良好」6件。評価方法

プローブとは、1つの戦略スクリプトを1つの銘柄と時間足で実行したもので、そのチャートでTradingViewがエクスポートした取引一覧と照合して評価します。

2026-11-03時点のベースラインでは、7,989件のプローブを評価しています。内訳は、公開コーパスのリファレンス戦略309本(1本につきプローブ1件)と、非公開テストのプローブ7,680件(TradingViewのスクリプト741本)です。非公開テストのスクリプトは、TradingViewの公開ライブラリでコミュニティが共有しているスクリプト680本(プローブ7,179件)と、メンテナーが作成したプローブスクリプト61本(プローブ501件)です。実行対象は9銘柄、15分足と日足の2つの時間足です。プローブ全体に含まれるTradingViewと照合した取引は4,692,951件です。集計では評価済みの各プローブの取引数を一度だけ加算し、分割して決済したポジションも一件と数え、TradingViewのリスト末尾で未決済の取引は除外します。

暗号資産の銘柄は、BTCUSDT(Binance現物)とETHUSDT無期限先物(Binance)です。プローブのうち4,758件が15分足、3,231件が日足です。

結果は、「優秀」が7,983件(99.92%)、「良好」が6件(0.08%)で、100.00%が「優秀」または「良好」です。「良好」未満はゼロで、エンジンエラーもありません。TradingViewのエクスポートにTradingView側の不具合が見られるプローブ17件は、評価から除外しています(母集団は8,006件)。

mainブランチのベースラインを、2026-11-03に検証の基準として採用しました。計測に使ったのは、エンジン59f98ba8とcodegen 47f0e8a5です。リリース済みのエンジン/codegen v1.10.0の評価は、7,989件のプローブのうち「優秀」7,983件、「良好」6件です。評価には、リリース自身の、後から変更しないベースラインpineforge-parity-baseline-20261103-release-tag-3d8717c4(2026-11-03)を使っています。今後mainベースラインが更新されても、この評価は変わりません。

出典:非公開の検証記録、基準 pineforge-parity-baseline-20261103-release-tag-3d8717c4(sha256 3d8717c4…73ad、母集団 cf857209…b062)、出所別のスクリプト数:pineforge-engine README.md(d1d18867)、取引数:pineforge-release facts.json。

公開コーパスのパリティチェック

計測方法

pineforge-corpusは、312本のリファレンス戦略を収めた、Apache-2.0の公開セットです。各戦略には、Pineのソースコード、そこからcodegen 1.0.1が生成したC++、TradingViewからエクスポートした取引一覧、エンジンの取引一覧が含まれているため、誰でも2つの一覧の差分を取れます。エンジンの取引一覧は、そのC++からエンジンv1.0.1で出力したものです。

mainブランチのエンジンに含まれるコーパスのパリティチェックは、312本中311本が「優秀」という結果を期待値として固定しています。残る1本のanomaly-equity-mirror-strategy-equity-01は、コーパスで異常として宣言されているため、チェックでは失敗ではなく異常として報告されます。コーパスの注記には、当初の診断が記録されています。サイズがちょうど資産の1倍という条件で、TradingViewの証拠金チェックが、資産を上回るエントリーの一部を受け入れ、下回るエントリーの一部を拒否していたというものです。ただし、2026-11-03時点のパリティ検証ベースラインではこのプローブが「優秀」と判定されたため、この診断は見直し中です。このチェックはリリースv1.10.0に含まれています。

エンジン比較

計測方法

201本の戦略(公開コーパスから100本、非公開のコミュニティスクリプト101本)を、同じETHUSDT 15分足フィード(53,929バー)で、PineForgeとPyneCoreで実行し、手作業で移植した13本についてはvectorbtでも実行します。各エンジンの取引は、上記の基準でTradingViewのエクスポートと照合して評価します。

2026-09-29に、エンジン35db01c8、codegen 121b3e6a、PyneCore 6.10.3で計測しました。エンジンv1.10.0のリリースはこの計測より後で、評価ランクはリリース版で再計測していません。PineForge:優秀201本。PyneCore:優秀137本、良好46本、中程度12本、低水準4本、最低水準1本、取引一覧なし1本(PyneSysコンパイラがソースを受け付けない戦略)。vectorbt:優秀4本、良好6本、中程度2本、低水準1本。公開コーパスの100本に限ると、PineForgeは優秀100本、PyneCoreは優秀86本、良好12本、中程度1本、低水準1本です。

インジケーターの値(6つのta.*呼び出しから得た10系列)は、PineForge、PyneCore、PineTSの間で、90パーセンタイルの相対差が約1e-10の水準で一致しています。これはエンジン同士の比較であり、TradingViewとの比較ではありません。

公開されている半分は、APIキーなしでクリーンクローンから再現できます。pineforge-engineでbash benchmarks/run_all.shを実行してください。非公開の半分のスクリプトは再配布していません。

速度ベンチマーク

計測方法

Ubuntu 24.04のAWS c7a.8xlarge(AMD EPYC 9R14、32コア、SMT無効)で、計測プロセスをそれぞれ特定のコアに固定し、バーマグニファイアを有効にした場合、53,929バーのフィード全体に対するフルバックテストにPineForgeが要する時間は中央値で66.84ms(201本の戦略全体で29.2ms〜848ms)、処理速度は中央値で毎秒80.68万バーです。2026-09-29に、エンジン35db01c8で計測しました。エンジンv1.10.0のリリースはこの計測より後で、リリース版では再計測していません。

両エンジンで実行した200本の戦略で、PyneCore 6.10.3に対する高速化率の中央値は36倍です(5パーセンタイルで15倍、95パーセンタイルで131倍)。PyneCoreの所要時間は、戦略あたり中央値で2,629msです。PineForgeはGoogle Benchmarkでインプロセス計測しています。PyneCoreはサブプロセスとして計測しているため、ウォールクロック時間にインタプリタの起動時間が含まれます。vectorbtへ移植した13本の戦略では、PineForgeの高速化率の中央値は4.2倍で、そのうち2本ではvectorbtのほうが高速です。バーマグニファイアを無効にすると、スループット計測パッケージは戦略あたり中央値で毎秒78万バーを処理します。