2026-02-23
# コマンド実行は必ず poetry run を使うこと
poetry run python manage.py predict_ohlc ...
# 精度検証・バックテストは自律実行OK(ユーザーレビュー不要)
# コーディング・設計変更はユーザーレビューを求める
003 予測アーキテクチャ刷新 ← 完了(done)
004 方向予測の強化 ← 完了予定(精度検証済み)
005 方向予測パラメータ最適化 ← このissue(active)
004の精度検証で方向予測の的中率が低い(D:50.4%, 30M:54.6%)ことが判明。 主因はテクニカル閾値のハードコードとシグナル重みの未調整。
根本的な問題:
- pred(モデル予測)が8-9シグナルの中で1票しかなく、テクニカル指標に負ける
- RSI/Stoch閾値がハードコード(35/65, 25/75)で最適化されていない
- 信頼度スコアが的中率と相関しない
Step 1: direction_prediction.py の閾値をconfig.py参照に変更
↓
Step 2: tool_optimize_direction.py 作成(Optunaでパラメータ探索)
↓
Step 3: D/30M で最適化実行し、結果をconfig.pyに反映
"direction_rsi_buy": 35, # RSI買い閾値(未満で買い)
"direction_rsi_sell": 65, # RSI売り閾値(超で売り)
"direction_stoch_buy": 25, # Stoch買い閾値
"direction_stoch_sell": 75, # Stoch売り閾値
"direction_pred_weight": 1, # pred投票の重み(他シグナルは1)
"direction_confidence_signal_ratio": 70, # 信頼度のシグナル配分(残りは変化率)
_evaluate_level_signals(): ハードコード値 → get_config() 参照predict_direction() 投票ロジック: pred シグナルに重み付き投票_calculate_continuous_confidence(): シグナル配分率のconfig化 + pred重み考慮既存の tool_optimize_weights.py パターンに従う Optuna 最適化ツール。
| パラメータ | 探索範囲 | ステップ | 現在値 |
|---|---|---|---|
| direction_rsi_buy | 20-45 | 5 | 35 |
| direction_rsi_sell | 55-80 | 5 | 65 |
| direction_stoch_buy | 15-40 | 5 | 25 |
| direction_stoch_sell | 60-85 | 5 | 75 |
| direction_pred_weight | 1-5 | 1 | 1 |
| direction_confidence_signal_ratio | 40-80 | 10 | 70 |
バックテスト実行 → 実績OHLCVと照合 → 方向的中率を最大化
.docs/004_方向予測精度レポート.md を更新| ファイル | 変更内容 |
|---|---|
_predict_ohlc/config.py |
6パラメータ追加 |
_predict_ohlc/direction_prediction.py |
ハードコード → config参照(3関数) |
commands/tool_optimize_direction.py |
新規作成(Optuna最適化ツール) |
# Step 1: config化の回帰テスト(変更前と同じ結果になること)
poetry run python manage.py predict_ohlc -t D --backtest --periods 50 --step 5 --save
poetry run python test_scripts/analyze_direction.py
# Step 2: 最適化実行
poetry run python manage.py tool_optimize_direction -t D --trials 100
poetry run python manage.py tool_optimize_direction -t 30M --trials 100
# Step 3: 最適値反映後の精度検証
poetry run python manage.py predict_ohlc -t D --backtest --periods 50 --step 5 --save
poetry run python test_scripts/analyze_direction.py