mcpField
B
build-trading-strategies

build-trading-strategies

github.com/robonet-tech開発197 回インストール40 週間前に更新
リポジトリ

build-trading-strategies について

詳細な仕様から暗号資産取引や Polymarket の戦略コードを生成するスキルです。戦略案が定まっている利用者向けで、取引ロジックに沿った Python コードを出力します。

主な機能

  1. 01暗号資産戦略コードの生成
  2. 02Polymarket 戦略コードの生成
  3. 03エントリーと決済ルールの指定
  4. 04ポジションサイズとリスク管理

活用シーン

  1. 01明確な暗号資産戦略を Python コード化
  2. 02Polymarket の YES/NO トークン取引ロジック作成

MCP 対応

MCPSearch で `mcp__workbench__create_strategy` と `mcp__workbench__create_prediction_market_strategy` ツールを選択して利用します。

インストール

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

$npx skills add https://github.com/robonet-tech/skills --skill build-trading-strategies

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

詳細

取引戦略を構築する

クイックスタート

このスキルは、AI を使って本番環境で使える完全な戦略コードを生成します。Robonet で最も高額なツールです(1 回の生成につき $1~$4.50)。

まずツールを読み込みます:

Use MCPSearch to select: mcp__workbench__create_strategy
Use MCPSearch to select: mcp__workbench__create_prediction_market_strategy

基本的な使い方:

create_strategy(
    strategy_name="RSIMeanReversion_M",
    description="Buy when RSI(14) < 30 and price at lower Bollinger Band (20,2).
                 Sell when RSI > 70 or price at middle Bollinger Band.
                 Stop loss at 2% below entry. Position size 90% of available margin."
)

バックテストですぐに使える、完全な Python 戦略コードが返されます。

このスキルを使う場合:

  • 明確な戦略の構想があり、動作するコードが必要な場合
  • データを調査し、使用するインジケーターやシンボルがわかっている場合
  • 高額な開発($1~$4.50)に取り組む準備ができている場合

このスキルを使わない場合:

  • まだアイデアを検討している場合 → まず design-trading-strategies を使います($0.05~$1.00)
  • 既存のコードを改善したい場合 → improve-trading-strategies を使います($0.50~$3.00)
  • データが利用可能か確認していない場合 → まず browse-robonet-data を使います(無料~$0.001)

利用可能なツール(2)

create_strategy

目的:AI を使って完全な暗号資産取引戦略コードを生成します

パラメーター:

  • strategy_name(必須、文字列):{Name}_{RiskLevel}[_suffix] のパターンに従った名前
    • リスクレベル:H(高)、M(中)、L(低)
    • 例:「RSIMeanReversion_M」、「MomentumBreakout_H_v2」
  • description(必須、文字列):以下を含む詳細な要件
    • エントリー条件(具体的なインジケーターの値としきい値)
    • 決済条件(損切り、利益確定、トレーリングストップ)
    • ポジションサイズ(使用する証拠金の割合)
    • リスク管理(1 取引あたりの最大損失)
    • 使用するインジケーター(browse-robonet-data にある正確な名前)
    • 時間軸のコンテキスト(5 分足スキャルピングと 1 時間足スイングトレードなど)

戻り値:以下を含む完全な Python 戦略コード:

  • should_long() - ロングエントリーの条件を満たしているか確認します
  • should_short() - ショートエントリーの条件を満たしているか確認します
  • go_long() - ポジションサイズを設定してロングエントリーを実行します
  • go_short() - ポジションサイズを設定してショートエントリーを実行します
  • オプションのメソッド:on_open_position()、update_position()、should_cancel_entry()

料金:実際の LLM コスト+マージン(最大 $4.50)

  • 一般的な料金:複雑さに応じて $1.00~$3.00
  • Robonet で最も高額なツールです

実行時間:約 30~60 秒

以下の場合に使用します:

  • 新しい暗号資産の無期限先物取引戦略を構築する場合
  • 明確で詳細な要件がある場合
  • 利用可能なインジケーターやシンボルを確認済みの場合(browse-robonet-data)
  • 高額な処理に取り組む準備ができている場合
create_prediction_market_strategy

目的:YES/NO トークンの取引ロジックを備えた Polymarket 戦略コードを生成します

パラメーター:

  • strategy_name(必須、文字列):create_strategy と同じパターンに従った名前
  • description(必須、文字列):YES/NO トークンのロジックに関する詳細な要件
    • YES トークンを購入する条件(確率のしきい値)
    • NO トークンを購入する条件
    • 決済基準(利益目標、時間ベースの決済)
    • ポジションサイズ(市場ごとの割合)
    • 市場の選定基準(カテゴリー、流動性要件)

戻り値:以下を含む完全な Python 戦略コード:

  • should_buy_yes() - YES トークンのエントリー条件を満たしているか確認します
  • should_buy_no() - NO トークンのエントリー条件を満たしているか確認します
  • go_yes() - サイズを設定して YES トークンの購入を実行します
  • go_no() - サイズを設定して NO トークンの購入を実行します
  • オプションのメソッド:should_sell_yes()、should_sell_no()、on_market_resolution()

料金:実際の LLM コスト+マージン(最大 $4.50)

  • 一般的な料金:$1.00~$3.00

実行時間:約 30~60 秒

以下の場合に使用します:

  • Polymarket の予測市場戦略を構築する場合
  • 現実世界の出来事(政治、経済、スポーツ)を対象に取引する場合
  • 確率分析に基づいて YES/NO トークンへのエクスポージャーを得たい場合

主な概念

Jesse フレームワークの構造

すべての暗号資産戦略で、以下の必須メソッドを実装する必要があります:

class MyStrategy(Strategy):
    def should_long(self) -> bool:
        """Check if all conditions are met for long entry"""
        # Return True to signal long entry opportunity
        # Called every candle

    def should_short(self) -> bool:
        """Check if all conditions are met for short entry"""
        # Return True to signal short entry opportunity
        # Called every candle

    def go_long(self):
        """Execute long entry with position sizing"""
        # Calculate position size (qty)
        # Place buy order
        # Set stop loss and take profit in on_open_position()

    def go_short(self):
        """Execute short entry with position sizing"""
        # Calculate position size (qty)
        # Place sell order
        # Set stop loss and take profit in on_open_position()

オプションですが、実装を推奨するメソッド:

    def on_open_position(self, order):
        """Set stop loss and take profit after entry"""
        # Called when position opens
        # Set self.stop_loss and self.take_profit

    def update_position(self):
        """Update position (trailing stops, etc.)"""
        # Called every candle while in position
        # Modify stop loss for trailing stops

    def should_cancel_entry(self) -> bool:
        """Cancel unfilled entry orders"""
        # Return True to cancel pending entry order
戦略の命名規則

次のパターンに従ってください:{Name}_{RiskLevel}[_suffix]

リスクレベル:

  • H(高):積極的な戦略、高レバレッジ、タイトなストップ、20%超のドローダウンを許容
  • M(中):バランスの取れた戦略、中程度のレバレッジ、標準的なストップ、10~20%のドローダウン
  • L(低):保守的な戦略、低レバレッジ、広めのストップ、10%未満のドローダウン

例:

  • RSIMeanReversion_M - 基本戦略、中リスク
  • MomentumBreakout_H_optimized - 最適化後、高リスク
  • TrendFollower_L_allora - Allora ML による拡張、低リスク
  • BollingerBands_M_v2 - 戦略のバージョン 2

命名が重要な理由:

  • リスクプロファイルごとに戦略を整理しやすくなります
  • 明確なバージョン管理(_v2、_v3)で進化を追跡できます
  • 接尾辞(_optimized、_allora)で拡張内容を示せます
  • 一貫した命名により、簡単にフィルタリングして比較できます
ポジションサイズのパターン

推奨されるポジションサイズ:利用可能な証拠金の85~95%

一般的な方法:

1. 固定割合(シンプルで予測しやすい):

def go_long(self):
    qty = utils.size_to_qty(self.balance * 0.90, self.price)
    self.buy = qty, self.price

2. ボラティリティベース(市場の状況に適応):

def go_long(self):
    atr = ta.atr(self.candles, period=14)
    # Reduce size in high volatility
    size_multiplier = 0.90 if atr < self.price * 0.02 else 0.70
    qty = utils.size_to_qty(self.balance * size_multiplier, self.price)
    self.buy = qty, self.price

3. リスクベース(ストップロスまでの距離に基づいてサイズを決定):

def go_long(self):
    atr = ta.atr(self.candles, period=14)
    stop_distance = atr * 2  # Stop at 2× ATR
    # Risk 2% of balance per trade
    risk_amount = self.balance * 0.02
    qty = risk_amount / stop_distance
    self.buy = qty, self.price

ベストプラクティス:戦略の作成時に、説明文でポジションサイズの決定方法を指定してください

リスク管理要件

すべての戦略に含めるべき項目:

1. ストップロス(必須):

def on_open_position(self, order):
    atr = ta.atr(self.candles, period=14)
    # Stop at 2× ATR below entry (long) or above entry (short)
    self.stop_loss = qty, self.price - (atr * 2)  # Long
    # or
    self.stop_loss = qty, self.price + (atr * 2)  # Short

2. 利益確定(推奨):

def on_open_position(self, order):
    atr = ta.atr(self.candles, period=14)
    # Target at 3× ATR (risk/reward = 1.5)
    self.take_profit = qty, self.price + (atr * 3)  # Long

3. ポジションサイズ(上記参照)

危険信号(次の項目は避けてください):

  • ストップロスがない(損失が無制限)
  • ストップロスが狭すぎる(エントリーから0.5%未満)— ノイズで決済されます
  • ストップロスが広すぎる(エントリーから5%超)— 1回の取引あたりのリスクが過剰です
  • ポジションサイズが証拠金の95%超 — マージンコールに備える余裕が不足します
  • 利益確定がない — ポジションの含み益が失われる可能性があります
利用可能なインジケーター

jesse.indicators から170種類以上のテクニカルインジケーターを利用できます:

戦略要件を記述する際は、正確な名称を使用してください:

モメンタム(16種類のインジケーター):

  • RSI、MACD、Stochastic、ADX、CCI、MFI、ROC、Williams %R など

トレンド(12種類のインジケーター):

  • EMA、SMA、DEMA、TEMA、WMA、Supertrend、Parabolic SAR、VWAP、HMA など

ボラティリティ(8種類のインジケーター):

  • Bollinger Bands、ATR、Keltner Channels、Donchian Channels、Standard Deviation など

出来高(10種類のインジケーター):

  • OBV、Volume Profile、Chaikin Money Flow など

インジケーターの検索方法:

(Use browse-robonet-data skill)
get_all_technical_indicators(category="momentum")

戦略の説明では正確な名称を使用してください: ✓ 「期間14のRSIを使用する」 ✓ 「期間20、標準偏差2のBollinger Bandsを使用する」 ✗ 「相対的な強さを使用する」(曖昧です) ✗ 「BBを使用する」(略称が不明確です)

ベストプラクティス

コスト管理

これは最も高額なツールです($1~$4.50)。無駄を最小限に抑えてください:

create_strategy を使用する前に:

  1. ✅ browse-robonet-data でデータを確認する(利用可能なシンボル/インジケーターを確認)
  2. ✅ 必要に応じて design-trading-strategies でアイデアを生成する(探索に$0.05~$1.00)
  3. ✅ 詳細な要件を文章にまとめる
  4. ✅ Jesse フレームワークの基本を理解する

次のようなコストのかかる失敗を避けてください:

  • インジケーターが利用可能か確認せずに戦略を作成する → $2.50が無駄になります
  • 曖昧な説明(「優れたBTC戦略を作る」) → 結果が悪く、再生成が必要になります
  • 不明確な要件 → コードが期待に沿わず、生成コストが無駄になります
  • リスク管理を指定しない → ストップやポジションサイズを指定して再生成が必要になります

コストを節約する方法:

1. browse-robonet-data ($0.001) → Verify resources
2. design-trading-strategies ($0.30) → Explore 3 ideas
3. Pick best idea and refine description
4. create_strategy ($2.50) → Generate once, correctly
Total: $2.80 with high success rate

vs.

1. create_strategy ($2.50) → Vague requirements
2. Doesn't work, try again ($2.50)
3. Still not right ($2.50)
Total: $7.50 with frustration
効果的な説明の書き方

良い説明の構成要素:

Entry Conditions:
- Specific indicator with exact parameters
- Exact thresholds
- Multiple conditions with AND/OR logic

Exit Conditions:
- Stop loss method and distance
- Take profit method and target
- Trailing stop if applicable

Position Sizing:
- Percentage of margin to use
- Or risk-based sizing method

Risk Management:
- Maximum loss per trade
- Any position limits

Context:
- Timeframe (5m, 1h, 4h, 1d)
- Market regime (trending, ranging)

良い説明の例:

"RSI Mean Reversion strategy for BTC-USDT on 1h timeframe.

ENTRY (Long):
- RSI(14) < 30 (oversold)
- Price touches lower Bollinger Band (20-period, 2 std dev)
- Confirm with volume: current volume > 1.2× 20-period average

EXIT (Long):
- Take profit: Price reaches middle Bollinger Band
- Stop loss: 2% below entry price
- Trailing stop: Once profit >3%, trail stop at 1.5% below highest price

POSITION SIZING:
- Use 90% of available margin per trade
- Single position at a time (no pyramiding)

RISK MANAGEMENT:
- Maximum loss: 2% of account per trade
- No new trades if in drawdown >10%"

悪い説明の例:

"Build a profitable BTC strategy using RSI and Bollinger Bands"

問題点:

  • エントリー条件が指定されていない(RSIの値は?)
  • エグジット条件がない(いつ決済する?)
  • ポジションサイズがない(どれだけのリスクを取る?)
  • 時間足がない(1分足?1日足?)
  • 曖昧すぎるため、再生成が必要になります
検証チェックリスト

ストラテジーの生成後、コードに以下が含まれていることを確認します:

  • 必須メソッドがすべて含まれている(should_long、should_short、go_long、go_short)
  • 損切りロジックが含まれている(on_open_position または go_long/go_short 内)
  • 利益確定ロジックが含まれている(推奨)
  • ポジションサイズが設定されている(go_long/go_short 内で qty を計算)
  • 有効なインジケーター呼び出しが使われている(例:ta.rsi(self.candles, period=14))
  • 説明に沿った適切なエントリー/決済条件が設定されている
  • 構文エラーがない(コードを実行できる)
  • インジケーターのパラメーターが妥当である(過剰に最適化されていない)

検証に失敗した場合:

  • improve-trading-strategies スキルを使って問題を修正します($0.50-$3.00)
  • create_strategy で再生成するより低コストです($1-$4.50)
時間足に関する考慮事項

ストラテジーのロジックを時間足に合わせます:

スキャルピング(1m-5m):

  • 狭いストップ(0.2-0.5%)
  • すばやい決済(数分から数時間)
  • 高頻度インジケーター(短い期間)
  • 執行と手数料を重視

日中取引(15m-1h):

  • 中程度のストップ(0.5-2%)
  • 保有期間は数時間から1日
  • 標準的なインジケーター期間(14、20、50)
  • 頻度とノイズのバランスを取る

スイングトレード(4h-1d):

  • 広いストップ(2-5%)
  • 保有期間は数日から数週間
  • 長いインジケーター期間(50、100、200)
  • より大きなトレンドを重視

説明に時間足を指定します:

"For 1h timeframe..." (helps AI tune indicator parameters appropriately)

一般的なワークフロー

ワークフロー 1:ゼロから構築する

目標:コンセプトから新しいストラテジーを作成する

1. Explore data (use browse-robonet-data):
   get_all_symbols() → Choose BTC-USDT
   get_all_technical_indicators(category="momentum") → Pick RSI
   get_all_technical_indicators(category="volatility") → Pick Bollinger Bands

2. Optional: Generate ideas (use design-trading-strategies):
   generate_ideas(strategy_count=3) → Get concepts
   Pick best concept as starting point

3. Write detailed description:
   - Entry: RSI < 30 AND price at lower BB
   - Exit: Price at middle BB OR stop loss 2%
   - Sizing: 90% margin
   - Timeframe: 1h

4. Create strategy:
   create_strategy(
       strategy_name="RSIMeanReversion_M",
       description="[detailed description from step 3]"
   )

5. Validate generated code:
   - Check all required methods present
   - Verify indicators match description
   - Confirm risk management included

6. Test immediately (use test-trading-strategies):
   run_backtest(strategy_name="RSIMeanReversion_M", ...)

費用:合計約 $2-4(アイデア $0.30 + 作成 $2.50 + テスト $0.001)

ワークフロー 2:アイデアから構築する

目標:AI が生成したコンセプトを動作するコードに変換する

1. Generate ideas (use design-trading-strategies):
   generate_ideas(strategy_count=3)

   Idea #2: "Bollinger Band Breakout"
   Entry: Price breaks above upper BB with high volume
   Exit: Price returns to middle BB
   Uses: Bollinger Bands, Volume

2. Refine idea into detailed description:
   "Bollinger Band Breakout strategy for ETH-USDT on 4h timeframe.

   ENTRY (Long):
   - Price closes above upper Bollinger Band (20, 2)
   - Current volume > 1.5× 20-period average volume
   - ADX(14) > 25 (confirm trend strength)

   EXIT (Long):
   - Price closes below middle Bollinger Band
   - Or stop loss 3% below entry
   - Or take profit at 9% above entry (3:1 reward:risk)

   POSITION SIZING: 85% of margin
   RISK: Max 3% loss per trade"

3. Create strategy:
   create_strategy(
       strategy_name="BollingerBreakout_H",
       description="[detailed description from step 2]"
   )

4. Test and validate:
   run_backtest(strategy_name="BollingerBreakout_H", ...)

費用:約 $3(アイデア $0.30 + 作成 $2.50 + テスト $0.001)

ワークフロー 3:予測市場ストラテジーを構築する

目標:Polymarket の YES/NO トークン取引ストラテジーを作成する

1. Browse prediction markets (use browse-robonet-data):
   get_data_availability(data_type="polymarket")
   → See available markets

2. Analyze market data:
   get_prediction_market_data(condition_id="...")
   → Study YES/NO token price history

3. Write detailed description:
   "Polymarket probability arbitrage strategy for crypto_rolling markets.

   BUY YES TOKEN when:
   - YES token price < 0.40 (implied 40% probability)
   - Market has >$10k volume (sufficient liquidity)
   - Time to resolution > 2 hours (avoid last-minute volatility)

   BUY NO TOKEN when:
   - NO token price < 0.40 (YES price > 0.60)
   - Same liquidity and time criteria

   EXIT:
   - Sell when price reaches 0.55 (15% profit target)
   - Or hold until market resolution
   - Stop loss: Sell if price drops to 0.25 (37.5% loss)

   POSITION SIZING: 5% of capital per market
   MAX POSITIONS: 10 simultaneous markets"

4. Create prediction market strategy:
   create_prediction_market_strategy(
       strategy_name="PolymarketArbitrage_M",
       description="[detailed description from step 3]"
   )

5. Test on historical markets:
   run_prediction_market_backtest(...)

費用:約 $2.50 + テスト $0.001 = $2.501

高度な使い方

マルチタイムフレームストラテジー

ストラテジー要件に上位時間足の状況を記述します:

"ETH-USDT swing trading strategy on 1h timeframe with 4h trend filter.

HIGHER TIMEFRAME (4h):
- Only take long trades when 4h EMA(50) is rising
- Only take short trades when 4h EMA(50) is falling

ENTRY TIMEFRAME (1h):
- [standard entry conditions on 1h]
..."

AI は、上位時間足の条件を確認するコードを生成します。

複雑なエントリーロジック

複数の条件に関するロジックを正確に指定します:

"Entry requires ALL of these conditions (AND logic):
1. RSI(14) < 30
2. Price < Lower Bollinger Band (20, 2)
3. MACD histogram positive (bullish divergence)
4. Volume > 1.3× average

OR entry if these alternative conditions met:
1. Price makes higher low
2. RSI makes higher low (bullish divergence)
3. Volume surge (>2× average)"

明確に指定すれば、AI は複雑な複数条件のロジックにも対応できます。

動的なポジションサイズ設定

説明に適応型のサイズ設定を指定します:

"Position sizing based on volatility:
- When ATR(14) < 2% of price: Use 95% margin (low volatility)
- When ATR between 2-4%: Use 85% margin (normal)
- When ATR > 4%: Use 70% margin (high volatility)

This reduces risk during volatile periods."

トラブルシューティング

「生成されたコードにエラーがある」

問題:ストラテジーコードを実行できない、または構文エラーがある

解決策:

  • improve-trading-strategies スキルと refine_strategy を使ってエラーを修正します
  • 再生成するより低コストです($0.50-$3.00 に対して $1-$4.50)
  • refine の説明に正確なエラーメッセージを記載します
「ストラテジーが説明と一致しない」

問題:生成されたロジックがリクエストした内容と異なる

解決策:

  • 説明が曖昧だった可能性があります
  • improve-trading-strategies スキルを使って特定の部分を調整します
  • 大きく異なる場合は、より明確な説明で再生成する必要があります
「インジケーターを利用できない」

問題:ストラテジーが Jesse に存在しないインジケーターを使っている

解決策:

  • 事前に browse-robonet-data を使ってインジケーターを確認する必要があります
  • refine_strategy を使って有効なインジケーターに置き換えます
  • インジケーターのスペルを確認します(RSI は rsi ではなく、MACD は macd ではありません)
「ストラテジーが複雑すぎる」

問題:生成されたコードが複雑すぎて、インジケーターが 8 個以上ある

解決策:

  • 説明を簡潔にします(インジケーターの数を減らすようリクエストします)
  • refine_strategy を使って不要な複雑さを取り除きます
  • 複雑なストラテジーは過剰適合しやすく、パフォーマンスが低下することがよくあります
「リスク管理が含まれていない」

問題:生成されたコードに損切りまたはポジションサイズ設定が含まれていない

解決策:

  • リスク管理を明示的に説明に含める必要があります
  • refine_strategy を使って損切りとサイズ設定を追加します
  • 必ず「X% の損切りと Y% のポジションサイズを設定してください」と指定します

次のステップ

戦略を作成した後:

戦略をテストする(重要 — 次に実施してください):

  • test-trading-strategies スキルを使用してバックテストします
  • コスト:バックテスト1回あたり $0.001
  • それ以降の作業に進む前に、必ずパフォーマンスを検証します
  • 確認項目:シャープレシオ >1.0、ドローダウン <20%、勝率 45-65%

戦略を改善する(必要に応じて):

  • improve-trading-strategies スキルを使用してコードを調整します
  • コスト:1回の操作あたり $0.50-$4.00
  • ゼロから再生成するより低コストです
  • オプション:refine_strategy、optimize_strategy、enhance_with_allora

本番環境にデプロイする(徹底的にテストした後に限ります):

  • deploy-live-trading スキルを使用します(高リスク)
  • コスト:デプロイ手数料 $0.50
  • 広範なバックテストなしにデプロイすることは絶対に避けてください(6か月以上を推奨)
  • 少額から始め、注意深く監視します

概要

このスキルは、AI を活用した戦略コード生成を提供します:

  • ツールは2つ:create_strategy(暗号資産)、create_prediction_market_strategy(Polymarket)
  • コスト:生成1回あたり $1.00-$4.50(最も高価なツール)
  • 実行時間:30-60秒
  • 出力:Jesse フレームワークの構造に沿った、本番環境ですぐに使える Python コード

基本原則:コストが高いため、使用前に十分な準備をしてください:

  1. データを確認する(利用可能なリソースを検証します)
  2. 必要に応じてアイデアを生成する(低コストでコンセプトを探ります)
  3. 詳細な説明を書く(要件を明確にします)
  4. 一度で正しく生成する
  5. すぐにテストする

重要な警告:生成されたコードにはバグがある場合や、期待に沿わない場合があります。デプロイする前に、必ず test-trading-strategies でテストしてください。テストしていない戦略を実際の取引にデプロイすることは絶対に避けてください。

コストの最適化:5分間の準備(探索コスト $0-$0.30)により、生成の無駄による損失を減らし、成功率を大幅に高められます。

コメント