Fractional Kellyを実運用へ導入する際の考え方を解説。期待値や勝率の推定誤差を考慮し、Kelly比率を固定的に使わず、不確実性に応じてポジションサイズを縮小する設計とEAへの実装方法を整理します。
最適な計算式より入力値の精度が問題になる
Kelly Criterionは、資産の長期的な対数成長率を最大化するポジション比率を求める考え方である。しかし実際のトレードでは、計算に必要な期待リターン、勝率、損益比率、分散などを事前に正確に知ることはできない。
バックテストから得た推定値をそのままKelly計算へ入力すると、わずかな期待値の過大評価でも推奨ポジションが大きくなりやすい。実運用で重要なのは理論上の最適値を求めることより、推定誤差によるオーバーベットを抑えることである。
Full Kellyをそのまま使わない
単純な二項モデルでは、勝率と損益比率からKelly比率を計算できる。しかし100回のトレードから算出した勝率55%と、数千回から得た55%では推定値への信頼度が異なる。
Fractional Kellyでは、計算されたKelly比率に0から1の係数を掛け、実際のリスク量を縮小する。例えば理論値が資金の10%であっても、0.25 Kellyなら2.5%、0.5 Kellyなら5%となる。
この縮小は単なる保守化ではなく、モデルが推定したエッジ自体が不確実であることをポジションサイズへ反映する処理と考えられる。
不確実性をリスク量へ変換する
実務ではKelly係数を常に0.5などへ固定する方法もあるが、戦略の推定精度に応じて変化させる方が構造的である。
例えば直近のサンプル数が少ない、期待値の信頼区間が広い、アウト・オブ・サンプル成績が不安定、ボラティリティ環境が学習期間から大きく変化した、といった状況ではKelly multiplierを低下させる。
反対に、十分なサンプルがあり、複数期間で期待値が安定し、推定誤差が小さい場合のみリスク量を増やす。この考え方では「エッジが大きいほど賭ける」だけでなく、「エッジへの確信度が高いほど賭ける」という二段階の判断になる。
EAでは3層に分離する
MT5 EAへ実装する場合は、Signal、Edge Estimation、Position Sizingを分離すると扱いやすい。
Signal層はエントリー方向を判定し、Edge Estimation層では過去Nトレードの平均損益、勝率、分散などを更新する。Position Sizing層でKelly比率を計算し、さらにuncertainty_factorを掛けて最終ロットを決定する。
概念的には「最終リスク量 = Kelly比率 × 不確実性係数 × 資金」となる。ただし実際には最大リスク率、最大レバレッジ、証拠金、ストップ距離などの上限制約を別途設ける必要がある。
ドローダウン制御は別レイヤーに置く
Fractional Kellyを使用しても、連敗や市場構造の変化によるドローダウンは発生する。そのためKelly計算だけをリスク管理の最終判断にしてはいけない。
例えば一定のドローダウン到達後にKelly multiplierを段階的に下げる、日次損失上限を超えたら新規注文を停止する、ボラティリティ急上昇時には最大ロットを制限するといったPortfolio Risk層を追加する。
こうすることで、戦略固有の期待値と口座全体の損失許容度を分離できる。
検証では成長率とドローダウンを同時に見る
Fractional Kellyの比較では最終利益だけでなく、最大ドローダウン、リターンの分散、破産確率、リカバリー期間などを確認する必要がある。
0.25、0.5、0.75、1.0 Kellyなど複数の係数をWalk ForwardやMonte Carloで比較し、パラメータ推定誤差を加えた場合にも結果が安定するかを見る。最も利益が高い設定ではなく、推定値がずれてもリスク許容範囲を維持できる設定を探すことが重要になる。
まとめ
Fractional Kellyの実務上の価値は、Full Kellyを単純に小さくすることではなく、期待値の不確実性をポジションサイズへ反映できる点にある。
EAではエッジ推定、Kelly計算、不確実性調整、口座全体のリスク制限を別レイヤーとして設計する。推定精度が低いときにはリスクを縮小し、十分な根拠が確認できた場合のみ拡大することで、ポジションサイジングを期待値だけでなく推定リスクまで含めた仕組みへ発展させられる。







