mcpField
B
backtesting

backtesting

github.com/alphaonedevデータ・データベース175 回インストール
リポジトリ

backtesting について

backtesting は、過去の金融データで取引戦略を検証する OpenClaw スキルです。クオンツトレーダーが実運用前に収益とリスクを評価でき、ポートフォリオ、取引コスト、一般的な指標に対応します。

主な機能

  1. 01過去の価格データで戦略をシミュレーション
  2. 02リターン、ボラティリティ、ドローダウンを算出
  3. 03SMA、RSI、ボリンジャーバンドに対応
  4. 04複数資産とポートフォリオを処理
  5. 05コスト、スリッページ、ポジションサイズを考慮
  6. 06結果を JSON で出力

活用シーン

  1. 01移動平均クロスオーバー戦略の評価
  2. 02手数料込みのポートフォリオ成績の検証
  3. 03ドローダウンとボラティリティによる戦略リスク比較

インストール

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill backtesting

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

詳細

バックテスト

目的

このスキルを使うと、OpenClaw で過去の金融データを使ったバックテストを実行し、取引戦略をシミュレーションして、リターン、ドローダウン、シャープレシオなどの指標を測定できます。実際の取引を始める前に戦略を検証し、ロジックやリスクエクスポージャーの潜在的な問題を特定するために使用します。

使用する場面

株価データを使った移動平均線のクロスオーバーの評価など、取引戦略の開発や改良にこのスキルを使用します。特に過去のデータが利用でき、戦略の実証的な検証が必要な場合に、アルゴリズム取引、ポートフォリオ最適化、リスク評価の定量分析に使用します。

主な機能
  • CSV、JSON、API ソースの過去の価格データを使って取引をシミュレーションします。
  • 総リターン、ボラティリティ、最大ドローダウン、リスク調整後リターンなどのパフォーマンス指標を計算します。
  • 統合ライブラリを通じて、SMA、RSI、ボリンジャーバンドなどの一般的な指標に対応します。
  • 複数の資産やポートフォリオを扱い、取引コスト、スリッページ、ポジションサイズを設定できます。
  • 解析や可視化が容易な JSON 形式で結果を出力します。
使用パターン

戦略のバックテストを行うには、戦略ロジック、過去のデータソース、パラメーターを定義した Python スクリプトを用意します。実行前に、必ず環境変数 $OPENCLAW_API_KEY に API キーを設定してください。CLI ではフラグを使って入力を指定し、API では JSON ペイロードを含む POST リクエストを送信します。まず、欠損値や不正なタイムスタンプがないか確認して、データの整合性を検証してください。テストを繰り返し実行し、初回の結果に基づいてパラメーターを調整します。

主なコマンド/API

簡単なテストには OpenClaw CLI を、プログラムからの統合には REST API を使用します。認証するには、環境変数に $OPENCLAW_API_KEY を設定する必要があります。

  • CLI コマンド:戦略ファイルとデータソースを指定してバックテストを実行します。

    openclaw backtest --strategy strategy.py --data historical.csv --start-date 2020-01-01 --end-date 2023-01-01 --capital 10000
    

    指定した期間と初期資金を使って戦略を実行します。

  • API エンドポイント:JSON ボディを指定して /v1/backtest に POST します。

    curl -X POST https://api.openclaw.ai/v1/backtest \
    -H "Authorization: Bearer $OPENCLAW_API_KEY" \
    -d '{"strategy": "def trade(data): return buy if data['close'] > data['sma'] else sell", "data_source": "historical.csv", "params": {"start_date": "2020-01-01"}}'
    

    "returns" や "drawdown" などのキーを含む JSON レスポンスが返されます。

  • 設定形式:戦略の設定には、次のような YAML を使用します。

    strategy:
      name: moving_average
      parameters:
        period: 20
        threshold: 0.05
    

    --config strategy.yaml を指定して CLI から読み込みます。

統合に関する注意

データソースのフラグに URL(例:--data https://example.com/data.csv)を指定して、Yahoo Finance や Alpha Vantage などのデータプロバイダーと統合します。Python のワークフローでは、ライブラリとして OpenClaw をインポートします。import openclaw; result = openclaw.backtest(strategy_file='strategy.py', data='historical.csv')。Python 3.8 以降を使用し、pip install openclaw-finance で依存関係を管理して、互換性を確保してください。他のスキルと組み合わせる場合は、出力を連結します。たとえば、"data-fetch" スキルの結果をこのスキルの入力として使用します。

エラー処理

データ形式の誤り、API キーの未設定、戦略の実行失敗などのエラーに備えてください。実行前に $OPENCLAW_API_KEY が設定されていることを確認してください。設定されていない場合、コマンドはコード 401 で終了します。呼び出しを try-except ブロックで囲み、実行時エラーを処理します。例:

try:
    openclaw.backtest(strategy='strategy.py', data='historical.csv')
except ValueError as e:
    print(f"Data error: {e} - Verify CSV columns match expected format.")

よくある問題:日付が無効な場合はコード 400 が返されます。詳細なログを確認するには --verbose フラグを使用してください。実行前に、戦略コードに構文エラーがないことを必ず検証してください。

具体的な使用例
  1. Apple の株価データで、シンプルな SMA クロスオーバー戦略をバックテストします。

    openclaw backtest --strategy examples/sma_crossover.py --data aapl_historical.csv --params '{"short_period": 10, "long_period": 30}' --capital 5000
    

    短期 SMA が長期 SMA を上抜けたときに買うシミュレーションを行い、年率 15% のリターンなどの指標を出力します。

  2. 複数の資産と手数料を含むポートフォリオ戦略を評価します。

    curl -X POST https://api.openclaw.ai/v1/backtest -H "Authorization: Bearer $OPENCLAW_API_KEY" -d '{"strategy": "portfolio_alloc.py", "data_source": ["aapl.csv", "goog.csv"], "params": {"fee_per_trade": 5.0}}'
    

    分散ポートフォリオを評価し、手数料控除後の純リターンを計算します。例:ドローダウン 8% でリターン 12%。

グラフ上の関係
  • 関連:trading(戦略の実行に必要)
  • 関連:financial-analysis(入力データと指標を提供)
  • 接続:risk-management(さらなる分析のためにリスク指標を出力)
  • リンク:data-fetch(取得した過去のデータを入力として使用)

コメント