メタ

167本の戦略を、数字で読み解く

PineForgeのパリティ・コーパスに何があるか——カテゴリ、銘柄、複雑さ別の内訳。ギャラリーを巡るミュージアムガイドのつもりで読めます。

読了 約6分#corpus#gallery#stats

2026-05-09 時点のコーパス規模に合わせて更新(参照戦略 167 本のうち 165 本が厳密パリティ)。

「167 本中 165 本が厳密パリティを満たす」と言っても、その意味は 167 が何なのか を知っているときだけ効いてきます。ここではギャラリーを案内するミュージアムガイドのつもりで書きます。

なぜ固定コーパスが要るのか

参照集合が決まっていないと、「パリティ」は気分です。数本動かして「だいたい同じ」で出荷してしまうと、ユーザーが OCA の出口グループやループの中の request.security に踏み込んだ瞬間にガタッと崩れます。バグは最初からありました。あなたがそれを狙って試していなかっただけです。

凍結コーパスは話が別になります。エンジンの各リリースは、同じ 167 本を同じカノニカル OHLCV で走らせます。パスの本数が増えれば何かが良くなった。減れば回帰が入った。ギャラリーの皮を被っている実体は、バックテスト展示ではなく回帰ハーネスです。

その 167 本は公的な証明にもなります。トレード件数、総リターン、Sharpe などをギャラリーにコミットしてあり、エンジンが実際に何を吐くか誰でも見られます。これは「パリティがある」と書いたプレスリリースとは質が違います。

三つのカテゴリ

コーパスは basiccommunityvalidation の三フォルダに分かれています。品質ランキングではなく、どこから来た脚本か何をテストしているかを表すラベルです。

basic — 9 本

教科書に載りそうな定番タイプが並びます:移動平均クロス、Supertrend、Stochastic Slow、Parabolic SAR、Keltner Channel、Inside Bar、Donchian Breakout、ボラティリティ拡張系など。どこかの入門アルゴゴー講座で最初に出てくるような奴らです。

ここに置く理由は単純で、コンパイラが一番カッコ悪く壊れるのがこういうところだからです。MACD クロスですらトレード一覧が合わなければ、その上の複雑な脚本は信用できません。basic はサニティ層です。

9 本のトレード件数は 14(とても選別的なモメンタム系 greedy)から 7,580(15 分足で頻繁に発火するボラ拡張戦略)まで。「単純」カテゴリの中で約 500 倍の開きがありますが、これは複雑さというより選択性の差を示しています。

community — 11 本

実際のコミュニティから寄せられた Pine 脚本です。書き手がバラバラなので、コードスタイル、builtins の使い方、ポジションサイズや出口ロジックの配線の仕方まで実戦のばらつきが入ります。

11 本には 4 本 EMA + RSI フィルタ、ブレイク・オブ・ストラクチャ寄りのカーブ検出、リクイディティスイープ、MarketShift というトレンドフォロー系、VCPIES などが含まれます。トレード件数は 71(きわめて選別的なパタンスキャナの VCP)から 2,541(ほぼ毎バーで発火する IES)まで幅があります。リターンも MarketShift の +$3,231 から IES の −$162,977 まで開きがあります。コーパスに入っていることと、その戦略が儲かることは無関係です。コンパイルできてトレードが立つ——それだけが条件です。

コミュニティ脚本は、パリティ維持が一番きついカテゴリです。作者の多様さが、検証スイートだけでは思いつかない Pine 機能の組み合わせを引き出します。新しいパリティの穴を見つけたとき、最初にここで見つかることが多いです。

validation — 147 本

167 本のうち 147 本がここにあります。収益目的ではなく、特定の Pine の意味論が C++ に正しく写るかを押さえるための合成戦略です。

個々が狙っているものの例:

  • 49-partial-exit-qty-percentstrategy.exit(qty_percent=...) による部分決済。出口 fill を過剰発火させたらここで捕まる。
  • request.security 系 — マルチタイムフレーム参照が正しいバーで解決するか、lookahead=barmerge.lookahead_off の有無も含めて検証。
  • OCA(One-Cancels-All)出口グループ — 一方の出口が約定したとき競合する出口がキャンセルされるか。
  • トレーリングストップ各種 — ギャップや指値約定をまたいでもウォーターマークが正しくリセットされるか。
  • UDT メソッド — Pine v6 のユーザー定義型メソッドが期待どおり struct 操作に落ちるか。

「この戦略が通れば機能 X はカバーされている」という対応は、フォルダに足すときから明示的です。コミュニティ脚本が新しい角を晒したら、だいたい最小の合成 repro を書いて validation に足します。

数字の実際の形

現在のコーパス 167 本はすべて同じ銘柄・同じ足:ETHUSDT の 15 分足です。意図的な制約です。一本のカノニカル OHLCV に揃えることで戦略間の比較が意味を持ち、パリティ分析から銘柄固有のノイズを外します。

トレード件数の分布:

レンジ戦略数
100 未満7
100 – 49941
500 – 99968
1,000 – 4,99944
5,000 以上7

コーパス全体の中央値は 757 トレードです。最小は 14greedy)、最大は 11,218。この広がりはパリティ検証で効いてきます。14 トレードの戦略で出口を一つ誤ると、それだけで約 7% のエラー率になります。5,000 トレード級では、たいていの約定は一致していても集約メトリクスに現れます。

Sharpe の分布:

コーパスに並んでいる Sharpe は、厳選された戦略ライブラリより低めです。大半は Pine の機能カバレッジのために入れてあり、リスク調整後リターンの美しさは二の次です。167 本全体の Sharpe の中央値は 0.023109 本がバックテスト期間で総リターンプラス、58 本がマイナスです。

ギャラリーではこれを隠しません。「良い戦略」だけにフィルタしていません。アイデア探しならリターンと Sharpe の列を見れば十分です。パリティの検証が目的なら、数字そのものより PineForge と TradingView が同じ数字を出すかどうかが本題です。

コーパス入りに必要な四つのこと

  1. PineForge codegen でコンパイルできること。 コンパイルできなければテストになりません。コミュニティ脚本の一部はまだサポートサブセットにないライブラリを import していて、この段で落ちます。
  2. カノニカル OHLCV で少なくとも 1 トレードを出すこと。 コンパイルだけしてエントリーが一度も走らない脚本は、トレード一覧を何とも diff できません。
  3. TradingView の参照 CSV があること。 各戦略に TV の「取引リスト」エクスポート由来の engine_trades.csv がコミットされ、OHLCV のスパンにクリップされています。これがグラウンドトゥルースです。
  4. エンジン出力が Pine ソースと並んでコミットされていること。 ギャラリーはそのスナップショットから配信します。オンデマンド生成ではありません。追加した日か最終更新日のエンジン出力がそのまま載っています。

なぜ集約だけを公開しソースは出さないのか

ギャラリーはトレード件数、リターン、Sharpe、スパークラインなどを公開しますが、すべての戦略の Pine ソースや生の engine_trades.csv をそのまま並べてはいません

理由は単純です。コミュニティ脚本には原作者がいて、ソースを無条件に再配布する権限はありません。TradingView の CSV エクスポートも利用規約の対象です。内部の LEGAL.md がそれを反映しています。

公開できるのは——実際に公開しているのは——要約統計と視覚的な出力です。スパークライン、パリティ tier のバッジ、ギャラリーのメタデータ。これらは十分に当方の二次成果物でありつつ、検証可能な具体性があります。TradingView の Premium アカウントと同じ脚本が手元にあれば、あなた側でも同じトレードリストを再現し、こちらのコミット済み出力と突き合わせられます。

ギャラリーが誰のためか

アイデアを探す個人クオント。 167 本はエントリー・出口・インジケータ種類のバリエーションが広く、「今日のエンジンでコンパイルして動く脚本がどんな世界か」を眺めるのにちょうどよいサンプルになります。リターンで並べ替え、カテゴリで絞り、スパークラインを眺める。

パリティ主張を検証するエンジニア。 PineForge の「165 / 167 が厳密パリティ」が本物かどうか、まずギャラリーが入口です。各カードに tier とコミット済みのトレード件数が載っています。tier の付け方は PyneCore とのクロス検証の記事 に書いてあります。

エンジンリリースの CI ベースライン。 フル 167 本スイープはリリース前に必ず走らせます。ギャラリーのスナップショットは直近でコミットしたベースラインです。コーパス戦略の出力が変われば、 ship する前に diff が拾われます。

次に読む・試す

  • ギャラリー全体を見る167 本すべて。カテゴリ、トレード件数、リターンで並べ替え・絞り込み可能。
  • codegen API を試す — Claude や Cursor からワンツールコールで Pine をトランスパイルし、自分の OHLCV で走らせる。
  • Early access を取る — 無料枠は月 100 回のトランスパイル。ローカルコーパスを自分で増やす足場になります。