5D Library › Non-Ergodic Wealth Dynamics, the Kelly Criterion and Volatility Drag · 中文

Chapter 4 Absorbing Barriers and First-Passage Times

Zero is a wall

In the first three chapters wealth could get ever closer to zero without ever reaching it: a player left with a thousandth of his starting wealth could in theory recover with a run of luck. Reality is not like that. A household must pay rent, loan instalments and school fees every month; a firm must pay wages, rent and suppliers. When cash runs out while these rigid payments still fall due, the game is over: a credit default, assets sold off cheaply under pressure, a business closed. This point is called an absorbing barrier: once touched, there is no coming back, and every later opportunity, however good, is no longer yours.

An absorbing barrier sharpens the argument of Chapter 1. For someone who can go bankrupt, “the long-run average return” means something only while he survives; bankruptcy is not a very large loss but the end of all future returns.

Gambler’s ruin and first-passage times

One of the oldest problems in probability is gambler’s ruin: a gambler with B units wins or loses one unit at a time until he is broke or reaches some target (Feller 1968). Its continuous version is the first-passage time of a Brownian motion with drift to a given level (Redner 2001).

Treat the monthly net cash flow of a household or small firm (income minus rigid spending) as a Brownian motion with drift m and volatility s, starting with a cash buffer B, and count the first time cash falls to zero as ruin. The reflection principle gives the probability of ruin within T months:

P(τ≤T)=Φ(−B−mTsT)+e−2mB/s2Φ(−B+mTsT)P(\tau \le T) = \Phi\!\left(\frac{-B – mT}{s\sqrt{T}}\right) + e^{-2mB/s^2}\,\Phi\!\left(\frac{-B + mT}{s\sqrt{T}}\right)

When m > 0, the probability of ever being ruined is e−2mB/s2^; when m ≤ 0, ruin comes sooner or later.

Calculation

An illustrative small firm (thousands a month): rigid costs 30, an average net surplus of +2 a month, standard deviation 10. Probabilities of ruin within 24 months and ever, for buffers of different thickness, with a weekly-step simulation to check the formula.

# A cash buffer as distance from an absorbing barrier. Monthly net cash flow (income minus
# rigid spending) is modelled as Brownian motion with drift m and volatility s a month;
# the business or household fails the first time its cash reaches zero. Starting with a
# buffer B, the probability of hitting zero within T months is (reflection formula)
#   P = Phi((-B - m T)/(s sqrt T)) + exp(-2 m B / s^2) Phi((-B + m T)/(s sqrt T)),
# and the probability of EVER hitting zero is exp(-2 m B / s^2) if m > 0 (1 if m <= 0).
import math, random
from statistics import NormalDist
Phi = NormalDist().cdf

def p_ruin(B, m, s, T=None):
    if T is None:
        return 1.0 if m <= 0 else math.exp(-2 * m * B / s ** 2)
    v = s * math.sqrt(T)
    return Phi((-B - m * T) / v) + math.exp(-2 * m * B / s ** 2) * Phi((-B + m * T) / v)

# Illustrative small firm (thousands a month): rigid costs 30, mean net surplus +2, s.d. 10.
m, s, fixed = 2.0, 10.0, 30.0
print(f"net surplus {m:+.0f} a month on average, s.d. {s:.0f};"
      f" rigid costs {fixed:.0f} a month")
print(f"{'buffer (months)':>16} {'P(ruin in 24 m)':>16} {'P(ruin ever)':>13}")
for months in (0.25, 0.5, 1, 2, 3, 6, 9, 12):
    B = months * fixed
    print(f"{months:16.2f} {p_ruin(B, m, s, 24):16.1%} {p_ruin(B, m, s):13.1%}")

# Check the 24-month formula by simulation with weekly steps (discrete monitoring misses
# some crossings, so the simulated value is slightly lower).
random.seed(4)
B, weeks, n = 3 * fixed, 104, 20_000
dm, ds = m * 12 / 52, s * math.sqrt(12 / 52)
fails = 0
for _ in range(n):
    x = B
    for _ in range(weeks):
        x += dm + ds * random.gauss(0, 1)
        if x <= 0:
            fails += 1; break
print(f"\nsimulation, 3-month buffer, 24 months: {fails / n:.1%}"
      f" (formula {p_ruin(B, m, s, 24):.1%})")
# Each extra month of buffer multiplies the probability of ever failing by:
print(f"factor per extra month of buffer: {math.exp(-2 * m * fixed / s ** 2):.2f}")
# net surplus +2 a month on average, s.d. 10; rigid costs 30 a month
#  buffer (months)  P(ruin in 24 m)  P(ruin ever)
#             0.25            71.8%         74.1%
#             0.50            51.1%         54.9%
#             1.00            24.9%         30.1%
#             2.00             5.0%          9.1%
#             3.00             0.8%          2.7%
#             6.00             0.0%          0.1%
#             9.00             0.0%          0.0%
#            12.00             0.0%          0.0%
#
# simulation, 3-month buffer, 24 months: 0.5% (formula 0.8%)
# factor per extra month of buffer: 0.30
Cash buffer (in months of rigid costs) against the probability of ruin. Logarithmic vertical axis: the probability of ever being ruined falls exponentially with the buffer, each extra month multiplying it by about 0.30.

In this model the cash buffer works non-linearly:

  • With a buffer of only a week (0.25 months), the probability of ruin within 24 months is about 72 %; with one month, about 25 %; with three months, under 1 %.
  • The probability of ever being ruined falls exponentially with the buffer: each extra month multiplies it by about 0.30. Going from one month to two cuts it from 30 % to 9 %; going from six months to seven, only from about 0.07 % to about 0.02 %. The first few months of buffer are worth the most.
  • The average monthly surplus is positive (+2) but small relative to the monthly volatility of 10. Raising the average surplus m or reducing the volatility s changes the exponent 2mB/s2 just as raising the buffer B does.

Winter

The model above assumes every month is the same on average. Real risk often comes as a period in which the average itself gets worse: a market winter, an industry shake-out, the loss of a large customer.

Calculation

The same firm enters, at a random time in the next three years, a winter lasting 6 to 18 months, during which the average net cash flow falls from +2 to −6. Two levers are compared: a larger cash buffer, and cutting rigid costs by 5 a month.

# Surviving a "winter". Same small firm as before (thousands a month, rigid costs 30),
# but at a random time in the next three years a downturn begins: for 6 to 18 months
# (uniform) the average net cash flow falls from +2 to -6. Two levers are compared: a
# bigger cash buffer, and cutting rigid costs by 5 a month (which raises the net flow in
# every month, good and bad).
import random

def survive(buffer_months, cut=0.0, n=20_000, seed=8):
    random.seed(seed)
    fixed, s, ok = 30.0, 10.0, 0
    for _ in range(n):
        cash = buffer_months * fixed
        start = random.randint(1, 36); length = random.randint(6, 18)
        alive = True
        for t in range(1, 49):
            m = -6.0 if start <= t < start + length else 2.0
            cash += m + cut + random.gauss(0, s)
            if cash <= 0:
                alive = False; break
        ok += alive
    return ok / n

print("probability of surviving 48 months that contain one downturn")
print(f"{'buffer (months of costs)':>25} {'as is':>8} {'costs cut by 5':>15}")
for b in (1, 2, 3, 4, 6, 9, 12):
    print(f"{b:25d} {survive(b):8.1%} {survive(b, cut=5.0):15.1%}")
# An average winter (12 months at -6) burns 72 by itself, on top of what ordinary
# volatility already requires:
print(f"cash burned by an average winter: 6 x 12 = 72, or {72 / 30:.1f} months of costs")
# probability of surviving 48 months that contain one downturn
#  buffer (months of costs)    as is  costs cut by 5
#                         1    33.2%           93.2%
#                         2    54.2%           98.5%
#                         3    72.5%           99.7%
#                         4    86.3%           99.9%
#                         6    97.9%          100.0%
#                         9   100.0%          100.0%
#                        12   100.0%          100.0%
# cash burned by an average winter: 6 x 12 = 72, or 2.4 months of costs

Two results are worth noting. First, with a winter in the picture, a three-month buffer gets only about 73 % of firms through four years, and it takes six months to bring survival close to 98 %: a winter of average length burns about 72 by itself, or 2.4 months of costs, and the buffer has to cover it on top of ordinary volatility. Second, cutting rigid costs is another powerful lever: spending 5 less a month raises the ordinary surplus from 2 to 7 and shrinks the winter deficit from −6 to −1, changing both the drift and the depth of the winter. A firm with only one month of buffer that cuts 5 a month survives about 93 % of the time, more often than one with four months of buffer that has not cut (about 86 %). But that is not a comparison of equal sums: 5 a month over four years adds up to 240, while three extra months of buffer is a one-off 90; putting the same 240 into the buffer at the start (one month plus eight, nine in all) gives survival of about 99.96 %, better than cutting costs. The strength of a cost cut is that it is paid month by month, with no large sum needed in advance; the two levers can be combined.

Evidence

Why firms hold cash. Opler and colleagues found that firms with riskier cash flows and poorer access to capital markets hold more cash (Opler et al. 1999); Bates, Kahle and Stulz found that the cash holdings of US firms rose sharply as a share of assets between 1980 and 2006, mainly because firm-specific cash-flow risk increased, consistent with a precautionary motive (Bates et al. 2009). These studies show that precautionary cash buffers are common practice among firms; they cannot say how large a buffer is “optimal”, which depends on each firm’s cash flows and access to finance.

Note

What the models can show. The cash flows, volatilities and winter lengths in these two programs are illustrative. Brownian motion assumes each month’s fluctuations are independent and normal, while real bad months tend to come in runs and have fatter tails (Chapter 6), both of which would make real ruin probabilities higher than the model’s. On the other hand, real firms cut spending, borrow or raise money as cash dwindles, and households adjust too, which would make ruin less likely than in the model. The models are useful for showing structure: the value of the buffer falls off exponentially, and rigid costs set both the drift and the depth of a winter.

Hypothesis · not established

The “buffer before returns” hypothesis (not yet established). For small firms with volatile cash flows, putting available funds first into a cash buffer of three to six months of rigid costs, and into lowering rigid costs, raises five-year survival more clearly than spending the same funds on expansion. If longitudinal data on small firms (controlling for industry and size) showed that initial cash buffers are unrelated to five-year survival, or that expansion investment brings a larger survival advantage, the hypothesis would be weakened.

Summary

Rigid spending turns “zero” into an absorbing barrier: touch it once and all future returns are no longer yours. A Brownian motion with drift and the first-passage formula show that a cash buffer reduces the probability of ruin non-linearly: the first few months are worth the most, and the probability of ever being ruined falls exponentially with the buffer. Once winters are added, the buffer must also cover sustained losses over a period; and cutting rigid costs improves both the ordinary drift and the depth of the winter: a lasting cut of 5 a month does more than a one-off extra buffer of 90, though the same total (240) put into the buffer at the start does better still. The next chapter takes another angle: if fluctuation is unavoidable, can something be gained from it?

References

Bates, Thomas W., Kathleen M. Kahle, and René M. Stulz. 2009. “Why Do U.S. Firms Hold so Much More Cash Than They Used To?” Journal of Finance 64 (5): 1985–2021.
Feller, William. 1968. An Introduction to Probability Theory and Its Applications, Volume I. 3rd ed. Wiley.
Opler, Tim, Lee Pinkowitz, René Stulz, and Rohan Williamson. 1999. “The Determinants and Implications of Corporate Cash Holdings.” Journal of Financial Economics 52 (1): 3–46.
Redner, Sidney. 2001. A Guide to First-Passage Processes. Cambridge University Press.

Fan, Y. (2026). Non-Ergodic Wealth Dynamics, the Kelly Criterion and Volatility Drag: From Itô's Lemma on Geometric Brownian Motion and Ruin Barriers to Barbell Portfolios, Read Beside the Shiji's 'Biographies of the Money-Makers' [非遍历性财富动力学、凯利准则与波动率税] (Version 1.0.0). 5D Library. https://doi.org/10.5281/zenodo.23754709 · Licensed under Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0).