← Back to Learn
III AdvancedWeek 9 • Lesson 26Duration: 50 min

ARS Adaptive Risk Scaling

Dynamic position sizing based on confidence, volatility, and regime

Learning Objectives

  • Understand why fixed risk sizing leaves money on the table
  • Scale risk based on signal confidence and market regime
  • Implement confidence-weighted position sizing
  • Compare adaptive vs fixed sizing outcomes

Explain Like I'm 5

Instead of betting the same amount on every trade, you bet more when you're confident and less when you're not. A poker player doesn't put the same chips on every hand — they size bets based on hand strength. Same idea.

Think of It This Way

A thermostat. When it's cold (low confidence, high volatility), it turns the heat down. When conditions are right (high confidence, normal volatility), it runs at full power. Constant adjustment to conditions instead of one fixed setting.

1What You Can Scale On

Position size can adapt to several factors: Signal confidence (model probability): • High confidence (>0.65) → full size • Standard (0.55–0.65) → 80% size • Lower (0.50–0.55) → 60% size • Below threshold → no trade Ensemble agreement: • All models agree → full size • Partial agreement → scaled down • Split vote → skip Market regime (trend vs mean-reversion): • Trending → standard sizing, wider exits • Mean-reverting → standard sizing, tighter exits • Random → cautious, harder to predict Volatility is already handled by ATR-based sizing. Higher ATR means smaller lot sizes for the same dollar risk. Lower ATR means bigger lots. This happens automatically.

2Confidence Weighting — The Data

This shows win rate broken down by model confidence. Higher confidence trades win more often. If your model is well calibrated (when it says 65%, the actual win rate is near 65%), then sizing up on confident signals is mathematically correct. If your model isn't calibrated, confidence weighting can hurt you. Calibration is the prerequisite. Platt, J. (1999). "Probabilistic Outputs for Support Vector Machines." MIT Press.

Win Rate by Signal Confidence Band

3How Confidence Scaling Works

The implementation is simple: base risk × confidence multiplier = adjusted risk adjusted risk / ATR = position size Why this works: you're concentrating capital on higher-probability outcomes. It's the practical version of the Kelly Criterion — bet proportionally to your edge. The catch: only works if your confidence outputs are calibrated. If the model says 70% but the true win rate is 55%, you're just overweighting bad signals. Calibration techniques like Platt scaling or isotonic regression make probability outputs trustworthy.

4Kelly Criterion — Theory vs Reality

Kelly is mathematically beautiful and practically dangerous. Full Kelly maximizes long-run growth rate. It also produces terrifying drawdowns — 50% drawdowns are normal under full Kelly. Everyone in practice uses fractional Kelly, typically 0.25–0.30 of the full Kelly amount. This gives you roughly 75% of the growth with about half the variance and dramatically smaller drawdowns. The tradeoff is worth it every time. Full Kelly is for textbooks. Fractional Kelly is for real money. Kelly, J.L. (1956). "A New Interpretation of Information Rate." Bell System Technical Journal.

5Fixed vs Adaptive — Monthly Comparison

Each point is a monthly return. Fixed sizing gives a spread. Adaptive sizing shifts the cluster up (better average return) and left (lower drawdown) because risk concentrates on the best signals. The improvement isn't dramatic — maybe 0.5–1% monthly. But that compounds over time into a meaningful edge.

Monthly Return vs Max DD: Fixed vs Adaptive Sizing

Key Formulas

Confidence-Weighted Position Size

Position size = base risk × confidence multiplier / ATR. f(p) maps model probability to a scaling factor (0.6–1.0). ATR normalizes for volatility.

Kelly Criterion

Optimal bet fraction. p = win probability, q = 1-p, b = win/loss ratio. Maximizes long-run growth. In practice, use 25–30% of Kelly for manageable drawdowns.

Hands-On Code

Confidence-Weighted Position Sizing

python
import numpy as np

def adaptive_size(balance, base_risk, atr, confidence,
                  ensemble_agreement, dd_zone_mult=1.0):
    """Position sizing that scales with signal quality."""
    # Confidence scaling
    if confidence > 0.65:
        conf_mult = 1.0
    elif confidence > 0.55:
        conf_mult = 0.8
    else:
        conf_mult = 0.6
    
    # Ensemble agreement scaling
    ens_mult = min(1.0, ensemble_agreement / 0.8)
    
    # Combined
    risk_pct = base_risk * conf_mult * ens_mult * dd_zone_mult
    size = (balance * risk_pct) / atr
    
    print(f"Confidence: {conf_mult:.1f}x | Ensemble: {ens_mult:.1f}x")
    print(f"Final risk: {risk_pct:.3%} | Size: {size:.4f}")
    return size

Multiple scaling factors multiply together. High confidence + strong ensemble agreement + normal DD zone = full position. Any one factor being weak reduces size proportionally.

Knowledge Check

Q1.Why is ATR-based sizing already adaptive to volatility?

Assignment

Implement confidence-weighted sizing and compare it to fixed sizing over your backtest. Check whether confidence weighting improves the Sharpe ratio.