投資戦略に対する最適レバレッジの計算
こんにちは、ホライゾンです。これまで自分のbotは大きくリスクをとらないものが多いので、レバレッジ等は適当に決めていました。ですが近頃は簡単な機械学習なども興味がありまして、リスクテイクする戦略についてもう少し真面目に考えてみることにしました。
1.問題設定
あるトレード戦略について、一回のトレードで資産を1$賭けたときのリターン$${\Delta S}$$が
$$
\begin{align}
\Delta S = m+sZ, Z \sim N(0,1)\tag{1.1}
\end{align}
$$
という平均$${m}$$分散$${s^2}$$の正規分布に従うとします。$${m, s}$$はバックテストから計算できるパラメータです。これが分かったとき、トレード戦略がどの程度"良い"もので、最適なレバレッジはいくつかというのを考えてみます。仮定として、一回のトレードのリターンは十分小さい$${m,s \ll 1}$$とします。
2.方向性
離散的な問題というのは概念としては簡単ですが、かえって答えが複雑になる傾向があり、解析的な表式を得るには不向きです(差分方程式のほうが微分方程式より簡単だが、解の形は難しい)。本質的な性質を抜き出すために、連続極限を取る事を考えてみました。トレードの回数を$${n}$$とし、$${n\to\infty}$$の極限を考えます。$${n}$$回がそれぞれ独立だとすると、$${i\ ({0\leq i \leq n})}$$回トレード後の資産$${S_i}$$について
$$
\begin{align}
\mathbb{E}[S_n] &= \sum_i \mathbb{E}[S_{i+1}-S_{i}]+S_0\\
\mathbb{V}[S_n] &= \sum_i \mathbb{V}[S_{i+1}-S_{i}]
\end{align}\tag{2.1}
$$
が成り立ちます。$${S_n}$$を収束させるためには、$${(1.1)}$$と合わせると、$${n m,\ ns^2}$$を固定した上で、$${n\to\infty}$$極限を取るのが良さそうです。このとき$${n}$$回のトレードが時間$${T}$$の間に起こったとすると、$${n m = \mu T,\quad n s^2=\sigma^2 T}$$とおけば、$${\mu,\sigma^2}$$はそれぞれ、単位時間あたりの資産増加率の期待・分散といえるでしょう。
3.計算
$${(1.1)}$$のトレード戦略を用いて、レバレッジ$${l}$$をかけてトレードする事を考えます。このとき$${i}$$回目のトレードについて
$$
\begin{align}
S_{i+1}-S_{i} &=l S_i(m+sZ)\\&=l S_i (μ \Delta t +\sigma \sqrt{\Delta t} Z ) \quad(\Delta t := T/n)
\end{align}\tag{3.1}
$$
となります。($${\Delta t}$$はトレードの時間間隔)。そしてこれは、次の確率微分方程式をオイラー・丸山法により離散化したものとして捉え直すことができます。(このとき誤差は$${O(\sqrt{\Delta t})}$$で抑えられている)
$$
\begin{align}
dS_t =S_t(l\mu dt+l\sigma dW_t),\quad(0<t<T)
\end{align}\tag{3.2}
$$
Black-Schoelsモデルでも現れるこの確率微分方程式は、幾何ブラウン運動を解に持ちます。
$$
\begin{align}
S_t = S_0 \exp{\left[(l\mu-(l\sigma)^2/2)t + l\sigma W_t\right]},\quad W_t \mathrm{:\ Wiener\ process}
\end{align}\tag{3.3}
$$
これは伊藤の公式ですぐに確かめられます。
$$
\begin{align}
dS_t &=\partial_t S_tdt + \partial_W S_t dW_t+ \frac12\partial^2_WS_t dW_t^2 \\ &=S_t (l\mu-(l\sigma)^2/2)dt + S_t l\sigma dW_t+ \frac12S_t (l\sigma)^2 dt= (\mathrm{RHS\ of\ }(3.2))
\end{align}\tag{3.4}
$$
$${(3.3)}$$において損をしない確率は
$$
P(S_t > S_0) = \frac {1}{2} \left[1+\mathrm{erf}\left(\frac{l\mu-(l\sigma)^2/2}{l\sigma}\sqrt{t}\right)\right]\tag{3.5}
$$
ですから、十分試行を重ねた$${t\to\infty}$$の極限でこれが1に収束するための必要十分条件は$${l\mu>(l\sigma)^2/2}$$、すなわち
$$
l < \frac{2m}{s^2} (=:l_\mathrm{max})\tag{3.6}
$$
となる事がわかります。$${(3.2)}$$より資産の期待値は
$$
\mathbb{E}[S_t] = \exp(l\mu t)\tag{3.7}
$$
なので、利益を最大化するにはレバレッジをできるだけ大きくすればいいです。よって最適なレバレッジは$${l=l_\mathrm{max}}$$となります。またそのときの利回りは
$$
l_\mathrm{max}\mu=2(m/s)^2/\Delta t \tag{3.8}
$$
であり、トレード戦略の良し悪しは、トレードの頻度$${1/\Delta t}$$とシャープレシオ$${m/s}$$によって決まることが分かりました。シャープレシオの2乗なので、売買が対称なら勝率を50%から少し上げるだけでも、成績は大きく向上するようですね。
また、どんなにシャープレシオが小さいよわよわ戦略でも、レバレッジを落とせば必ず勝つことができるというのも、意外と面白い結果ですね。これまではバルサラの破産確率のように、かならず勝つにはシャープレシオがある程度大きい必要があるというイメージでした。
(補足)
記事を書いたあとにTwitterで教えてもらったのですが、よく似た概念にケリー基準というものがあるようです。$${(3.2)}$$の期待値ではなく、中央値に着目すると
$$
\begin{align}
\mathrm{median}(S_t)&=\exp(l\mu-(l\sigma)^2/2)\\&=\exp(-(l\sigma-\mu/\sigma)^2/2+\mu^2/(2\sigma^2))\tag{3.9}
\end{align}
$$
となります。これを最大化するレバレッジは
$$
l=m/s^2 = l_\mathrm{max}/2\tag{3.9}
$$
となり、$${(3.6)}$$と比べて半分の値のようです。よりリスク回避的な選好があるならば、こちらのほうが優れていそうですね(@morio202008さん、ご丁寧にありがとうございました)。
(補足2)
また、レバレッジ$${l}$$が大きくなりすぎると、一回のトレードあたりの資産変動率が大きくなりすぎてしまいます(連続近似のための条件$${l m, l s \ll 1}$$が満たされなくなる)。最大レバレッジ$${(3.6)}$$が信頼できるための条件は、
$$
l_\mathrm{max} m, l_\mathrm{max}s \ll 1, \Leftrightarrow m \ll s \tag{3.10}
$$
となります。すなわち、期待値が標準偏差よりもだいぶ小さい(すなわち、勝率が五分五分に近い)戦略に対しては、適用可能であるということです。相場を予測することは難しいですから、大体の戦略はこの条件を満たしていると思います。一方で、とても強い戦略をお持ちの方は、連続近似が満たされる範囲がレバレッジの上限になります。
$$
l \ll \min(1/m, 1/s)
$$
おわりに
論理的になるよう多少冗長に書きましたが、核となる計算$${(3.6)}$$はとても簡単でした。世の中にはレバレッジも機械学習で最適化するという話もあるようで、こうした理論計算とどれくらい一致するのか気になるところではありますね。
この記事が気に入ったらサポートをしてみませんか?