# チケット #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オプションの充実

## 依存関係
- click（CLIフレームワーク）
- rich（TUIライブラリ）
- 既存のcli.mainモジュール

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