おめさんの備忘録

特定の金融商品/銘柄の売買の勧誘/推奨等を目的とするものではないです。市場全般の推奨や証券市場等の動向の上昇/下落を示唆するものでもないです。掲載の金融商品/資金運用等による投資によって生じたいかなる損失について、一切の責任を負いません。

ベイジアン多変量GARCH(BEKK)モデルを基に、時間変化する最適ポートフォリオをサンプリングする

これは何

「最適ポートフォリオの事後分布」を考えてみる


使うデータ

次の指数の日次リターン [%] を使用。

  • S&P500
  • 日経225
  • FTSE100

期間は2022-12-29 ~ 2023-03-09。

最もシンプルなモデル

次をDGPを仮定。

 \textbf{y}_t = (y_{1,t}, ..., y_{k,t})' \stackrel{\text{iid}}{\sim} \mathcal{N}(\textbf{y} \mid \textbf{m}, \textbf{S}). \qquad (1)(←お手製のナンバリング;普段overleafだから使い方がわからない)

↑が真なら、ロングポジションのみの重み  \textbf{w} \in W := \left\{ (w_1,...,w_k)' \in \mathbb{R}^k_{\geq 0} : \sum_{i=1}^k w_i = 1\right\} による、ポートフォリオ

  • Expected Return は  \textbf{w}'\textbf{m},
  • Variance は  \textbf{w}'\textbf{S}\textbf{w}.

Markowitz のMPTに立脚して、Maximum Sharpe-ratio なポートフォリオを求めるに際し、「ふつう」は、 (\textbf{m},\textbf{S}) のそれぞれを推定値で置き換える(i.e. plug-in)なりして、次の最適化問題を解く。

 \textbf{w}^* = \text{argmax}_{\textbf{w} \in W} ~ {\textbf{w}'\textbf{m} \over \textbf{w}'\textbf{S}\textbf{w}}. \sqrt{\textbf{w}'\textbf{S}\textbf{w}} だったっけ?)

最もシンプルなベイズモデル

ここでは、  (1) に次の仮定を加えた Generative Model を仮定して、最適ポートフォリオの事後分布を考えたい!

 \theta = (\textbf{m}', \text{vech}(\textbf{S})')' \sim p(\theta) =_d p(\textbf{m}) p(\textbf{S}). \qquad (2)
(太字の \thetaの出し方がわからない)

 p(\textbf{S}) は 半正定値行列上の事前分布。
観察されたリターン  \textbf{Y}:=(\textbf{y}_1,...,\textbf{y}_T)' で条件付けた  \theta の事後分布

 p(\theta \mid \textbf{Y}) \propto p(\textbf{Y} \mid \theta) p(\theta)

を考えることで、ポステリア上の  \textbf{w}^* による最適ポートフォリオを考えたい。

最適化問題は同様。

結果

Maximum Sharpe-ratio の意味での最適ポートフォリオの epistemic uncertainty を定量化できる。裏では重みも求まってる。


発展

 (1) をBEKKの多変量GARCHで入れ替えて、 \textbf{S} の deterministic な時間発展を記述する。Generative Model は

 \textbf{y}_t = \textbf{m} + \underbrace{\textbf{H}_t^{1/2} \textbf{z}_t}_{=\textbf{e}_t}; \quad \textbf{z}_t \stackrel{\text{iid}}{\sim} \mathcal{N}(\textbf{z} \mid \textbf{0}_k, \textbf{I}_k),

 \textbf{H}_t = \textbf{C} + \textbf{A}\textbf{e}_{t-1}\textbf{e}_{t-1}'\textbf{A}' + \textbf{B}\textbf{H}_{t-1}\textbf{B}'.

ここで、 \textbf{C} は正定値行列。適当な事前分布を設定して、事後分布を考える。

MCMCの出力  \left\{ \Theta^{(1)}, ..., \Theta^{(R)} \right\} から、各時点  t = 1,...,T における最適なロングポジション

 (\textbf{w}^*_t)^{(r)} = \text{argmax}_{\textbf{w} \in W} ~ {\textbf{w}' \textbf{m}^{(r)} \over \sqrt{\textbf{w}' \textbf{H}_t^{(r)} \textbf{w}}}; \qquad (r=1,...,R)

による最適ポートフォリオを構成すると:


もっと

 \textbf{m} は時間を通じて一定だから、基本的には横方向にしかプルプルしません。これだとさみしいから、Time-varying expected return を仮定してみる。Generative Model は

 \textbf{y}_t = \textbf{m}_t + \underbrace{\textbf{H}_t^{1/2} \textbf{z}_t}_{=\textbf{e}_t}; \quad \textbf{z}_t \stackrel{\text{iid}}{\sim} \mathcal{N}(\textbf{z} \mid \textbf{0}, \textbf{I}),

 \textbf{H}_t = \textbf{C} + \textbf{A}\textbf{e}_{t-1}\textbf{e}_{t-1}'\textbf{A}' + \textbf{B}\textbf{H}_{t-1}\textbf{B}',

 \textbf{m}_t = \textbf{m}_{t-1} + \textbf{w}_t; \quad \textbf{w}_t \stackrel{\text{iid}}{\sim} \mathcal{N}(\textbf{w} \mid \textbf{0}_k, \sigma^2_{m} \textbf{I}_k).

適当な事前分布を設定してから、同様に「時変的最適ポートフォリオをサンプリング」すると、冒頭の画像が出来上がる。最適化問題も同様に

 (\textbf{w}^*_t)^{(r)} = \text{argmax}_{\textbf{w} \in W} ~ {\textbf{w}' \textbf{m}_t^{(r)} \over \sqrt{\textbf{w}' \textbf{H}_t^{(r)} \textbf{w}}}. \qquad (r=1,...,R)

画面がやかましくなってしまうから、モンテカルロ標本からランダムに15標本選んで描画してます。

時系列的に可視化すると:

青い網掛は portfolio variance です。

これの方が、各時点におけるSharpe-ratio maximal portfolioの期待リターンとボラの時変性をモデル化できて、なおかつその不確実性も評価できるから、うれしい気がする。(しらんけど)

おわり

 \textbf{m}_t に予測に使えそうな構造を課して(例えばDeep Markov化)、ちゃんとモデル選択したら、更にうれしいかも

参考

Engle, R. F. and Kroner, K. F. (1995). "Multivariate Simultaneous Generalized Arch", Econometric Theory, 11(1), 122-150.

残る疑問

はてなぶろぐの (tex: ) で太字のギリシャ文字を書く方法がわからない