← Kembali ke artikel
June 23, 2026
5 menit baca

Kriteria Kelly untuk strategi: cara memilih ukuran posisi dan mengalokasikan modal

Kriteria Kelly untuk strategi: cara memilih ukuran posisi dan mengalokasikan modal
#manajemen risiko
#kriteria Kelly
#money management
#ukuran posisi
#algotrading

Strategi dengan ekspektasi matematis positif bisa menghancurkan deposit jika ukuran taruhannya salah. Kita bahas kriteria Kelly dari penurunan rumus hingga portofolio strategi: mengapa full Kelly berbahaya, bagaimana Kelly fraksional memberi 75% pertumbuhan dengan separuh volatilitas, dan resep sizing apa yang benar-benar layak diterapkan dalam algotrading. Di tengah artikel ada kalkulator interaktif yang memperlihatkan bagaimana fraksi Kelly menggeser imbal hasil dan risiko.

Pertanyaan yang wajib dijawab oleh setiap strategi

Anda punya strategi dengan keunggulan positif (edge): pada jarak panjang ia menghasilkan keuntungan. Tinggal satu detail — berapa fraksi modal yang ditaruh dalam satu transaksi atau dialokasikan untuk satu strategi.

Ini bukan pertanyaan sekunder, melainkan yang utama. Ekspektasi matematis positif tidak menyelamatkan dari kebangkrutan: taruh terlalu banyak — dan serangkaian kegagalan akan membawa deposit ke zona yang tidak ada pemulihan statistiknya (lihat Asimetri kerugian dan keuntungan). Taruh terlalu sedikit — dan Anda meninggalkan sebagian besar potensi pertumbuhan di atas meja.

Kriteria Kelly memberi jawaban yang tepat: itulah fraksi modal yang memaksimalkan laju pertumbuhan jangka panjang — geometris, bukan aritmetis. Justru pertumbuhan geometris yang menentukan di mana akun Anda berada setelah seribu transaksi, karena imbal hasil dikalikan, bukan dijumlahkan (lihat Sifat multiplikatif imbal hasil).

Dari mana rumus berasal: memaksimalkan logaritma modal

Gagasan kunci Kelly (1956) dan kemudian Thorp: yang perlu dioptimalkan bukan ekspektasi keuntungan satu transaksi, melainkan ekspektasi logaritma modal akhir. Logaritma muncul bukan secara kebetulan — itulah satu-satunya fungsi yang, ketika dimaksimalkan, membuat modal tumbuh dengan laju geometris maksimal.

Kasus biner: taruhan dengan dua hasil

Misalkan dengan probabilitas pp taruhan menghasilkan pembayaran bersih bb per unit (koefisien), dan dengan probabilitas q=1pq = 1 - p kita kehilangan taruhan itu sendiri. Kita taruh fraksi ff dari modal. Setelah satu transaksi, modal dikalikan dengan (1+fb)(1 + fb) jika menang dan dengan (1f)(1 - f) jika kalah.

Ekspektasi logaritma pertumbuhan:

g(f)=pln(1+fb)+qln(1f)g(f) = p \ln(1 + fb) + q \ln(1 - f)

Kita ambil turunan terhadap ff dan samakan dengan nol:

g(f)=pb1+fbq1f=0g'(f) = \frac{pb}{1 + fb} - \frac{q}{1 - f} = 0

Solusinya adalah rumus Kelly:

f=pbqb=pqbf^{*} = \frac{pb - q}{b} = p - \frac{q}{b}

Dengan kata lain: fraksi optimal sama dengan keunggulan Anda dibagi koefisien. Tidak ada keunggulan (pb=qpb = q) — tidak ada taruhan.

Contoh

Strategi menang pada 55% transaksi dengan rasio pembayaran 1:1 (b=1b = 1):

f=pqb=0.550.451=0.10f^{*} = p - \frac{q}{b} = 0.55 - \frac{0.45}{1} = 0.10

Full Kelly menyuruh mempertaruhkan 10% modal per transaksi. Ingat angka ini — di bawah kita akan lihat mengapa hampir tidak ada yang seharusnya bertaruh tepat sebesar itu.

Kasus kontinu: imbal hasil alih-alih taruhan

Dalam trading, transaksi jarang berbentuk taruhan dengan dua hasil — yang ada adalah distribusi imbal hasil. Untuk imbal hasil dengan rata-rata μ\mu dan varians σ2\sigma^2 per periode, ekspektasi pertumbuhan logaritmis pada leverage (fraksi) ff kira-kira sama dengan:

g(f)fμ12f2σ2g(f) \approx f\mu - \tfrac{1}{2} f^{2}\sigma^{2}

Maksimum dicapai pada:

f=μσ2\boxed{\,f^{*} = \dfrac{\mu}{\sigma^{2}}\,}

Inilah bentuk kontinu Kelly yang terkenal (dikenal juga sebagai fraksi Merton). Dan laju pertumbuhan pada optimum terhubung dengan rasio Sharpe SR=μ/σ\mathrm{SR} = \mu / \sigma secara sangat indah:

g(f)=μ22σ2=SR22g(f^{*}) = \frac{\mu^{2}}{2\sigma^{2}} = \frac{\mathrm{SR}^{2}}{2}

Kesimpulan yang layak dipajang di dinding: laju pertumbuhan geometris maksimal sebuah portofolio sama dengan setengah kuadrat Sharpe-nya. Gandakan Sharpe — laju pertumbuhan modal jadi empat kali lipat.

Mengapa full Kelly itu terlalu banyak

Rumus memberi optimum matematis untuk pertumbuhan. Tetapi optimum ini punya harga yang dibungkam rumus: volatilitas jalur dan drawdown yang mengerikan, yang mematahkan setiap akun nyata dan setiap manusia nyata.

Geometri penyimpangan dari optimum

Kita substitusikan fraksi cfc \cdot f^{*} (di mana cc adalah pengali Kelly: c=1c = 1 adalah full Kelly, c=0.5c = 0.5 adalah half Kelly) ke dalam rumus pertumbuhan. Relatif terhadap maksimum kita memperoleh:

g(c)g(f)=2cc2\frac{g(c)}{g(f^{*})} = 2c - c^{2}

Imbal hasil melawan fraksi Kelly: parabola pertumbuhan dengan puncak di optimum dan jurang setelahnya

Parabola ini menceritakan seluruh kisah manajemen risiko dalam satu baris:

Pengali cc Fraksi pertumbuhan 2cc22c - c^2 Volatilitas Komentar
0.25 (quarter) 43.8% 25% hampir separuh pertumbuhan dengan seperempat risiko
0.50 (half) 75.0% 50% jalan tengah para praktisi
1.00 (full) 100.0% 100% pertumbuhan maksimal, volatilitas liar
1.50 75.0% 150% pertumbuhan sama seperti half, tetapi risiko tiga kali lipat
2.00 (double) 0.0% 200% tidak ada pertumbuhan, risiko maksimal
> 2.00 negatif kebangkrutan meski edge positif

Tiga kesimpulan:

  1. half Kelly mengambil 75% pertumbuhan dengan separuh volatilitas. Dari sisi rasio risiko/imbal hasil ini jauh lebih baik daripada full Kelly.
  2. Parabola simetris terhadap c=1c = 1. Taruhan sebesar 1.5×1.5\times Kelly memberi pertumbuhan yang sama dengan 0.5×0.5\times, tetapi tiga kali lebih volatil. Berlebihan dihukum lebih keras daripada kurang.
  3. Pada 2×2\times Kelly pertumbuhan jadi nol, dan setelahnya menjadi negatif. Sizing yang terlalu agresif membunuh modal bahkan pada strategi yang menang.

Drawdown full Kelly: rumus yang menyadarkan

Risiko drawdown bertambah seiring ukuran taruhan: kurva tenang melawan jurang dalam

Untuk model kontinu, probabilitas bahwa modal pernah turun hingga fraksi α\alpha dari awal sama dengan:

P(drawdown to α)=α2ccP(\text{drawdown to } \alpha) = \alpha^{\frac{2 - c}{c}}

Kita substitusikan level-level Kelly — dan kita peroleh tabel yang setelahnya full Kelly berhenti terlihat menarik:

Pengali cc P(pernah −50%) P(pernah −75%)
1.00 (full) 50% 75%
0.50 (half) 12.5% 1.6%
0.25 (quarter) 0.78% 0.006%
2.00 (double) 100% 100%

Pada full Kelly, probabilitas suatu saat melihat drawdown 50% sama dengan 50%. Ini bukan skenario ekor — ini lemparan koin. half Kelly menurunkannya menjadi 12.5%, quarter Kelly — hingga sepersekian persen. Dan itu dalam model Gaussian yang diidealkan; ekor tebal nyata membuat drawdown aktual bahkan lebih dalam.

Kalkulator: ubah fraksi Kelly — amati imbal hasil dan risiko

Geser slider-nya. Dua slider atas mengatur keunggulan strategi (probabilitas menang dan koefisien pembayaran), yang bawah — pengali Kelly cc. Amati bagaimana laju pertumbuhan modal dan probabilitas drawdown dalam berubah secara bersamaan. Perhatikan alur utama artikel ini: saat bergerak dari half ke full Kelly, pertumbuhan naik sedikit, sementara risiko drawdown naik berlipat.

Kalkulator Kelly
Probabilitas memenangkan transaksi55%
Koefisien pembayaran (menang : kalah)1.0
Fraksi Kelly (pengali c)0.50x
Geser slider-nya.
10.0%
Full Kelly f*
5.0%
Taruhan Anda c·f*
75%
Pertumbuhan dari maksimum
x43
Modal setelah 1000 transaksi
0.50x
Volatilitas
13%
Risiko drawdown ≥50%
2%
Risiko drawdown ≥75%
+0.375%
Log-pertumbuhan per transaksi
c = 0optimum (full Kelly)c = 2: pertumbuhan jadi nol

Bermainlah dengan slider fraksi Kelly di sekitar nilai 0.5 dan 1.0: pertumbuhan dari maksimum naik dari 75% menjadi 100%, sementara risiko drawdown 50% melonjak dari 13% menjadi 50%. Inilah alasan mengapa para profesional hidup di separuh kiri parabola.

Kelly fraksional sebagai standar industri

Manajer yang serius hampir tidak pernah bertaruh full Kelly. Rentang khasnya — dari 1/41/4 hingga 1/21/2 Kelly. Selain drawdown, ada empat alasan fundamental untuk memangkas fraksi.

1. Kesalahan estimasi parameter. Rumus mengasumsikan Anda mengetahui pp, bb, μ\mu, σ\sigma yang sebenarnya. Pada kenyataannya Anda mengestimasinya dari sampel terhingga. Dan fungsi pertumbuhan bersifat asimetris: melebih-lebihkan keunggulan mendorong Anda melewati optimum, di mana pertumbuhan turun lebih cepat daripada naiknya pada tingkat estimasi yang terlalu rendah yang sama. Jika Kelly yang sebenarnya sama dengan ff^{*}, dan Anda mengestimasinya dengan kesalahan, lebih aman secara sistematis bertaruh lebih sedikit. Aturan kasarnya: dalam ketidakpastian estimasi, separuhkan fraksinya.

2. Nonstasioneritas. Keunggulan strategi bukan konstanta — rezim pasar berubah, edge meluruh, pesaing menyalin ide. Kelly yang dihitung dari data kemarin bisa jadi terlalu tinggi besok. Pengali fraksional adalah bantalan untuk peluruhan edge.

3. Ekor tebal. Rumus Gaussian f=μ/σ2f^{*} = \mu/\sigma^2 meremehkan risiko pergerakan ekstrem. Pada distribusi nyata dengan ekor berat, ia secara sistematis bertaruh berlebih. Kelly fraksional sebagian mengompensasinya.

4. Biaya drawdown dalam bisnis. Bagi market maker, drawdown bukan sekadar psikologi. Itu adalah margin call, pengurangan posisi secara paksa pada momen terburuk, arus keluar modal investor, kenaikan biaya pendanaan (lihat Bagaimana funding rate membunuh leverage). Kurva modal yang mulus punya nilai tersendiri yang tidak ada dalam rumus Kelly.

Kelly untuk portofolio strategi

Kelly matriks untuk portofolio: matriks kovarians mengalokasikan modal antar strategi

Sejauh ini kita berbicara tentang satu strategi. Tetapi pertanyaan yang sesungguhnya berbunyi sebagai pemilihan Kelly untuk strategi dalam bentuk jamak: Anda punya beberapa strategi, dan perlu mengalokasikan modal di antara mereka.

Pendekatan naif — menghitung Kelly untuk masing-masing secara terpisah lalu menjumlahkannya — keliru secara fatal, karena mengabaikan korelasi. Dua strategi yang sangat berkorelasi pada dasarnya adalah satu taruhan yang digandakan, dan total risikonya harus dihitung seperti satu strategi.

Bentuk matriks

Untuk vektor ekspektasi imbal hasil μ\boldsymbol{\mu} dan matriks kovarians Σ\boldsymbol{\Sigma}, vektor optimal fraksi atas semua strategi sekaligus:

f=Σ1μ\boxed{\,\mathbf{f}^{*} = \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu}\,}

Laju pertumbuhan pada optimum digeneralisasi menjadi kuadrat Sharpe portofolio:

g(f)=12μΣ1μ=12SRportfolio2g(\mathbf{f}^{*}) = \tfrac{1}{2}\, \boldsymbol{\mu}^{\top} \boldsymbol{\Sigma}^{-1} \boldsymbol{\mu} = \tfrac{1}{2}\,\mathrm{SR}_{\text{portfolio}}^{2}

Perhatikan: Σ1μ\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} adalah arah portofolio dengan Sharpe maksimal (portofolio tangen). Kelly dan optimasi mean-variance adalah dua sisi mata uang yang sama: Kelly hanya menetapkan tingkat leverage pada level yang memaksimalkan pertumbuhan geometris.

Apa yang dilakukan kovarians invers

  • Strategi yang berkorelasi berbagi anggaran risiko. Jika dua strategi nyaris identik, matriks akan memangkas total fraksinya hingga setara satu strategi — secara otomatis, tanpa penyangga manual.
  • Strategi yang tidak berkorelasi mendapat premi diversifikasi. Mereka bisa dipertahankan lebih dekat dengan ukuran individualnya, dan total Sharpe portofolio akan lebih tinggi daripada masing-masing secara terpisah.
  • Strategi yang berkorelasi negatif bisa mendapat fraksi yang ditingkatkan — mereka saling mengasuransikan, dan matriks mendorong hal itu.

Peringatan tentang estimasi Σ\boldsymbol{\Sigma}

Pembalikan matriks kovarians secara numerik tidak stabil: pada estimasi yang berisik, Σ1\boldsymbol{\Sigma}^{-1} membesar-besarkan kesalahan kecil menjadi bobot yang liar. Wajib ada penyusutan (shrinkage) kovarians ke arah diagonal, pembatasan leverage, dan pengali fraksional yang sama. Tanpa itu, Kelly matriks menghasilkan fraksi yang indah di backtest dan mematikan di produksi.

Koreksi untuk algotrading dan market making

Rumus murni hidup di dunia steril. Dalam mesin nyata diperlukan koreksi.

  • Komisi dan slippage mengurangi keunggulan efektif. Hitung Kelly dari imbal hasil setelah semua biaya, jika tidak Anda akan bertaruh berlebih secara sistematis.
  • Diskretisasi taruhan dan ukuran lot tidak memungkinkan menaruh tepat ff^{*} — bulatkan ke bawah, bukan ke atas.
  • Edge yang nonstasioner menuntut perhitungan ulang seiring waktu: estimasi μ\mu dan σ\sigma pada jendela bergulir dengan periode paruh waktu, bukan pada seluruh riwayat.
  • Pembatasan drawdown. Di atas Kelly, pasang plafon keras: drawdown maksimal, leverage maksimal, fraksi maksimal per satu strategi. Ada versi Kelly formal yang dibatasi drawdown (Bassety, Boyd), tetapi dalam praktik cukup dengan cap sederhana.
  • Kejujuran estimasi edge. Kesalahan utama adalah memberi makan Kelly dengan keunggulan yang diukur in-sample. Ambil hanya estimasi out-of-sample, dari walk-forward, setelah komisi. Edge yang dilebih-lebihkan di input rumus berarti taruhan yang dilebih-lebihkan di output.

Resep: cara menerapkannya

  1. Nilai keunggulan dengan jujur. Out-of-sample, dari walk-forward, setelah komisi dan slippage. Ini langkah terpenting — sampah di input berubah menjadi kebangkrutan di output.
  2. Hitung full Kelly. Biner f=pq/bf^{*} = p - q/b untuk hasil diskret atau kontinu f=μ/σ2f^{*} = \mu/\sigma^2 untuk imbal hasil.
  3. Ambil fraksinya. Secara default 1/41/41/21/2 dari full Kelly. Semakin tidak stabil edge — semakin kecil pengalinya.
  4. Untuk portofolio, hitung secara matriks. f=Σ1μ\mathbf{f}^{*} = \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} dengan penyusutan kovarians, lalu pengali fraksional yang sama.
  5. Pasang cap yang keras. Maksimum per posisi, maksimum leverage, batas drawdown — di atas segalanya.
  6. Hitung ulang. Seiring estimasi diperbarui, pangkas fraksi saat ketidakpastian meningkat dan edge meluruh.

Kode

import numpy as np

def kelly_binary(p, b):
    """p — probabilitas menang, b — koefisien pembayaran bersih per 1 unit taruhan."""
    q = 1 - p
    return (b * p - q) / b          # = p - q/b

def kelly_continuous(mu, sigma):
    """mu, sigma — rata-rata dan simpangan baku imbal hasil per periode (dalam satuan yang sama)."""
    return mu / sigma ** 2

def kelly_portfolio(mu, cov, shrink=0.0):
    """Kelly matriks untuk portofolio strategi.
    mu  — vektor ekspektasi imbal hasil;
    cov — matriks kovarians imbal hasil;
    shrink — koefisien penyusutan ke arah diagonal (0..1) untuk kestabilan pembalikan."""
    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):
    """Kelly fraksional dengan cap keras pada fraksi."""
    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, ukuran yang aman

Kesalahan yang sering terjadi

  • Kelly pada edge in-sample. Kesalahan termahal. Keunggulan yang dilebih-lebihkan → taruhan berlebih → pertumbuhan negatif.
  • Mengabaikan korelasi antar strategi. Jumlah Kelly individual bukanlah Kelly portofolio.
  • Full Kelly di produksi. Maksimum matematis untuk pertumbuhan, tetapi 50% peluang drawdown separuh deposit. Hampir tidak cocok bagi siapa pun.
  • Kelly pada edge yang tidak stabil. Jika keunggulan meluruh, rumus secara sistematis melebih-lebihkan taruhan.
  • Mencampuradukkan tujuan. Kelly memaksimalkan pertumbuhan geometris modal — bukan Sharpe, bukan probabilitas tetap untung, dan bukan kenyamanan. Jika kemulusan kurva lebih penting bagi Anda, taruhlah Kelly fraksional secara sadar.

Kesimpulan

Kriteria Kelly menjawab pertanyaan utama setiap strategi — berapa yang ditaruh — dengan rumus yang memaksimalkan pertumbuhan geometris jangka panjang: f=pq/bf^{*} = p - q/b untuk taruhan dan f=μ/σ2f^{*} = \mu/\sigma^2 untuk imbal hasil, dan untuk portofolio — f=Σ1μ\mathbf{f}^{*} = \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu}.

Tetapi full Kelly adalah optimum matematis untuk pertumbuhan, bukan untuk kelangsungan hidup. Kelly fraksional (1/41/41/21/2) mengambil sebagian besar pertumbuhan dengan volatilitas dan drawdown yang berlipat lebih kecil. Karena itu jawaban praktis atas pertanyaan tentang pemilihan Kelly untuk strategi berbunyi begini: hitung full Kelly dengan jujur — tetapi taruh fraksinya saja, di atas batas risiko yang keras.


Materi terkait:

Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.