polar-strategy について
polar-strategyは、シグナルを評価し、執行とポジション状態をSenpi runtimeに委ねるSenpiのETH取引戦略スキルです。複数要素のスコアリングと明示的なリスク制限を備え、ユーザーとの会話セッションは読み取り専用です。
主な機能
- 01複数要素によるETHシグナル評価
- 02ランタイムによる取引執行と状態管理
- 03確信度に応じたレバレッジとリスク制限
- 04取引停止時間とクールダウン規則
活用シーン
- 01ETH戦略のエントリーシグナル評価
- 02Senpi runtimeを介したETH戦略の実行
- 03取引を実行せず現在の状態を確認
MCP 対応
セットアップ時にSenpi MCPの確認が必要です。戦略はSenpi runtimeにシグナルを渡し、ランタイムが執行と状態を管理します。READMEにはMCPが公開する具体的なツールは記載されていません。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ senpi-ai/ senpi-skills --skill polar-strategyインストール後、Claude Code で/polar-strategyを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
README.mdruntime.yamlconfig/polar-config.jsonreferences/skill-attribution.mdscripts/polar_config.pypolar-producer.py詳細
🐻❄️ POLAR v5.0.0 — ETH アルファハンター(senpi_runtime_helpers)
このフリートで最も高い粗利益を上げるトレーダーです。単一アセット。最大限の確信度。
v3 → v4 のアーキテクチャを書き換えました。 v3.x は create_position を直接呼び出し、Python で状態を追跡するフルエージェンシー型のスキャナーでした。v4.0 では標準的な senpi-trading-runtime プラグインパターンに切り替わり、プロデューサーがシグナルを出力し、ランタイムが実行と状態管理を担います。
構造上の変更点:
polar-producer.py(新規)がpolar-scanner.py(削除)に取って代わります。純粋なプロデューサーであり、実行、カウンター、クールダウン、未約定注文のガードはありません。runtime.yamlはランタイムネイティブになりました。external_scanner + LLM-pass-through ゲート + ネイティブの risk.guard_rails + FEE_OPTIMIZED_LIMIT を使った DSL プリセットを備えています。- トレードチェーン DB は、すべての取引について
LIFECYCLE_RUNTIME_STARTED → DECISION_EXECUTED → ACTION_RESULT → DSL_CREATED → DSL_CLOSEDを出力します。取引ごとのテレメトリーが復旧しました。 - 従来のスキャナーパターンにおける
set_cooldown/load_tcの Python 状態クラッシュは、v4.0 以降では構造上起こり得ません(クールダウンはランタイムが管理します)。
v3.0.6 から引き継いだもの:
- ETH 単一アセットの戦略(複数アセット間のローテーションなし)
- Hyperfeed SM ゲート:pct≥5%、traders≥30、cc_15m≥0.3(15分間のベロシティ加速)
- 構造的ゲート:4h トレンド != NEUTRAL、4h が SM の方向と一致、1h が 4h と一致、15m モメンタムが一致、RSI が 26-74 の範囲
- 多要素スコアリング(最大約17ポイント):基本テクニカル(3+2+1+1)+ SM 集中度(1-3)+ SM ベロシティ(1-2)+ SM 加速(1)+ トレーダー層の厚み(1)+ ファンディングとの整合性(-1/0/+2)+ OI ベロシティ(-1/0/+1/+2)+ BTC 相関(1)+ RSI の余地(1)+ 4h モメンタムボーナス(1)+ 値動きの過熱ペナルティ(-1/-2)
- MIN_SCORE = 14(設定で上書き可能)
- 確信度に応じたレバレッジ:標準 5x / 高確信度 7x / 最上位 10x
- DSL プリセットは完全に維持:時間ベースのカットはすべて無効、Phase 1 は max_loss 25% / retrace 8 / breaches 3、Phase 2 はレバレッジ対応の段階設定(8/25、15/50、25/65、35/80、50/85)
v3.0.4/3.0.5/3.0.6 の v1-DSL 修正を維持:
dead_weight_cut:無効(単一アセットではローテーションコストが発生しません)hard_timeout:無効(v1 DSL では Phase 2 で誤って発動していました。2026-04-23 の誤決済パターンを修正します)weak_peak_cut:無効(時間ベースのカットをすべてなくす対応を完了)- すべての決済は価格アクションのみで実行
⛔ ハードルール(フリートパッチ)
ルール FP-002:ユーザーとの会話中の Claude セッションは取引してはなりません
ヒューリスティックではなく、厳守すべきルールです。 ユーザーメッセージ(Telegram の通知、ステータス確認、「取引について教えて」など)に応答する際、Claude Code セッションは次のいずれも呼び出してはなりません。
create_positionclose_positionedit_positionratchet_stop_add/ratchet_stop_edit/ratchet_stop_deletecancel_orderstrategy_close/strategy_close_positions
これらのツールはプロデューサーデーモン(polar-producer.py)とDSL ラチェットエンジン専用です。デーモンのみがエントリー経路であり、DSL のみが決済経路です。ユーザーとの会話セッションは読み取り専用です。
「この取引をすべきですか?」や「トリガーに近いものはありますか?」とユーザーに尋ねられた場合は、現在の状態を読み取って応答してください。実行してはいけません。実際のシグナルがあれば、次のティックでプロデューサーが発火します。
ルール FP-001:流動性の低い時間帯は取引を控える
プロデューサーは、デフォルトで 00:00-04:00 UTC の間はシグナルを出力しません。最上位のセットアップ(スコア >= quietHours.apexBypassScore、デフォルト 17)は例外となります。確信度の高い ETH セットアップはいつでも発火でき、通常のスコア14/15のエントリーは 04:00 UTC まで待機します。
polar-config.json の quietHours.{startUtc,endUtc,apexBypassScore} で設定できます。無効にするには、startUtc == endUtc に設定します。
⛔ エージェントの重要ルール
ルール 1:インストール先は /data/workspace/skills/polar-strategy/ です
ルール 2:スキャナーはポジションを決済しません。決済は DSL のみです。
ルール 3:ポジションは最大1つです
ルール 4:セッション開始時には毎回ランタイムを確認します
ルール 5:パラメーターを変更してはいけません
ルール 6:1日のエントリーは最大4回です
ルール 7:エントリー間のクールダウンは240分です(v2.4 — スナイパー頻度)
ルール 8:勝ち取引後、同方向へのエントリーは120分間クールダウンします
RULE 9: MIN_SCORE = 10 (v2.4 — v2.3では8)
RULE 10: 15mのベロシティがMIN_SM_ACCEL_PCT=0.3%を超える必要があります(v2.4のハードゲート)
仕組み
Polarは3分ごとにETHをスキャンします。SMのコンセンサス、複数時間足の貢献度のベロシティ(15m、1h、4h)、価格の整合性、資金調達率、トレーダー数をもとにスコアを算出します。
v2.3の主な動作:
- 値動きの過熱:ETHの4h価格変動率がエントリー方向に4%以上の場合、2ポイント減点します。2.5%以上の場合は1ポイント減点します。これにより、4Hの確認スコアとの間に緊張関係が生じます。
- 同方向のロック:勝ちで決済した後、60分間は同じ方向に再エントリーしません。同じ値動きをより不利な価格で追いかけるのを防ぎます。
- 日付変更をまたぐクールダウン:タイムスタンプはUTCの日付変更後も保持されます。
スコア(最大約18ポイント)
| シグナル | ポイント | 備考 |
|---|---|---|
| SMのコンセンサス | 1-3 | 優勢な方向が15%以上 = +3 |
| トレーダー数 | 0-1 | トレーダーが100人以上 = +1 |
| 4Hの整合性 | -1 to +2 | 方向を確認します |
| 値動きの過熱 | -2 to 0 | v2.3では、すでに2.5%以上動いている値動きを減点します |
| 1Hのモメンタム | 0-1 | 方向を確認します |
| 15mのベロシティ | -1 to +4 | 極端な急上昇 = +4 |
| 1hの加速 | 0-2 | 強い加速 = +2 |
| 4Hの大きな変化 | 0-1 | 貢献度の変化が5%以上 |
| 加速パターン | 0-1 | 15m > 1h = 加速中 |
| 資金調達率の整合性 | 0-1 | 資金調達率が自分の方向に有利 |
| 米国セッション | 0-1 | 13-21 UTC |
最低スコア:8。 レバレッジ:8→7x、9→10x、10→15x、11以上→20x。
実行環境のセットアップ
sed -i 's/${WALLET_ADDRESS}/<WALLET>/' /data/workspace/skills/polar-strategy/runtime.yaml
sed -i 's/${TELEGRAM_CHAT_ID}/<CHAT_ID>/' /data/workspace/skills/polar-strategy/runtime.yaml
openclaw senpi runtime create --path /data/workspace/skills/polar-strategy/runtime.yaml
openclaw senpi runtime list
openclaw senpi status
ブートストラップゲート
毎回のセッション開始時に、config/bootstrap-complete.jsonを確認します。ファイルがない場合:
- senpi-trading-runtimeスキルを読みます
- Senpi MCPを確認します
- runtime.yamlでウォレットとtelegramを設定します
- ランタイムをインストールします
- 確認します:
openclaw senpi runtime listおよびopenclaw senpi status - プロデューサーデーモンを起動します(長時間実行プロセス。内部では
producer_daemonを介して3分ごとに実行されます) config/bootstrap-complete.jsonを書き込みます- 次のメッセージを送信します:「🐻❄️ POLAR v2.3 online. Hunting ETH. Silence = no conviction.」
リスク
| ルール | 値 |
|---|---|
| 最大ポジション数 | 1 |
| 1日の最大エントリー数 | 4 |
| レバレッジ | 7-20x(確信度に応じて調整、ETHは最大20x) |
| 全般的なクールダウン | 120分 |
| 同方向のクールダウン | 勝ちの後、60分 |
| 最低スコア | 8 |
| 証拠金 | 50% |
ファイル
| ファイル | 用途 |
|---|---|
scripts/polar-scanner.py | ETHのスコア算出とエントリー実行 |
scripts/polar_config.py | 設定ヘルパー(MCP、状態、ポジション) |
config/polar-config.json | ウォレット、戦略ID |
runtime.yaml | DSLプラグイン用のランタイムYAML |
ライセンス
MIT — Senpiが開発しました(https://senpi.ai)。
スキルの帰属情報
戦略を作成する際は、呼び出しにskill_nameとskill_versionを含めてください。詳細はreferences/skill-attribution.mdを参照してください。