Het Kelly-criterium voor strategieën: hoe posities dimensioneren en kapitaal alloceren
Een strategie met een positieve verwachtingswaarde kan je account alsnog opblazen als de inzetgrootte verkeerd is. We doorlopen het Kelly-criterium van de afleiding van de formule tot een portfolio van strategieën: waarom volledige Kelly gevaarlijk is, hoe fractionele Kelly 75% van de groei behaalt bij de helft van de volatiliteit, en welk dimensioneringsrecept je in de praktijk zou moeten toepassen bij algoritmisch traden. Halverwege het artikel staat een interactieve rekenmachine die laat zien hoe de Kelly-fractie rendement en risico beïnvloedt.
De vraag die elke strategie verplicht moet beantwoorden

Je hebt een strategie met een positieve edge: op de lange termijn levert die geld op. Eén detail blijft over — welk deel van het kapitaal je in één transactie steekt of aan één strategie toewijst.
Dit is geen bijzaak maar de kernvraag. Een positieve verwachtingswaarde behoedt je niet voor ondergang: zet te veel in, en een verliesreeks drijft je account naar een zone waaruit statistisch geen herstel meer mogelijk is (zie De asymmetrie van verliezen en winsten). Zet te weinig in, en je laat het grootste deel van de potentiële groei liggen.
Het Kelly-criterium geeft een precies antwoord: het is het kapitaalaandeel dat de langetermijngroeivoet maximaliseert — de geometrische, niet de aritmetische. Het is de geometrische groei die bepaalt waar je account na duizend transacties uitkomt, omdat rendementen vermenigvuldigen in plaats van optellen (zie De multiplicatieve aard van rendementen).
Waar de formule vandaan komt: het logaritme van het kapitaal maximaliseren

Het kernidee van Kelly (1956) en later Thorp: wat je moet optimaliseren is niet de verwachte winst van één transactie, maar het verwachte logaritme van je uiteindelijke kapitaal. Het logaritme verschijnt niet toevallig — het is de enige functie waarvan maximalisatie het kapitaal met de maximale geometrische snelheid laat groeien.
Het binaire geval: een weddenschap met twee uitkomsten
Stel dat de weddenschap met kans een netto uitbetaling van per eenheid oplevert (de odds), en dat we met kans de inzet zelf verliezen. We zetten een fractie van ons kapitaal in. Na één transactie wordt het kapitaal bij winst vermenigvuldigd met en bij verlies met .
Verwachte logaritmische groei:
Neem de afgeleide naar en stel deze op nul:
De oplossing is de Kelly-formule:
Met andere woorden: de optimale fractie is gelijk aan je edge gedeeld door de odds. Geen edge () — geen inzet.
Voorbeeld
Een strategie wint 55% van de transacties met een uitbetalingsverhouding van 1:1 ():
Volledige Kelly vertelt je om 10% van het kapitaal per transactie te riskeren. Onthoud dit getal — verderop zien we waarom bijna niemand precies dat bedrag zou moeten inzetten.
Het continue geval: rendementen in plaats van weddenschappen
In trading lijkt een transactie zelden op een weddenschap met twee uitkomsten — er is een verdeling van rendementen. Voor rendementen met gemiddelde en variantie per periode is de verwachte logaritmische groei bij hefboom (fractie) bij benadering:
Het maximum wordt bereikt bij:
Dit is de beroemde continue vorm van Kelly (ook bekend als de Merton-fractie). En de groeivoet op het optimum is op opmerkelijk elegante wijze verbonden met de Sharpe-ratio :
Een conclusie om aan de muur te spelden: de maximale geometrische groeivoet van een portfolio is gelijk aan de helft van het kwadraat van zijn Sharpe. Verdubbel de Sharpe, en je vervierdubbelt de groeivoet van het kapitaal.
Waarom volledige Kelly te veel is

De formule geeft het wiskundige optimum voor groei. Maar dit optimum heeft een prijs waarover de formule zwijgt: monsterlijke padvolatiliteit en drawdowns die elk echt account en elke echte persoon breken.
De geometrie van afwijken van het optimum
Substitueer de fractie (waarbij de Kelly-multiplier is: is volledige Kelly, is halve Kelly) in de groeiformule. Ten opzichte van het maximum krijgen we:

Deze parabool vertelt het hele verhaal van risicobeheer in één regel:
| Multiplier | Aandeel van groei | Volatiliteit | Opmerking |
|---|---|---|---|
| 0.25 (kwart) | 43.8% | 25% | bijna de helft van de groei bij een kwart van het risico |
| 0.50 (half) | 75.0% | 50% | de sweet spot van de praktijkbeoefenaars |
| 1.00 (volledig) | 100.0% | 100% | maximale groei, wilde volatiliteit |
| 1.50 | 75.0% | 150% | dezelfde groei als bij half, maar driemaal het risico |
| 2.00 (dubbel) | 0.0% | 200% | geen groei, maximaal risico |
| > 2.00 | negatief | — | ondergang ondanks een positieve edge |
Drie lessen:
- Halve Kelly behaalt 75% van de groei bij de helft van de volatiliteit. Op risico/rendement-basis is dit veel beter dan volledige Kelly.
- De parabool is symmetrisch rond . Inzetten van Kelly geeft dezelfde groei als , maar is drie keer zo volatiel. Overschieten wordt harder afgestraft dan onderschieten.
- Bij Kelly gaat de groei naar nul, en daarboven wordt deze negatief. Te agressieve dimensionering vernietigt kapitaal zelfs bij een winnende strategie.
Drawdowns bij volledige Kelly: de formule die nuchter maakt

Voor het continue model is de kans dat het kapitaal ooit daalt tot een fractie van de startwaarde gelijk aan:
Vul de Kelly-niveaus in — en je krijgt een tabel waarna volledige Kelly niet meer aantrekkelijk lijkt:
| Multiplier | P(ooit −50%) | P(ooit −75%) |
|---|---|---|
| 1.00 (volledig) | 50% | 75% |
| 0.50 (half) | 12.5% | 1.6% |
| 0.25 (kwart) | 0.78% | 0.006% |
| 2.00 (dubbel) | 100% | 100% |
Bij volledige Kelly is de kans om ooit een drawdown van 50% te zien gelijk aan 50%. Dit is geen staartscenario — het is een muntopgooi. Halve Kelly brengt dit terug naar 12.5%, kwart Kelly naar een fractie van een procent. En dat is in een geïdealiseerd Gaussiaans model; echte fat tails maken de werkelijke drawdowns nog dieper.
De rekenmachine: verschuif de Kelly-fractie — bekijk rendement en risico
Verschuif de schuifregelaars. De bovenste twee stellen de edge van de strategie in (winkans en uitbetalingsverhouding), de onderste stelt de Kelly-multiplier in. Bekijk hoe de groeivoet van het kapitaal en de kans op een diepe drawdown gelijktijdig veranderen. Let op de hoofdgrafiek van het artikel: bij de overgang van half naar volledige Kelly stijgt de groei licht, terwijl het drawdown-risico meerdere malen stijgt.
Speel met de Kelly-fractie-schuifregelaar rond de waarden 0.5 en 1.0: de groei ten opzichte van het maximum stijgt van 75% naar 100%, maar het risico op een drawdown van 50% springt van 13% naar 50%. Precies daarom leven professionals in de linkerhelft van de parabool.
Fractionele Kelly als industriestandaard

Serieuze beheerders zetten bijna nooit volledige Kelly in. Het typische bereik loopt van tot Kelly. Naast drawdowns zijn er vier fundamentele redenen om de fractie te verlagen.
1. Fout in de parameterschatting. De formule gaat ervan uit dat je de werkelijke waarden van , , , kent. In werkelijkheid schat je ze uit een eindige steekproef. En de groeifunctie is asymmetrisch: het overschatten van de edge duwt je voorbij het optimum, waar de groei sneller daalt dan hij stijgt bij dezelfde mate van onderschatting. Als de werkelijke Kelly gelijk is aan en je hebt deze met een fout geschat, is het veiliger om systematisch minder in te zetten. Vuistregel: bij onzekere schattingen, halveer de fractie.
2. Niet-stationariteit. De edge van een strategie is geen constante — marktregimes veranderen, de edge vervalt, concurrenten kopiëren het idee. De op gisteren berekende Kelly kan morgen overschat blijken. Een fractionele multiplier is een buffer tegen het verval van de edge.
3. Fat tails. De Gaussiaanse formule onderschat het risico van extreme bewegingen. Op echte zwaarstaartige verdelingen zet deze systematisch te veel in. Fractionele Kelly compenseert dit gedeeltelijk.
4. De kosten van drawdowns in een bedrijf. Voor een market maker is een drawdown niet alleen psychologie. Het zijn margin calls, gedwongen positiereducties op het slechtst mogelijke moment, kapitaaluitstroom van investeerders, stijgende financieringskosten (zie Hoe funding rates leverage doden). Een gladde equity-curve heeft een zelfstandige waarde die ontbreekt in de Kelly-formule.
Kelly voor een portfolio van strategieën


Tot nu toe hebben we het over één strategie gehad. Maar de echte vraag is het kiezen van Kelly voor strategieën in het meervoud: je hebt meerdere strategieën, en je moet kapitaal onder hen verdelen.
De naïeve aanpak — Kelly voor elk afzonderlijk berekenen en optellen — is catastrofaal fout, omdat deze correlaties negeert. Twee sterk gecorreleerde strategieën zijn in wezen één verdubbelde weddenschap, en het totale risico moet worden geteld als bij één.
De matrixvorm
Voor een vector van verwachte rendementen en een covariantiematrix is de optimale vector van fracties over alle strategieën tegelijk:
De groeivoet op het optimum generaliseert naar het kwadraat van de portfolio-Sharpe:
Let op: is de richting van het portfolio met maximale Sharpe (het tangentportfolio). Kelly en mean-variance-optimalisatie zijn twee kanten van dezelfde medaille: Kelly bepaalt simpelweg het hefboomniveau dat de geometrische groei maximaliseert.
Wat de inverse covariantie doet
- Gecorreleerde strategieën delen het risicobudget. Als twee strategieën bijna identiek zijn, zal de matrix hun gecombineerde fractie automatisch — zonder handmatige ingrepen — terugbrengen tot het niveau van één.
- Ongecorreleerde strategieën krijgen een diversificatiepremie. Ze kunnen dichter bij hun individuele omvang worden gehouden, en de totale Sharpe van het portfolio zal hoger zijn dan die van elke strategie afzonderlijk.
- Negatief gecorreleerde strategieën kunnen verhoogde fracties krijgen — ze dekken elkaar af, en de matrix beloont dat.
Een waarschuwing over het schatten van
Het inverteren van een covariantiematrix is numeriek instabiel: bij ruisachtige schattingen blaast kleine fouten op tot wilde gewichten. Shrinkage van de covariantie naar de diagonaal, hefboombegrenzingen en dezelfde fractionele multiplier zijn verplicht. Zonder deze levert matrix-Kelly fracties op die er prachtig uitzien in de backtest en dodelijk in productie.
Aanpassingen voor algoritmisch traden en market making

De pure formule leeft in een steriele wereld. In een echte engine heb je aanpassingen nodig.
- Commissies en slippage verminderen de effectieve edge. Bereken Kelly op rendementen na alle kosten, anders zul je systematisch te veel inzetten.
- Discreetheid van inzetten en lotgroottes verhinderen dat je precies inzet — rond naar beneden af, niet naar boven.
- Een niet-stationaire edge vereist herberekening in de tijd: schattingen van en op een voortschrijdend venster met een halfwaardetijd, niet over de gehele geschiedenis.
- Een drawdown-beperking. Stel bovenop Kelly een harde bovengrens in: maximale drawdown, maximale hefboom, maximale fractie per afzonderlijke strategie. Formele drawdown-beperkte versies van Kelly bestaan (Busseti, Boyd), maar in de praktijk volstaat een eenvoudige limiet.
- Eerlijkheid bij het schatten van de edge. De belangrijkste fout is het voeden van Kelly met een in-sample gemeten edge. Neem alleen een out-of-sample-schatting, op walk-forward-basis, na commissies. Een overschatte edge die de formule ingaat, betekent een overschatte inzet die eruit komt.
Het recept: hoe dit toe te passen
- Schat de edge eerlijk in. Out-of-sample, op walk-forward-basis, na commissies en slippage. Dit is de belangrijkste stap — vuilnis erin wordt ondergang eruit.
- Bereken de volledige Kelly. Binair voor discrete uitkomsten of continu voor rendementen.
- Neem een fractie. Standaard – van de volledige Kelly. Hoe minder robuust de edge, hoe kleiner de multiplier.
- Bereken voor een portfolio in matrixvorm. met covariantie-shrinkage, dan dezelfde fractionele multiplier.
- Stel harde limieten in. Maximum per positie, maximale hefboom, een drawdown-limiet — bovenop al het andere.
- Herbereken. Naarmate schattingen worden bijgewerkt, verlaag je de fractie wanneer de onzekerheid toeneemt en de edge vervalt.
Code
import numpy as np
def kelly_binary(p, b):
"""p — win probability, b — net payout ratio per 1 unit of stake."""
q = 1 - p
return (b * p - q) / b # = p - q/b
def kelly_continuous(mu, sigma):
"""mu, sigma — mean and standard deviation of period returns (in the same units)."""
return mu / sigma ** 2
def kelly_portfolio(mu, cov, shrink=0.0):
"""Matrix Kelly for a portfolio of strategies.
mu — vector of expected returns;
cov — covariance matrix of returns;
shrink — shrinkage coefficient toward the diagonal (0..1) for stable inversion."""
cov = np.asarray(cov, float)
if shrink:
cov = (1 - shrink) * cov + shrink * np.diag(np.diag(cov))
return np.linalg.solve(cov, np.asarray(mu, float))
def sized(f_star, kelly_fraction=0.25, cap=0.2):
"""Fractional Kelly with a hard cap on the fraction."""
return float(np.clip(f_star * kelly_fraction, -cap, cap))
f = kelly_binary(p=0.55, b=1.0) # 0.10 — full Kelly
print(sized(f)) # 0.025 — quarter Kelly, a safe size
Veelvoorkomende fouten
- Kelly op een in-sample edge. De duurste fout. Een overschatte edge → te veel inzetten → negatieve groei.
- Correlaties tussen strategieën negeren. De som van individuele Kelly's is niet de portfolio-Kelly.
- Volledige Kelly in productie. Het wiskundige maximum van groei, maar 50% kans op een drawdown tot de helft van het account. Past bijna niemand.
- Kelly met een instabiele edge. Als de edge vervalt, overschat de formule systematisch de inzet.
- Doelen door elkaar halen. Kelly maximaliseert de geometrische groei van het kapitaal — niet de Sharpe, niet de kans om positief te blijven, en niet comfort. Als een gladde curve voor jou belangrijker is, zet dan bewust fractionele Kelly in.
Conclusie
Het Kelly-criterium beantwoordt de kernvraag van elke strategie — hoeveel in te zetten — met een formule die de langetermijngeometrische groei maximaliseert: voor weddenschappen en voor rendementen, en voor een portfolio — .
Maar volledige Kelly is het wiskundige optimum voor groei, niet voor overleving. Fractionele Kelly (–) vangt het grootste deel van de groei bij een aanzienlijk lagere volatiliteit en drawdowns. De praktische conclusie op de vraag hoe je Kelly voor strategieën kiest, klinkt dus zo: bereken volledige Kelly eerlijk — maar zet er een fractie van in, bovenop harde risicolimieten.
Gerelateerd materiaal:
Auteurs
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.