mcpField
M
mantis-strategy

mantis-strategy

github.com/senpi-aiその他14055 回インストール今日更新
リポジトリ

mantis-strategy について

MANTISは、BTCの大きな値動きにまだ追随していない相関アルトコインを探し、信頼度に応じたエントリーシグナルを出すトレード戦略です。リーダー反転時の決済、時間制限、リスク管理も備えています。

主な機能

  1. 01BTCの値動き後に遅れる資産を検出
  2. 02追随率と信頼度でシグナルを選別
  3. 03信頼度の段階に応じてエントリー規模を設定
  4. 04リーダー反転またはタイムアウトで決済
  5. 05ポジション数と損失を制限

活用シーン

  1. 01BTCに追随する可能性のあるアルトコインを探す
  2. 02過去の遅行時間と追随データに基づく取引
  3. 03リーダーの値動きが反転した際にポジションを決済

MCP 対応

Producerは`SenpiClient.mcp_call()`でSenpiの市場・口座ツールを使い、リーダー反転時に`close_position`を呼び出せます。Runtimeは`create_position`とDSLの決済ツールを使います。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/senpi-ai/senpi-skills --skill mantis-strategy

インストール後、Claude Code で/mantis-strategyを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
runtime.yaml
config/
mantis-config.example.json
references/
cross-asset-flow-guide.md
skill-attribution.md
scripts/
mantis_config.py
mantis_state.py
mantis-producer.py

詳細

🦎 MANTIS v6.0.0 — Slipstream

カマキリは忍耐とスピードです。静止し、そして攻撃します。

v6.0.0 (2026-05-12) — 配管のみの移行

戦略に変更はありません。v5.0 のエントリーフィルター、信頼度ティアに基づくサイズ設定、動的な hard_timeout、リーダー反転の拒否ロジックはすべて一切変更せず維持されています。6 層の配管を切り替えました。

  1. MCP トランスポート:mcporter サブプロセス(コールドスタートに 2.5〜5 秒)から、プロセス内の HTTPS を使う SenpiClient.mcp_call()(約 280ms)へ。
  2. シグナル送信:スキャナーは create_position を直接呼び出していましたが、プロデューサーは現在、push_signal() を介してランタイムの /signals に送信します。ランタイムは LLM の判定を経た mantis_entry アクションでポジションを開始し、FEE_OPTIMIZED_LIMIT を使います。ティアベースのサイズ設定に使用する leverage と marginUsd は、シグナルデータからそのまま渡されます。
  3. リーダー反転の拒否が機能するようになりました。 v5.0 では、ランタイムのアクションが消費しない VETO_CLOSE の stdout JSON を出力していたため、何も起こりませんでした。v6.0 では、プロデューサーが直接権限を持つアクションとしてこれを接続し、リーダーがエントリー時の値から 1% を超えて反転すると、cfg.mcp_call("close_position", ...) が実行されます。ランタイムでは「別の資産の 4 時間の値動きが X% 反転したら、このポジションを閉じる」という条件を表現できません。この戦略はプロデューサー側にあります。
  4. スケジューラー:openclaw cron(60 秒)から producer_daemon(interval_seconds=60) へ。長時間稼働するプロセスであり、scanner_lock は古い PID を自動的に復旧します。
  5. リスクゲート:Python の MAX_DAILY_ENTRIES と asset-cooldowns.json から、宣言型の risk.guard_rails ブロックへ。state/asset-cooldowns.json は削除されました(per_asset_cooldown_minutes: 240 をランタイムが正式な設定として適用します)。
  6. 決済手数料:DSL の決済方法を MARKET(テイカー、0.045%)から FEE_OPTIMIZED_LIMIT(メイカー優先、0.015%、ALO タイムアウト 60 秒、テイカーにフォールバック)へ変更しました。

保持される状態ファイル(プロデューサーが管理し、ランタイムに漏れません):

  • state/position-metadata.json — 各資産の leader_pct_at_entry(拒否判定の通過に必要)
  • state/entry-log.jsonl — 可観測性のみ(1 日あたりの上限カウントには使用しなくなりました)

Mantis の機能

Mantis は 60 秒ごとに market_get_cross_asset_flows を監視します。リーダー(現在は BTC)が 4 時間で大きく値動きすると、このツールは、歴史的にそのリーダーに追随してきたものの、まだ反応していない相関性の高いアルトコインを提示します。Mantis は厳格な基準でこれらの出遅れ銘柄を絞り込み、最も信頼度の高い銘柄を選び、リーダーの値動きと同じ方向に出遅れ銘柄へエントリーするシグナルを送信します。ポジションサイズは信頼度に応じて決まり、ハードタイムアウトはそのアルトコインの典型的な遅延分布に合わせて調整されます。

戦略

時間的な範囲を定量化した、純粋な統計的優位性です。

  • 優位性:低いタイミング分散で 85% 以上の確率でリーダーに追随するアルトコインは、リーダーの値動き後に追いつく可能性が高いです。
  • タイミング:アルトコインの過去の avg_lag_minutes が、取引の時間枠を定めます。
  • 決済:追いつきは avg_lag × 1.5 分以内に起きるか、まったく起きないかのどちらかです。
  • 拒否:ポジション保有中にリーダーが反転すると、戦略全体が無効になり、Mantis は直ちにポジションを閉じます(プロデューサー側から close_position を呼び出します)。

エントリー基準(すべて通過必須 — v5.0 から維持)

フィルターしきい値確保される条件
follow_rate≥ 0.85アルトコインが過去に値動きの 85% 以上でリーダーに追随している
confidence≥ 0.75相関、追随、遅延、SM の整合性を組み合わせた指標
gap_pct≥ 1.5%(絶対値)追いつきの機会に十分な大きさがある
sm_starting_to_rotatetrueスマートマネーが追いつきを裏付けている
lag_stddev_minutes≤ 90取引に十分な予測可能性がある
資産すでにポジションが開いていない同じ資産への二重エントリーを防ぐ
資産per_asset_cooldown_minutes の対象でないランタイムが適用(240 分)

サイズ設定 — 確信度ティア(v5.0 から維持)

サイズは confidence スコアに直接連動します。プロデューサーがティアに基づいて marginUsd と leverage を計算し、シグナルの data に埋め込みます。LLM は両方をランタイムの OPEN_POSITION ペイロードに渡します。

信頼度証拠金 %レバレッジ
≥ 0.9275%8x
≥ 0.8550%7x
≥ 0.7525%5x

ハード上限:レバレッジ 8x、利用可能な証拠金の 75% を想定元本の上限とします。

方向

リーダーに追随します。リーダーが4時間で上昇した場合は出遅れ銘柄をロングし、下落した場合はショートします。Mantis はリーダーの方向に逆らいません。この戦略全体の考え方は、「アルトコインはリーダーの水準に追いつく」というものです。

決済ロジック — 優先順位順の3つのレイヤー

  1. リーダー反転時の拒否(プロデューサー側、v6.0で正しく接続済み) — 60秒ごとのティックで、Mantis は現在のリーダーの4時間変動幅とエントリー時のリーダーの変動幅を比較します。リーダーがエントリー時から1.0%を超えて反転した場合、Mantis は orderType: FEE_OPTIMIZED_LIMIT と ensureExecutionAsTaker: true を指定し、ALO タイムアウトを30秒として close_position を直接呼び出します。この戦略の前提はリーダーの値動きです。それが崩れれば、取引も終了します。ただし、メイカー優先で、テイカーへのフォールバックを保証することで、メイカー約定した決済ごとに0.030%を節約できます。拒否処理はリトレースベースの DSL 決済よりも若干時間的制約が厳しいため、DSL の決済タイムアウト(60秒)を半分にした30秒に設定します。

  2. 動的ハードタイムアウト(シグナルデータを介したプロデューサー側の処理) — avg_lag_minutes × 1.5 を [30, 240] 分の範囲に収め、シグナルの data.hardTimeoutMinutes として渡します。この時間内にアルトコインが追いつかなければ、追いつく可能性は低いと考えられます。DSL の hard_timeout: 240 が上限として機能します。

  3. DSL トレール — 期間内の勝ちポジションに対する標準の Phase 1 / Phase 2 トレーリングロジックです。

    • Phase 1 最大損失:12%
    • Phase 2 トレール段階:5/30、10/60、15/75、25/85
    • 弱いピークのカット:20分、最小値1.5%
    • FEE_OPTIMIZED_LIMIT による決済(v6.0での改善)

リスク管理

制御項目v6.0の設定元値
同時保有ポジションの最大数strategy.slots2
資産ごとのクールダウンrisk.guard_rails.per_asset_cooldown_minutes240分
1日あたりのエントリー上限risk.guard_rails.max_entries_per_day6
ポジションの最大想定元本プロデューサー側の上限利用可能な証拠金の75%
1日の損失上限risk.guard_rails.daily_loss_limit_pct10%
連続損失の最大数risk.guard_rails.max_consecutive_losses3
損失後のクールダウンrisk.guard_rails.cooldown_minutes60分
ドローダウン時の停止risk.guard_rails.drawdown_halt_pct20%
日付変更時のリセットrisk.guard_rails.drawdown_reset_on_day_rolloverfalse

使用する MCP ツール

プロデューサー側(SenpiClient.mcp_call 経由のプロセス内呼び出し):

  • market_get_cross_asset_flows — 主なシグナルソース
  • strategy_get_clearinghouse_state — 現在のポジションと口座価値
  • close_position — リーダー反転時の拒否が発生した場合の直接呼び出し

ランタイム側(シグナルに応じて senpi-trading-runtime が呼び出し):

  • create_position(mantis_entry アクション経由での FEE_OPTIMIZED_LIMIT エントリー)
  • FEE_OPTIMIZED_LIMIT による DSL トレーリング決済

Cron の実行間隔

プロデューサーデーモンは60秒ごとに実行されます。クロスアセットフローデータ自体は、hyperliquid-cross-asset-flow-cron ジョブによって毎日 00:00 UTC に更新されます。Mantis は最新の出力を使用します。

ユーザーとの会話を行う 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 ラチェットエンジン(DSL 決済)、および プロデューサーのリーダー反転時の拒否処理(position-metadata.json に記録され、追跡中のリーダーが反転した資産に厳密に限定された、プロデューサーから close_position を直接呼び出す唯一の箇所)専用です。ユーザーとの会話を行うセッションは読み取り専用です。

オペレーター向けインストール

v5.0 からの新規インストールおよび移行コマンドについては、README.md を参照してください。

ステータス

v6.0.0 — helpers-native への移行。 現在、リーダーは BTC のみです。対象資産の事前計算済みラグデータが提供され次第、mantis_config.py の設定を1行変更するだけで、ETH/SOL/HYPE をリーダーに追加できます。

ライセンス

MIT — Copyright 2026 Senpi (https://senpi.ai)。

コメント