mcpField
S
storyclaw-polymarket-trading

storyclaw-polymarket-trading

github.com/storyclaw-officialその他054 回インストール今日更新
リポジトリ

storyclaw-polymarket-trading について

storyclaw-polymarket-trading は、Polymarket の取引戦略を作成・管理するエージェントスキルで、デフォルトでペーパートレードを行います。ユーザー確認後の戦略設定や成績に応じたパラメーター調整に対応し、実取引には明示的な承認を求めます。

主な機能

  1. 01複数の市場カテゴリに対応
  2. 02デフォルトでドライラン実行
  3. 03成績に応じてパラメーターを調整
  4. 04戦略のライフサイクルと状態を追跡
  5. 05戦略作成前に確認を要求
  6. 06実取引前に明示的な承認を要求

活用シーン

  1. 01ユーザーが選んだPolymarket市場カテゴリを調査
  2. 02実取引なしで戦略案をテスト
  3. 03結果を確認して戦略パラメーターを調整
  4. 04実取引への移行を承認するか判断

インストール

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

$npx skills add https://github.com/storyclaw-official/talenthub --skill storyclaw-polymarket-trading

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

同梱ファイル

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

.gitignore
credentials/
example.json
scripts/
check_and_report.py
market_scanner.py
polymarket.py
review_cron.py
signal_cron.py
signals.py
strategy_manager.py

詳細

Polymarket Trading - 自己進化型トレーディングボット

ユーザーと一緒に取引戦略を設計し、自動ペーパートレーディング(ドライラン)を実行します。成績が振るわない場合はパラメーターを自動改善し、目標エッジに到達したらライブ取引への切り替え許可を求めます。

あらゆる種類の市場に対応します。政治、スポーツ、暗号資産の価格、科学、エンターテインメントなど。

重要なルール

  1. 特定の市場を決してデフォルトにしないでください。必ずユーザーに取引したい市場を尋ねてください。
  2. 作り上げた価格やシグナルを決して表示しないでください。実際のスクリプト出力のみを使用してください。
  3. デフォルトでは常にドライランを有効にしてください。ユーザーが明示的に確認した後にのみ、ライブ取引に切り替えてください。
  4. 自動改善は通知せずに行ってください。パラメーターを調整し、ユーザーに通知してください。
  5. ユーザーの明示的な確認なしに、戦略を作成したり cron を設定したりしないでください。

マルチユーザー対応

各ユーザーは独自の credentials/{USER_ID}.json を持ちます。

{
  "private_key": "0x...",
  "funder_address": "0x...",
  "dry_run": true
}

スクリプトの呼び出し時に、USER_ID または TELEGRAM_USER_ID 環境変数を設定してください。

または、POLYMARKET_PRIVATE_KEY 環境変数を設定してください。

初回ユーザーのフロー

1. 認証情報を確認する
USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/polymarket.py check

設定されていない場合は、対話型セットアップを実行してください。

USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/polymarket.py setup
2. 取引したい対象を尋ねる

推測しないでください。次のことを尋ねてください。

  • どの種類の市場ですか?(政治、スポーツ、暗号資産、テクノロジーなど)
  • 注目したい具体的なキーワードはありますか?
3. 戦略を提案する — 確認を待つ

会話に基づいて具体的な値を導き出し、提案してください。何かを実行する前に、いったん停止してユーザーの確認を待ってください。

4. 戦略を作成する(確認後のみ)
USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/strategy_manager.py create --json '{
  "name": "<strategy name>",
  "market_filter": {
    "keywords": ["<keywords>"],
    "min_liquidity_usdc": 1000,
    "max_days_to_expiry": 30,
    "min_days_to_expiry": 1
  },
  "signal": {
    "method": "orderbook_imbalance",
    "params": { "threshold": 0.15, "max_entry_price": 0.60 }
  },
  "sizing": { "max_size_usdc": 5 },
  "targets": { "min_sample_size": 30, "min_edge": 0.05 }
}'
5. cron を設定する
SKILL_PATH={baseDir}
STRATEGY_ID=<id from step 4>

# Signal scan: every 15 minutes
(crontab -l 2>/dev/null; echo "*/15 * * * * USER_ID=$TELEGRAM_USER_ID python3 $SKILL_PATH/scripts/signal_cron.py $STRATEGY_ID >> $SKILL_PATH/state/$TELEGRAM_USER_ID.$STRATEGY_ID.log 2>&1") | crontab -

# Performance review: daily at 09:00 UTC
(crontab -l 2>/dev/null; echo "0 9 * * * USER_ID=$TELEGRAM_USER_ID python3 $SKILL_PATH/scripts/review_cron.py $STRATEGY_ID >> $SKILL_PATH/state/$TELEGRAM_USER_ID.review.log 2>&1") | crontab -

戦略のライフサイクル

dry_run → improving → pending_live → live

ライブ取引への移行条件:edge = win_rate - avg_entry_price >= min_edge かつ total_pnl > 0

戦略の管理

USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/strategy_manager.py status
USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/strategy_manager.py review <strategy_id>
USER_ID=$TELEGRAM_USER_ID python3 {baseDir}/scripts/strategy_manager.py activate-live <strategy_id>

自動改善のルール

条件アクション
edge < min_edge - 10%閾値を引き上げる(シグナルの数を減らし、精度を高める)
edge < min_edge - 3%max_entry_price を下げる(より安価にエントリーする)
3 回以上調整しても改善しない再検討するようユーザーに通知する
edge >= min_edge AND pnl > 0pending_live に設定し、ユーザーに通知する

シグナル方式

方式最適な対象
orderbook_imbalance板が活発な、流動性の高いあらゆる市場

script/signals.py に新しい方式を追加できます。

トラブルシューティング

エラー解決方法
py-clob-client がインストールされていないpip3 install py-clob-client
USER_ID が設定されていないUSER_ID=xxx を先頭に追加する
設定が見つからないpython3 {baseDir}/scripts/polymarket.py setup を実行する
API エラー 401キーを再生成するため、セットアップを再実行する
市場が見つからないキーワードの範囲を広げるか、min_liquidity_usdc を下げる

ファイル構成

polymarket-trading/
├── SKILL.md
├── scripts/
│   ├── strategy_manager.py   # Lifecycle: create/review/status/activate-live
│   ├── signal_cron.py        # Cron: scan markets, run signals, record trades
│   ├── review_cron.py        # Cron: daily review + auto-improve
│   ├── signals.py            # Pluggable signal methods
│   ├── market_scanner.py     # Gamma API market discovery
│   └── polymarket.py         # CLOB API primitives
├── credentials/
│   └── {USER_ID}.json
├── strategies/
│   └── {USER_ID}/{strategy_id}.json
└── state/
    └── {USER_ID}.{strategy_id}.perf.json

コメント