TradingAgents/docs/002_CLI_Interface_Implement...

2.7 KiB
Raw Blame History

チケット #002: CLI インターフェース実装

概要

バックテスト機能のコマンドラインインターフェースの実装。既存のCLIフレームワークを拡張し、backtestサブコマンドを追加

目的

  • 直感的なコマンドライン操作でバックテストを実行
  • 過去の実行結果の管理と表示
  • 結果の比較機能の提供

実装要件

1. コマンド体系

メインコマンド

python -m cli.main backtest [OPTIONS]

オプション

  • --ticker: 銘柄シンボル(必須)
  • --start: 開始日 YYYY-MM-DD必須
  • --end: 終了日 YYYY-MM-DD必須
  • --fee: 取引手数料率(任意、デフォルト: 0.001
  • --slippage: スリッページ率(任意、デフォルト: 0.0005
  • --results-db: 結果保存先DB/ファイル(任意、デフォルト: results.sqlite

サブコマンド

# 過去実行の一覧表示
python -m cli.main backtest list

# 特定結果のHTMLレポート表示
python -m cli.main backtest show --id 5

# 2つの結果を比較
python -m cli.main backtest compare --id1 3 --id2 7

2. 実装詳細

CLIモジュール構造

cli/
├── commands/
│   └── backtest.py  # バックテストコマンド実装
├── utils/
│   └── validators.py  # 入力検証ユーティリティ
└── main.py  # 既存のエントリーポイント

Rich ライブラリの活用

  • プログレスバーでシミュレーション進捗表示
  • 結果サマリーの美しいテーブル表示
  • エラーメッセージの分かりやすい表示

3. 入力検証

  • 日付フォーマットの検証YYYY-MM-DD
  • 開始日 < 終了日の確認
  • 銘柄シンボルの妥当性チェック
  • 手数料・スリッページの範囲チェック0-1

受け入れ条件

  • backtestコマンドが正しく実行できる
  • 全ての必須パラメータの検証が機能する
  • list/show/compareサブコマンドが動作する
  • Richによる見やすい出力
  • エラー時の適切なメッセージ表示
  • --helpオプションの充実

依存関係

  • clickCLIフレームワーク
  • richTUIライブラリ
  • 既存のcli.mainモジュール

タスク

  • backtest.pyコマンドモジュールの作成
  • メインコマンドの実装(実行オプション)
  • listサブコマンドの実装
  • showサブコマンドの実装
  • compareサブコマンドの実装
  • 入力検証ロジックの実装
  • Richを使った出力フォーマット
  • ヘルプメッセージの作成
  • 統合テスト