カルマンフィルターのヘッジ比率:ペアトレードの動的回帰
状態空間回帰が変化するヘッジ比率を更新する仕組み、過程ノイズが応答性を調整する方法、フィルター済みスプレッドにも標本外検証が必要な理由を解説します
このガイドの内容動的ヘッジ比率は変化する関係をモデル化する
短い要約
カルマンフィルターは、新しい観測値が届くたびに回帰の切片とヘッジ係数を更新できます。変化する推定値は関係の推移を表すモデルであり、共和分、平均回帰するスプレッド、または収益性のあるシグナルの証明ではありません。
動的ヘッジ比率は変化する関係をモデル化する
固定ヘッジ比率では、形成期間の標本に係数を当てはめ、その値を固定します。動的ヘッジモデルでは、切片と傾きを時間とともに変化しうる潜在量として扱います。カルマンフィルターは前回の推定値と新しい観測値の情報を組み合わせ、これらの量を逐次推定します。
候補となる2つの資産について、一方の対数価格を \(y_t\)、もう一方を \(x_t\) とします。変化する長期回帰は \(y_t=\alpha_t+\beta_t x_t+\epsilon_t\) と表せます。係数 \(\beta_t\) は時点 \(t\) の当てはめられた関係を表しますが、自動的に株数、ドル中立のポジション、安定した経済法則になるわけではありません。

回帰係数を潜在状態に置く
状態ベクトルと観測行ベクトルを次のように定義します。
\[ \theta_t= \begin{bmatrix}\alpha_t\\\beta_t\end{bmatrix}, \qquad H_t=\begin{bmatrix}1&x_t\end{bmatrix}. \]
観測方程式は \(y_t=H_t\theta_t+\epsilon_t\) です。観測された対数価格が、潜在的な切片とヘッジ係数、および観測ノイズによって表されることを示します。よく使われる出発点では、両方の係数がランダムウォークに従うとします。
\[ \theta_t=\theta_{t-1}+\eta_t,\qquad \eta_t\sim N(0,Q),\qquad \epsilon_t\sim N(0,R). \]
ここで \(Q\) は係数変化の共分散、\(R\) は観測ノイズの分散です。\(Q=0\) ならこのモデルでは係数は固定され、正の \(Q\) は係数の変動を許します。別の状態遷移も使えますが、それぞれ関係の動き方について異なる仮定を置きます。
この単純な仕様では、平均がゼロで、時系列相関がなく、互いに独立な過程誤差と観測誤差を仮定します。これらはモデル上の仮定であり、価格観測が自動的に満たす性質ではありません。
新しい価格を見る前に状態と不確実性を予測する
\(t-1\) の終了時点で、フィルターは推定値 \(\hat\theta_{t-1|t-1}\) と共分散 \(P_{t-1|t-1}\) を持っています。ランダムウォークの状態方程式による予測は次のとおりです。
\[ \hat\theta_{t|t-1}=\hat\theta_{t-1|t-1}, \qquad P_{t|t-1}=P_{t-1|t-1}+Q. \]
推定値は引き継がれ、不確実性は許容された係数変化の共分散だけ増えます。\(P\) は指定したモデルのもとで潜在回帰状態がどれほど不確かなのかを表します。ペア取引の損失予測や、ポートフォリオ全体のリスク尺度ではありません。
1期先の観測予測は \(H_t\hat\theta_{t|t-1}\) です。この事前状態は新しい \(y_t\) を使わずに計算されるため重要です。同じ観測値で係数を更新してから残差を計算すると、更新によって残差がすでにゼロ方向へ引き寄せられています。
\(H_t\) には \(x_t\) が含まれるため、現在の説明変数の価格は \(S_t\) とゲインの両方に影響します。傾きの不確実性が大きい場合、異なる \(x_t\) の観測は \(\beta_t\) について異なる情報を持ちえますが、切片と傾きの共分散も関係します。\(x_t\) を中心化または再尺度化すると切片と係数の単位が変わるため、\(Q\) の該当要素と初期 \(P\) も変換するか再推定する必要があります。値をそのまま流用してはいけません。
イノベーションがヘッジ推定値の更新を決める
新しい観測値が届いたとき、1期先の予測誤差、つまりイノベーションは次のようになります。
\[ v_t=y_t-H_t\hat\theta_{t|t-1}, \qquad S_t=H_tP_{t|t-1}H_t^{\mathsf T}+R. \]
イノベーション分散 \(S_t\) は、予測された状態の不確実性と観測ノイズを合わせたものです。カルマンゲインと状態の更新は次のとおりです。
\[ K_t=P_{t|t-1}H_t^{\mathsf T}S_t^{-1}, \qquad \hat\theta_{t|t}=\hat\theta_{t|t-1}+K_tv_t. \]
ゲインは、新しいサプライズを推定関係の変化として取り込むか、観測ノイズとして扱うかを配分します。ゲインが大きいほど、この観測値に合わせて推定が大きく変わります。関係の信頼性が高いという意味ではありません。
仮想的なフィルターが \(\hat\alpha=2.0\)、\(\hat\beta=1.20\) と予測し、\(x_t=50\) だとします。このとき予測値は \(\hat y=62.0\) です。実際の \(y_t=62.8\) ならイノベーションは \(0.8\) です。モデルのゲインが \([0.08,0.006]^{\mathsf T}\) なら、更新後の切片は \(2.064\)、傾きは \(1.2048\) です。これらは計算方法を示す架空の値であり、実証されたヘッジ比率でも、乖離が反転する証拠でもありません。
過程ノイズと観測ノイズは異なる柔軟性を決める
過程ノイズ行列 \(Q\) は、回帰係数が観測ごとにどれだけ変化できるかを表します。\(Q\) が大きいほど通常ゲインが大きくなり、推定値は変化に敏感になります。実際の関係変化を早く追える一方、一時的なノイズを追いかけ、ヘッジ比率を急速に変えることもあります。\(Q\) が小さすぎると推定値は滑らかになりますが、実際の構造変化への追随が遅れる場合があります。
観測ノイズ分散 \(R\) は、関係で説明されない \(y_t\) の変動を表します。他の条件が同じなら、\(R\) が大きいほどフィルターは新しい観測値を信頼しにくくなります。\(Q\) と \(R\) のどちらも普遍的な調整定数ではありません。価格、対数価格、標準化系列のどれを使うか、また標本間隔によって尺度が変わります。
尤度でノイズパラメーターを推定するか、学習期間から事前に定める方法がありますが、最終的な取引期間に合わせて調整すると結果の情報が漏れます。初期状態 \(\hat\theta_{0|0}\) とその共分散 \(P_{0|0}\) も重要です。初期化の不確実性が大きいと、序盤に急速な調整が起こる場合があります。初期化、パラメーター推定期間、妥当な代替設定への感度を報告してください。
フィルタリングと平滑化では使う情報が異なる
フィルタリング推定値 \(\hat\theta_{t|t}\) は時点 \(t\) までの観測値を使います。平滑化推定値は、\(t\) より後に届いた観測値も使うことがあります。平滑化は過去の潜在状態を説明するのに役立ちますが、過去の意思決定時点にトレーダーが利用できた情報ではありません。
同じ時間情報の問題は、\(Q\)、\(R\)、ペア選択、シグナル閾値の推定にも当てはまります。全標本を使って一度だけ推定すると、係数の再帰計算自体が一方向でも、過去の推定に将来の観測値が使われます。リアルタイムのシミュレーションでは、形成期間だけでハイパーパラメーターを推定し、固定するか事前に定めたウォークフォワード日程で更新します。各ポジションの判断には、執行前に得られた情報だけを使います。
観測時刻は約定時刻ではありません。時点 \(t\) の終値で \(v_t\) を計算するなら、執行プロセス上可能でない限り、バックテストで同じ終値で約定できたと仮定してはいけません。次に執行可能な気配値、または妥当な執行モデルを使い、スプレッド、マーケットインパクト、手数料、借株費用、資金調達費用を含めます。
ヘッジ係数だけではポートフォリオの比率やスプレッドシグナルにならない
ペア取引の研究では、更新前のイノベーション \(v_t\) は事前に当てはめた関係からのサプライズです。\(\sqrt{S_t}\) で割ると、モデルのもとで標準化されたイノベーションになります。推定不確実性が時期によって異なるときにサプライズを比較しやすくしますが、どちらの資産をどれほど売買するか、大きなサプライズが反転するかは示しません。
更新後の残差 \(y_t-H_t\hat\theta_{t|t}\) は、現在の観測値を使って係数を修正するため別の量です。この残差を更新前の閾値と組み合わせると、シグナルの意味が変わります。スプレッド、タイミング、閾値を明示し、係数が事前推定、フィルタリング推定、平滑化推定のどれかも記載してください。
対数価格から \(\beta_t\) を推定していても、注文に変換するには別のポジションルールが必要です。対数価格のウェイトは株数や契約数を直接指定しません。価格、契約乗数、通貨、口座の制約でドルエクスポージャーが決まり、切片は取引可能な資産ではありません。係数の更新間に発生するリバランス費用とエクスポージャーのずれも考慮します。
変化する係数がモデルの失敗を隠すこともある
ゆっくり動く係数は徐々な変化を表すのに役立ちますが、関係の破綻を吸収することもあります。状態を柔軟にしたモデルは、安定した長期均衡がない場合でも、当てはめ残差を小さく見せることがあります。フィルターは共和分を検定せず、残差の定常性を保証しません。
ペアの選択も重要です。多くの資産を調べ、標本内残差が最も滑らかなペアを残すと、安定性を主張するのと同じデータで選択することになります。企業行動、古い価格、非同期の終値、空売り制約、流動性の変化、レジーム転換は推定状態を変えたり、理論上のヘッジを執行しにくくしたりします。
当てはめ線だけでなく、残差の挙動、状態の不確実性、回転率、係数の推移も確認してください。時系列順のホールドアウト期間で固定比率の基準モデルと比較します。適応性を高めた推定は、現実的なコストを差し引いた後も、追加の回転率と推定リスクに見合う必要があります。見た目が滑らかなだけでは成績を示しません。
再現に必要なモデルと検証方法を報告する
どの価格またはリターン系列をモデル化したか、変換方法、観測頻度、標本期間、回帰の左右に置いた資産を明記します。観測方程式と状態方程式、遷移行列、\(Q\)、\(R\)、初期化、推定方法、報告した状態がフィルタリングか平滑化かを示します。
取引成績を報告する場合は、シグナルに使ったイノベーションまたはスプレッド、その標準化、意思決定のタイムスタンプ、注文遅延、ポジションサイズ、リバランス規則、すべての執行コストを定義します。ペア選定、学習期間とテスト期間、ノイズパラメーターの再調整方法、構造変化や欠測後の戦略の挙動を説明します。固定係数と動的係数は、同じ時系列分割で比較してください。
Kalmanの線形フィルタリング論文は再帰的な枠組みを示します。Hatanakaは一部の係数が時間変化する回帰を研究しました。Elliott、van der Hoek、Malcolmはペアトレードの確率モデルを提示しています。関連トピックとして、カルマンフィルターの予測と更新、ペアトレードにおける共和分と相関の違い、Johansenのランク検定、分散比検定のガイドを参照してください。
よくある質問
Q1カルマンフィルターはペアの共和分を証明しますか?
いいえ。状態遷移と観測に関する仮定のもとで潜在状態を推定します。柔軟なヘッジ係数は変化するデータに追随できますが、安定した定常関係を証明するものではありません。
Q2動的ヘッジ比率は常に固定比率より優れていますか?
いいえ。実際の変化に対応できますが、ノイズを追い、回転率やパラメーターリスクを高めることもあります。同じ時系列の標本外期間と現実的なコストを使って両者を比較してください。
Q3更新後の残差をイノベーションと同じシグナルにできますか?
いいえ。イノベーションは現在の観測値で係数を更新する前の事前状態を使います。更新後の残差はその観測値で係数を修正するため、別の量です。 ---
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
状態空間回帰において、過程ノイズ共分散 Q が決めるものは何ですか?
答えを選ぶと解説を確認できます