カルマンフィルターを使ったトレンド抽出とトレード戦略

テクニカル分析

カルマンフィルターという言葉を聞くと、「なんだか難しそうな数学の話」と感じるかもしれません。しかし、発想そのものはシンプルで、「ノイズだらけの価格データから、できるだけ本質的なトレンドだけを取り出そう」という考え方です。この記事では、株・FX・暗号資産などのチャートにカルマンフィルターを応用し、トレンドフォローや押し目買い・戻り売りにどう活かせるのかを、できるだけやさしい言葉で詳しく解説していきます。

スポンサーリンク
【DMM FX】入金

カルマンフィルターとは何か ― 「なめらかな移動平均」の一歩先へ

カルマンフィルターは、本来はロケットや航空機の位置推定などに使われてきた数理モデルです。「観測値(実際に測った値)」と「予測値(モデルが予想した値)」を、その信頼度に応じてうまく混ぜ合わせることで、真の状態に近い推定値を毎バー更新していきます。

トレードに置き換えると、観測値=そのときの価格予測値=直前までのトレンドから予測される価格 です。価格にはノイズが多く含まれており、単純移動平均(SMA)や指数平滑移動平均(EMA)でもある程度は滑らかになりますが、「トレンドが急加速したときに追従が遅れる」「だましの反転に振り回される」 といった問題は残ります。

カルマンフィルターは、「予測がどれくらい信用できるか」「観測値(価格)がどれくらいノイズにまみれているか」を数式で管理しながら、毎バーごとに最適なバランスでトレンドを更新します。そのため、移動平均よりもノイズに強く、かつレスポンスが良いトレンド線 を作れる可能性があります。

移動平均との違い ― カギは「予測」と「不確実性」の扱い

一般的な移動平均は、過去の価格データを機械的に平均しただけの線です。SMAであれば「直近n本の平均」、EMAであれば「最近の値ほど重みを大きくする平均」です。そこに「未来への予測」や「不確実性」の概念はありません。

一方カルマンフィルターには、次のような特徴があります。

  • 直前までの推定トレンドから、次のバーの価格を予測する。
  • 予測にも誤差(不確実性)がある前提で、その大きさを常に更新する。
  • 実際の価格が入ってきたら、予測と観測値の差を評価し、それに応じて推定トレンドを修正する。

つまり、「モデルがどれくらい信用できるか」を常に自問自答しながらトレンドを描く のがカルマンフィルターです。価格が急騰・急落しても、予測と観測値の食い違いが大きくなれば「これは予測が間違っていた」と考え、素早くトレンドを修正します。その一方で、ノイズ的な小さなブレは「たまたまのゆらぎ」と解釈して、トレンド線をあまり動かさないこともできます。

カルマンフィルターをチャートに表示するとどう見えるか

実際のチャート上では、カルマンフィルターは「やや滑らかで、しかし反応が速い曲線」として表示されます。イメージとしては、次のような特徴を持つ移動平均線です。

  • レンジ相場では、細かいノイズにあまり振り回されず、なだらかに横ばいになりやすい。
  • トレンドが立ち上がると、通常の移動平均よりも少し早く角度を変えて追従する。
  • 急落・急騰の後も、ノイズ成分とトレンド成分を分けて解釈するため、「ヒゲ」にあまり影響されにくい。

例えば、日足ベースの米国株インデックス(S&P500)にカルマンフィルターを重ねた場合、コロナショックや急落局面のヒゲにはそこまで引っ張られず、しかし下落トレンドに転じたタイミングでは比較的素早く下向きの角度を取る、といった挙動が期待できます。

実用的なパラメータ設計の考え方

カルマンフィルター自体は数学的に高度な概念ですが、トレーダーとして重要なのは「どういう性格の線にしたいか」をイメージすることです。その性格を決める主な要素は次の2つです。

  • プロセスノイズ(トレンドの変動のしやすさ):トレンドそのものがどれくらい変動しやすいとみなすか。
  • 観測ノイズ(価格のブレやすさ):観測される価格がどれくらいノイズにまみれているとみなすか。

直感的には、

  • トレンドを「頻繁に変わるもの」とみなす → トレンド線も価格に追従しやすく、敏感になる。
  • 価格を「ノイズが多い」とみなす → 小さな動きには反応せず、大きな変化だけを拾う。

例えば、短期トレンドを狙うデイトレーダーなら、「プロセスノイズはやや大きめ(トレンドは頻繁に変わる)」「観測ノイズはそこまで大きくない(価格変化をしっかり拾う)」と設定することで、短期の動きに敏感だが、単なる1〜2ティックのブレには過剰反応しない線 を作るイメージになります。

一方で、スイングトレードやポジショントレード中心なら、「プロセスノイズは小さめ(トレンドは急には変わらない)」「観測ノイズはやや大きめ(短期ノイズが多い)」とみなすことで、日々の小さな値動きには動じず、大きなトレンドだけを追う線 に寄せることができます。

カルマンフィルターを使った基本的な売買アイデア

次に、カルマンフィルターをどのように売買判断に落とし込むか、いくつか典型的なアイデアを整理します。

1. カルマンフィルターと価格のクロスでトレンドフォロー

もっともシンプルなのは、価格がカルマンフィルターを上抜けたら買い、下抜けたら売り というトレンドフォローです。これは、いわゆる「移動平均線とのクロス」に似ていますが、カルマンフィルターのノイズ耐性と追従性により、ダマシがいくらか軽減される可能性があります。

例として、FXの1時間足チャートを考えてみます。

  • レンジが続いている間は、価格がカルマンフィルターの上下を行き来しても、小さい値幅での行ったり来たりに留まるため、ポジションサイズを抑える・フィルター条件(後述)を併用するなどの工夫が必要です。
  • ある時点で価格がカルマンフィルターを明確に上抜け、フィルターの傾きも上向きに転じた場合、そのタイミングを押し目買いの起点候補として監視します。
  • ストップはカルマンフィルター少し下(買いの場合)に置いておき、トレンドが続く限りはホールド、価格が再びフィルターを割り込んだら手仕舞い、というルールも組み立てられます。

2. カルマンフィルターの傾き(アングル)で強弱を判定

移動平均アングルの発想と同様に、カルマンフィルターの傾きだけに着目する方法も有効です。具体的には、

  • フィルターが右肩上がりであれば上昇トレンド、右肩下がりであれば下降トレンド。
  • 傾きがゼロ付近(ほぼ横ばい)のときは、レンジ相場としてトレンド系のシグナルは見送る。

傾きの角度を数値化するには、カルマンフィルターの値の差分(当日値 − 前日値)を計算し、その値が一定以上なら「強いトレンド」、一定未満なら「弱いorレンジ」といった基準を設けます。例えば、日足チャートで差分が一定幅を超えたときだけ押し目買い・戻り売りを仕掛ける、といったフィルタリングが考えられます。

3. カルマンフィルターと他の指標を組み合わせる

カルマンフィルターは「トレンドそのものをきれいに取り出す」役割を担わせ、エントリーは他のオシレーターでタイミングを図る、という組み合わせも実用的です。

  • カルマンフィルターの傾きが上向きのときだけ、RSIが30付近から反発した場面で押し目買いを検討する。
  • フィルターが下向きで、かつMACDがゼロラインの下でデッドクロスしたタイミングで戻り売りを狙う。
  • ボリンジャーバンドの−2σ付近まで価格が突っ込んだ後、カルマンフィルターがまだ上向きであれば「一時的なオーバーシュート」とみなし、反発狙いを検討する。

このように、カルマンフィルターは「トレンドの地図」、他のオシレーターは「エントリー・エグジットのタイミング計測器」 として役割分担すると、シンプルなストラテジーを組み立てやすくなります。

具体的なトレードシナリオ例

ここでは、実際の運用をイメージしやすいように、株式スイングトレードとFXデイトレードの2つのケースを例示します。

ケース1:日本株スイングトレードでの活用

対象:東証プライム市場の大型株(日足)

  • カルマンフィルターを「中期トレンド」用に設定(プロセスノイズ小さめ、観測ノイズやや大きめ)。
  • RSI(14)と組み合わせて押し目買い戦略を構築。

ルール例:

  1. カルマンフィルターの傾きが5日連続で上向き(差分がプラス)を維持している銘柄をスクリーニング。
  2. その銘柄で、一時的な調整によりRSIが40以下まで低下し、株価がカルマンフィルター近辺まで下げてきたら監視対象に。
  3. 翌日、陽線で引け、かつ終値がカルマンフィルターを上回っていれば押し目買いエントリー。
  4. 初期ストップはカルマンフィルターの少し下に設定。トレンドが伸びてフィルターが上昇していくにつれて、ストップもフィルターの少し下にトレーリング。
  5. 終値がカルマンフィルターを明確に割り込んだら手仕舞い。

このようなルールでは、明確な上昇トレンドを捉えつつ、その途中の押し目だけを狙う ことが狙いです。カルマンフィルターを使うことで、単純な移動平均よりもノイズの影響を抑えたトレンド判定が期待できます。

ケース2:FXデイトレードでのトレンドフォロー

対象:主要通貨ペアの15分足

  • カルマンフィルターを短期トレンド用にやや敏感に設定(プロセスノイズ大きめ、観測ノイズ標準程度)。
  • ストキャスティクス・スローと組み合わせる。

ルール例:

  1. カルマンフィルターの傾きが上向きのときのみ、買い方向のシグナルを採用。
  2. ストキャスティクス・スローが一度20以下に入り、その後20を上抜けたタイミングを押し目買い候補とする。
  3. その時点の価格がカルマンフィルター付近か、少し上に位置している場合にエントリー。
  4. ストップは直近スイング安値の下、もしくはカルマンフィルターの少し下に設定。
  5. 利確は、リスクリワード比1:2以上の水準、あるいはカルマンフィルターの傾きがフラット〜下向きに変化したタイミング。

この戦略では、「トレンド方向をカルマンフィルター」「押し目のタイミングをストキャスティクス」 で判断します。レンジ相場ではシグナルが多くなりがちなので、ボラティリティ指標(ATR)や上位足のトレンド判定と組み合わせてフィルタリングすると、ダマシをさらに減らせます。

バックテストで検証すべきポイント

カルマンフィルターを実際のストラテジーに組み込む前に、必ず過去データで検証しておくことが重要です。特に次のようなポイントをチェックしてください。

  • パラメータに対するロバスト性
    プロセスノイズと観測ノイズの設定を少し変えても、成績が大きく変動しすぎないか。極端に特定の値だけ成績が良い場合は、過剰最適化の可能性があります。
  • 市場ごとの適性
    株式・FX・暗号資産ではボラティリティ特性が異なります。ある市場でうまくいった設定が、別の市場でも機能するとは限りません。
  • 時間軸ごとの特性
    15分足で有効でも、日足ではまったく使えない、あるいはその逆、ということもあります。自分がメインでトレードする時間軸で検証することが重要です。
  • リスク・リワードのバランス
    勝率が高くてもリスクリワードが悪ければ長期的には機能しません。カルマンフィルターを使うことで、「少し深めの押し目」を狙うストラテジーになりがちなので、ストップ位置と利確目標の設計が特に重要です。

裁量トレードとシステムトレードの橋渡しとしてのカルマンフィルター

カルマンフィルターは数学的には難しそうに見えますが、トレーダー目線で見ると、

  • 価格のノイズを減らした、なめらかなトレンド線を作る。
  • トレンドの転換に対して、通常の移動平均よりも柔軟に追従する。
  • オシレーターやボリンジャーバンドと組み合わせることで、押し目買い・戻り売りの判断を助ける。

という、非常にシンプルな役割にまとめることができます。裁量トレーダーが「チャートの感覚」を保ちながら、より客観的なトレンド把握をしたいとき、カルマンフィルターは強力な補助線になり得ます。また、将来的にシステムトレードやクオンツ的なアプローチに進みたい人にとっても、カルマンフィルターはその入り口となる概念です。

まとめ ― 「ノイズを削ぎ落としたトレンド」を味方につける

本稿では、カルマンフィルターを投資の観点から解説し、移動平均との違い、トレンドフォローや押し目買いへの応用、具体的なトレードシナリオ、バックテストで確認すべきポイントなどを紹介しました。

  • カルマンフィルターは「予測」と「観測」をバランスよく混ぜ合わせ、ノイズを減らしながらトレンドを推定する仕組み。
  • 移動平均よりもノイズ耐性と追従性を両立しやすく、トレンドの立ち上がりや転換を捉える補助線として有効。
  • トレンド方向の判定はカルマンフィルター、エントリータイミングはRSIやストキャスティクス、ボリンジャーバンドなどと分担させると、戦略を組み立てやすい。
  • 実戦投入の前には、必ず自分が使う市場・時間軸でバックテストし、パラメータに対するロバスト性を確認することが重要。

いきなり難しい数式を理解する必要はありません。まずは「移動平均の一歩先にあるトレンド線」としてカルマンフィルターをチャートに表示し、自分の目でその挙動を観察してみてください。どのような場面で有利に働き、どのような局面では弱点が出るのかを体感することで、少しずつ「ノイズを削ぎ落としたトレンド」を味方につける感覚が身についていきます。

コメント

タイトルとURLをコピーしました