Edited at

Python3ではじめるシステムトレード: 予測について(翻訳)

予測はシステムトレードに欠くことのできない技術です。最近では、機械学習、人工知能、状態空間方程式、ベイズ等が話題に上ることが多くなっています。そこで今回は「予測」について、原点を考えてみましょうということで古典的な教科書を紹介します。

Prediction and Regulation by linear least-square methods by Peter Whittle 1963

多くの研究がこの本を原点としています。非常に古い本ですが、読む価値はあると思います。

当初(2019年7月14日)は節ごとにQittaのページを立てることを予定していましたが、今日(2019/7/16)にすべてをまとめました。したがって「予測について(2)~(6)」は削除しました。すべてここにまとまっています。


第一章 はじめに


1.1 科学的予測

 予測理論にはいわれのないイメージがある。自明な場合であろうが、限定された場合であろうが、将来の予測は、完全ではないと考えられてしまう。予測は、定量的に現象を理解した物理モデルの副産物である。ニュートンの法則は高い精度で惑星の動きを予測する。動力学の法則や、弾性の法則は、加えられた力が、橋やビルの構造にどのように影響を与えるかを予測する。少なくともある限れた時間内で、多くの状況で予測は正しく、近似として有効であるモデルは、その予測に関しても近似的に有効である。ニュートンの法則では相対論的な効果を考えはしないし、工学的な構造を仮定したモデルは、単純化されすぎているかもしれないが、そこから得られる初期状態の予測はそんなに悪くない。

 モデルが確率的であるか、確定的であるかは、ランダムな変数をもっているかどうかによる。紹介した2つの例のように、古典的なモデルは確定的で、定まった予測を与える。一方で、将来の確率過程は、変数の過去の値により部分的に決まるだけである。明確な予測という考えは、その条件付確率に置き換えられる必要があり、この将来の値の確率分布は、観測された過去の値により限定される。

 量子力学の世界では、確率は本質的で普遍的なものとしてモデル化されている。それとは別に、複雑なシステムの動きを詳細に記述するのではなくて、系の平均とか、典型的な動きに焦点を当てる場合もある。これが統計力学である。最後に、そしてこれが最後のものに関連するが、確定的な動きがあるが、その効果が小さくて的確に処理できないために確率的な項をもつ場合である。統計学的に説明したいのだが、説明できない確定的な動きを残余に置き換えて処理するのだ。計量経済学の統計モデルは、このタイプである。(しかし、この見解は論議を呼ぶところでもある。)

 仮説やモデルを用いて予測するのが理想的である。しかし、観測された規則性やその説明を用いて行う予測について紹介しておこう。テニスボールの軌跡を運動の法則から、算出することはほぼあり得ない。一般には、過去に観測した似たようなボールの動きを用いて予測するだろう。天気に関しても同じだ。詳細な環境の物理モデルを使うのではなくて、過去の経験をもとに予測している。しかし、この点に関しては少し表現が不正確だ。観測を一般の物理の概念でとらえることができる。数値解析を用いた天候予測は物理法則に則って行われている。しかし、それはさておき、このような予測は、以前に観測した似たような現象をもとに将来も同じような現象が起こるだろうという仮説のもとで行われている。したがって、説明もモデルも必要ない。経験した歴史を編集しなおしただけである。この方法は、知的な統計的な方法であるとはいいがたい。統一的な原理に欠けているし、関連する変数の範囲と、可能な観測値の組みわせは無限にある。この方法は、少なくとも良い近似が観測される現象に限り適用される。すなわち、すべての状況は、すくなくともある近似が成り立つ程度に繰り返される必要がある。

 予測の3番目の方法が外挿である。これらは経済学とか、人口統計学で用いられる。直線でデータの特徴を表して、それを外挿するのである。これは変化の割合が継続すると仮定しているのと同じである。一般に、高次の時間微分が一定であるという仮定のもとで、多項式をデータにあてはめ、外挿している。この方法のリスクは、物理モデルを用いてもいないし、過去の情報も用いていないところにある。同じ理由で、予測の誤差を予測に含むこともしていない。

 これの問題点は、どのモデルでも基本となる何かが一定であるという仮説にあるのではない。偶然であろうが、物理的であろうが、何かが一定であるということを選択する動機がないのである。どちらにしても、この方法は結果としてよい予測をもたらさないと思われている。データには規則性があると思っているが、モデルを作るために必要な情報はもっていないし、統計的に定常であることも示されていないからである。

 ここまでの説明は一般的な意見である。この後の章からは最小二乗法に限定する。すなわち、将来の予測因子は過去の値の線形関数とし、予測誤差の2乗平均を最小にするのである。真のモデルが線形であれば、このような予測因子は比較的効果的であり、他の場合にも有効である。この方法はある意味で、詳細を意識する必要のない統計的手法であり、線形モデルによる仮想的な適合であるが、物理的に重要である。

 最後に見落とされがちな点について述べる。例外はあるとして、予測することが最終的な目的ではないということである。たとえば、敵の飛行機の動きを予測し、撃墜する。国民所得を予測し、経済を良い方向に向ける、などである。最初の例では最適化の対象は、予測の精度ではない。撃ち落とす確率である。この2つは同じことである必要はない。このような問題の考察は、一般的な問題としてRegulationとして10章で扱う。

 最小二乗法の詳細に入る前に、モデルによる予測の例について簡単に議論する。


1.2 離散時間の確定過程

 規則的な時間間隔$t=\dots.-2,-1,0,1,2,\dots$における$x$の値(値の集合)を考えてみよう。$t$時の価値は$x_t$で表される。規則的なデータ生成過程は、時系列データの集まり、集合を生成し、それを{$x_t$}で表す。$t$を物理時間とすると、確定過程は

$$ x_t=G(x_{t-1}, x_{t-2},\cdots:t)          (1)$$

という再帰的な形式で表現される。そして、将来の価格$x_{t+\nu}$は、$x_{t-1}$, $x_{t-2}$という、この関係を繰り返し使うことで確定される。もしも$G$の変化が$t$によらないのであれば、この過程は定常である。


例1:平衡状態にある価格

 $p$と$d$は、商品の価格と需要を表すとする。そして、モデル化の常として、これらの変数の値は

$$ p_t=\mu_1+p_{t-1}+\alpha d_{t-1} \\

d_t=\mu_2-\beta p_{t-1}-\gamma d_{t-1} \ (2)$$

の関係で決まると仮定する。これらをベクトルで表現すると

$$ x_t=\mu+\text{A} x_{t-1} \ \ (3)$$

となる。平衡状態にあるとすると、

$$\tilde{x}=({I-A})^{-1}\mu \ $$

と書く。$x_0$を既知として、$x_t$を予測すると、(3)から

$$ x_t=\sum A^j\mu+A^tx_0 \\

=\tilde{x}+A^t(x_0-\tilde{x})\ \ \ (5)$$

となる。

 このように簡単な場合には、$A^t$の値は$A$のスペクトル表現から算出できる。$|\lambda I-A|$をゼロとして固有値が得られるが、$x_t$の定量的な動きはその性質に依存する。

$$\lambda=\frac{1-\gamma\pm \sqrt{(1+\gamma)^2-4\alpha\beta}}{2} \ $$

系が安定して、平衡状態に達していれば、係数$A$は1以下である。もしも係数が複素数であれば、その系は発振する傾向にある。


例2:人口推定

 問題を離散とするために、単位時間を1年とし、各年を年齢ごとにグループ化する。$n_{jt}$は$t$年における$j$歳の人の数である。$\theta_{j,t}$と$\phi_{j,t}$をクラス内の出生率と生存率とする。したがって、確定的モデルは

$$n_{1t}=\sum \theta_{j,t-1}n_{j,t-1}        \\

n_{jt}=\phi_{j-1,t-1}n_{j-1,t-1}          (7)$$

となる。ここでは慣例にしたがって性の区別はしていない。婚姻率を導入するとモデルは非線形になる。(7)式をベクトル形式に書き直すと

$$ n_t = A_t n_{t-1}$$

となる。$t=0$の人口の歳別構成が既知であるとすると、将来の状態は

$$ n_t=A_t A_{t-1}\cdots A_1 n_0$$

で算出される。これは人口推定モデルのひとつである。$\theta_{jt}$と$\phi_{jt}$の将来の値は、観測値から得たトレンドを$t$について外挿することで得られる。系が定常であれば、これらの率は時間$t$に依存しない。

$$ n_t=A^tn_0$$

となる。定常の場合の$A$の固有値$\lambda$は

$$ \sum \lambda^{-j}\theta_j \Pi \phi_k =1$$

により決定される。$\lambda_1$が最大の固有値であれば、人口は毎年$\lambda$の倍数になる。そして、歳の分布は$j$歳の数が

$$ \lambda_1^{-j}\Pi \phi_k$$

に比例するとして得られる。

 特に重要な場合として、(1)は単純な再帰となり、

$$ x_t=G(x_{t-1})$$

のように短く書くことができる。その結果、$x_t$は$t$の状態の過程を完全に記述(complete description)している。これら2つの例は、ともにこの形式である。変数はこの形式の和になるように選ばれている。


1.3 連続時間の確定過程

 {$x_t$}について、再び考えてみよう。$x_t$はベクトルで、$t$は連続的に変化する。または、$x_t$は連続的な無限の変数の集合を表していると見ることもできる。この見方は2番目の例に相当する。(2.1)の関係と同じように、

$$ x_t=G(x_s,s<t:t) \ (1)$$

と書くことができる。(訳者注:ここで、(2.1)は1章2節の式(1)を表している。)$G$は過去の値の関数である。形式的には

$$ \frac{\text{d}x_t}{\text{d}t}=F(x_s,s<t;t) \ \ (2)$$

と書くことができ、$F$は連続汎関数である。物理では、汎関数$F$のほうが表現がよく、(2)の形式の書き方が好まれる。

 これまでの例と同様に、定常性を特定してみよう。$x_t$は完全な表現となる。この結果、$x_t$は$x_t$だけで決定される。重要な場合には、

$$ \frac{\text{d}x_t}{\text{d}t}=Ax_t \ $$

となる。$A$は線形作用素である。これは

$$ x_t=e^{tA}x_0=[\sum \frac{tA^j}{j!}]x_0 $$

の形式的な解となり、(2.1)と同様である。


例1: 化学反応の動力学

 物質1,2,3が$m_1$、$m_2$、$m_3$だけ存在するとしよう。より詳細に書きたい場合には、$m_1$$(t)$と書くこともできる。反応は

$$ 1+2 \rightleftharpoons 3$$

である。その割合は

$$\begin{eqnarray}

\frac{\text{d}m_3}{\text{d}t}&=&\lambda m_1 m_2-\mu m_3 \\

&=&-\frac{\text{d}m_1}{\text{d}t}=-\frac{\text{d}m_2}{\text{d}t} \ (6)

\end{eqnarray}

$$

という式で表現される。

最初の物質1,2の量を$m_1$と$m_2$とすると、(6)は

$$\begin{eqnarray}

\frac{\text{d}m_3}{\text{d}t}&=&\lambda (M_1 - m_3)(M_2-m_3)-\mu m_3 \\

&=& \lambda (\alpha - m_3)(\beta-m_3) (7)

\end{eqnarray}

$$

と書き直すことができる。もし、$m_2(0)$$=0$ならば、(7)から

$$

m_3(t)=\frac{\alpha\beta(e^{\lambda \alpha t}-e^{\lambda \beta t})}{\alpha e^{\lambda \alpha t}-\beta e^{\lambda \beta t}} \\

\rightarrow \text{min}(\alpha,\beta)

$$

そして、この式は反応の行き先を示してくれる。これは、本書での最初の非線形のモデルである。扱いやすいものはまずない。


例2: 地球の温度変化

 温度$x$は時間$t$と深度$\xi$に依存する。一般に、

$$\begin{eqnarray}

&& \frac{\partial x}{\partial t}=\frac{k^2\partial^2x}{2\partial \xi^2}(\xi>0) \\

&& x\rightarrow 0 (\xi \rightarrow \infty) \ (9)

\end{eqnarray}

$$

を仮定する。(9)から、表面温度についての解を得ることができる。

$$

x(\xi,t)=\frac{\xi}{\sqrt{2\pi k}}\int e^{-\xi^2/(2Ks)}x(0,t-s)s^{-\frac{3}{2}}\text{d}s \ (10)

$$

これは時間ではなく、空間座標$\xi$内の予測である。もしフーリエ変換

$$

\tilde{x}(\tilde{s},\omega)=\int_{-\infty}^\infty e^{-i \omega t} \chi(\xi,t)\text{d}t \ (11)

$$

が存在するならば、(10)は

$$

\tilde{x}(\xi,\omega)=e^{-(1-i)\xi|\omega/u|^{1/2}}\tilde{x}(\xi,0) \ \ (12)

$$

と書き換えることができる。


1.4 離散時間の確率過程

 再帰式(2.1)の変化形として、条件付確率を指定することができる。

$$

P(x_t \in A)|x_{t-1},x_{t-2},\cdots)=Q(A;x_{t-1},x_{t-2},\cdots;t) \ \ (1)

$$

ここで$P(x_t \in A|y)$は確率変数$y$が得られたという条件のもとで集合$A$から$x_t$を取る値の確率を示している。集合$A$が関数$Q$にとって十分に大きなクラスだとすると、(1)から将来のあらゆる事象の確率を算出でき、少なくとも原理的に

$$

P(x_{t+\nu} \in A|x_{t-1},x_{t-2}\cdots)

$$

を算出できる。

 $Q$に明確に$t$が現れなければ、その過程は定常である。$x$の中で$x_{t-1}$のみが現れるのであれば、その過程はマルコフである。そして、そこでは$x$は状態の過程の完全な記述となる。


1.2節の例1:平衡価格

 例として、(2.2)のモデルは

$$

x_t=\mu + A x_{t-1} + \epsilon_t    (2)

$$

と変更することができる。$\epsilon$は独立で正規分布にしたがう。

$$

E(\epsilon_t)=0\\

E(\epsilon_t \epsilon_t^\prime)=V  (3)

$$

これらから(1)の確率を計算できる。また、(2)を解くことで、過程のふるまいをある形式で簡単に形成できる。その結果、(2.5)と同様に

$$

x_t-\tilde{x}=\sum A^s\epsilon_{t-s}+A^t(x_0-\tilde{x}) (4)

$$

となる。$x_0$が与えられれば、(4)から$x_t$の期待値は(2.5)を用いて得ることができる。したがって、これはある意味で、「予測」である。

 予測誤差のベクトルは$\delta_t=\sum A^s\epsilon_{t-s}$であり、共分散行列は

$$

E(\delta_t \delta_t^\prime)=\sum A^sV(A^\prime)^{s-1}  (5)

$$

である。


1.2節の例2:人口予測

2番目の例として、(2.7)で特定された人口予測モデルの確率過程を考えてみよう。このモデルを確率過程とする自然な方法は$\theta_{jt}$と$\phi_{jt}$を確率に置き換えることである。あるクラスに属する個人$n_{jt}$が適正にその年に生殖、生存する確率を考えるのである。これらの個人は統計学的に独立している。このように考えるのであれば、確率生成関数は

$$

\Pi_t(z_1,z_2,\cdots)=E[\Pi z_j^{n_{jt}} ] (6)

$$

となる。したがって、次の関係を得る。

$$

\Pi_t(z_1,z_2,\cdots)=\Pi_{t-1}(\xi_1,\xi_2,\cdots) \ (7)

$$

ここで、

$$

\xi_i=[1+\phi_{j,t-1}(z_{j+1}-1)][1+\theta_{j,t-1}(z_1-1)] (8)

$$

小規模で孤立して性を区別しなければ、その人口モデルは結構有効なはずである。人口の確率的な効果がモデルに組み込まれたものは既に存在する。しかし、移民、社会的、経済的な変化等と比較してその効果は2次的である。

  (7)と(8)は効果的に(1)の確率を指定する。原理的に$n_0$の条件のもとで、$n_t$の分布を決定できる。事実、これはそう簡単ではないが、平均と共分散は比較的簡単に決定できる。

$$

\mu_t=E(n_t)\\

V_t=E(n_t-\mu_t)(n_t-\mu_t)^\prime

$$

(7)からこれらは

$$

\mu_t=A_t \mu_{t-1}

$$

$$

V_t=A_tV_{t-1}A_t^\prime +\\

省略

$$

に再帰的にしたがう。ここで$A_t$は(2.6)と(2.7)で定義された行列である。したがって、期待される将来の動きは、確定的モデルから得られる予測にしたがう。予測誤差の分散は(11)で計算できる。


1.5 連続時間の確率過程

割愛しました。時間のある時に行います。希望者がいれば行います。


1.6 線形最小二乗法による予測と推定

 理想的には、確率過程の予測が条件付分布により指定されるとすると、それは実用的とは言えない。この観点からすると、予測を線形の最小二乗法(lls)によるものと限定したほうがよさそうである。$x_{t+\nu}$は既知の値の線形関数

$$

\hat{x_{t+\nu}}=\mu+\sum_j \gamma_j x_{t-j} \ \ (1)

$$

を用いて推定される。係数$\mu$と$\gamma_j$は予測平均二乗誤差(mse)という基準により

$$

E(\delta^2)=E(\hat{x_{t+\nu}}-x_{t+\nu})^2 \ \ (2)

$$

を最小にするように決定される。(1)の和はすべての観測された$x$が対象である。古典的な予測問題では、観測値$x_t,x_{t-1},\cdots$は$j$が0から$\infty$までとなる。

 {$x_t$}が定常で、確定的な要素を含んでいないとしよう。2.6節を参照。したがって、平均値はゼロである。平均値がゼロでなければ、確定的な要素をもつので、この場合、(1)の$\mu$はゼロとなる。その結果、古典的な予測問題では、

$$

\hat{x_{t+\nu}}=\sum_0^\infty \gamma_j x_{t-j} \ \ (3)

$$

となる。この場合、上述の最小二乗法の原理から$\gamma_j$を決めるには{$x_t$}について既知である必要がある。それは自己共分散行列として表現される。

$$

\Gamma_s=\text{cov}(x_t,x_{t-s}) \ \ \ (4)

$$

これは確率過程についての最小限の情報であり、自明でない予測因子を構成できるものである。

 最小二乗法は理論的に洗練されていて、定常過程の表現論に則っている。それは共分散$\Gamma_s$から算出される正準な線形表現である。これは物理学的に自然な方法であり、少なくとも連続時間では、基本的な構成を線形とする多くの、電気的、機械的フィルターを用いて、予測値の計算が可能である。

 定常で、真に確定的な部分のない確率過程の一般化では、$x_t$を

$$

x_t=\chi_t+\eta_t

$$

と表現し、{$\chi_t$}は確定的、{$\eta_t$}は真の定常確率過程とする。$\chi_t$が既知であれば、$x_t$から除けばよく、$\eta_t$はすでに示した方法で予測される。結果として、効果的に(1)の形式の予測因子を手に入れることができ、$\mu$は$t$の既知の関数である。事実、$\chi_t$が既知であることはまずないが、一般的な仮定は

$$

\chi_t=\sum_j \beta_j g_j(t)

$$

で表現される。ここで$g_j$は既知の関数で、係数$\beta_j$は未知である。$\beta_j$そのものを最小二乗法で推定する。4.3節と8.3節参照。そして、実際の予測関数は(3)の形式となる。このような方法で、より一般的な非定常なデータを扱うことは現実的ではない。8.2節参照。しかし、定常確率過程に対する単純な線形の操作を用いることで、このような過程を扱うことができる。8.5節参照。

 制約のない(非線形の)最小二乗法の予測因子は条件付平均である。

$$

\check{x_{t+\nu}}=E(x_{t+\nu}|x_t,x_{t-1},\cdots) \ \ \ (7)

$$

{$x_t$}が正規分布にしたがうのであれば、(7)の表現は事実最小二乗法の予測因子に縮小できる。4.1.6参照

 もちろん、最小二乗法の予測因子は、より多くの情報を使える制約の少ない予測因子に比べて一般に正確にはならない。まさに本章の意味で確定的で、線形の予測因子のmseがゼロにならない過程の例を2.6節で与える。まさに最小二乗法に期待されているのは、有効性は当然のことであるが、時系列データに最低限の情報を要求しているのである。

 過程が線形に近くなればなるほど、つまり線形の関係が生成されれば、最小二乗推定量は完全に効率的な状態に近づく。モデルが完全に線形であれば、最小二乗法の手続きはモデルの実際の関係を(必ずしもそうではないが)再現する。その結果、この方法は何も意識することなしに最小二乗法による近似という概念を超えてしまう。たとえば、(4.2)のモデルの場合には、$\epsilon_t$が無相関であると、最小二乗法による予測は(4.5)で与えられる予測誤差をもつ(2.5)の関係にすぎない。しかし、これが自己相関をもつとそうはいかない。自己相関から得られる余分な情報があるからである。

 最小二乗法のアイデアの導入は予測を超えた別の用途を示唆する。たとえば、(2.2)の関係から(4.2)のモデルの価格変化の2乗平均を最小にする方法を用いて係数$\alpha$を選ぶことができる。これは最小二乗法を用いたregulationの初歩的な例である。最後の章でより複雑な例と方法を学ぶ。

 $x_t,x_{t-1},\cdots$の標本を最小二乗法により$x_{t+\nu}$の予測に使う場合、 関連する時系列の項の価値などの他の量を推定するためにそれを用いることができる。この拡張した利用方法を扱うために、予測という言葉よりも推定という用語を用いる。それは線形最小二乗推定量を意味する。

 $x_t,x_{t-1},\cdots$または$x_s;s\leq t$で示される無限の過去から現在までに拡張した値の標本は半無限の標本を意味する。ときには、有限の標本$x_0,x_1$,$\cdots,x_{n-1} $を使うが、無限の標本をもっていると仮定することも可能である。離散時間の場合と連続時間の場合がある。線形最小二乗推定量を探す方法はいろいろあり、ケースバイケースである。5-7章でこの区別を明確にする。

 定常過程の最小二乗法による予測の理論は、Wiener(1949)とKolmogorov(1939,1941b)が同時期に発展させた。彼らの方法は同じではない。本書の後半で明確になるが、本書では両方の方法を用いる。Wienerの成果は実際の応用に直接的な焦点を当てている。当時重要視されていた例として、撃墜を目的とした、航空機の飛行経路の予測がある。それ以降、応用の範囲はすさまじく広がった。しかし、10章から明確になるように、本書では、実際の物理的な状況を議論の対象とする。特に、理論といろいろな方法での変更と拡張は、産業と経済分野の予測とregulationについて価値のある道具を提供する。

image.png