wolf-strategy について
Wolfは、複数資産から判定する市場レジームに応じて運用を切り替える、2つのブックを持つ取引システムです。risk-onとrisk-offを運用する担当者向けで、共通の判定器がエントリーを制御し、NEUTRALでは両方が取引を停止します。
主な機能
- 01クロスアセットのレジーム判定
- 02risk-onとrisk-offの2ブック
- 03レジームに基づくシグナルとエントリー制御
- 04複数時間軸のトレンド・モメンタム評価
- 05ブック別のリスク管理と決済ルール
活用シーン
- 01マクロ環境の変化に応じたブックの切り替え
- 02RISK_ONでのリスク資産ロングの選別
- 03RISK_OFFでのディフェンシブ買いとリスク資産売り
- 04設定を分けた2つの取引デーモンの運用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ senpi-ai/ senpi-skills --skill wolf-strategyインストール後、Claude Code で/wolf-strategyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdruntime-risk_off.yamlruntime-risk_on.yamlconfig/wolf-risk_off-config.jsonwolf-risk_on-config.jsonreferences/skill-attribution.mdscripts/wolf_config.pywolf-producer.py詳細
🐺 WOLF v1.0 — イベント駆動型/レジームローテーション・ヘッジファンド
Wolf は転換点を取引します。クロスアセットの確認情報 — 株式、原油、金、BTC、ドル — から市場全体のレジームをひとつ算出し、レジームが運用方針に合致したときだけポジションを取ります。つまり、ファンドはローテーションします。リスクオンが確認されたレジームではリスクオンのブックが稼働し、リスクオフのブックは待機します。レジームが反転すると、両者が入れ替わります。単一の資産だけでブックが反転することはありません — マクロ環境全体が一方に傾く必要があります。1つのプロデューサースクリプト(wolf-producer.py)が両方のブックを担当し、WOLF_LEG 環境変数でどちらを使うか選択します。
| ブック | スタイル | 稼働条件 | ウォレット環境変数 | ランタイム | スキャナー |
|---|---|---|---|---|---|
risk_on | 大きく下落したベータ資産をロング | regime == RISK_ON | WOLF_RISK_ON_WALLET | runtime-risk_on.yaml | wolf_risk_on_signals |
risk_off | ディフェンシブ資産をロング+リスク資産をショート | regime == RISK_OFF | WOLF_RISK_OFF_WALLET | runtime-risk_off.yaml | wolf_risk_off_signals |
実運用では2つのブックは相互排他的です。通常、いずれか1つのレジームが有効になるため、一方のブックが取引している間、もう一方は現金で待機します。これがローテーションです。NEUTRAL(クロスアセット間で方向性が一致しない状態)では、両方とも待機します。
Wolf の特徴
- Thesis Fund との違い(例:「トランプ政権下の経済に逆張りする」):Thesis Fund は固定された方向に賭けます。Wolf は適応型で、レジームがどちらに変化しているかを検出してその方向にポジションを取り、状況の変化に応じて反転します。
- Elephant との違い(グローバルマクロ):Elephant は各資産の個別のトレンドに基づいて取引します。Wolf は市場全体のレジーム判定に基づいてすべてのエントリーを制御します。その優位性は、資産ごとのトレンドではなく、クロスアセットの転換にあります。
- Coyote との違い(レジーム分類器):Coyote は暗号資産のみを対象に、単一のエージェントで BTC のレジームを判定します。Wolf はマクロ環境全体を読み取り、その情報をもとに2つのウォレットを使うロング/ショートファンドを運用します。
共有レジーム検出器(頭脳)
各ティックで、どちらかのブックがスコアを計算する前に、Wolf はクロスアセットのプローブ群の4時間足トレンドを読み取り、リスクオンとリスクオフの票数を集計します。
| プローブ | RISK-ON に投票する条件 | RISK-OFF に投票する条件 |
|---|---|---|
| 株式(xyz:XYZ100 → SP500 フォールバック) | 4時間足が BULLISH | 4時間足が BEARISH |
| 原油(xyz:BRENTOIL) | 4時間足が BEARISH(下落) | 4時間足が BULLISH(急騰) |
| 金(xyz:GOLD) | 4時間足が BEARISH(安全資産需要が軟化) | 4時間足が BULLISH(買われている) |
| BTC | 4時間足が BULLISH | 4時間足が BEARISH |
| ドル(xyz:DXY) | 4時間足が BEARISH(ドル安) | 4時間足が BULLISH(買われている) |
net = on_votes − off_votes。net ≥ regimeThreshold(デフォルトは 2)の場合は RISK_ON、net ≤ −regimeThreshold の場合は RISK_OFF、それ以外は NEUTRAL です。レジームが有効でないブックは STANDING DOWN ティックを出力し、取引しません。
RISK-ON ブック — 大きく下落したベータ資産をロング(ロングのみ)
ユニバースはリスク資産群(riskAssets:BTC/ETH/SOL/HYPE/SUI +成長指数)です。RISK_ON の場合のみ稼働し、各銘柄について明確な上昇転換をスコアリングします。
| コンポーネント | 点数 |
|---|---|
| 4時間足の BULLISH 基調 | +2(必須 — BULLISH でなければスキップ) |
| 1時間足の確認 | +2(BULLISH)/−1(BEARISH) |
| 24時間モメンタム | +2(≥momThresholdPct 1.0%)/+1(≥0) |
| RSI の余地 | +1(買われ過ぎではない) |
minScore は 5 です。レジームがゴーサインでも、銘柄自体が上昇に転じている必要があります。
RISK-OFF ブック — ディフェンシブ資産+リスク資産のショート(両方向)
RISK_OFF の場合のみ稼働します。上昇トレンドにあるディフェンシブ資産(defensives:金/銀/原油/ドル/円)をロングし、下落に転じている riskAssets をショートします。同じトレンド/確認/モメンタム/RSI のスコアリングを、指定された方向で評価します(ロングでは4時間足が BULLISH、ショートでは4時間足が BEARISH であることが条件です)。minScore は 5 です。
実行と終了
- どちらのブックも:スロット 3、厳格な 5 倍の上限(インデックス/金属/FX は取引所で低い上限が適用されます)、ティック 300s
- RISK-ON
margin_pct20% — DSL は幅広く利益を伸ばす設定(反発相場で利益を伸ばします):フェーズ 1 の max_loss 14%、すべての時間制限カットを OFF、hard_timeout5d;フェーズ 212%→0 / 25%→45 / 45%→65 / 80%→80 / 130%→90 - RISK-OFF
margin_pct18% — DSL はよりタイトな設定(リスクオフの値動きは急激で、すぐに反転します):フェーズ 1 の max_loss 10%、weak_peak_cutON(4h @ 1.5)、dead_weight_cutON(8h)、hard_timeout3d;フェーズ 28%→35 / 15%→55 / 30%→70 / 50%→85
レジームの切り替えはエントリー側で処理されます(負けているレジームのブックは追加を停止します)。オープン中の勝ちポジションはフェーズ 2 のラダーに沿ってトレーリング決済されます。レジームが切り替わっただけで Wolf がブックを一括決済することはありません。
XYZ の処理
ユニバースの大部分と、BTC を除くすべてのレジームプローブは XYZ です。ローソク足の取得先は dex="xyz" になります(プロデューサーは xyz: プレフィックスを基準に判定します)。XYZ は 24 時間 365 日取引されます(取引時間による制限はありません)。main/xyz の清算機関セクションは、1 つのクロスマージンウォレットを示す 2 つのビューです。そのため、get_positions() は accountValue を max() で一度だけ取得し、決して合算しません。
リスクゲート(risk.guard_rails)
| ゲート | risk_on | risk_off |
|---|---|---|
| daily_loss_limit_pct | 12 | 10 |
| max_entries_per_day | 5 | 8 |
| max_consecutive_losses | 4 | 4 |
| cooldown_minutes | 90 | 60 |
| drawdown_halt_pct | 22 | 18 |
| per_asset_cooldown_minutes | 240 | 180 |
| data_retention_hours | 168 | 120 |
| drawdown_reset_on_day_rollover | true | true |
エントリーと決済には、どちらも FEE_OPTIMIZED_LIMIT(ensure_execution_as_taker は true)を使用します。
ファイル
| ファイル | 用途 |
|---|---|
runtime-risk_on.yaml | リスクオンブックのランタイム仕様(幅広く利益を伸ばす DSL) |
runtime-risk_off.yaml | リスクオフブックのランタイム仕様(よりタイトな DSL) |
scripts/wolf-producer.py | ブック対応のプロデューサーデーモン(レジーム検出器を共有し、両方のブックを処理) |
scripts/wolf_config.py | レッグの解決、SenpiClient ラッパー、ヘルパー |
config/wolf-risk_on-config.json | リスクオンの調整項目(riskAssets、regimeThreshold) |
config/wolf-risk_off-config.json | リスクオフの調整項目(defensives、riskAssets) |
オペレーターによるインストール
README.md を参照してください。2 つのブックは、2 つのウォレット上でそれぞれ動作する 2 つのデーモン(WOLF_LEG=risk_on と WOLF_LEG=risk_off)です(各レジームで同等の運用資金を確保するため、デフォルトでは 50/50 で資金を配分します)。それぞれに専用のランタイム YAML があります。
ユーザーとの会話における Claude セッションの厳格なルール
ユーザーとの会話における Claude セッションは、次のいずれも呼び出してはなりません。
create_position、close_position、edit_position、
ratchet_stop_add、ratchet_stop_edit、ratchet_stop_delete、
cancel_order、strategy_close、strategy_close_positions。
これらのツールは、プロデューサーデーモン(エントリーパス)と DSL ラチェットエンジン(決済パス)専用です。ユーザーとの会話におけるセッションは 読み取り専用です。各プロデューサーデーモンは、次のティックで実際のシグナルを処理します。
ライセンス
Apache-2.0 — Copyright 2026 Senpi (https://senpi.ai)