🎲 Balsara破産確率総合レポート

理論・実装・可視化を含む完全版ドキュメント

📚 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