私は、機関投資家のクオンツがどのように時系列分析を使ってあらゆる市場でエッジを見つけるのか、そして今日から実装できる完全なフレームワークを解説します。
さっそく本題に入りましょう。
ブックマーク推奨 - 私は Roan です。バックエンド開発者として、システム設計、HFT スタイルの執行、および定量取引システムに取り組んでいます。私の仕事は、予測市場が負荷の下で実際にどのように動作するかに焦点を当てています。ご提案、思慮深いコラボレーション、パートナーシップについての DM は随時受け付けています。
2008 年、ほとんどのトレーダーは住宅ローン担保証券を見て、上昇線を視認していました。
彼らはトレンドを、モメンタムを見ていました。時系列モデルを実行しました。モデルは買いを示しました。モデルは壊滅的に間違っていました。
少数のトレーダーは同じ線を見て、別の質問をしました。線が次にどこへ行くのかではなく、実際にその線を生成しているものは何か?彼らは基礎となる住宅ローン・データを掘り下げました。収入確認なしで人々に与えられている変動金利ローンを発見しました。価格チャートが何も示す前に、データ内で静かに上昇するデフォルト率を発見しました。彼らはその情報(時系列モデルだけでは決して捉えられなかった情報)を使って、市場が暴落したときに数十億を生み出すポジションを構築しました。
これが時系列分析における最も重要な教訓です。チャート上の線は、現実世界で起こっている何かの結果です。時系列モデルは、その線がこれまで何をしてきたかを教えてくれます。実際に何が原因かを教えてくれません。そして、根底にある現実が変化した瞬間、あなたのモデルは資産ではなく負債になります。
私は以前の記事で、レジーム検出のためのマルコフ連鎖と信号生成のためのニューラルネットワークについてすでに説明しました。時系列分析は、システムトレーディング・スタックの 3 番目の必須レイヤーです。これら 3 つのフレームワークが一体となって、完全な定量取引システムを形成します。
この記事の終わりまでに、あなたは以下を正確に理解できるでしょう:時系列とは何か、そして市場がどのようにそれを生成するか、なぜあなたの時系列モデルは常に間違っているのか、そしてそれが実際には問題ない理由、すべての定量取引の決定を動かす 3 つの基本タスク、生データからライブ取引シグナルまでの完全な実装フレームワーク、そして時系列モデルの 90% が実際の資本に触れる前に失敗する原因となる 1 つの間違い。
注記:この記事は意図的に長くなっています。各部分は前の部分に基づいて構築されています。時系列分析を使用して体系的なエッジを構築することに真剣に取り組んでいるなら、すべての単語を読んでください。近道を探しているなら、これはあなた向けではありません。
パート 1: 時系列が実際に何であり、何を隠しているのか
時系列とは、時間の経過に伴い一定の間隔で記録された観測値の連続です。株の毎日の終値。1 時間ごとの気温測定値。毎月の失業者数。それぞれが時間によって索引付けられた値の系列です。
この定義は技術的には正しいですが、実際には不完全です。
ほとんどの人が見逃している重要な点は、すべての時系列は何かによって生成されているということです。株価は真空中でランダムに動くわけではありません。それは、投資家、アルゴリズム、マーケットメーカー、そして価格系列だけからは直接観測できないマクロ要因によって行われた何百万もの決定の出力です。価格は、経済学者が「結果変数」と呼ぶものです。実際にそれを駆動しているのは、その下にある「データ生成分布」です。

この区別は取引において非常に重要です。時系列モデルを市場データに適用するとき、あなたは目に見えないプロセルの可視的な出力をモデル化しています。目に見えないプロセスがほぼ同じままである限り、あなたのモデルは有用なパターンを捉えます。基礎となるプロセスが変化した瞬間、あなたのモデルはもはや存在しないものに静かに適合しています。
ニューヨーク市の気温について考えてみてください。12 月で現在華氏 20 度の場合、明日は何度になるでしょう?おそらく答えは、20 度前後でしょう。正確な予測をしているわけではありません。現在の状態と既知の季節パターンに基づいて期待値を生成しているのです。その期待値は、通常の条件下ではほとんどの場合、おおよそ正しいでしょう。
ここで、アイスランドで火山が噴火し、1 週間で世界の気温が 15 度上昇したと想像してください。あなたのモデルはその火山に関する情報を何も持っていません。その予測は激しく外れるでしょう。モデルが悪いからではありません。気温系列だけでは完全に見えない方法で、基礎となるデータ生成プロセスが変化したからです。
これはまさに 2008 年に住宅ローン証券で起こったことです。価格の時系列はすべてが順調であると言っていました。基礎となるプロセス、つまりローンの実際の信用力はすでに変化していました。情報は存在していました。ただ、それが価格系列には含まれていなかっただけです。
時系列は 3 つの要素に分解できます。
トレンドは長期的な方向性のある動きです。系列が長期間にわたって従う全体的な軌跡です。季節性は、固定された間隔で発生する繰り返しパターンです。毎月の売上サイクル、四半期ごとの業績効果、取引量における曜日パターンなどです。ショックまたは残差は、トレンドと季節成分の周りのランダムな変動です。予期せぬ出来事、ニュース、驚きです。
トレンドと季節性に関する重要な洞察は、それらが安定している場合にのみ意味があるということです。日中株価をモデル化していて、トレンドが数時間ごとに反転する場合、トレンド成分は何の役にも立ちません。安定性は、時系列モデルが予測値を持つための前提条件です。
宿題:あなたが現在取引している任意の資産を選んでください。その価格変動を動かす主な要因は何だと考えるか、一文で書き留めてください。その要因こそ、あなたが構築する時系列モデルと一緒に監視すべきものです。その要因が変化した場合、モデルを再構築する必要があります。
パート 2: 3 つのタスクと予測が常に間違っている理由
時系列分析のすべての応用は、3 つのカテゴリのいずれかに分類されます。自分が実際にどのタスクを実行しているのかを理解することで、定量ファイナンスにおける最も一般的で高くつく間違いから救われるでしょう。
フィルタリングは、過去と現在のデータを使用してシステムの現在の状態を推定します。ノイズを取り除き、今実際に何が起こっているかを見ようとしています。移動平均はフィルターです。未来を予測するわけではありません。現在を平滑化するのです。取引プラットフォームでチャートに置いたことのあるすべての指標は、何らかのフィルタリングを行っています。20 日移動平均を使用するとき、あなたは言っているのです:日々のノイズを取り除いた、この資産の基礎となる状態を見たい、と。それだけです。
平滑化は、過去と未来の両方のデータを使用して、以前の時点での状態がどうだったかを推定します。これにはグローバルパスの知識が必要です。つまり、ある時点の後に何が起こるかを見て、その時点で何が起こっていたかを最もよく特徴付ける必要があります。平滑化は、過去データの分析やリサーチデータセットの構築には有用ですが、将来の情報を必要とするため、リアルタイムの取引判断には使用できません。
予測は、現在と過去の状態を使用して、未来に対する期待値を生成します。ここにほとんどのトレーダーの注意が集中し、ほとんどの誤解が存在します。
以下が、ほとんどの取引教育が明確に述べることを拒否する基本的な真実です。
予測は予言ではありません。それは期待値です。これらは同じものではありません。
期待値とは、考えられるすべての将来の結果にわたって二乗誤差を最小化する単一の数値です。数学的には条件付き平均です:
E[Xₜ₊₁ | X₁, X₂, ..., Xₜ]
公正なサイコロを振るとき、期待値は 3.5 です。サイコロが 3.5 の目を出すことはありますか?いいえ。しかし、振る前に出せる最良の答えは 3.5 です。それは、将来のすべてのロールにわたって平均誤差を最小化する値です。
市場予測もまったく同じように機能します。あなたのモデルは、利用可能な情報を考慮した最良の期待値を生成します。その期待値は、基本的に実現価格と等しくなることは決してありません。しかし、平均的に正しく、その周りで体系的に取引すれば、一貫したリターンを生み出すことができます。これはまさにマーケットメーカーが運用する方法です。彼らは価格がどこへ行くかを知る必要はありません。彼らは期待価格を知り、その周りにスプレッドを提示し、何千もの取引にわたってそのスプレッドを徴収する必要があります。
モデルが間違っていてもこれが機能するという証明は、単純なマーケットメイキングシミュレーションから得られます。真の期待値がランダムに変化するプロセスの期待値の周りにビッドアスクスプレッドを提示することを想像してください。移動平均はその期待値を不完全に追跡します。常にわずかに間違っています。しかし、その不完全な推定値の周りのスプレッドを取引すれば、平均的に正しいため、時間の経過とともにプラスの P&L を蓄積します。
これが時系列分析を用いたシステムトレーディングの核心です。完全な予測は必要ありません。取引コストを克服するのに十分な頻度で、方向的に正しい予測が必要です。そして、モデルがおおよそ正しくなくなったタイミングを知るための厳格なフレームワークが必要です。

パート 3: ほとんどの取引モデルを破壊する単位根問題
このセクションは、時系列データを用いた定量取引において、最も一般的で高くつく間違いからあなたを救うでしょう。
株価の予測モデルを構築しようとするほとんどの人は、明日の終値と今日の終値の回帰を実行することから始めます。そうすると、0.99 を超える R 二乗値を得ます。彼らはほぼ完璧な予測関係を発見したと信じます。
しかし、そうではありません。彼らは統計学で最もよく知られた罠の 1 つである「見せかけの回帰」に陥っています。
実際に起こっていることはこれです。同じ回帰を終値の代わりに日次リターンで実行してください。R 二乗は約 0.01 に低下します。99% の変動を説明していたところから、1% の変動を説明するところまで落ちました。同じ基礎資産、同じデータ、同じモデル構造、まったく異なる結果です。
理由は単位根です。
時系列は、現在の値が以前の値にランダムショックを加えたものに等しい場合、単位根を持ちます:
Xₜ = Xₜ₋₁ + εₜ
これはランダムウォークと呼ばれます。株価はおおよそこのプロセスに従います。ランダムウォークを別のランダムウォークで回帰すると、2 つの系列がまったく無関係であっても、ほとんどの場合強い統計的関係が見つかります。これが見せかけの回帰であり、業界における無数の誤った取引シグナルの原因です。
これのテストは拡張ディッキー・フラー検定です。帰無仮説は系列が単位根を持つというものです。p 値が 0.05 未満の場合、帰無仮説を棄却でき、系列はおそらく定常です。p 値が 0.05 を超える場合、系列はおそらく単位根を持ち、生の回帰モデルは見せかけの結果を生み出します。
価格系列はテストに失敗し、リターン系列は合格することがわかるでしょう。これは、何をモデル化すべきかを正確に示しています。生の価格レベルで予測モデルを構築してはいけません。時系列モデルを適用する前に、常にリターン、対数リターン、または他の定常な派生量に変換してください。
価格系列を定常系列に変換する変換は「一階差分」と呼ばれます:
rₜ = ln(Pₜ) - ln(Pₜ₋₁)
対数リターンはおおよそ定常ですが、金融リターン系列は、純粋な定常性では完全に捉えきれないボラティリティ・クラスタリングやファットテールなどのスタイライズド・ファクトを示します。これらについては、以下の GARCH のセクションで扱います。
宿題:現在使用している、または過去に使用した取引モデルを選んでください。それが価格レベルに基づいて構築されたものか、リターンに基づいて構築されたものかを確認してください。価格レベルに基づいて構築されていた場合は、基礎データに対してディッキー・フラー検定を実行してください。p 値が 0.05 を超える場合、バックテスト結果は見せかけの相関によって水増しされている可能性があります。
パート 4: 実際に機能するモデルとその使用方法
時系列とは何か、3 つの基本タスク、および単位根問題を理解したところで、ライブ市場で実際に機能するモデルを構築する準備が整いました。
システムトレーディングのバックボーンを形成するモデル群は、ARMA ファミリーとその拡張です。このファミリーの各モデルは、金融時系列における系列依存構造の異なる側面を捉えます。
AR: 自己回帰モデル
次数 p の自己回帰モデル (AR(p) と表記) は、系列の現在値がその p 個の過去の値とランダムショックの線形関数であると述べています:
Xₜ = φ₁Xₜ₋₁ + φ₂Xₜ₋₂ + ... + φₚXₜ₋ₚ + εₜ
φ 係数は自己回帰パラメータです。これらは、各ラグによって現在値のどれだけが説明されるかを捉えます。取引において、AR モデルは短期的なモメンタムと平均回帰ダイナミクスを捉えるのに役立ちます。φ₁ が正の AR(1) モデルはモメンタムを捉えます。φ₁ が負の AR(1) モデルは平均回帰を捉えます。
MA: 移動平均モデル
次数 q の移動平均モデル (MA(q) と表記) は、現在値が現在および過去のランダムショックの線形関数であると述べています:
Xₜ = εₜ + θ₁εₜ₋₁ + θ₂εₜ₋₂ + ... + θqεₜ₋q
MA モデルは、過去の驚きが現在の値に与える影響を捉えます。これらは、市場がニュースイベントにどのように反応するかをモデル化するのに特に役立ちます。
ARMA: 両方の組み合わせ
ARMA(p,q) モデルは両方の成分を組み合わせます:
Xₜ = φ₁Xₜ₋₁ + ... + φₚXₜ₋ₚ + εₜ + θ₁εₜ₋₁ + ... + θqεₜ₋q
非定常系列の場合は、最初に系列を定常にするために差分を適用し、結果として得られるモデルは ARIMA(p,d,q) と呼ばれます。ここで d は差分の次数です。
GARCH: ボラティリティのモデル化
金融データに対する ARMA モデルの問題は、一定のボラティリティを仮定することです。金融リターンはボラティリティ・クラスタリングを示します:大きな動きは大きな動きに続く傾向があり、小さな動きは小さな動きに続く傾向があります。これが ARCH 効果であり、金融全体で最もよく文書化されたスタイライズド・ファクトの 1 つです。
GARCH(1,1) モデルは、誤差項の分散を時変プロセスとしてモデル化することでこれに対処します:
σₜ² = ω + α₁εₜ₋₁² + β₁σₜ₋₁²
ここで σₜ² は時点 t における条件付き分散、εₜ₋₁² は前期からの二乗ショック、σₜ₋₁² は前期の分散です。このモデルは、市場で観察されるまさにボラティリティ・クラスタリングを捉えます:今日の高いボラティリティは明日の高いボラティリティを予測します。
取引において、GARCH はポジションサイジングに不可欠です。σₜ² が高いときは、ポジションサイズを減らします。σₜ² が低いときは、より多くのリスクを取ることができます。この単一の洞察、つまり推定ボラティリティに基づいてポジションサイズを動的にスケーリングすることは、システマティックファンドによって生成されるリスク調整後リターンのかなりの部分を占めています。

パート 5: 完全な実装パイプライン
このセクションでは、すべてをまとめて、今日実際のデータで実行できる実用的なシステムを構築します。
この実装を展開する前に理解すべき 3 つの重要なこと。
第一に:GARCH ベースのポジションサイジングは、ARIMA 予測方向よりも多くの作業を行っています。高ボラティリティ・レジーム中にエクスポージャーを減らすことは、システム全体で最も信頼性の高いエッジです。52 ~ 55% の精度の方向予測とボラティリティ調整済みサイジングを組み合わせることで、60% の精度と固定サイジングよりも優れたリスク調整後リターンが得られます。
第二に:ウォークフォワード構造は交渉の余地がありません。各ステップで、過去のデータのみでモデルを適合させ、1 ステップ先を予測しています。完全なデータセットで適合させ、サンプル内予測を生成してそれをバックテストと呼ぶことは決してしないでください。それはバックテストではありません。それはラベル付きの曲線適合です。
第三に:代替データは、時系列分析が達成できる上限です。ここで構築したフレームワークは下限です。それは価格系列内に存在するパターンを捉えます。一貫してアウトパフォームするトレーダーは、価格系列が含むことのできない情報を追加します。決算電話会議のセンチメント。オーダーブックからのオーダーフロー・インバランス。クレジット市場シグナル。クロスアセットのレジーム情報。これらはモデルの改善ではありません。それらは根本的に異なる情報セットからの入力です。

最も重要な実用的限界:すべての ARMA ファミリーモデルは、系列の統計的性質が推定ウィンドウ全体でおおよそ安定していると仮定します。金融市場では、この仮定は継続的に破られます。標準的な緩和策は、新しいデータが到着するにつれて古いデータを破棄する、252 取引日のローリング推定ウィンドウです。より短いウィンドウはより速く適応しますが、よりノイズの多いパラメータ推定値を生成します。より長いウィンドウはより安定していますが、レジームの変化に遅れをとります。最適なウィンドウ長は経験的な問題であり、各銘柄と各戦略に対して個別に回答する必要があります。
まとめ
時系列分析は未来を予測するわけではありません。それが行うのは、現在の状態と観測された履歴を考慮して、将来の数学的に最適な期待値を生成することです。その期待値が方向的に十分な頻度で正しく、ボラティリティ調整済みポジションサイジングと組み合わされると、一貫したエッジを生み出します。
完全なフレームワークはこの記事にあります。モデルを構築する前に定常性を確認してください。入力として価格ではなくリターンを使用してください。リターンの自己相関における方向シグナルを捉えるために ARIMA を適合させてください。その上に GARCH をレイヤーして、時変ボラティリティをモデル化し、ポジションサイズを動的にスケーリングしてください。ローリングウォークフォワード構造を使用してすべてを検証してください。そして、最大の動き、つまり最も多くの資本を生み出したり破壊したりする動きは、どの時系列モデルも予期しないレジーム変化から来ることを常に覚えておいてください。
最後の部分はモデルの限界ではありません。それは現実の説明です。歴史上最も成功したシステム戦略を構築したトレーダーは、自分のモデルが何をでき、何をできないかを正確に理解していました。彼らは時系列を、それが本当に得意なこと、すなわち安定したレジームから安定したパターンを抽出するために使用しました。そして、それらのレジームが変化しようとしていることを知るために、代替データとレジーム検出を使用しました。
今、あなたは両方を持っています。時系列フレームワークはこの記事にあります。マルコフ連鎖レジーム検出フレームワークは前の記事にあります。ニューラルネットワーク信号生成フレームワークはその前の記事にあります。
これで完全なシステムトレーディング・スタックが手に入りました。
ここで、あなたに考えてほしい質問があります。
GARCH モデルは、リターン履歴だけのパターンに基づいてボラティリティが急上昇しようとしていることを教えてくれます。マルコフ連鎖は、現在の状態に基づいて市場が低ボラティリティ・レジームから高ボラティリティ・レジームに移行しようとしていることを教えてくれます。両方のシグナルが一致する場合、その収束は利用可能な最も強力なリスク管理シグナルの 1 つです。それらが一致しない場合、その乖離自体が情報です。何がそれらを一致させないのでしょうか?そして、その不一致は現在の市場状況について何を教えてくれるでしょうか?
コメントにあなたの答えを残してください。
間違った答えはありませんが、非常に示唆に富む答えはあります。





