Position Sizing and Money Management: How Much to Risk

🌐 한국어

Everyone obsesses over "where do I buy and where do I sell," but what actually decides whether an account lives or dies is "how much do I bet." A good strategy with broken sizing disappears in a single losing streak. Here are the money-management basics I settled on while building bots.

⚠️ This article is for educational and informational purposes and is not investment advice. No sizing technique guarantees returns, and leverage or concentration magnifies losses by exactly the same factor. You alone are responsible for your investment decisions.

1. Why Sizing Matters More Than the Strategy

Losses are not symmetric. Lose 50% and you need 100% to get back to even. Avoiding large losses in the first place is therefore the starting point of compounding, and sizing is the act of deciding how much you're allowed to lose at once.

-10% loss → needs +11.1% to recover

-25% loss → needs +33.3% to recover

-50% loss → needs +100%  to recover

-90% loss → needs +900%  to recover

2. Fixed-Fractional Sizing (Simplest, Sturdiest)

The most common and most robust approach is to expose only a fixed percentage of the account per trade. Once the stop distance is set, the order quantity falls out automatically.

// Risk only 1% of equity. Derive quantity from the distance to the stop.

func positionSize(equity, riskPct, entry, stop float64) int64 {

    riskAmount := equity * riskPct          // loss you're willing to absorb

    perShareRisk := entry - stop            // loss per share

    if perShareRisk <= 0 {

        return 0

    }

    return int64(riskAmount / perShareRisk) // order quantity

}

// 10,000,000 account, 1% risk, entry 10,000 / stop 9,500

// → 100,000 / 500 = 200 shares

The key is that you're fixing the loss amount, not the quantity. Tight stop, larger size; wide stop, smaller size—so that the worst case on any trade is a uniform 1% of the account.

3. Volatility-Based Sizing

Even at the same 1% risk, instruments move differently. Put the same amount into a highly volatile name and the real risk is far greater. So you scale size inversely to volatility (ATR, for example).

quantity = (equity × risk%) / (ATR × multiplier)

volatility ↑ → stop distance ↑ → quantity ↓ (risk equalized)

volatility ↓ → stop distance ↓ → quantity ↑

Do this and a quiet name and a wildly whipsawing one end up making comparable risk contributions to the portfolio.

4. Maximum Drawdown and Circuit Breakers

Even with per-trade risk defined, a run of losses stacks into a drawdown. So bots get account-level stop lines.

  • Daily loss limit: hit -3% on the day and trading halts until tomorrow. You step away by rule, not by emotion.
  • Consecutive-loss counter: N stop-outs in a row and the bot goes flat automatically — a signal that the strategy is out of sync with the market.
  • Drawdown-linked reduction: as drawdown deepens, cut bet size and stay cautious through the recovery phase.
if dailyPnL <= -equity*0.03 {

    haltTrading("daily loss limit reached")

}

if consecutiveLosses >= 4 {

    haltTrading("consecutive stop-outs — strategy needs review")

}

5. The Kelly Criterion — Concept and Trap

The Kelly criterion derives, from win rate and payoff ratio, the bet fraction that maximizes long-run growth.

f* = p - (1 - p) / b

  p = win rate, b = payoff ratio (avg win / avg loss)

e.g.) win rate 55%, payoff ratio 1.5

  f* = 0.55 - 0.45/1.5 = 0.25 → 25% of capital?!

The number is seductive, but using it as-is in live trading is dangerous. Kelly assumes you know p and b exactly, whereas real win rates and payoff ratios are estimates that shift with the market. Let the estimate be even slightly optimistic and Kelly turns into overbetting that blows out your drawdown. That's why practitioners use half Kelly (f*/2) or less — it preserves most of the growth rate while cutting volatility substantially. The conclusion: treat Kelly strictly as a reference for the upper bound on a bet, and run the actual book far more conservatively.

Summary

  • Losses are asymmetric — avoiding deep drawdowns is the precondition for compounding
  • Fixed-fractional sizing: fix the loss amount, not the quantity (1–2% per trade)
  • Volatility sizing equalizes risk contribution across instruments
  • Daily limits and consecutive-loss counters give you an account-level circuit breaker
  • Kelly is a reference for the ceiling; run live at half Kelly or below

However good your strategy's edge, a single oversized bet removes the very opportunity to realize that edge. Surviving comes before winning.

댓글

이 블로그의 인기 게시물

한국투자증권 KIS API로 실시간 시세 받기 (WebSocket 실전)

파이썬으로 업비트 API 연동하기 — 시세 조회부터 주문까지 기초

Go로 자동매매 신호봇 프레임워크 설계하기