56
66

More than 3 years have passed since last update.

ケリー基準 ~最適ベッティング戦略について考えよう~

Last updated at Posted at 2020-09-29

原文

今回はこちらの論文(The Kelly Criterion:
Implementation, Simulation and Backtest, Niels Wesselhofft
)の読書感想文を書いていきたいと思います。
私自身の知識の整理と皆さんの参考になれば幸いです。
あくまでも読書感想文であるため、あくまで参考までにお願い致します。
また、原文の誤植や計算ミスが多かったのですが、そちらはこちらで出来る限り訂正させていただいております。
また、この記事が与える如何なる結果に対しても責任は持ちませんので、ご容赦くださいませ。
専門家からの意見もお待ちしておりますので、どんどんコメントして下さると幸いです。

概要(この論文の主旨)

この論文では、ポートフォリオ理論で広く使用される平均分散アプローチ以外で、ケリー基準によるアプローチを検証します。主にシミュレーション研究および経験に基づいて実装およびテストされます。
Kelly(1956)の主な目的は、予想される成長の対数を最大化することです。
論文では色々実験もしており、そこら辺は論文の方で参考にしてくださると幸いです。
こちらの記事では理論的な背景のみの感想文となっております。

イントロダクション

一連の投資機会を考えると、投資の重みはどのように選択する必要がありますか?
例えば、ここに歪んだコインがあるとして、表が出る確率が50%ではありません。しかし、コイントスで勝てば賭け金の2倍、負けたら賭け金没収というゲームがあり、あなたはこのゲームに参加するとします。
この場合、あなたはいくら賭けたら、最後に誰よりも多くの富を得ることが出来るのでしょうか?
ケリーの成長最適戦略は、投資家またはギャンブラーのための賭けスキームです。
資本の成長率を漸近的に最大化します。この進化的安定戦略はその他の異なる戦略に対して優れています。
それをこれからシンプルなギャンブル以外にも株式市場等の例に対して紹介していきます。

方法論

ケリー基準による賭け戦略を考えるためには、参加しているゲームの分布が分かっていることが必要です。
外部要因等によるリスク要因(勝ってもカジノが支払ってくれない等)を考慮しなければ、ケリー基準による投資戦略は一つの市場に総資産ないしそれ以上の金額を賭ける可能性もあります。
Kelly(1956)の主な結果を簡単に確認しますと、Thorp(1984)によって、二値事象(結果が勝ちか負けのみ)は期待成長率における公正なオッズと最小賭け金比率に拡張されました。一方、BickslerとThorp(1973)は、ケリーのアプローチを一様リターンに拡張し、Merton(1992)は、価格変動のために幾何ブラウン運動の古典的なモデルを仮定してケリー基準を拡張しました。

1.1 ベルヌーイ試行(Kelly, 1956)

これは、簡単なコイントスやルーレットの赤か黒等の結果が単純に勝ちか負けというゲームです。
ここで、ゲームの結果を$1$が勝ちで$-1$が負けとして、このようなゲームで勝つ確率を$\frac{1}{2} < p \leq 1$、負ける確率を$1-p$とします。
初期資産を$W_0$とし、毎回資産の一定比率$f$を賭けます。$n$回このゲームを遊んだ結果の資産価値を$W_n$、ゲームの結果を$w_n \in \{-1, 1\}$としますと、

W_n = \begin{cases}
  (1+f)W_{n-1} & (w_n = 1) \\
  (1-f)W_{n-1} & (w_n = 0)
\end{cases}

となります。ここで勝った回数を$m$回としますと、$W_n = W_0(1+f)^m(1-f)^{n-m}$と書けますので、ここで資産の期待成長率(幾何平均の対数と等しい)は

\begin{eqnarray}
& G_n(f) = \log{\Bigl(\frac{W_n}{W_0}\Bigl)^{\frac{1}{n}}} \\
& = \log{(1+f)^{\frac{m}{n}}(1-f)^{\frac{n-m}{n}}} \\
& = (\frac{m}{n})\log{(1+f)} + (\frac{n-m}{n})\log{(1-f)}
\end{eqnarray}

となります。

ここで大数の法則$E[\frac{m}{n}] = p$を用いますと、以下が計算出来ます。

$E[G_n(f)] = g(f) = p\log{(1+f)} + q\log{(1-f)} = E[\log{(W)}]$

ここで、$g(f)$を最大化すれば、最適比率を求めることが出来ます。$g^{\prime}(f) = 0$を解けば、$f = f^* = p-q, p \geq q \geq 0$が得られます。
注意点は$g(f^*) = p\log(p)+q\log(q)+log(2) > 0$であることと、二次導関数$g^{\prime \prime}(f) = -[\frac{p}{(1+f)^2}]-[\frac{q}{(1-f)^2}] < 0$より、上に凸の関数となっております。

このケースでは、オッズは1:1となっておりますが、オッズが$o:1$であるような場合は、任意の$o \in \mathbb{R}^{+}$をとってきて、
$po-q > 0$且つ$g_o(f) = (\frac{m}{n})\log{(1+of)} + (\frac{n-m}{n})\log{(1-f)}$を仮定しますと、

$f^* = \frac{op-q}{o} = \frac{\mbox{edge}}{\mbox{odds}}$となります。つまり、期待値/オッズが最適な賭け比率になっているわけです。

ここがベースで、ここから他の分布に対しても拡張されていきます。

1.2 株価が一様分布に従う場合 (BickslerとThorp(1973))

一つのリスク資産があって、条件は、下限値$a$と上限値$b$があり、株価が$x \sim U(a, b)$となると仮定します。
ここで、無リスク資産のリターンを$r$で初期時刻に$W_0$分購入するとします。
次に、$W_0f$でリスク資産を追加で購入しますと、資産価値$W_n$は$W_n = W_0*(1+r)+W_0*f(x-r) = W_0(1+r+f(x-r))$とかけます。
この指数成長率は

\begin{eqnarray}
& G(f) = \log{\Bigl(\frac{W_n}{W_0}\Bigl)} \\
& = \log{(1+r+f(x-r))} \\
\end{eqnarray}

となりますので、
$\displaystyle \max_{f}{E[G(f)]} = \max_{f}{E[\log{(1+r+f(x-r))}]}$を求めたいわけですが、$G^{\prime}(f) = 0 \Leftrightarrow \int_{a}^{b}G^{\prime}(f)dx = 0$より、

\begin{eqnarray}
& \int_{a}^{b}\Bigl[\frac{x-r}{1+r+f(x-r)} \Bigl]*\Bigl[\frac{1}{b-a} \Bigl]dx = 0 \\
& \Leftrightarrow f(b-a) = (1+r)\log{\Bigl[\frac{1+r+f(b-r)}{1+r+f(a-r)} \Bigl]} \\
& \Leftrightarrow \Bigl[\frac{1+r+f(b-r)}{1+r+f(a-r)} \Bigl]^{\frac{1}{f}} = \exp{\Bigl[\frac{b-a}{1+r} \Bigl]}
\end{eqnarray}

これを解析的に解く手段はないので、数値計算で$f$を解きます。簡単な手法ではニュートン法や二分探索が挙げられますが、今ではそれらを実装しなくても、Pythonのライブラリで簡単に解けます。

1.3 幾何ブラウン運動 (Merton, 1969/1992)

先ほどの株価は一様分布を仮定しましたが、こちらでは、株価が幾何ブラウン運動に従っていると仮定します。
最大化する目的関数は変わりませんが、確率変数$X$は変わります。
銘柄$j$の時刻$t$における株価を$P_{j, t}$とおき、価格変化率$X_{j, t}$を$X_{j, t} = \frac{P_{j, t+1}}{P_{j, t}}$と定義します。
このとき、$P_{j, t}$は幾何ブラウン運動(または伊藤過程)に従っていると仮定しているので、

dP_{j,t} = \mu_{j, t}P_{j, t}dt + \sigma_{j, t}P_{j, t}dZ_{j, t}

を満たします。ただし、$Z_{j, t}$は標準ブラウン運動(独立でなくても良い)
次に無リスク資産の確率過程を定義します。無リスクリターンを$0 \leq r < \mu_{j}$として、$dR_t = rR_tdt$と定義します。
ブラックショールズ-マートンのアプローチでは、$\mu_j, \sigma_j, r$は一定と仮定します。
連続的な資産過程では、

\displaystyle dW_t = \Bigl[\sum_{j=1}^{k}f_{j,t}\mu_{j}W_t \Bigl]dt + \sum_{j=1}^{k}f_{j,t}\sigma_j W_t dZ_{j,t}

と書けます。

単変数(一つのリスク資産と無リスク資産)のケース

時刻$t$における消費を$C_t$とおきますと、単変数(一つのリスク資産と無リスク資産)の場合、動的資産過程は以下のように書き換えることが出来ます。

dW_t = [(f\mu + (1-f)r)W_t - C_t]dt + f\sigma W_t dZ_t

次にlifetime目的関数(Merton(1992)lifetime objective functionを名付けました。)は以下のように定義しました。

I[W_t, t] = \max_{C, f}E \Bigl[ \int_{0}^{T} e^{-\rho t}U(C_t)dt + B(W_T, T) \Bigl]

ただし、$\rho$は短気ファクター(impatience factor)、$B$は形見評価関数(Bequest valuation function, $W_t$に対して下に凸の関数), $U$は効用関数です。(Bequest valueとは、経済学では、自然遺産や文化遺産を保護することによる満足度の価値である。)

この式を解くための必要条件は $\overline{I}[W_t, t] = \frac{b(t)}{\gamma}e^{-\rho t}[W_t]^{\gamma}$です。

ただし、$b(t)$は次の常微分方程式を満たす必要があります。

\frac{db(t)}{dt} = \mu b(t) - (1-\gamma)[b(t)]^{-\frac{\gamma}{1-\gamma}}

ここで、$I[W_t, t]$が$t, W$に対して、二回微分可能であるとしますと、伊藤の公式から

0 = \max_{C, f} \Bigl[e^{-\rho t}U(C_t) + \frac{\partial{I(W_t, t)}}{\partial t} + \frac{\partial I(W_t, t)}{\partial W}[f_t((\mu-r)+r)W_t - C_t] + \frac{1}{2}\frac{\partial^2 I(W_t, t)}{\partial W^2}f_t^2\sigma^2 W_t^2 \Bigl] \equiv \phi

となるので、ここでこの式を$C, f$でそれぞれ偏微分して、記号を

\begin{eqnarray}
& \phi_c = e^{-\rho t}U^{\prime}(C^*) - \frac{\partial I(W_t, t)}{\partial W} = 0 \\
& \phi_f = (\mu -r)W \frac{\partial I(W_t, t)}{\partial W} + \frac{\partial^2 I(W_t, t)}{\partial W^2}f^{*}W^2 \sigma^2 = 0
\end{eqnarray}

と置きます。

これらが解を持つ条件は$I[W_t, t]$は以下の条件を満たす必要があります。

\begin{eqnarray}
& A. \overline{I}[W_t, t] \in \mathbb{R} \\
& B. \frac{\partial^2 \overline{I_t}}{\partial^2 W} < 0 \\
& C. C^*_t \geq 0
\end{eqnarray}

しかし、$\phi$の解は自明ではないので、単純化する必要があります。

$J(W_t, t) = e^{\rho t}I(W_t, t)$(注釈:原文では肩が$-\rho t$となっておりますが、ミスかと思われます)と置き、$T \rightarrow \infty$とすると$B(W_T, T) \rightarrow 0$を仮定すると、式が簡略化出来ます。
新しい目的関数は以下のように変形出来ます。

J[W_t] = e^{\rho t}\max_{C, f} E \Bigl[\int_{0}^{\infty} e^{-\rho t}U(C_t) dt  \Bigl]

(注釈:原文では$e^{\rho t}$を忘れており、$I[W_t]$と区別出来ておりません)
よって、上記の偏微分方程式から常微分方程式へと変形出来ます。

0 = \max_{C, f} \Bigl[U(C_t) - \rho J(W) +  \frac{\partial J(W_t, t)}{\partial W}[(f_t(\mu-r)+r)W_t - C_t] + \frac{1}{2}\frac{\partial^2 J(W_t, t)}{\partial W^2}f_t^2\sigma^2 W_t^2 \Bigl]

$dt$項目を落とすことが出来たので、これで微分方程式を解いて$J(W)$を求めることが出来ます。

Thorp(1971)の主な目的は標準的な手法で対数効用における最適ポートフォリオを構築することでした。
CRRA(Constant Relative Risk Aversion)のケースでは、効用を以下のように与えることが出来ます。

U(C) = \frac{1}{\gamma} C^{\gamma}

このとき、相対リスク回避(rekative risk aversion: RRA)は、

RRA = -\frac{U^{\prime \prime}(C)}{U^{\prime}(C)}C = 1-\gamma

と計算出来て、これは一定になります。$U(C) = \log(C)$ならば$\gamma = 0$を得られるので、$RRA = 1$になります。
等弾力的効用関数(isoelastic utility function)の場合は、$\phi_c$を解いて、

e^{-\rho t}(C^*)^{\gamma-1} = I^{\prime}(W) \Leftrightarrow C^* = [e^{\rho t} I^{\prime}(W)]^{\frac{1}{\gamma - 1}} 

$\phi_f$ を $f^{*}$ について解きますと,

f^{*} = -\frac{\mu-r}{\sigma^2}\frac{1}{W} \frac{J^{\prime}(W)}{J^{\prime \prime}(W)}

(注釈:原文では$W$がそのままになっておりますが、恐らく計算ミスです。)

ここで、$J(W) = e^{\rho t}I(W)$でしたので、$J^{\prime}(W) = e^{\rho t}I^{\prime}(W)$($W$に関する微分)から$C^* = J^{\prime}(W)^{\frac{1}{\gamma -1}}$

次に、$J(W)$を求めるため$\displaystyle \lim_{t \rightarrow \infty} E[e^{-\rho t}J[W_t]] = 0$という条件を用いると

\begin{eqnarray}
& C_{\infty, t}^* = \Bigl[\frac{\rho}{1-\gamma} - \gamma \Bigl( \frac{(\mu-r)^2}{2\sigma^2 (1-\gamma^2)}+\frac{r}{1-\gamma} \Bigl) \Bigl]W \\
& f^*_{\infty} = \Bigl( \frac{\mu-r}{\sigma^2} \Bigl)\frac{1}{1-\gamma}

\end{eqnarray}

が得られます。
(注釈:原文はどちらも計算を間違えていると思われます。Merton(1969)の論文に正しい計算が記載されております。)

補題 1.3.1
$\gamma = 0$のとき(リスク回避しない場合),

f^*_{\infty} = \frac{\mu-r}{\sigma^2} 

が得られます。
こちらは要するに、リスクを特に気にしなければ、金利が5%,株価の期待収益率が20%で分散が30%だとした場合に、$\frac{0.2-0.05}{0.3} = 0.5$で資産の50%分株式を購入することが最適という話です。

 感想

本修論では、数式を解くために必要な条件があまりにも省いている上に誤植も散見されたため、これ以上の読解をするなら参考文献を読んだ方が早いという結論に至りました。
こちらの記事では見つけた誤植や計算ミス等は修正して書いている為、間違いはより少ないと思います。
因みに参考文献は非常に有益なため、特に重要だと思った参考文献についてこちらで共有させていただきます。

Thorp (2006), THE KELLY CRITERION IN BLACKJACK SPORTS BETTING, AND THE STOCK MARKET

Merton (1992), Continuous-Time Finance (Macroeconomics and Finance)

56
66
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
66