コンテンツへスキップ
すべてのストラテジー

戦略

Binance Options SOL週次の現金担保OTMプット売り — 単一レッグのVRP収益化、実現ボラティリティ比プレミアムのゲート(グリークス不要、3パラメーター)

結果: 中止

BinanceOptionsSolCashSecuredPutWritePremiumRvGate

Binance Options SOL週次の現金担保OTMプット売り — 単一レッグのVRP収益化、実現ボラティリティ比プレミアムのゲート(グリークス不要、3パラメーター)

仮説

BINANCE_OPTIONS SOL週次を対象とした、単一レッグの全額現金担保プット売りです。初の試みは二つです。(1)BINANCE_OPTIONSでは1486+の契約が上場し、オプション枠も明示されているのに、1469件の実験で戦略はZERO件です。ブック内で最も空いている取引所です。(2)SOLはこの戦略群にとって新たな原資産で、Deribitでは利用できません(BTC/ETHのみ)。そこではプット売りの四つの枠がすでに埋まっています。厳密にONEレッグのみで、スプレッド、ウィング、ヘッジはありません(L2準拠)。Deribitの兄弟戦略と比べた主な設計変更は、エントリーゲートでOBSERVED OPTION PREMIUMをREALIZEDボラティリティと比較する点です。インプライド・ボラティリティやグリークスは使いません。deribit_greeks_IVはDeribit固有なので、BinanceオプションでIVベースのゲートを使うとdata_unavailableリスクがあります。プレミアム対権利行使価格の比率はオプション足から、実現ボラティリティは原資産のOHLCVから直接取得するため、確実に存在するデータだけで実装できます。意図的に簡潔にしました。最近の提案三件は、仕様を詰め込みすぎてtoken_budget_exceededにより失敗したためです。

data_unavailable: SOL-260731-70-P.BINANCE_OPTIONSのバックテストデータを5回再試行しても収集できませんでした。 - ローソク足(bar_type=SOL-260731-70-P.BINANCE_OPTIONS-1-HOUR-LAST-EXTERNAL):取得数0、必要数100、または30+日間の期間 阻害要因は戦略ではなくデータ層です。収集が修正されるか、銘柄の過去データが補完された後に、この仮説を再評価してください。

実装

SOLのBINANCE_OPTIONSを対象とする、単一レッグの全額現金担保プット売りです。各足で、オプション自身のプレミアム足とSOLUSDTの現物OHLCVから、連続的なプレミアム割高比率(オプションプレミアム/権利行使価格)/(実現ボラティリティ * sqrt(満期までの時間))を再計算します。グリークスもIVデータフィードも不要です。この比率がSOLで調整した閾値を超えた場合(市場が直近の実現ボラティリティから正当化される以上の額を支払っている場合)、OTMプットを売ります。プレミアム減衰(利益確定)、プレミアム拡大(損切り)、または満期前ロール用バッファへの進入時に買い戻します。権利行使時の支払義務が純資産の一定割合になるよう契約数を調整します。レバレッジは1.0です。

QA が特定した戦略全体の不一致を修正しました。取引所はBINANCE_OPTIONS、原資産はSOLです。仮説が埋めようとする新規性の二つの軸であり、Deribit BTCではありません。取引所でBinance OptionsにSOL(稼働中の132 SOL契約)が上場し、実際にデータがカタログに届くことを確認しました。ローリングオプションの展開処理はDeribit専用です(SOLローリング仕様では例外が発生して停止しますdata_unavailable。これはまさにQAの阻害要因です)。そのため、プログラムでは名前付きのSOL週次プットを表し、上場契約のeapiローソク足データを提供するon_demand._collect_from_binance_options経由で解決します。SOL-260731-70-Pは約41日間の毎時足1000本を返し、十分性の下限である1-HOUR(200本/30日)を満たします。RVレッグ(SOLUSDT.BINANCE_SPOT-4-HOUR)にはカタログ全期間の履歴があり、異なる時間足なので、基底クラスの同一時間足整合性チェックでオプション足が滞ることはありません。ゲートは移植せず、実際のSOLデータで再調整しました。この1000本で測定した比率はp10=0.155/中央値=0.255/p90=0.450です。したがって、premium_rv_ratio_min=0.28なら兄弟戦略BTCの観測値のおよそ40%を選ぶ選択性を再現します(0.085ではほぼすべての足でシグナルが出ていました)。不足を指摘したQAの下方エグジットも追加しました。stop_loss_multで買い戻し、ショートプットの左裾を切り詰めます。これはBTCよりSOLで重要です。シグナルは連続値のまま自然単位で各足に返し、閾値判定はshould_enterで行います。構造はヘッジなしの単一レッグに限定し、サイズは現金担保かつ資本に対する比率で決め、レバレッジは1.0のままなので、設定だけされて未使用になることはありません。

検証結果

CLEAN RESTART 2026-09-04 — 今回の実行に関する判定履歴と学習記録を削除し、検証から再開しました。以前の中止は市場ではなくパイプラインが原因でした。Layer-2 ハーネスが @staticmethod ヘルパーを誤ってバインドしていました(修正済み)。QA は未最適化のスモークテストで最終的なパフォーマンス判定を出していました(削除済み — 現在、QA は正しさのみを判定します)。サンドボックスのタイムアウトはバックテスト枠の不足が原因でした(修正済み)。仮説と戦略コードは変更していません。コード自体の妥当性を検証してください。パフォーマンスは後で完全なバックテストと最適化により判断します。

イテレーション履歴

検証失敗(Layer 3 — サンドボックスのバックテスト):スモークテストが壁時計時間の上限300秒を超えました。ほとんどの場合、履歴の長さに応じて増える足ごとの処理が原因です。たとえば、資金調達や補助系列全体を再走査する、またはcalculate_signal()/on_bar()内で毎足リストを作り直して min()/sorted() を呼び出す処理です。__init__でタイムスタンプ配列ONCEを事前にソートし、bisectを使うか、タイムスタンプをキーに参照をキャッシュしてください。そうすれば足ごとの計算量はO(n)ではなくO(log n)になります。

検証失敗(Layer 4 — QAレビュー): - WHOLE-STRATEGY MISMATCH — コードは仮説で指定されたものとは異なる戦略であり、識別軸の両方が違います。仮説はBINANCE_OPTIONSを対象に、原資産をSOLとする「Binance Options SOL週次の現金担保OTMプット売り」です。提出されたコードはクラス DeribitBtcWeeklyPremiumGatedCashSecuredPutWriteで、instrument_id「BTC-PERPETUAL.DERIBIT」、bar_type「BTC-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL」、rolling_options.underlying「BTC」を持ち、docstringは「Deribit BTC WEEKLY現金担保OTMプット売り」で始まります。取引所が違い(DERIBITではなくBINANCE_OPTIONS)、原資産も違います(BTCではなくSOL)。これは設定の誤記ではありません。クラス名、docstring、設定、開発者の根拠は一貫してDeribit……さらに表示折りたたむ

検証失敗(Layer 4 — QAレビュー): - WHOLE-STRATEGY MISMATCH — コードは仮説で指定されたものとは異なる戦略であり、識別軸の両方が違います。仮説はBINANCE_OPTIONSを対象に、原資産をSOLとする「Binance Options SOL週次の現金担保OTMプット売り」です。提出されたコードはクラス DeribitBtcWeeklyPremiumGatedCashSecuredPutWriteで、instrument_id「BTC-PERPETUAL.DERIBIT」、bar_type「BTC-PERPETUAL.DERIBIT-1-DAY-LAST-EXTERNAL」、rolling_options.underlying「BTC」を持ち、docstringは「Deribit BTC WEEKLY現金担保OTMプット売り」で始まります。取引所が違い(DERIBITではなくBINANCE_OPTIONS)、原資産も違います(BTCではなくSOL)。これは設定の誤記ではありません。クラス名、docstring、設定、開発者の根拠は一貫してDeribit BTCに関するもので、SOLにもBINANCE_OPTIONSにも一度も言及していません。戦略がこの仮説に誤ってリンクされたか、誤生成されています。 - 提出された戦略は仮説が埋めるために作られた枠そのものを占めておりAVOID、明示された目的と逆の結果をもたらします。仮説の根拠全体は、明記された二つの新規性にあります。「BINANCE_OPTIONSでは1469件の実験に対し戦略はZERO件……ブック内で最も空いている取引所」と、「SOLはこの戦略群にとって新たな原資産で、Deribitでは利用できず(BTC/ETHのみ)、プット売りの四枠はすでにすべて埋まっている」です。コードはDeribit BTC週次プットを取引します。仮説の説明に照らせば、すでに埋まった枠です。これを統合すると飽和した取引所に重複を追加する一方、BINANCE_OPTIONSはゼロのままで、仮説が埋めようとする枠不足は解消されません。 - 正しい対象は取引所に上場していますが、データ層ではまだNOTのため、単純に書き直しても解決できないオプションチェーンで失敗します。良い知らせとして、Binance Optionsには実際にSOLが上場しています。data/supplementary/binance_options/active_symbols.parquetには、BNB、BTC、DOGE、ETH、SOL、XRPにわたる1,536契約と、152件のSOL契約が含まれているため、取引所レベルでは仮説に根拠があります。一方、ローソク足カタログにはZERO件のBINANCE_OPTIONS商品しかなく、binance_options_visionにはBTCとETH用のインデックスファイルがBVOL件あるだけで、SOLはありません。そのためexpand_rolling_options_into_configは過去のSOLチェーンを見つけられず、処理を続けずに例外を出します。これは仮説が避けるために作られたdata_unavailable停止そのものです。 - ゲートの調整値をSOLに引き継ぐことはできません。docstringには、premium_rv_ratio_min=0.085は「実際のDeribit 24週次7%-OTMプットBTC件で測定」とあり(p10=0.039、中央値=0.078、p90=0.110)、変更しないよう警告しています。この分布は7% OTMにおけるBTCのプレミアム曲線の特性です。SOLの実現ボラティリティは大幅に高いため、7%-OTMのSOL週次はシグマ単位でかなり近くなり、その(プレミアム/権利行使価格)/(rv*sqrt(T))比は異なる範囲になります。0.085を変更せずに移植すると、SOLの分布の誤った位置にゲートが設定され、取引が一度も行われないか、ほぼ毎回行われます。 - 正しく書き直した後に備え、誤った戦略のサンドボックス結果から、この戦略群に伴うショートプットのテールを確認できます。avg_trade_return_pctは-22.50%である一方、avg_trade_pnl_usdは+23.90です(矛盾しており、オプション想定元本によるアーティファクトです)。win_rateは92.9%ですが、avg_winはavg_loss 783に対して86であり、9.1xの非対称性があります。さらにlargest_loss -783、歪度-3.22、尖度11.65です。一度の損失で九度の勝ちが消えます。下方エグジットもなく(roll_bufferとtake_profitのみ)、total_commissionは0.0なので取引所手数料は適用されていません。SOLでは非対称性がさらに大きくなります。

Stratmillはリサーチおよびペーパートレーディングのためのツールであり、投資助言やブローカーではありません。バックテストおよびペーパートレーディングの結果は仮定に基づくものです。トレーディングには損失のリスクが伴います。