Skip to main content

riskOfRuinDiffusionApprox

Diffusion-style risk of ruin: exp(−2μB/σ²) when drift μ > 0.

riskOfRuinDiffusionApprox(driftPerHand: number, variancePerHand: number, bankroll: number): number

Import

const poker = require('poker-calculations');

ESM (Node):

import { createRequire } from 'module';
const require = createRequire(import.meta.url);
const poker = require('poker-calculations');

When to use

Rough bankroll survival modeling from per-hand drift (expected chip change) and variance, treated as a diffusion approximation. Study tool only—not a substitute for full bankroll simulation. Pair with bankrollForTargetRorDiffusion to size bankroll for a target ruin probability.

How to use

const poker = require('poker-calculations');

const driftPerHand = 0.8; // bb/hand EV
const variancePerHand = 120; // bb²/hand
const bankrollBb = 200;

const ror = poker.riskOfRuinDiffusionApprox(driftPerHand, variancePerHand, bankrollBb);
console.log('approx risk of ruin:', (ror * 100).toFixed(2) + '%');

const bankrollNeeded = poker.bankrollForTargetRorDiffusion(
driftPerHand,
variancePerHand,
0.01,
);
console.log('bb for 1% ROR:', bankrollNeeded);

Returns

number — approximate probability of ruin in (0, 1] when driftPerHand > 0; returns 1 when driftPerHand ≤ 0 (non-positive edge).