backtesting-trading-strategies
暗号資産や従来の金融商品を対象に、過去の価格データを用いてトレーディング戦略のバックテストを実行します。Sharpe比・Sortino比・最大ドローダウンなどのパフォーマンス指標の算出、エクイティカーブの生成、戦略パラメータの最適化に対応します。「バックテスト」「戦略の検証」「過去パフォーマンスの確認」「トレードシミュレーション」「シグナルの妥当性確認」といった場面でご活用ください。
description の原文を見る
'Backtest crypto and traditional trading strategies against historical data. Calculates performance metrics (Sharpe, Sortino, max drawdown), generates equity curves, and optimizes strategy parameters. Use when user wants to test a trading strategy, validate signals, or compare approaches. Trigger with phrases like "backtest strategy", "test trading strategy", "historical performance", "simulate trades", "optimize parameters", or "validate signals". '
SKILL.md 本文
取引戦略のバックテスト
概要
実資本を投入する前に、取引戦略を過去のデータで検証します。このスキルは8つの組み込み戦略、包括的なパフォーマンス指標、パラメータ最適化を備えた完全なバックテスティング フレームワークを提供します。
主な機能:
- 8つの事前構築済み取引戦略 (SMA、EMA、RSI、MACD、ボリンジャー、ブレイクアウト、平均回帰、モメンタム)
- フルのパフォーマンス指標 (Sharpe、Sortino、Calmar、VaR、最大ドローダウン)
- パラメータグリッド検索最適化
- エクイティ曲線の可視化
- トレードバイトレード分析
前提条件
必要な依存関係をインストールします:
set -euo pipefail
pip install pandas numpy yfinance matplotlib
高度な機能のオプション:
set -euo pipefail
pip install ta-lib scipy scikit-learn
使用方法
- 過去のデータを取得します (
${CLAUDE_SKILL_DIR}/data/にキャッシュして再利用):python ${CLAUDE_SKILL_DIR}/scripts/fetch_data.py --symbol BTC-USD --period 2y --interval 1d - デフォルトまたはカスタムパラメータでバックテストを実行します:
python ${CLAUDE_SKILL_DIR}/scripts/backtest.py --strategy sma_crossover --symbol BTC-USD --period 1y python ${CLAUDE_SKILL_DIR}/scripts/backtest.py \ --strategy rsi_reversal \ --symbol ETH-USD \ --period 1y \ --capital 10000 \ --params '{"period": 14, "overbought": 70, "oversold": 30}' ${CLAUDE_SKILL_DIR}/reports/に保存された結果を分析します --*_summary.txt(パフォーマンス指標)、*_trades.csv(トレードログ)、*_equity.csv(エクイティ曲線データ)、*_chart.png(ビジュアルエクイティ曲線) が含まれます。- グリッド検索でパラメータを最適化して最適な組み合わせを見つけます:
python ${CLAUDE_SKILL_DIR}/scripts/optimize.py \ --strategy sma_crossover \ --symbol BTC-USD \ --period 1y \ --param-grid '{"fast_period": [10, 20, 30], "slow_period": [50, 100, 200]}'
出力
パフォーマンス指標
| 指標 | 説明 |
|---|---|
| Total Return | 全体的なパーセンテージゲイン/ロス |
| CAGR | 複合年間成長率 |
| Sharpe Ratio | リスク調整済みリターン (目標: >1.5) |
| Sortino Ratio | 下振れリスク調整済みリターン |
| Calmar Ratio | リターン÷最大ドローダウン |
リスク指標
| 指標 | 説明 |
|---|---|
| Max Drawdown | 最大ピークからトラフへの低下 |
| VaR (95%) | 信頼度95%でのバリュー・アット・リスク |
| CVaR (95%) | VaR超過での予想損失 |
| Volatility | 年率化された標準偏差 |
トレード統計
| 指標 | 説明 |
|---|---|
| Total Trades | ラウンドトリップトレード数 |
| Win Rate | 収益性のあるトレードのパーセンテージ |
| Profit Factor | 総利益÷総損失 |
| Expectancy | トレードあたりの期待値 |
出力例
================================================================================
BACKTEST RESULTS: SMA CROSSOVER
BTC-USD | [start_date] to [end_date]
================================================================================
PERFORMANCE | RISK
Total Return: +47.32% | Max Drawdown: -18.45%
CAGR: +47.32% | VaR (95%): -2.34%
Sharpe Ratio: 1.87 | Volatility: 42.1%
Sortino Ratio: 2.41 | Ulcer Index: 8.2
--------------------------------------------------------------------------------
TRADE STATISTICS
Total Trades: 24 | Profit Factor: 2.34
Win Rate: 58.3% | Expectancy: $197.17
Avg Win: $892.45 | Max Consec. Losses: 3
================================================================================
サポートされている戦略
| 戦略 | 説明 | キーパラメータ |
|---|---|---|
sma_crossover | シンプル移動平均クロスオーバー | fast_period, slow_period |
ema_crossover | 指数移動平均クロスオーバー | fast_period, slow_period |
rsi_reversal | RSI買われすぎ/売られすぎ | period, overbought, oversold |
macd | MACDシグナルラインクロスオーバー | fast, slow, signal |
bollinger_bands | バンド上での平均回帰 | period, std_dev |
breakout | 範囲からの価格ブレイクアウト | lookback, threshold |
mean_reversion | 移動平均への回帰 | period, z_threshold |
momentum | 変動率モメンタム | period, threshold |
設定
${CLAUDE_SKILL_DIR}/config/settings.yaml を作成します:
data:
provider: yfinance
cache_dir: ./data
backtest:
default_capital: 10000
commission: 0.001 # トレードあたり0.1%
slippage: 0.0005 # 0.05%スリッページ
risk:
max_position_size: 0.95
stop_loss: null # オプションの固定ストップロス
take_profit: null # オプションの固定テイクプロフィット
エラーハンドリング
一般的な問題と解決策については ${CLAUDE_SKILL_DIR}/references/errors.md を参照してください。
例
詳細な使用例については ${CLAUDE_SKILL_DIR}/references/examples.md を参照してください:
- マルチアセット比較
- ウォークフォワード分析
- パラメータ最適化ワークフロー
ファイル
| ファイル | 目的 |
|---|---|
scripts/backtest.py | メインバックテストエンジン |
scripts/fetch_data.py | 過去データフェッチャー |
scripts/strategies.py | 戦略定義 |
scripts/metrics.py | パフォーマンス計算 |
scripts/optimize.py | パラメータ最適化 |
リソース
- yfinance - Yahoo Financeデータ
- TA-Lib - テクニカル分析ライブラリ
- QuantStats - ポートフォリオ分析
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- jeremylongshore
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/jeremylongshore/claude-code-plugins-plus-skills / ライセンス: MIT
関連スキル
hugging-face-trackio
Trackioを使用してMLトレーニング実験を追跡・可視化できます。トレーニング中のメトリクスログ記録(Python API)、トレーニング診断のアラート発火、ログされたメトリクスの取得・分析(CLI)が必要な場合に活用してください。リアルタイムダッシュボード表示、Webhookを使用したアラート、HF Space同期、自動化向けのJSON出力に対応しています。
btc-bottom-model
ビットコインのサイクルタイミングモデルで、加重スコアリングシステムを搭載しています。日次パルス(4指標、32ポイント)とウィークリー構造(9指標、68ポイント)の2カテゴリーにわたる13の指標を追跡し、0~100のマーケットヒートスコアを算出します。ETFフロー、ファンディングレート、ロング/ショート比率、恐怖・貪欲指数、LTH-MVRV、NUPL、SOPR(LTH+STH)、LTH供給率、移動平均倍率(365日MA、200週MA)、週次RSI、出来高トレンドに対応します。市場サイクル全体を通じて買いと売りの両方の推奨を提供します。ビットコインの底値拾い、BTCサイクルポジション、買い時・売り時、オンチェーン指標、MVRV、NUPL、SOPR、LTH動向、ETFの流出入、ファンディングレート、恐怖指数、ビットコインが過熱状態か、マイナーコスト、暗号資産市場のセンチメント、BTCのポジションサイジング、「今ビットコインを買うべきか」「BTCが天井をつけているか」「オンチェーン指標は何を示しているか」といった質問の際にこのスキルを活用します。
protein_solubility_optimization
タンパク質の溶解性最適化 - タンパク質の溶解性を最適化します。タンパク質の特性を計算し、溶解性と親水性を予測し、有効な変異を提案します。タンパク質配列の特性計算、タンパク質機能の予測、親水性計算、ゼロショット配列予測を含むタンパク質エンジニアリング業務に使用できます。3つのSCPサーバーから4つのツールを統合しています。
research-lookup
Parallel Chat APIまたはPerplexity sonar-pro-searchを使用して、最新の研究情報を検索できます。学術論文の検索にも対応しています。クエリは自動的に最適なバックエンドにルーティングされるため、論文の検索、研究データの収集、科学情報の検証に活用できます。
tree-formatting
ggtree(R)またはiTOL(ウェブ)を使用して、系統樹の可視化とフォーマットを行います。系統樹を図として描画する際、ツリーレイアウトの選択、分類学に基づく枝やラベルの色付け、クレードの折りたたみ、サポート値の表示、またはツリーへのオーバーレイ追加が必要な場合に使用してください。系統推定(protein-phylogenyスキルを使用)やドメイン注釈(今後の独立したスキル)には使用しないでください。
querying-indonesian-gov-data
インドネシア政府の50以上のAPIとデータソースに接続できます。BPJPH(ハラール認証)、BOM(食品安全)、OJK(金融適正性)、BPS(統計)、BMKG(気象・地震)、インドネシア中央銀行(為替レート)、IDX(株式)、CKAN公開データポータル、pasal.id(第三者法MCP)に対応しています。インドネシア政府データを活用したアプリ開発、.go.idウェブサイトのスクレイピング、ハラール認証の確認、企業の法的適正性の検証、金融機関ステータスの照会、またはインドネシアMCPサーバーへの接続時に使用できます。CSRF処理、CKAN API使用方法、IP制限回避など、すぐに実行可能なPythonパターンを含んでいます。