TradingAgents/docs/002_CLI_Interface_Implement...

85 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# チケット #002: CLI インターフェース実装
## 概要
バックテスト機能のコマンドラインインターフェースの実装。既存のCLIフレームワークを拡張し、backtestサブコマンドを追加
## 目的
- 直感的なコマンドライン操作でバックテストを実行
- 過去の実行結果の管理と表示
- 結果の比較機能の提供
## 実装要件
### 1. コマンド体系
#### メインコマンド
```bash
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
#### サブコマンド
```bash
# 過去実行の一覧表示
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を使った出力フォーマット
- [ ] ヘルプメッセージの作成
- [ ] 統合テスト