Bot DeFi bot DEX 開発ログ

🛠️開発記録#535(2026/5/6)DeFi研究メモ:Ethena regime 周りの判断対象を整理した話

こんにちは、ぼっちbotterよだかです。

今日は、DeFi観測機のうち Ethena regime 周りの整理を行いました。

前回の話
🛠️開発記録#529(2026/4/29)DeFi研究メモ ― Ethenaの供給ショック仮説を見直し、supply × coverage proxy の初期レジーム観測を組み込んだ話

続きを見る

1. 今日の目的と現時点の前提

今日は、今後の開発リソースをどこに集中させるかを決めるために、現時点で追うもの・優先度を下げるもの・判断を保留するものを分ける作業でした。

これまで、USDe supply shock、Ethena 側の coverage proxy、Hyperliquid 側の OI・funding・volume・mark price などを見てきました。最初は、USDe supply shock から Hyperliquid 側の反応を見られるか、特に BTC/ETH の価格方向や OI の変化に何か先行性があるかを確認していました。

ただ、現時点では、USDe supply shock をそのまま価格方向のシグナルとして使う線は弱いと見ています。

特に、usde_supply_zscore_24obs を使った shock 判定は、実際の供給増減そのものではなく、24観測窓の中で相対的に高いか低いかを見ているものです。そのため、「供給が増えた/減った」という実需の変化と混同しやすい定義でした。また、その shock から BTC/ETH の mark_px 方向を安定して当てる材料も、現時点では強くありません。

一方で、Ethena 側の supply_statecoverage_state を組み合わせた ethena_regime には、まだ見る価値があると判断しました。

ただし、これは「この regime なら買う/売る」という意味ではありません。
現時点で見たいのは、特定の Ethena regime のもとで、Hyperliquid 側の OI・funding・volume などがどう変わりやすいかです。

つまり、研究の見方を次のように切り替えました。

USDe supply shock から価格方向を当てる↓Ethena regime を使って Hyperliquid の activity / risk 環境を読む

この整理にしたがって、ethena_regime は正式な trading filter ではなく、現時点では activity / risk filter candidate として扱います。

また、expansion_coverage_deteriorating は、現行データ上で OI や volume の変化が相対的に目立つため、primary activity monitor として残します。ただし、これも execution signal ではありません。売買方向を示すものではなく、あくまで Hyperliquid 側の activity や risk context を見るための監視対象です。

今日の目的は、この前提を明確にしたうえで、来週の検証に向けて判断対象を整理することでした。

具体的には、

  • 本線に残すもの
  • 優先度を下げるもの・外すもの
  • 判断保留として継続監視するもの
  • 公式分類を変えずに shadow 診断へ回すもの
  • 来週の判断を歪めないために修正する表示・命名・基準

を分けました。

今後は、ethena_regime が Hyperliquid の activity / risk filter candidate として残せるかどうかを確認します。
そのために、公式分類はすぐには変えず、coverage 周りの shadow diagnostics と、expansion_coverage_deteriorating における OI・funding・volume の挙動を1週間観測します。

2. 本線に残すもの・外したもの・保留したもの

今日の整理で一番重要だったのは、各指標やレジームを「何として扱うか」を決めたことです。

同じデータでも、entry trigger として見るのか、price direction signal として見るのか、activity filter として見るのか、risk / cost context として見るのかで意味が変わります。ここを曖昧にしたまま観測を続けると、良さそうに見える数字に引っ張られて、研究対象がまた広がってしまいます。

そこで今日は、現時点で残すもの・外すもの・保留するものを整理しました。

本線に残すもの

本線に残すのは、ethena_regime を使った Hyperliquid の activity / risk filter candidate です。

これは、ethena_regime から直接 BTC/ETH の価格方向を当てるという意味ではありません。
現時点で見たいのは、ある Ethena regime のもとで、Hyperliquid 側の OI、funding、volume などがどう変わりやすいかです。

特に、expansion_coverage_deterioratingprimary activity monitor として残しました。

この regime では、現行データ上、OI や volume の変化が相対的に目立っています。
ただし、ここから直ちに「売買方向が分かる」とは見ません。

位置づけとしては、以下です。

ethena_regime= activity / risk filter candidateexpansion_coverage_deteriorating= primary activity monitoropen_interest_usd= core_activity_filter_candidatefunding_rate= risk_cost_contextvolume_24h_usd= lower_priority_confirmation_onlymark_px= reference_only_not_price_direction_signal

つまり、今残している本線は、単独の entry trigger ではなく、取引環境を読むための候補です。

今後もし別の売買シグナルが出てきた場合に、ethena_regime を使って、

  • 取引してよい環境か
  • ポジションが溜まりやすい環境か
  • funding や混雑リスクが高い環境か
  • size を上げる/下げる判断に使えるか

を見る可能性があります。

そのため、現時点では ethena_regime を execution signal ではなく、activity / risk filter candidate として残します。

優先度を下げるもの・外したもの

一方で、いくつかの線は明確に優先度を下げる、または外しました。

まず、raw_zscore_decile_shock_trigger は外しました。

もともとは、usde_supply_zscore_24obs の上位・下位を shock として扱い、その後の Hyperliquid 側の反応を見る設計でした。
しかし、この shock は必ずしも実際の supply 増減そのものを意味しません。24観測窓の中で相対的に高い/低いというだけであり、実需としての供給拡大・縮小と混同しやすい定義でした。

そのため、これをそのまま entry trigger として扱う線は切りました。

次に、supply_shock_price_direction_signal も外しました。

現時点のデータでは、USDe supply shock を BTC/ETH の mark_px 方向を安定して当てる材料としては弱かったからです。
クラスタ調整後も、価格方向の優位性は明確ではありませんでした。

そのため、mark_px は price direction signal としては扱わず、reference_only_not_price_direction_signal として残します。価格は参考値としては見ますが、「この regime なら上がる/下がる」という方向シグナルにはしません。

mixed_unclear_remediation も、今は外しました。

現在の mixed_unclear は初期24行の欠損ブロックに限定されており、初期ブロック後には再発していません。ここに追加実装のリソースを使う優先度は低いと判断しました。

ただし、初期ブロック後に mixed_unclear が再発する場合は、再度対応対象に戻します。

最後に、volume_24h_usd の単独シグナル化も優先度を下げました。

volume_24h_usd は rolling 24h の値なので、イベント後の反応というより、すでに始まっていた活動量の増加や集計窓の影響を強く受ける可能性があります。そのため、単独で執行判断に使うのではなく、lower_priority_confirmation_only として扱うことにしました。

外したもの・下げたものをまとめると、以下です。

raw_zscore_decile_shock_trigger= cutsupply_shock_price_direction_signal= cutmixed_unclear_remediation= cut_unless_reappears_after_initial_blockvolume_24h_usd_signal_role= lower_priority_confirmation_only

ここで重要なのは、研究対象を否定したというより、役割をはっきりさせたことです。

shock は本線ではなく研究補助へ。
price direction は見ない。
volume は確認材料へ。
mixed_unclear は再発しない限り対応しない。

判断保留として残すもの

判断保留として残したのは、主に3つです。

1つ目は、OI activity edge です。

open_interest_usd は、現時点で最も本線に近い観測対象です。
ただし、これもまだ直接の執行優位性ではありません。

見たいのは、特定の Ethena regime のもとで Hyperliquid 側の OI が増えやすいか、ポジションが溜まりやすいか、そしてその状態が他の売買シグナルの有効/無効や size 調整に使えるかです。

したがって、OI は切らずに、activity filter candidate の中心指標として残します。

2つ目は、funding_rate です。

funding は、方向シグナルとしては弱い可能性があります。
しかし、ポジションの混雑、carry cost、risk / cost context を見るうえでは重要です。

そのため、funding は alpha 本体ではなく、risk / cost filter として保留します。

特に、funding は pct 変化だけで見ると誤読しやすいので、今後は median_delta や符号、水準を見る必要があります。今回の修正では、funding は risk_cost_context として扱う方針を維持しました。

3つ目は、coverage_state / coverage_proxy_ratio の定義です。

現在の coverage_state は、coverage_proxy_ratio_diff_24obs の符号によって分類されています。
しかし、regime 品質診断では coverage 起因の反転が多く、coverage 側のチラつきが regime 変化の主因になっている可能性があります。

今日は、直ちに公式分類に閾値を入れるのは避けています。

理由は、単純な neutral 閾値を入れると mixed_unclear が増えすぎるためです。
また、今のデータだけで eps を決めると、過去データへの当て込みになりやすいからです。

その代わり、公式分類は変えず、shadow diagnostics として hysteresis / carry-forward 候補を保存することにしました。

対象は、以下です。

eps=0.001eps=0.002eps=0.003

来週、追加データを見たうえで、coverage flips が減るか、mixed_unclear が増えないか、regime run が安定するかを確認します。その結果を見て、hysteresis を公式分類に入れるか、現行分類を維持するかを判断します。

判断保留のものをまとめると、以下です。

open_interest_usd= core_activity_filter_candidate として継続監視funding_rate= risk_cost_context として継続監視coverage_state / coverage_proxy_ratio= shadow threshold diagnostics で1週間観測後に判断

今日の仕分けで重要だったのは、何を残すかだけでなく、何として残すかを決めたことだと思います。

ethena_regime は execution signal ではなく、activity / risk filter candidate。
expansion_coverage_deteriorating は売買方向ではなく、primary activity monitor。
mark_px は price direction signal ではなく、reference only。
volume_24h_usd は単独シグナルではなく、confirmation only。

この分類により、来週の検証対象はかなり明確になりました。

3. coverage のチラつきには、すぐ閾値を入れなかった

今日の判断で特に重要だったのは、coverage_state の扱いです。

現在の ethena_regime は、Ethena 側の supply_statecoverage_state を組み合わせて作っています。
そのため、coverage_state が頻繁に反転すると、ethena_regime 全体も細かく切り替わりやすくなります。

今回の regime 品質診断では、まさにこの点が確認されました。

coverage_proxy_ratio_diff_24obs の符号反転が多く、regime 変化の主因も coverage 側に偏っていました。
つまり、現行の regime はデータ生成として壊れているわけではないものの、coverage 側の小さな変化に反応しすぎている可能性があります。

この問題に対して、最初に考えられる対処は、coverage の変化に閾値を入れることです。

たとえば、coverage_proxy_ratio_diff_24obs の変化幅が小さい場合は、coverage_improvingcoverage_deteriorating と見なさず、neutral として扱う方法があります。

ただし、今日の検証では、この単純な neutral 方式は採用しませんでした。

理由は、mixed_unclear が増えすぎるためです。

小さい変化を neutral として扱うと、たしかに coverage の細かい反転は減ります。
しかし、その代わりに regime として分類できない状態が増えます。
現在の5分類設計では、neutral をそのまま入れると、mixed_unclear が大きく増える可能性がありました。

これでは、チラつきは減っても、観測対象として使いにくくなります。

そこで、今日すぐ公式分類へ閾値を入れるのはやめました。

もう1つの理由は、今のデータだけで eps を決めると、過去データへの当て込みになりやすいことです。

現時点のデータに対してだけ見ると、ある eps が良く見える可能性があります。
しかし、それが来週以降のデータでも安定して効くかはまだ分かりません。

ここで公式分類を変えてしまうと、あとから見たときに、

この閾値は本当に構造を安定化させたのかそれとも、手元のデータに合わせただけなのか

が分かりにくくなります。

そのため、今回は公式分類を変えず、shadow diagnostics として閾値候補を記録する方針にしました。

具体的には、coverage_state に hysteresis / carry-forward を入れた場合の候補を、公式分類とは別に保存します。

対象は以下です。

eps=0.001eps=0.002eps=0.003

ここで見たいのは、単に coverage flips が減るかだけではありません。

来週の確認では、以下を見ます。

  • coverage flips が現行分類より減るか
  • regime run count が減るか
  • mixed_unclear_ratio が悪化しないか
  • 1 obs run / 2 obs 以下の run が減るか、少なくとも悪化しないか
  • regime 別の activity / risk filter としての解釈が壊れないか
  • eps=0.001 / 0.002 / 0.003 の結果が極端に不安定でないか

特に重要なのは、mixed_unclear_ratio が悪化しないことです。

coverage のチラつきを減らしても、分類不能が増えたり、特定の regime に極端に偏ったりすると、filter candidate としての使いやすさは下がります。
そのため、来週の判断基準として、採用条件と保留・不採用条件をレポートに明記しました。

採用候補として見る条件は、以下です。

- mixed_unclear_ratio が現行分類より悪化しない- coverage_flips が現行比で20%以上減る- regime run count が明確に減る- 1_obs_run_ratio / <=2_obs_run_ratio が悪化しない- regime-level activity / risk filter としての解釈が大きく壊れない- eps=0.001 / 0.002 / 0.003 の結果が極端に不安定でない

逆に、以下に当てはまる場合は、採用せず保留します。

- mixed_unclear_ratio が増える- 特定epsだけ都合よく良く見える- regime count が極端に偏る- expansion_coverage_deteriorating の activity monitor としての解釈が不安定になる- 追加データを見ても判断材料が足りない

この基準を先に固定したのは、来週の判断を後出しで歪めないためです。

もし来週、eps=0.002 だけが良く見えたとしても、その前後の eps が不安定なら採用しません。
また、coverage flips が減っても、mixed_unclear が増えたり、regime count が偏ったりするなら、その変更は採用しません。

今回の判断は、すぐに見た目の安定性を上げるためのものではありません。

むしろ、

公式分類は変えないshadow で候補を保存する来週、事前に決めた基準で採用/保留を判断する

という流れを作ることが目的です。

これにより、来週の検証では、現在の coverage_state を維持した場合と、hysteresis / carry-forward を入れた場合を比較できます。

現時点で、coverage 側のチラつきは明確な課題です。
ただし、それに対して即座に公式閾値を入れるのではなく、shadow 診断に回したことで、判断材料を増やしながら過剰な当て込みを避ける形にしました。

4. 来週の検証に向けて、命名・表示・判断基準を修正した

もう一点、地味に重要だったのは、来週の検証で誤読しないように、表示名・レポート・判断基準を整えることでした。

研究の方向性を整理しても、出力される名前やレポートの見え方が実態とズレていると、あとで自分が誤読します。
特に今回のように、ethena_regime を正式な trading filter ではなく、activity / risk filter candidate として扱う場合、表示名が強すぎると判断が前のめりになります。

そのため、まず命名を実態に合わせました。

check_status.pyretained priorities では、以下のように表示名を変更しました。

ethena_regime_activity_risk_filter→ ethena_regime_activity_risk_filter_candidateexpansion_coverage_deteriorating_monitor→ expansion_coverage_deteriorating_activity_monitor

ethena_regime は、まだ正式な filter ではありません。
あくまで、Hyperliquid 側の activity や risk context を読むための candidate です。

また、expansion_coverage_deteriorating も、execution signal ではありません。
売買方向を示すものではなく、現時点では OI や funding、volume の挙動を見るための activity monitor です。

この変更に合わせて、report_ethena_regime_activity_filter.py 側の表示も修正しました。

出力されるレポートタイトルも、Ethena Regime Activity/Risk Filter Candidate に変更しました。
また、expansion_coverage_deterioratingprimary activity monitor として扱うようにしました。

各指標の policy も、現時点の役割に合わせました。

open_interest_usd= core_activity_filter_candidatefunding_rate= risk_cost_contextvolume_24h_usd= lower_priority_confirmation_onlymark_px= reference_only_not_price_direction_signal

特に mark_px は、明示的に price direction signal ではない扱いにしました。

価格は参考値としては見ます。
ただし、今回の本線は「Ethena regime から価格方向を当てること」ではありません。
そのため、mark_pxreference_only_not_price_direction_signal として扱うことで、あとから価格方向シグナルとして読み替えないようにしました。

次に、サンプル数の誤読を防ぐ修正を入れました。

activity snapshot では、これまで n と表示していた値がありました。
ただし、この n は独立イベント数ではなく、row-level の観測数です。

同じ regime run 内の連続行や、asset / horizon の重複を含んでいる可能性があります。
そのため、n=132 のように見えると、独立した132イベントがあるように誤読する危険があります。

そこで、markdown と make morning-check の表示では n ではなく row_n と出すようにしました。

あわせて、以下の注記も追加しました。

Note: row_n is a row-level observation count. It is not an independent event count or regime-run count.

これにより、来週の検証でサンプル数を過大評価しにくくなりました。

CSV列については、互換性維持のため n のまま残しています。
ただし、人間が読む markdown や morning-check の表示では row_n として出すことで、少なくとも目視確認時の誤読は減らせます。

さらに、funding の表示についても注意が必要です。

funding_rate は pct 変化だけで見ると誤読しやすい指標です。
元の値が小さい場合、わずかな絶対変化でも pct 変化が大きく見えることがあります。

そのため、funding は risk_cost_context として扱い、今後は pct だけではなく、median_delta や符号、水準も見ます。

今回の修正では、funding を alpha 本体や方向シグナルに寄せることはせず、あくまで risk / cost context としての扱いを維持しました。

最後に、来週の判断基準をレポートへ固定しました。

report_ethena_regime_quality.pyNext Review Decision Criteria セクションを追加し、hysteresis / carry-forward を公式分類に採用するかどうかの条件を事前に書き出しました。

採用候補として見る条件は、以下です。

- mixed_unclear_ratio does not worsen versus current official classification- coverage_flips decrease by at least 20% versus current official classification- regime run count decreases clearly versus current official classification- 1_obs_run_ratio and <=2_obs_run_ratio do not worsen- regime-level activity/risk filter interpretation does not materially break- eps=0.001/0.002/0.003 results are not extremely unstable

保留または不採用とする条件も、あわせて明記しました。

- mixed_unclear_ratio increases- only one eps looks good while neighboring eps candidates are unstable- regime counts become excessively concentrated- expansion_coverage_deteriorating activity monitor becomes unstable or hard to interpret- additional data is still insufficient for a formal decision

これは、来週の判断を後出しで歪めないための修正です。

1週間後に追加データを見たとき、ある eps だけが都合よく良く見える可能性があります。
そのときに、その場の印象で公式分類へ採用してしまうと、過去データへの当て込みになりかねません。

そこで、今の時点で採用条件と保留条件を固定しました。

今回の実装で変更したのは、主に表示・命名・レポートです。
計算ロジックは変えていません。

変更していないものは以下です。

- 公式 coverage_state- 公式 ethena_regime- shadow threshold の eps 候補- event study の評価ロジック- de-cluster / regime-run analysis- market-wide control

現時点では、ethena_regime は activity / risk filter candidate。
expansion_coverage_deteriorating は primary activity monitor。
row_n は独立イベント数ではなく row-level observation count。
hysteresis 採用は、来週の追加データと事前固定した判断基準を見て決める。

この状態まで明示できたので、来週の検証では、かなり誤読しにくい形で観測を続けられるようになりました。

5. 来週の確認ポイント

ここまで整理したうえで、来週見るべきことはかなり絞れました。

来週の検証では、新しい仮説を増やすのではなく、今日残したものが本当に継続監視に値するかを確認します。
特に見るのは、以下の2つです。

1. coverage_state に hysteresis / carry-forward を入れるべきか2. ethena_regime が activity / risk filter candidate として残せるか

まず確認するのは、coverage 周りの shadow threshold diagnostics です。

現在の公式分類では、coverage_proxy_ratio_diff_24obs の符号によって coverage_state を作っています。
ただし、regime 品質診断では coverage 側の反転が多く、ethena_regime のチラつきにつながっている可能性があります。

一方で、今日の段階では公式分類は変更していません。
単純な neutral 閾値では mixed_unclear が増えすぎる可能性があり、今のデータだけで eps を決めると過去データへの当て込みになりやすいからです。

そのため、来週は公式分類を維持したまま、shadow として保存している hysteresis / carry-forward 候補を確認します。

見る対象は以下です。

eps=0.001eps=0.002eps=0.003

見る指標は、主に以下です。

- coverage_flips- regime run count- mixed_unclear_ratio- 1_obs_run_ratio- <=2_obs_run_ratio- regime counts- expansion_coverage_deteriorating の activity monitor としての安定性

ここで大事なのは、coverage flips が減れば何でもよいわけではないことです。

coverage flips が減っても、mixed_unclear_ratio が増えたり、regime counts が極端に偏ったり、expansion_coverage_deteriorating の解釈が不安定になったりするなら、公式分類に入れるべきではありません。

来週の判断は、すでに Next Review Decision Criteria として固定してあります。

採用候補として見る条件は、以下です。

- mixed_unclear_ratio が現行分類より悪化しない- coverage_flips が現行比で20%以上減る- regime run count が明確に減る- 1_obs_run_ratio / <=2_obs_run_ratio が悪化しない- regime-level activity / risk filter としての解釈が大きく壊れない- eps=0.001 / 0.002 / 0.003 の結果が極端に不安定でない

逆に、以下の場合は採用せず、保留します。

- mixed_unclear_ratio が増える- 特定epsだけ都合よく良く見える- regime count が極端に偏る- expansion_coverage_deteriorating activity monitor が不安定、または解釈しにくくなる- 追加データを見ても判断材料が不足している

この判断基準を先に固定したので、来週はその基準に沿って、hysteresis / carry-forward を公式分類に入れるか、それとも現行分類を維持するかを判断します。

次に見るのは、ethena_regime が activity / risk filter candidate として残せるかどうかです。

現時点では、expansion_coverage_deterioratingprimary activity monitor として残しています。
この regime では、現行データ上、Hyperliquid 側の OI や volume の変化が相対的に目立っています。

ただし、ここで確認したいのは売買方向ではありません。

来週見るのは、以下です。

- expansion_coverage_deteriorating で OI 増加傾向が続くか- funding が risk / cost context として使えるか- volume_24h_usd が confirmation only として意味を持つか- mark_px は引き続き reference only でよいか

特に中心になるのは open_interest_usd です。

OI は、Hyperliquid 上でポジションが増えているか、活動量が高まっているかを見るための中心指標です。
ただし、これも単独で執行優位性を意味するものではありません。

来週見るべきなのは、

特定の Ethena regime のもとで、Hyperliquid 側のポジション環境が変わりやすいか

です。

もし expansion_coverage_deteriorating で OI が継続的に増えやすく、funding や volume も文脈として整合するなら、ethena_regime は activity / risk filter candidate として残す価値があります。

逆に、追加データで OI の傾向が薄れたり、regime 別の違いが不安定になったりするなら、本線としての優先度を下げます。

funding_rate については、方向シグナルではなく risk / cost context として見ます。

funding は、pct 変化だけで見ると誤読しやすい指標です。
元の値が小さい場合、わずかな絶対変化でも pct 変化が大きく見えることがあります。

そのため、来週は funding について、pct だけではなく、

- median_delta- 符号- 水準- OI との組み合わせ

を見ます。

volume_24h_usd は、引き続き lower_priority_confirmation_only として扱います。

24h rolling の値なので、イベント後の反応というより、すでに始まっていた活動量や集計窓の影響を受ける可能性があります。
したがって、volume が強く見えても、それだけで本線に戻すことはしません。

あくまで、OI や funding の文脈を補助する確認材料として使います。

mark_px は、引き続き reference_only_not_price_direction_signal として扱います。

来週、仮に価格変化が目立ったとしても、それだけで price direction signal を復活させることはしません。
今回の整理では、USDe supply shock や Ethena regime から BTC/ETH の価格方向を当てる線は本線から外しています。

そのため、価格は市場状態の参考値として見るに留めます。

また、今日切ったものについても、基本的には復活させない前提です。

確認だけはしますが、来週の本線には戻しません。

raw_zscore_decile_shock_trigger= cut 継続supply_shock_price_direction_signal= cut 継続mixed_unclear_remediation= 初期ブロック後に再発しない限り cut 継続volume_24h_usd_signal_role= lower_priority_confirmation_only 継続

特に mixed_unclear については、初期24行の欠損ブロック後に再発していないことが前提です。
もし来週、初期ブロック後に mixed_unclear が再発した場合だけ、対応を再検討します。

来週の確認をまとめると、以下です。

1. coverage hysteresis / carry-forward を公式分類に入れるか2. ethena_regime を activity / risk filter candidate として残せるか3. expansion_coverage_deteriorating を primary activity monitor として継続するか4. OI を core activity filter candidate として見続けるか5. funding を risk / cost context として使えるか6. volume は confirmation only のままでよいか7. mark_px を price direction signal に戻さない判断でよいか8. cut した shock / price direction 系を復活させる必要がないか

このうち、最も重要なのは1と2です。

coverage 側のチラつきが抑えられなければ、ethena_regime 自体の安定性に疑問が残ります。
一方で、coverage を安定化しても、activity / risk filter としての解釈が壊れるなら意味がありません。

そのため、来週は単に「どの eps が一番きれいか」を見るのではなく、

regime が安定するかかつactivity / risk filter candidate としての意味が残るか

を確認します。

ここまで確認できれば、次にやるべきことも決めやすくなります。

hysteresis が有効で、activity filter としても残せそうなら、次は regime-run 単位の分析や market-wide control の導入に進みます。
逆に、追加データで傾向が崩れるなら、Ethena regime を本線から下げる判断もできます。

6. 今日のまとめ

今日は、DeFi研究の本線を広げるのではなく、絞るための作業をしました。

これまで見ていた USDe supply shock、Ethena coverage proxy、Hyperliquid 側の OI・funding・volume・mark price の関係を整理し、現時点で追うもの、外すもの、判断を保留するものを分けました。

今日の整理で、本線として残したのは ethena_regime です。

ただし、これは正式な trading filter でも、売買方向を示す execution signal でもありません。
現時点では、Hyperliquid 側の OI・funding・volume を読むための activity / risk filter candidate として扱います。

特に、expansion_coverage_deterioratingprimary activity monitor として残しました。
この regime では、現行データ上、OI や volume の変化が相対的に目立っています。
ただし、これも「買う/売る」を示すものではなく、ポジション環境や市場活動量を見るための監視対象です。

一方で、いくつかの線は明確に外しました。

raw_zscore_decile_shock_trigger は、本線から外しました。
usde_supply_zscore_24obs は実際の供給増減そのものではなく、24観測窓内での相対的な位置を示すものなので、entry trigger として扱うには弱いと判断しました。

supply_shock_price_direction_signal も外しました。
現時点では、USDe supply shock から BTC/ETH の価格方向を安定して当てる材料は弱いです。
そのため、mark_pxreference_only_not_price_direction_signal として扱います。

mixed_unclear_remediation も、初期ブロック後に再発していない限り、今は対応対象から外しました。
volume_24h_usd は単独シグナルではなく、lower_priority_confirmation_only として扱います。

判断保留として残したのは、open_interest_usdfunding_rate、そして coverage_state / coverage_proxy_ratio の定義です。

open_interest_usd は、activity filter candidate の中心指標として継続監視します。
funding_rate は、alpha 本体ではなく、risk / cost context として見ます。
coverage_state は、現行の符号ベース分類だとチラつきがあるため、hysteresis / carry-forward の候補を shadow diagnostics として1週間観測します。

今日すぐに公式分類を変えなかったのは、地味ですが割と重要な判断です。

coverage 起因の反転は多いものの、単純な neutral 閾値を入れると mixed_unclear が増えすぎる可能性がありました。
また、今のデータだけで eps を決めると、過去データへの当て込みになりやすくなります。

そのため、公式の coverage_state / ethena_regime は変えず、shadow 側で以下の候補を観測することにしました。

eps=0.001eps=0.002eps=0.003

あわせて、来週の判断がぶれないように、Next Review Decision Criteria をレポートへ追加しました。

来週は、coverage flips が減るか、mixed_unclear_ratio が悪化しないか、regime run count が安定するか、そして activity / risk filter としての解釈が壊れないかを見ます。

また、誤読防止のために命名と表示も修正しました。

ethena_regime_activity_risk_filter は、ethena_regime_activity_risk_filter_candidate に変更しました。
expansion_coverage_deteriorating_monitor は、expansion_coverage_deteriorating_activity_monitor に変更しました。
n は独立イベント数ではないため、表示上は row_n とし、row-level observation count であることを明記しました。

今回の変更で、来週の検証対象はかなり明確になりました。

来週見るべきことは、主に2つです。

1. coverage_state に hysteresis / carry-forward を公式採用するべきか2. ethena_regime が activity / risk filter candidate として残せるか

現時点では、執行判断に進む段階ではありません。

ただし、DeFi研究の中で何を見続けるべきかは、以前よりかなり整理できました。
shock trigger や price direction 系は本線から下ろし、Ethena regime を activity / risk filter candidate として検証する。

来週は、この整理が追加データでも崩れないかを確認します。

それでは、また。

-Bot, DeFi bot, DEX, 開発ログ