戦略のためのケリー基準: ポジションサイズの決め方と資本配分
正の期待値を持つ戦略でも、賭け金のサイズを誤れば口座を破綻させかねない。ケリー基準を、公式の導出から戦略ポートフォリオまで解説する。なぜ full Kelly は危険なのか、なぜ fractional Kelly はボラティリティ半分で成長の75%を取れるのか、そしてアルゴトレードで実際に使えるサイジングのレシピは何か。記事の中ほどには、ケリー比率がリターンとリスクをどう動かすかが見えるインタラクティブな計算機がある。
どの戦略も必ず答えるべき問い
あなたは正の優位性 (edge) を持つ戦略を持っている。長い目で見ればそれは利益を生む。あと残った詳細はひとつ — 1回の取引、あるいはひとつの戦略に資本のどれだけの割合を割り当てるか、である。
これは二次的な問いではなく、本質的な問いだ。正の期待値は破綻を防いではくれない。賭けすぎれば、連敗が口座を統計的に回復不能な領域へ追いやる (参照: 損失と利益の非対称性)。賭けが少なすぎれば、潜在的な成長の大部分をテーブルに置いたまま立ち去ることになる。
ケリー基準は正確な答えを与える。それは長期的な成長速度 — 算術平均ではなく幾何平均 — を最大化する資本の割合だ。あなたの口座が1000回の取引後にどこにいるかを決めるのは、まさにこの幾何成長である。なぜなら、リターンは足し合わさるのではなく掛け合わさるからだ (参照: リターンの乗算的な性質)。
公式はどこから来るのか: 資本の対数の最大化
ケリー (1956) とその後トープが示した核心的なアイデアは、最適化すべきは1回の取引の期待利益ではなく、最終資本の期待対数だということだ。対数が現れるのは偶然ではない。最大化したときに資本が最大の幾何成長速度で増える唯一の関数が対数なのである。
二値のケース: 2つの結果を持つ賭け
確率 で賭けが1単位あたり純配当 (オッズ) をもたらし、確率 で賭け金そのものを失うとする。資本の割合 を賭ける。1回の取引のあと、資本は勝てば 倍に、負ければ 倍になる。
期待される対数成長:
について微分し、ゼロと等しいと置く:
その解こそがケリーの公式だ:
言葉で言えば、最適な割合はあなたの優位性をオッズで割ったものに等しい。優位性がなければ ()、賭けもない。
例
ある戦略が55%の取引で勝ち、配当比率は1:1 () だとする:
full Kelly は取引で資本の10%をリスクに晒せと命じる。この数字を覚えておいてほしい — なぜちょうどこの値を賭けるべき人がほとんどいないのか、後で見ることになる。
連続のケース: 賭けの代わりにリターン
トレードでは、取引が2つの結果を持つ賭けのように見えることはまれだ — そこにはリターンの分布がある。1期間あたり平均 、分散 を持つリターンに対して、レバレッジ (割合) における期待対数成長は近似的に次のようになる:
最大値は次で達成される:
これが有名なケリーの連続形 (マートン比率とも呼ばれる) だ。そして最適点での成長速度は、シャープレシオ と極めて美しく結びつく:
壁に貼っておく価値のある結論: ポートフォリオの最大幾何成長速度は、そのシャープの2乗の半分に等しい。シャープを2倍にすれば、資本の成長速度は4倍になる。
なぜ full Kelly はやりすぎなのか
公式は成長に関する数学的な最適解を与える。だがこの最適解には、公式が黙っている代償がある。それは経路の凄まじいボラティリティとドローダウンであり、あらゆる現実の口座とあらゆる現実の人間がそこで壊れる。
最適点からのずれの幾何学
割合 ( はケリー乗数: が full Kelly、 が half Kelly) を成長の公式に代入する。最大値に対して、次が得られる:

この放物線は、リスク管理の物語のすべてを1行で語る:
| 乗数 | 成長の割合 | ボラティリティ | コメント |
|---|---|---|---|
| 0.25 (quarter) | 43.8% | 25% | リスク4分の1でほぼ半分の成長 |
| 0.50 (half) | 75.0% | 50% | 実務家の黄金比 |
| 1.00 (full) | 100.0% | 100% | 成長の最大、荒れ狂うボラティリティ |
| 1.50 | 75.0% | 150% | half と同じ成長だが、リスクは3倍 |
| 2.00 (double) | 0.0% | 200% | 成長はゼロ、リスクは最大 |
| > 2.00 | マイナス | — | 正の edge でも破綻 |
3つの結論:
- half Kelly はボラティリティ半分で成長の75%を取る。 リスク/リターン比で見れば full Kelly よりはるかに優れている。
- 放物線は に関して対称だ。 ケリーで賭けると と同じ成長になるが、ボラティリティは3倍だ。賭けすぎは賭け足りないよりも厳しく罰せられる。
- ケリーで成長はゼロになり、その先ではマイナスになる。攻めすぎたサイジングは、勝てる戦略であっても資本を殺す。
full Kelly のドローダウン: 冷や水を浴びせる公式

連続モデルにおいて、資本がいつか初期の割合 まで下落する確率は次に等しい:
ケリーの各水準を代入すると、これを見れば full Kelly が魅力的に見えなくなる表が得られる:
| 乗数 | P(いつか −50%) | P(いつか −75%) |
|---|---|---|
| 1.00 (full) | 50% | 75% |
| 0.50 (half) | 12.5% | 1.6% |
| 0.25 (quarter) | 0.78% | 0.006% |
| 2.00 (double) | 100% | 100% |
full Kelly では、いつか50%のドローダウンを見る確率は50%だ。これはテールシナリオではない — コイン投げである。half Kelly はそれを12.5%まで下げ、quarter Kelly は1%未満まで下げる。しかもこれは理想化されたガウスモデルの話だ。現実の太い尾は、実際のドローダウンをさらに深くする。
計算機: ケリー比率を動かして — リターンとリスクを見る
スライダーを動かそう。上の2つは戦略の優位性 (勝率と配当倍率) を、下のものはケリー乗数 を設定する。資本の成長速度と深いドローダウンの確率が同時にどう変わるかを見てほしい。この記事の核心となる物語に注目を: half から full Kelly へ動かすと、成長はわずかに増えるが、ドローダウンのリスクは何倍にもなる。
ケリー比率のスライダーを0.5と1.0のあたりで動かしてみよう: 最大からの成長は75%から100%へ上がるが、50%ドローダウンのリスクは13%から50%へ跳ね上がる。これこそ、プロが放物線の左半分に住んでいる理由だ。
産業標準としての fractional Kelly
真剣な運用者が full Kelly を賭けることはほとんどない。典型的な範囲は から ケリーだ。ドローダウン以外にも、割合を削るべき4つの根本的な理由がある。
1. パラメータ推定の誤差。 公式は、あなたが真の , , , を知っていることを前提とする。実際には、それらを有限の標本から推定している。そして成長関数は非対称だ: 優位性の過大評価はあなたを最適点の先へ押しやり、そこでは同じ大きさの過小評価のときに成長が増えるよりも速く成長が落ちる。真のケリーが で、あなたがそれを誤差つきで推定したなら、体系的に少なく賭けるほうが安全だ。大まかなルール: 推定が不確かなときは割合を半分にせよ。
2. 非定常性。 戦略の優位性は定数ではない — 市場のレジームは変わり、edge は崩れ、競合がアイデアを真似る。昨日のデータで計算したケリーは、明日には過大かもしれない。fractional な乗数は、edge の崩壊に対するクッションだ。
3. 太い尾。 ガウスの公式 は、極端な動きのリスクを過小評価する。重い尾を持つ現実の分布では、体系的に賭けすぎる。fractional Kelly はこれを部分的に補償する。
4. ビジネスにおけるドローダウンのコスト。 マーケットメーカーにとって、ドローダウンは心理だけの問題ではない。それはマージンコールであり、最悪のタイミングでの強制的なポジション縮小であり、投資家資本の流出であり、ファンディングコストの上昇だ (参照: ファンディングレートはいかにレバレッジを殺すか)。なめらかな資本曲線にはそれ自体の価値があり、それはケリーの公式には存在しない。
戦略ポートフォリオのためのケリー

ここまでは1つの戦略について話してきた。だが本当の問いは、複数形の 戦略のための ケリーの選択として響く: あなたは複数の戦略を持ち、その間で資本を配分する必要がある。
素朴なアプローチ — それぞれについて個別にケリーを計算して足し合わせる — は、相関を無視するため壊滅的に誤っている。強く相関した2つの戦略は、本質的に2倍にした1つの賭けであり、合計リスクは1つの賭けと同じように計算しなければならない。
行列形式
期待リターンのベクトル と共分散行列 に対して、すべての戦略をまとめた最適な割合のベクトルは:
最適点での成長速度は、ポートフォリオのシャープの2乗へと一般化される:
注目してほしい: は、最大シャープを持つポートフォリオ (接点ポートフォリオ) の方向だ。ケリーと平均分散最適化は同じコインの裏表である: ケリーは単に、レバレッジの水準を幾何成長を最大化する水準に固定するだけだ。
逆共分散がすること
- 相関した戦略はリスク予算を分け合う。 2つの戦略がほぼ同一なら、行列はその合計の割合を1つ分の水準まで自動的に削る — 手作業の松葉杖は要らない。
- 無相関の戦略は分散のプレミアムを受け取る。 それらは個別のサイズに近づけて保持でき、ポートフォリオの合計シャープはそれぞれ単体より高くなる。
- 負に相関した戦略は増やした割合を受け取れる — それらは互いを保険し合い、行列はそれを奨励する。
の推定に関する警告
共分散行列の逆行列計算は数値的に不安定だ: ノイズの多い推定では、 が小さな誤差を途方もないウェイトへ膨らませる。共分散の対角への縮小 (shrinkage)、レバレッジの制限、そして同じ fractional な乗数が必須だ。これがなければ、行列ケリーはバックテストでは美しく、本番では致命的な割合を吐き出す。
アルゴトレードとマーケットメイキングのための補正
純粋な公式は無菌の世界に住んでいる。現実のエンジンでは補正が必要だ。
- 手数料とスリッページは実効的な優位性を減らす。すべてのコストの 後 のリターンでケリーを計算せよ。さもなければ体系的に賭けすぎる。
- 賭けの離散性とロット単位は、ちょうど を賭けることを許さない — 切り上げではなく切り捨てよ。
- 非定常な edge は時間に沿った再計算を要する: と の推定を、全履歴ではなく半減期付きの移動窓で行え。
- ドローダウンによる制限。 ケリーの上に厳しい上限を置け: 最大ドローダウン、最大レバレッジ、1戦略あたりの最大割合。ケリーには形式的な drawdown-constrained 版が存在する (バセッティ、ボイド) が、実務では単純なキャップで十分だ。
- edge 推定の正直さ。 最大の間違いは、in-sample で測った優位性をケリーに食わせることだ。out-of-sample の推定のみを、walk-forward で、手数料の後に取れ。公式への入力で水増しされた edge は、出力で水増しされた賭けになる。
レシピ: これをどう適用するか
- 優位性を正直に見積もれ。 out-of-sample で、walk-forward で、手数料とスリッページの後に。これが最も重要なステップだ — 入力のゴミは出力の破綻に変わる。
- full Kelly を計算せよ。 離散的な結果には二値の 、リターンには連続の 。
- その一部を取れ。 デフォルトは full Kelly の –。edge が不安定であるほど乗数を小さく。
- ポートフォリオには行列で計算せよ。 共分散の縮小つきで 、その後に同じ fractional な乗数。
- 厳しいキャップを置け。 ポジションあたりの最大、最大レバレッジ、ドローダウン上限 — すべての上に。
- 再計算せよ。 推定が更新されるにつれ、不確かさの増大と edge の崩壊に応じて割合を削れ。
コード
import numpy as np
def kelly_binary(p, b):
"""p — 勝率、b — 賭け1単位あたりの純配当倍率。"""
q = 1 - p
return (b * p - q) / b # = p - q/b
def kelly_continuous(mu, sigma):
"""mu, sigma — 1期間あたりリターンの平均と標準偏差 (同じ単位で)。"""
return mu / sigma ** 2
def kelly_portfolio(mu, cov, shrink=0.0):
"""戦略ポートフォリオのための行列ケリー。
mu — 期待リターンのベクトル;
cov — リターンの共分散行列;
shrink — 逆行列計算の安定性のための対角への縮小係数 (0..1)。"""
cov = np.asarray(cov, float)
if shrink:
cov = (1 - shrink) * cov + shrink * np.diag(np.diag(cov))
return np.linalg.solve(cov, np.asarray(mu, float))
def sized(f_star, kelly_fraction=0.25, cap=0.2):
"""割合への厳しいキャップつき fractional Kelly。"""
return float(np.clip(f_star * kelly_fraction, -cap, cap))
f = kelly_binary(p=0.55, b=1.0) # 0.10 — full Kelly
print(sized(f)) # 0.025 — quarter Kelly、安全なサイズ
よくある間違い
- in-sample の edge でのケリー。 最も高くつく間違い。水増しされた優位性 → 賭けすぎ → マイナス成長。
- 戦略間の相関の無視。 個別ケリーの合計は、ポートフォリオケリーではない。
- 本番での full Kelly。 数学的な成長の最大値だが、口座の半分のドローダウンが50%の確率。ほとんど誰にも合わない。
- 不安定な edge でのケリー。 優位性が崩れるなら、公式は体系的に賭けを過大にする。
- 目的の混同。 ケリーは資本の幾何成長を最大化する — シャープでも、プラスで終わる確率でも、快適さでもない。曲線のなめらかさのほうが大事なら、意識的に fractional Kelly を賭けよ。
まとめ
ケリー基準は、どの戦略にとっても本質的な問い — いくら 賭けるか — に、長期的な幾何成長を最大化する公式で答える: 賭けには 、リターンには 、そしてポートフォリオには 。
だが full Kelly は成長に関する数学的な最適解であって、生存に関するものではない。fractional Kelly (–) は、何倍も小さいボラティリティとドローダウンで成長の大部分を取る。だから、戦略のためのケリーの選択という問いへの実務的な答えはこうだ: full Kelly を正直に計算し — その一部を、厳しいリスク上限の上に賭けよ。
関連記事:
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.