010: 方向予測シグナルロジック改善(+ 011統合)
ステータス: done(2026-02-28)
概要
方向予測の抜本改善。テクニカルシグナル改善(010)→ 限界判明 → 分類モデル導入(011)で解決。
H足で効果確認後、30M/15Mにも展開。
方向予測精度
| TF |
Voting(旧) |
Cls(新) |
改善幅 |
テスト数 |
| H |
45.4% |
58.3% |
+12.9% |
108 |
| 30M |
37.3% |
51.4% |
+14.1% |
276 |
| 15M |
39.0% |
49.8% |
+10.8% |
500 |
バックテスト MAE(2026-02-28)
H足
| 期間 |
Close |
High |
Low |
| +1h |
0.64% |
0.61% |
0.60% |
| +4h |
1.46% |
1.41% |
1.48% |
| +12h |
2.50% |
2.50% |
2.56% |
30M足
| 期間 |
Close |
High |
Low |
| +1 bars |
0.43% |
0.35% |
0.42% |
| +2 bars |
0.64% |
0.60% |
0.65% |
| +6 bars |
1.16% |
1.14% |
1.21% |
15M足
| 期間 |
Close |
High |
Low |
| +1 bars |
0.28% |
0.25% |
0.28% |
| +4 bars |
0.60% |
0.57% |
0.62% |
| +12 bars |
1.13% |
1.08% |
1.15% |
実施内容
010 Phase 1-4: テクニカルシグナル改善
- マルチTF RSI/Stoch/MACD判定(4H上位足コンテキスト)
- Pred主軸方向決定モード
- BBスクイーズ確信度ペナルティ
- H足に4H上位足特徴量追加
- 結果: 46.3% → 54.6%(+8.3%)
- 学び: テクニカル指標は全て43-50%精度。H足4本先の変動幅 ≈ 予測誤差で方向がノイズに埋もれる
011-A: デリバティブ特徴量
- H足に
_add_derivative_features()追加(FR, OI, L/S比)
- パラメータ: fr_ma=8, oi_change=1, oi_ma=24(30Mの半分)
011-B: 確信度ゲート
- 予測変化率 < 閾値 → RANGE格下げ機構
- 結果: 逆効果。実際のRANGEは6.5%のみ。ゲートが正解を潰す(31件の正解破壊 vs 7件の正解獲得)
- デフォルト無効(
gate_threshold = 0.0)
011-C: 直接分類モデル(スタッキング)
- LightGBM binary classifier(UP vs DOWN直接分類)
- スタッキング特徴量: 回帰モデルの予測変化率, |変化率|
- サンプルウェイト: レジーム+時間減衰(既存
_compute_sample_weights流用)
- Early stopping付き(validation 10%)
- H足で効果確認後、30M/15Mにも展開し全TFで改善確認
学んだこと
- テクニカル指標の限界: RSI, MACD, Stoch, MAクロス全て43-50%精度。チューニングの余地なし
- 確信度ゲートの罠: 予測変化が小さい ≠ 方向不明。分類モデルは小さい変化でも方向を学習できる
- スタッキングの効果: 回帰モデルの予測変化率を特徴量にした分類器が最も効果的
- TF横断の汎用性: H足で開発した分類モデルがそのまま30M/15Mでも+10-14%改善
変更ファイル
| ファイル |
変更内容 |
_predict_ohlc/feature_engineering.py |
H足に4H特徴量+デリバティブ特徴量, get_feature_cols除外リスト |
_predict_ohlc/model.py |
predict_direction_cls() 追加 |
_predict_ohlc/direction_prediction.py |
マルチTF判定, 確信度ゲート, 分類モデル主導モード |
_predict_ohlc/config.py |
gate_threshold, cls_primary設定(H/30M/15M全有効) |
predict_ohlc.py |
分類モデル呼び出し(ライブ+バックテスト), _build_and_predict_cls() |
tool_optimize_direction.py |
--with-gate, cls_primary探索, キャッシュ拡張 |
現在の設定値
"direction_gate_threshold": 0.0, # 全TF無効
"direction_cls_primary_H": True, # H足: 58.3% (+12.9%)
"direction_cls_primary_30M": True, # 30M: 51.4% (+14.1%)
"direction_cls_primary_15M": True, # 15M: 49.8% (+10.8%)
未実施(010提案のうち見送り)
- 週次パラメータ自動再調整(DB管理): 分類モデル導入で優先度低下
- 値予測への方向補正: MAE悪化のため無効化済み(config False)