strategy-framework について
strategy-framework は、取引戦略の定義、記録、テスト、管理を支援するスキルです。再現可能なルールを必要とするトレーダー向けに、テンプレート、運用段階の指針、リスクと成績の評価スクリプトを備えています。
主な機能
- 01標準化された戦略定義テンプレート
- 02検証可能なエントリー・決済ルール
- 03戦略ライフサイクルの指針
- 04パフォーマンス評価スコアカード
- 05対話式の戦略定義スクリプト
活用シーン
- 01市場仮説を検証可能なルールにする
- 02ポジションサイズとリスク上限を設定する
- 03バックテストとシミュレーション取引を進める
- 04戦略の継続または終了を評価する
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill strategy-frameworkインストール後、Claude Code で/strategy-frameworkを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/strategy_template.mdstrategy_types.mdscripts/define_strategy.pystrategy_scorecard.py詳細
戦略フレームワーク
取引戦略を定義、文書化、テスト、管理するための標準化されたシステムです。このスキルでは、規律を徹底し、再現性を高め、戦略をテスト可能にするテンプレートとツールを提供します。
戦略フレームワークが重要な理由
文書化された戦略フレームワークなしで取引を行うと、次の問題につながります。
- 一貫性の欠如:ルールではなく感情に左右される場当たり的な判断
- テスト不能:バックテストや評価ができない曖昧なアイデア
- スコープクリープ:バージョン管理された定義がないため、方針が徐々に変化する戦略
- リスク管理の欠如:損切り、ポジション上限、ドローダウンによる取引停止の欠落
戦略フレームワークによって、次のことが必須になります。
- 市場の非効率性について、反証可能な仮説を立てる
- 正確で、機械的にテスト可能なエントリーおよび決済ルールを定義する
- 取引を始める前に、ポジションサイズとリスクパラメーターを指定する
- 継続または終了のための最低パフォーマンス基準を設定する
- バージョン管理された戦略文書を通じて変更を追跡する
戦略定義テンプレート
すべての戦略は、標準テンプレートを使用して文書化する必要があります。コピーして使える完全版テンプレートは references/strategy_template.md にあります。
主要セクション
識別情報
Name: SOL-EMA-Cross v1.0
Asset class: Solana tokens (top 50 by 24h volume)
Timeframe: Primary 1H, confirmation 4H
Style: Trend following
エッジ仮説:利用する市場の非効率性と、それが存在する理由を記述します。
Hypothesis: Solana mid-cap tokens exhibit momentum persistence
on the 1H timeframe due to retail herding behavior and low
institutional participation. EMA crossovers capture the
initiation of these trends.
エントリールール:AND/OR ロジックを組み合わせた、具体的でテスト可能な条件です。
def entry_signal(data: pd.DataFrame) -> bool:
"""All conditions must be True (AND logic)."""
ema_cross = data["ema_12"] > data["ema_26"] # EMA 12 crossed above 26
ema_rising = data["ema_26"].diff(3) > 0 # 26 EMA trending up
volume_ok = data["volume"] > data["vol_sma_20"] * 1.5 # Volume confirmation
regime_ok = data["adx"] > 20 # Trending regime
return ema_cross & ema_rising & volume_ok & regime_ok
決済ルール:すべての戦略に複数の決済手段が必要です。
| 決済タイプ | 手法 | パラメーター |
|---|---|---|
| 損切り | ATR ベース | エントリー価格より 2.0 × ATR(14) 下 |
| 利益確定 | リスク倍率 | リスクの 3.0 倍(3:1 の R:R) |
| トレーリングストップ | シャンデリア方式 | 最高値から 3.0 × ATR(14) |
| 時間決済 | バー数 | 20 バー経過後も横ばいなら決済 |
| シグナル決済 | EMA の反転 | EMA 12 が EMA 26 を下抜け |
ポジションサイズ:手法とパラメーターを記述します。詳細は position-sizing スキルを参照してください。
risk_per_trade = 0.02 # 2% of portfolio
stop_distance_pct = 0.05 # 5% from entry (ATR-derived)
position_size = (portfolio * risk_per_trade) / stop_distance_pct
リスクパラメーター:ポートフォリオレベルの安全策です。risk-management スキルを参照してください。
Max concurrent positions: 5
Risk per trade: 2% of portfolio
Daily loss limit: 5% of portfolio
Max drawdown halt: 15% — stop trading, review strategy
Correlated exposure limit: 10% (e.g., meme tokens combined)
フィルター:シグナルが発生してもエントリーを防ぐ条件です。
def filters_pass(token: dict, market: dict) -> bool:
"""All filters must pass before entry is allowed."""
volume_ok = token["volume_24h"] > 500_000 # Min $500K volume
liquidity_ok = token["liquidity"] > 100_000 # Min $100K liquidity
age_ok = token["age_days"] > 7 # Not brand new
holders_ok = token["holder_count"] > 500 # Sufficient distribution
regime_ok = market["regime"] != "crisis" # No crisis regime
return all([volume_ok, liquidity_ok, age_ok, holders_ok, regime_ok])
パフォーマンス基準:継続、見直し、または終了の判断基準です。
Continue: Sharpe > 1.0, PF > 1.5, Win Rate > 40%, MDD < 20%
Review: Any metric degrades 25% from baseline
Retire: Rolling 30-day Sharpe < 0, or 3 consecutive losing months
戦略のライフサイクル
1. 仮説
市場の非効率性を特定し、それが存在する理由と、持続する可能性がある理由を説明します。
良い仮説:「10 分以内にボンディングカーブで 80 SOL 以上に達した新しい PumpFun トークンは、65%の確率で Raydium に移行し、移行時に予測可能な価格急騰を生み出す。」
悪い仮説:「SOL の価格は上がる。」(具体性がなく、テストできず、エッジも特定されていません。)
2. 定義
references/strategy_template.md のテンプレートを使って、戦略文書全体を作成します。すべての項目を記入する必要があります。記入できない項目がある場合、その戦略はまだ準備できていません。
3. バックテスト
vectorbt または同等のツールを使って、過去のデータでテストします。要件は次のとおりです。
- テスト期間中に最低 100 件の取引を行う
- ウォークフォワード検証を使用する(70%で学習、30%でテスト)
- スリッページと手数料を考慮する(
slippage-modelingスキルを参照) - インサンプルとアウトオブサンプルの両方の指標を報告する
4. ペーパートレード
シミュレーションで最低 2 週間(または 30 件の取引のいずれか長い方)戦略を運用します。
- ペーパートレードの結果をバックテストの予測と比較する
- 結果に 25%を超える差がある場合は、先に進む前に原因を調査する
5. 少額での実取引
最低限実用的なサイズ(手数料を賄える一方で、損益への影響が小さいサイズ)で取引します。
- 最低 30 件の取引を行う
- 結果をペーパートレードと比較する
6. 規模の拡大
少額での実取引の指標が予測と一致する場合(バックテストの 25%以内):
- ポジションサイズを段階的に増やす(毎週 25%ずつ)
- 指標を継続的に監視する
7. 監視
継続的にパフォーマンスを追跡します。
- 毎日:損益、取引数、勝率
- 毎週:シャープレシオ、プロフィットファクター、ドローダウン
- 毎月:パフォーマンス基準に照らした戦略全体の見直し
8. 運用終了
次の場合は、戦略の使用を停止します。
- 直近30日間のシャープレシオが0を下回る
- 3か月連続で損失を出す
- 市場環境が恒久的に変化する(例:規制の変更)
- 同じエッジを持つ、より優れた戦略に置き換えられる
戦略の評価基準
戦略を実運用で取引する前に満たすべき最低基準は次のとおりです。
| 指標 | トレンドフォロー | 平均回帰 | スキャルピング |
|---|---|---|---|
| 最小取引数 | 100 | 100 | 500 |
| シャープレシオ(OOS) | > 1.0 | > 1.0 | > 1.5 |
| プロフィットファクター | > 1.5 | > 1.5 | > 1.3 |
| 最大ドローダウン | < 20% | < 15% | < 10% |
| 勝率 | > 35% | > 55% | > 55% |
| 平均利益/平均損失 | > 2.0 | > 1.0 | > 1.0 |
暗号資産の戦略タイプ
各戦略タイプの詳細については、references/strategy_types.md を参照してください。
モメンタム/トレンドフォロー
- エッジ:行動バイアスと情報の非対称性により、価格トレンドが持続します
- インジケーター:EMA クロスオーバー、SuperTrend、ADX、MACD
- 勝率:35~45%。大きな利益に依存します
- 最適な市場環境:ボラティリティが中程度のトレンド市場
平均回帰
- エッジ:過剰反応により、価格が均衡水準の周辺で変動します
- インジケーター:RSI、Bollinger Bands、z スコア、VWAP 乖離
- 勝率:55~65%。小さな利益を高い勝率で積み重ねます
- 最適な市場環境:ボラティリティが低~中程度のレンジ相場
ブレイクアウト
- エッジ:ボラティリティの収縮が、一方向への拡大につながります
- インジケーター:Bollinger Band squeeze、Donchian チャネル、出来高ブレイクアウト
- 勝率:30~40%。大きな値動きを捉えることに依存します
- 最適な市場環境:低ボラティリティから高ボラティリティへの移行期
コピー取引/ウォレット追従
- エッジ:熟練したウォレットは、情報面または分析面で優位性を持っています
- インジケーター:ウォレットの損益履歴、取引頻度、トークン選定
- 勝率:追従するウォレットの質によって異なります
- 最適な市場環境:あらゆる環境(追従するウォレットの戦略によって異なります)
PumpFun スナイピング
- エッジ:トークンの作成時や卒業時には、予測可能な価格動向があります
- 戦略:作成時のスナイプ、出来高確認、卒業時の取引
- 勝率:大きく変動します(手法によって20~60%)
- 最適な市場環境:個人投資家の活動が活発な時期
アービトラージ
- エッジ:DEX 間、または現物と無期限先物の間にある価格差
- インジケーター:複数の取引所からの価格フィード、資金調達率
- 勝率:正しく実行した場合は > 80%
- 最適な市場環境:ボラティリティが高く、流動性が分散した市場
マーケットメイキング
- エッジ:在庫リスクを管理しながら、買値と売値のスプレッドを獲得します
- インジケーター:オーダーブックの厚み、ボラティリティ、在庫ポジション
- 勝率:> 60%。出来高とスプレッドの獲得に依存します
- 最適な市場環境:出来高が安定している市場
よくある戦略上の誤り
- ルールを書面化していない:直感に頼った取引では、バックテストや再現ができません
- カーブフィッティング:バックテストの結果が完璧に見えるまでパラメーターを最適化しても、実運用では失敗します
- 損切りを設定していない:「頃合いを見て決済する」では、壊滅的な損失につながります
- 市場環境を無視する:レンジ相場でトレンド戦略を使う(またはその逆)
- 生存者バイアス:現在も存在するトークンだけをバックテストする
- 先読みバイアス:バックテストのシグナルに将来の情報を使う
- コストを無視する:スリッページ、手数料、市場インパクトを考慮しない
- 過剰取引:「取引を続ける」ために、わずかなシグナルでエントリーする
- 戦略を次々に乗り換える:通常の連敗後に戦略を放棄する
- 運用終了の計画がない:愛着から、機能しなくなった戦略で取引を続ける
他のスキルとの連携
| スキル | 連携内容 |
|---|---|
vectorbt | 戦略の定義をプログラムでバックテストします |
pandas-ta | エントリー/エグジットシグナル用のテクニカル指標を計算します |
regime-detection | 戦略を有効化するための市場レジームフィルターを使用します |
exit-strategies | エグジットルールを詳細に実装します |
position-sizing | ポジションサイズの計算方法を使用します |
risk-management | ポートフォリオレベルのリスクパラメーターを適用します |
slippage-modeling | 現実的な約定コストを推定します |
feature-engineering | 戦略シグナルから ML 特徴量を計算します |
ファイル
リファレンス
references/strategy_template.md— コピーしてすぐに使える、戦略定義テンプレートの完全版references/strategy_types.md— 各戦略タイプのパラメーターと例を含む詳細ガイド
スクリプト
scripts/define_strategy.py—--demoモードを備えた対話型の戦略定義ツールscripts/strategy_scorecard.py— GO/REVIEW/NO-GO の推奨を提示する戦略評価スコアカード