backtest-expert
トレーディング戦略のバックテストに関する専門的なガイダンスを提供します。定量的トレーディング戦略の開発・検証・ストレステスト・評価を行う際に活用してください。「アイデアを徹底的に潰す」手法、パラメータの堅牢性テスト、スリッページのモデリング、バイアス防止、バックテスト結果の解釈をカバーし、過学習の回避や体系的なトレーディング開発にも対応します。
description の原文を見る
Expert guidance for systematic backtesting of trading strategies. Use when developing, testing, stress-testing, or validating quantitative trading strategies. Covers "beating ideas to death" methodology, parameter robustness testing, slippage modeling, bias prevention, and interpreting backtest results. Applicable when user asks about backtesting, strategy validation, robustness testing, avoiding overfitting, or systematic trading development.
SKILL.md 本文
バックテスト専門家
楽観的な結果よりもロバストネスを優先する専門的方法論に基づいた、取引戦略のバックテストへの体系的アプローチ。
コアフィロソフィー
目標: 「紙上で最も利益を出す」戦略ではなく、「最も壊れにくい」戦略を見つけること。
原則: 摩擦を追加し、仮定をストレステストし、何が生き残るかを確認する。戦略が悲観的な条件下で成り立つなら、実取引で機能する可能性が高い。
このスキルの使用時期
以下の場合にこのスキルを使用してください:
- 体系的な取引戦略の開発または検証
- 取引アイデアが実取引実装に十分にロバストであるかを評価
- バックテストが誤解を招く可能性がある理由のトラブルシューティング
- 適切なバックテスト方法論の学習
- 一般的な落とし穴の回避(曲線フィッティング、ルックアヘッドバイアス、生存者バイアス)
- パラメータ感度とレジーム依存性の評価
- スリッページと執行コストに関するリアルな期待値の設定
前提条件
- Python 3.9以上(評価スクリプト用)
- APIキー不要
- 外部データ依存なし — メトリクスはユーザーが提供
ワークフロー
1. 仮説を述べる
エッジを1文で定義します。
例: 「決算時に3%以上ギャップアップした株が、最初の1時間以内に前日終値まで戻すのは、平均回帰の機会を提供する。」
エッジを明確に説明できない場合は、テストに進まないでください。
2. 恣意性ゼロでルールを成文化する
以下を完全に具体的に定義します:
- エントリー: 正確な条件、タイミング、価格タイプ
- エグジット: ストップロス、利益確定、時間ベースのエグジット
- ポジションサイジング: 固定金額、ポートフォリオの%、ボラティリティ調整
- フィルター: 時価総額、出来高、セクター、ボラティリティ条件
- ユニバース: どの商品が対象か
重大: 主観的判断は許可されません。すべての決定はルールベースで曖昧さがないものである必要があります。
3. 初期バックテストを実行する
以下のテスト期間:
- 最低5年間(できれば10年以上)
- 複数の市場レジーム(上昇相場、下降相場、高/低ボラティリティ)
- リアルなコスト: 手数料 + 保守的なスリッページ
初期結果を基本的な実行可能性について調査します。根本的に破綻している場合は、仮説を反復します。
4. 戦略をストレステストする
テスト時間の80%をここに費やすべきです。
パラメータ感度:
- ストップロスをベースラインの50%、75%、100%、125%、150%でテスト
- 利益確定目標をベースラインの80%、90%、100%、110%、120%でテスト
- エントリー/エグジットタイミングを±15~30分変動させる
- 狭いスパイクではなく、パフォーマンスの「プラトー」を探す
執行摩擦:
- スリッページを通常推定値の1.5~2倍に増加させる
- 最悪ケースの約定をモデル化(買いはアスク+1ティック、売りはビッド-1ティック)
- 現実的なオーダー拒否シナリオを追加
- 悲観的な手数料構造でテスト
時間ロバストネス:
- 年間パフォーマンスを分析
- 大多数の年でポジティブな期待値が必要
- 戦略が1~2の例外的な時期に依存していないことを確保
- 異なる市場レジームで別々にテスト
サンプルサイズ:
- 絶対最小: 30トレード
- 推奨: 100以上のトレード
- 高い確信度: 200以上のトレード
5. アウトオブサンプル検証
ウォークフォワード分析:
- トレーニング期間でオプティマイズ(例: 1年目~3年目)
- バリデーション期間でテスト(4年目)
- 前方にロールして繰り返す
- サンプル内対サンプル外のパフォーマンスを比較
警告兆候:
- アウトオブサンプル < サンプル内パフォーマンスの50%
- 頻繁なパラメータ再最適化が必要
- パラメータが期間を通じて劇的に変化
6. 結果を評価する
回答すべき質問:
- エッジは悲観的な仮定下で成り立つか?
- パラメータ変動全体でパフォーマンスは安定しているか?
- 複数の市場レジームで戦略は機能するか?
- 統計的確信度に十分なサンプルサイズがあるか?
- 結果はリアルで、「うますぎる」ものではないか?
決定基準:
- ✅ デプロイ: すべてのストレステストを生き残り、受け入れ可能なパフォーマンス
- 🔄 改善: コア論理は堅実だがパラメータ調整が必要
- ❌ 放棄: ストレステスト失敗または脆い仮定に依存
構造化された定量的評価に評価スクリプトを使用してください:
python3 skills/backtest-expert/scripts/evaluate_backtest.py \
--total-trades 150 \
--win-rate 62 \
--avg-win-pct 1.8 \
--avg-loss-pct 1.2 \
--max-drawdown-pct 15 \
--years-tested 8 \
--num-parameters 3 \
--slippage-tested \
--output-dir reports/
スクリプトは5つの側面(サンプルサイズ、期待値、リスク管理、ロバストネス、執行リアリズム)にスコアをつけ、レッドフラグを検出し、デプロイ/改善/放棄の判定を出力します。
主要なテスト原則
戦略に厳しくあたる
すべての場所で摩擦を追加してください:
- 現実より高い手数料
- スリッページ1.5~2倍
- 最悪ケースの約定
- オーダー拒否
- 部分約定
根拠: 悲観的な仮定下で生き残る戦略は、実取引でしばしば優位性を発揮します。
ピークではなくプラトーを探す
最適値がパフォーマンススパイクを生み出すのではなく、パフォーマンスが安定しているパラメータ範囲を探します。
良い: ストップロスが1.5%~3.0%のどこかで利益 悪い: ストップロスがちょうど2.13%のときだけ機能
安定したパフォーマンスは真のエッジを示唆; 狭いオプティマムは曲線フィッティングを示唆します。
チェリーピッキングされたサンプルではなくすべてのケースをテストする
間違ったアプローチ: 機能した手選別の「市場リーダー」を研究 正しいアプローチ: 条件を満たすすべての株をテスト、失敗したものも含む
選別された例は生存者バイアスを生み出し、戦略の品質を過大評価します。
アイデア生成と検証を分ける
直感: 仮説を生成するのに有用 検証: 純粋にデータドリブンである必要があります
テスト結果の解釈にアイデアへの執着を影響させないでください。
一般的な失敗パターン
時間を節約するために早期にこれらのパターンを認識してください:
- パラメータ感度: 正確なパラメータ値でのみ機能
- レジーム固有: いくつかの年で素晴らしい、他の年で悪い
- スリッページ感度: リアルなコストを追加すると赤字
- 小さいサンプル: 統計的確信度のためのトレードが少なすぎる
- ルックアヘッドバイアス: 「うますぎる」結果
- 過度な最適化: 多くのパラメータ、貧弱なアウトオブサンプル結果
詳細な例と診断フレームワークについては references/failed_tests.md を参照してください。
出力
reports/backtest_eval_<timestamp>.json— 次元ごとのスコア、レッドフラグ、判定を含む構造化評価reports/backtest_eval_<timestamp>.md— 次元テーブル、主要メトリクス、レッドフラグの詳細を含む人間が読める形式のレポート
リソース
方法論リファレンス
ファイル: references/methodology.md
読む時期: 特定のテスト技法の詳細なガイダンス用。
内容:
- ストレステスト方法
- パラメータ感度分析
- スリッページと摩擦モデリング
- サンプルサイズ要件
- 市場レジーム分類
- 一般的なバイアスと落とし穴(生存者バイアス、ルックアヘッドバイアス、曲線フィッティング等)
失敗テストリファレンス
ファイル: references/failed_tests.md
読む時期: 戦略がテストに失敗するとき、または過去の失敗から学ぶとき。
内容:
- 失敗が価値のある理由
- 例を含む一般的な失敗パターン
- ケーススタディドキュメンテーションフレームワーク
- バックテスト評価用のレッドフラグチェックリスト
重要な留意事項
時間配分: 20%でアイデア生成、80%で破壊を試みる。
コンテキスト不要な要件: 戦略が機能するために「完璧なコンテキスト」が必要な場合、体系的な取引には十分にロバストではありません。
レッドフラグ: バックテスト結果が良すぎる場合(>90%勝率、最小ドローダウン、完璧なタイミング)、ルックアヘッドバイアスまたはデータ問題を慎重に監査してください。
ツールの制限: バックテストプラットフォームの癖を理解してください(補間方法、低流動性の処理、データアライメント問題)。
統計的有意性: 小さいエッジは証明するために大きなサンプルサイズが必要です。トレードあたり5%のエッジは、運と区別するために100以上のトレードが必要です。
裁量的対体系的な違い
このスキルは体系的/定量的バックテストに焦点を当てており、以下の特徴があります:
- すべてのルールが事前に成文化
- 執行における恣意性や「フィーリング」なし
- テストはチェリーピッキングされたケースではなくすべての履歴例で実施
- コンテキスト(ニュース、マクロ)は意図的に除去
裁量トレーダーは異なる方法で研究します—このスキルは主観的判断が必要なセットアップには適用されない場合があります。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- tradermonty
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/tradermonty/claude-trading-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。