🔮 何をテストしているのか?
日次スキャナーが検出した全シグナルを、シンプルなルールでシミュレーションします:翌日始値で買い、目標価格か損切りに達したら売り。
- 過去のスキャンアーカイブから全シグナルを読み込み
- 実際のエントリー基準(下記参照)でフィルタリング
- Yahoo FinanceのOHLCVデータで勝敗を判定
🎯 エントリー選択ロジック(フィルター)
全シグナルをテストするのではなく、現実的なトレード基準でフィルタリングします。
- スコア ≥ 60:しっかりしたテクニカル裏付けのある銘柄のみ
- 確率 ≥ 55%:モデルがセットアップを有利と判断
- RR ≥ 1.5:リスクの1.5倍以上の期待リターン
- 最大5件/日:1日の集中リスクを制限
- クールダウン5日:同一銘柄の連続シグナルをスキップ
各日でスコア上位5シグナルを選択します。
⚖️ 勝敗ルール
エントリー後、どちらの価格に先に到達したかで結果が決まります:
- ✓ 目標達成:高値が目標価格に先に到達
- ✗ ストップアウト:安値が損切り価格に到達
- ⌛ 期限切れ:weeks_max以内にどちらも到達せず → 期間末の終値で決済
- 📈 進行中:まだ結果未確定
「期限切れ」は損失に近いですが、わずかにプラスで終わることもあります。
💰 資本シミュレーション
スタート$10,000、固定リスク1%/トレード。
- リスク額 = 資本 × 1%
- 株数 = リスク額 ÷ (エントリー − 損切り価格)
- 例:資本$10,000、損切り幅$2.00 → 50株購入
スリッページ、手数料、税金は含まれません。実際のパフォーマンスは1–2%悪くなる場合があります。
📊 指標の読み方
勝率
完了したトレードのうち目標達成した割合。
目標:≥ 55%が安定、≥ 60%が優秀
プロフィットファクター(PF)
総利益 ÷ 総損失。PF ≤ 1.0は長期的に損失。RR比率が高ければ勝率が低くてもPF > 1になれる。
目標:≥ 1.5、≥ 2.0が優秀
期待値(EV)
1トレードあたりの平均期待リターン(%)。
= 勝率 × 平均利益 + 負率 × 平均損失
目標:≥ 0%(正のエッジ)
シャープレシオ(年率)
リターン ÷ リスク(標準偏差)、年率換算。高いほど同じリスクで高いリターン。
目標:≥ 1.0良好、≥ 1.5優秀
最大ドローダウン(MDD)
資本のピーク時からの最大下落率(%)。MDDが高いほど精神的に継続が難しくなる。
目標:20%以内に抑える
期限切れ
weeks_max以内に目標も損切りも到達しなかったトレード。多すぎる場合は目標が遠すぎる可能性あり。
理想:全トレードの ≤ 20%
🔢 スコアリングシステム(100点満点)
| 構成要素 | 最大 | 採点基準 |
| トレンド | 25点 |
パーフェクトオーダー(+10)、200MA上(+5)、MA圧縮(+7)、一目均衡表強気(+3) |
| パターン | 35点 |
パターン重み × 信頼度。2番目以降は半減。信頼度 ≥ 0.4のみカウント。 |
| モメンタム | 20点 |
RSI 50–75(+8)、75–80(+5)、MACD5日以内ゴールデンクロス(+7)、ダイバージェンス(+2×回数) |
| 出来高急増 | 10点 |
20日平均対比の日次出来高。≥3.0倍(+7)、≥2.0倍(+5)、≥1.5倍(+3)、OBV上昇(+3) |
| 流動性 | 5点 |
20日平均日次ドル出来高。≥$5M(+5)、≥$1M(+4)、≥$500K(+3)、≥$200K(+1) |
| RSスコア | 5点 |
RS ≥80(+5)、≥65(+4)、≥50(+2)、それ以下(0)。スキャン全銘柄対比の相対力。 |
📐 確率計算
勝利確率は2つの要素のブレンドです:
- スコアベース確率(重み60%):0.30 + (スコア/100) × 0.50。スコア60 → 60%、スコア80 → 70%。
- パターン勝率(重み40%):パターンごとの理論勝率を(パターン重み × 信頼度)で加重。VCP/CwHなど高精度パターンはより重く扱われる。
RSはスコアに既に含まれているため確率では二重カウントされません(RS ≥ 90の場合のみ微小ボーナスあり)。
🔄 スコア構成要素分析の活用
勝ちトレードと負けトレードで、どのスコア構成要素が異なるかを比較します。
- 正の差分 → 構成要素が勝ちと相関
- ゼロに近い → 予測力が弱い可能性
- 負の差分 → 逆効果の可能性
データが蓄積されたら、差分が大きい構成要素の重みを増やし、小さいものを減らしてモデルを改善。
📏 確率キャリブレーションの読み方
スキャナーの予測確率と実際の勝率を比較します。
- 偏差 ≈ 0:モデルが適切にキャリブレーション
- 実際 > 予測(正のギャップ):過小評価。確率閾値を上げることを検討。
- 実際 < 予測(負のギャップ):過大評価。閾値を厳しくする。
統計的に有効な結論には各バンドで最低20–30件のトレードが必要です。
⌛ モデル改善サイクル
バックテストデータが蓄積されたら、以下の手順でモデルを改善:
- ① スコア構成要素分析:差分が大きい要素を特定
- ② パターン別内訳:実際の勝率が理論値と乖離するパターンを探す
- ③ キャリブレーション:全体的な過大/過小評価を評価
- ④
scorer.pyとPATTERN_WIN_RATESの重みを更新
- ⑤ 再スキャン → データ蓄積 → 繰り返し
目安:キャリブレーションのベースラインに3ヶ月、意味のある改善判断に6ヶ月。
⚠️ バックテストの限界と注意事項
① スリッページ未考慮:始値でのギャップアップ/ダウンが実際のエントリー価格をずらす。実際のリターンは1–3%悪い可能性あり。
② 手数料・税金を除外:米国長期キャピタルゲインは0/15/20%、短期は通常所得税率で課税。
③ 過学習リスク:過去データに最適化されたパラメーターは将来に通用しない可能性がある。
④ 流動性リスク:薄い板の銘柄では理論価格で約定しない場合がある。
⑤ マーケットレジーム依存:強気・弱気相場でパターンの有効性が大きく変わる。マーケット環境フィルターを活用すること。