📚 Balsara破産確率(Risk of Ruin)の理論
基本定義
RoR = 破産確率(Risk of Ruin)
p = 勝率(Win Probability)
R = リスクリワード比(Reward-to-Risk Ratio)
f = リスク資金比率(Fraction of Capital at Risk)
📐 解析解の導出
破産確率の解析解は、ギャンブラーの破産問題から導出されます:
RoR = ((1-p)/(p×R))^(k/f)
ただし、k は破産閾値(初期資本に対する割合)
🔢 Kelly基準との関係
最適リスク資金比率(Kelly比率):
f* = (p×R - (1-p))/R = (p×R - q)/R
ここで q = 1 - p は負け率
⚡ 漸近条件
p×R > 1 ⇒ RoR → 0 (長期的に利益)
p×R < 1 ⇒ RoR → 1 (長期的に破産)
p×R = 1 ⇒ 臨界状態
🎯 数値安定性の対策
- 確率値のクリッピング: p ∈ [ε, 1-ε]、ε = 10^-12
- 対数空間での計算による数値オーバーフロー回避
- ゼロ除算ガード: 分母に微小値追加
- モンテカルロ法: 固定シード(デフォルト=42)による再現性確保
⚙️ パラメータ設定
📊 範囲設定
計算中...
📈 計算結果
計算パラメータ
破産確率表(%)
⚠️ 注意:
破産確率が5%以下になるパラメータの組み合わせを推奨します。
実際の取引では、市場条件の変動を考慮し、保守的な設定を心がけてください。
📊 破産確率ヒートマップ
📈 破産確率の3D表面プロット
📉 Kelly基準との比較
💻 実装方式
モンテカルロシミュレーション
- デフォルトシード: 42(再現性確保)
- デフォルトサンプル数: 10,000回(高速)/ 100,000回(推奨)/ 1,000,000回(高精度)
- 標準誤差: σ = √(p(1-p)/n)
- 95%信頼区間: [p - 1.96σ, p + 1.96σ]
解析解
- ギャンブラーの破産問題の厳密解を使用
- 対数空間での計算により数値安定性を確保
- 境界条件の特別処理実装
数値安定化の実装
// 確率値のクリッピング
function clipProbability(p, epsilon = 1e-12) {
return Math.max(epsilon, Math.min(1 - epsilon, p));
}
// 対数空間での安全な計算
function safeLog(x) {
return Math.log(Math.max(1e-300, x));
}
// ゼロ除算ガード
function safeDivide(numerator, denominator, epsilon = 1e-12) {
return numerator / (Math.abs(denominator) < epsilon ? epsilon : denominator);
}
📚 主要参考文献
- Nauzer J. Balsara (1992)
"Money Management Strategies for Futures Traders" - Wiley Trading Series - Ralph Vince (1990)
"Portfolio Management Formulas" - Mathematical Trading Methods - Edward O. Thorp (2006)
"The Kelly Criterion in Blackjack, Sports Betting, and the Stock Market" - Van K. Tharp (1998)
"Trade Your Way to Financial Freedom" - Position Sizing Strategies
🔧 技術リソース
- Monte Carlo Methods in Finance - 金融工学におけるシミュレーション手法
- Risk of Ruin Calculator - オンライン計算ツールの比較
- JavaScript数値計算ライブラリ - jsPDF, Plotly.js, Math.js