← Макалаларга кайтуу
June 23, 2026
5 мүн окуу

Стратегиялар үчүн Келли критерийи: позиция көлөмүн жана капиталды кантип бөлүштүрүү керек

Стратегиялар үчүн Келли критерийи: позиция көлөмүн жана капиталды кантип бөлүштүрүү керек
#risk management
#Kelly criterion
#money management
#position sizing
#algorithmic trading
📊
Part 5 of 5 · Collection
Portfolio Construction & Risk

Оң күтүлүүчү мааниси бар стратегия да, эгер бет өлчөмү туура тандалбаса, сиздин эсебиңизди кыйратышы мүмкүн. Биз Келли критерийин формуланы чыгаруудан баштап стратегиялар портфелине чейин талдайбыз: эмне үчүн толук Келли коркунучтуу, бөлчөк Келли жарым волатилдүүлүктө өсүштүн 75% кантип берет, жана алгоритмдик трейдингде чындыгында кайсы өлчөмдөө рецептин колдонуу керек. Макаланын ортосунда Келли бөлүгүнүн киреше менен тобокелдикти кантип өзгөрткөнүн көрсөткөн интерактивдүү калькулятор бар.

Ар бир стратегия жооп берүүгө милдеттүү суроо

The question every strategy is obliged to answer

Сизде оң артыкчылыгы (edge) бар стратегия бар: узак мөөнөттө ал акча табат. Бир деталь чечилбей калат — капиталдын кайсы бөлүгүн бир бүтүмгө же бир стратегияга бөлүштүрүү керек.

Бул экинчи даражадагы суроо эмес, тескерисинче борбордук суроо. Оң күтүлүүчү маани сизди кыйроодон куткарбайт: өтө көп тиксеңиз, утулуу сериясы эсебиңизди статистикалык калыбына келүү мүмкүн эмес зонага айдап барат (караңыз Чыгым менен пайданын асимметриясы). Өтө аз тиксеңиз, потенциалдуу өсүштүн көп бөлүгүн үстөлдө калтырасыз.

Келли критерийи так жооп берет: бул узак мөөнөттүү өсүү темпин максимумга чыгарган капитал үлүшү — арифметикалык эмес, геометриялык өсүү темпи. Так геометриялык өсүш миң бүтүмдөн кийин эсебиңиз кайда токтой турганын аныктайт, анткени кирешелер кошулбайт, көбөйөт (караңыз Кирешелердин мультипликативдик табияты).

Формула кайдан келген: капитал логарифмин максимумга чыгаруу

Where the formula comes from: maximizing the logarithm of capital

Келлинин (1956) жана кийинчерээк Торптун негизги идеясы: сиз оптималдаштырышыңыз керек нерсе — бир бүтүмдүн күтүлүүчү пайдасы эмес, акыркы капиталыңыздын күтүлүүчү логарифми. Логарифм жөн эле пайда болгон жок — бул аны максимумга чыгаруу капиталды максималдуу геометриялык темп менен өстүргөн жалгыз функция.

Бинардык учур: эки натыйжалуу бет

Айталы, pp ыктымалдуулугу менен бет бирдикке bb таза төлөмүн (коэффициент) кайтарат, ал эми q=1pq = 1 - p ыктымалдуулугу менен биз тиккен акчаны жоготобуз. Биз капиталыбыздын ff бөлүгүн тигебиз. Бир бүтүмдөн кийин утушта капитал (1+fb)(1 + fb)ге, утулушта (1f)(1 - f)ге көбөйөт.

Күтүлүүчү логарифмдик өсүш:

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

ff боюнча туунду алып, аны нөлгө теңдейбиз:

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

Чечим — Келли формуласы:

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

Башкача айтканда: оптималдуу үлүш сиздин артыкчылыгыңызды коэффициентке бөлгөнгө барабар. Артыкчылык жок болсо (pb=qpb = q) — бет тикпейсиз.

Мисал

Стратегия 1:1 төлөм катышы менен (b=1b = 1) бүтүмдөрдүн 55% утат:

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

Толук Келли ар бир бүтүмгө капиталдын 10% тобокелге салууну айтат. Бул санды эсиңизде сактаңыз — төмөндө дээрлик эч ким так ушундай өлчөмдө тикпеши керектигин көрөбүз.

Үзгүлтүксүз учур: бет ордуна кирешелер

Трейдингде бүтүм сейрек эки натыйжалуу бетке окшош — бул жерде кирешелердин таралуусу бар. Мезгилге μ\mu орточо мааниси жана σ2\sigma^2 дисперсиясы бар кирешелер үчүн ff левериджде (үлүштө) күтүлүүчү логарифмдик өсүш болжол менен мындай:

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

Максимумга мында жетет:

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

Бул Келлинин белгилүү үзгүлтүксүз түрү (Мертон үлүшү деп да аталат). Ал эми оптималдуу чекиттеги өсүү темпи Шарп коэффициентине SR=μ/σ\mathrm{SR} = \mu / \sigma керемет назик түрдө байланыштуу:

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

Дубалга илип коюуга татыктуу жыйынтык: портфелдин максималдуу геометриялык өсүү темпи анын Шарпынын квадратынын жарымына барабар. Шарпты эки эсе көбөйтсөңүз, капиталдын өсүү темпи төрт эсе көбөйөт.

Эмне үчүн толук Келли өтө көп

Why full Kelly is too much

Формула өсүш үчүн математикалык оптималдуулукту берет. Бирок бул оптималдуулуктун баасы бар, формула ал жөнүндө унчукпайт: каалаган чыныгы эсепти жана чыныгы адамды бузган жолдун волатилдүүлүгү жана кулоолор.

Оптималдуулуктан четтөө геометриясы

Өсүш формуласына cfc \cdot f^{*} үлүшүн (cc — Келли көбөйткүчү: c=1c = 1 толук Келли, c=0.5c = 0.5 жарым Келли) коюңуз. Максимумга карата алабыз:

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

Return versus the Kelly fraction: a growth parabola peaking at the optimum and dropping off a cliff beyond it

Бул парабола тобокел менеджментинин бүтүндөй тарыхын бир сапта айтып берет:

Көбөйткүч cc Өсүш үлүшү 2cc22c - c^2 Волатилдүүлүк Түшүндүрмө
0.25 (чейрек) 43.8% 25% тобокелдин чейрегинде өсүштүн жарымына жакыны
0.50 (жарым) 75.0% 50% практиктердин оптималдуу чекити
1.00 (толук) 100.0% 100% максималдуу өсүш, жапайы волатилдүүлүк
1.50 75.0% 150% жарымы менен бирдей өсүш, бирок үч эсе тобокел
2.00 (кош) 0.0% 200% өсүш жок, максималдуу тобокел
> 2.00 терс оң артыкчылыкка карабастан кыйроо

Үч жыйынтык:

  1. Жарым Келли волатилдүүлүктүн жарымында өсүштүн 75% камсыз кылат. Тобокел/кирешеге негизделсе бул толук Келлиден алда канча жакшы.
  2. Парабола c=1c = 1 айланасында симметриялуу. 1.5×1.5\times Келли тигүү 0.5×0.5\times менен бирдей өсүш берет, бирок үч эсе волатилдүү. Ашыкча тигүү жетишсиз тигүүдөн катуураак жазаланат.
  3. 2×2\times Келлиде өсүш нөлгө чейин түшөт, андан ары терс болот. Өтө агрессивдүү өлчөмдөө утуштуу стратегияда да капиталды өлтүрөт.

Толук Келлинин кулоолору: эсиңди киргизген формула

Drawdown risk grows with bet size: calm curves versus deep plunges

Үзгүлтүксүз модель үчүн капиталдын баштапкы наркынын α\alpha бөлүгүнө чейин түшүү ыктымалдуулугу:

P(α чейин кулоо)=α2ccP(\alpha \text{ чейин кулоо}) = \alpha^{\frac{2 - c}{c}}

Келли деңгээлдерин коюңуз — жана толук Келли тартымдуу болбой калган таблицага ээ болосуз:

Көбөйткүч cc P(кайсы бир учурда −50%) P(кайсы бир учурда −75%)
1.00 (толук) 50% 75%
0.50 (жарым) 12.5% 1.6%
0.25 (чейрек) 0.78% 0.006%
2.00 (кош) 100% 100%

Толук Келли боюнча кайсы бир учурда 50% кулоону көрүү ыктымалдуулугу 50% барабар. Бул четки сценарий эмес — бул тыйынды ыргытуу менен барабар. Жарым Келли аны 12.5%га, чейрек Келли пайыздын бир бөлүгүнө чейин түшүрөт. Жана бул идеалдаштырылган Гаусс моделинде; чыныгы оор куйруктар чыныгы кулоолорду дагы да тереңдетет.

Калькулятор: Келли бөлүгүн жылдырыңыз — кирешени жана тобокелди байкаңыз

Слайдерлерди жылдырыңыз. Жогорку экөө стратегиянын артыкчылыгын (утуу ыктымалдуулугу жана төлөм катышы) орнотот, төмөнкүсү Келли көбөйткүчүн cc орнотот. Капиталдын өсүү темпи менен терең кулоо ыктымалдуулугу бир учурда кантип өзгөргөнүн байкаңыз. Макаланын негизги графигине көңүл буруңуз: жарымдан толук Келлиге өткөндө өсүш бир аз көбөйөт, ал эми кулоо тобокели бир нече эсе көбөйөт.

Kelly Calculator
Trade win probability55%
Payout ratio (win : loss)1.0
Kelly fraction (multiplier c)0.50x
Move the sliders.
10.0%
Full Kelly f*
5.0%
Your bet c·f*
75%
Growth vs maximum
x43
Capital over 1000 trades
0.50x
Volatility
13%
Drawdown risk ≥50%
2%
Drawdown risk ≥75%
+0.375%
Log growth per trade
c = 0optimum (full Kelly)c = 2: growth goes to zero

Келли бөлүгү слайдерин 0.5 жана 1.0 маанилери айланасында бир аракет кылып көрүңүз: максимумга карата өсүш 75%дан 100%га чейин көбөйөт, ал эми 50% кулоо тобокели 13%дан 50%га чейин секирет. Так ушул себептен профессионалдар параболанын сол жагында жашашат.

Индустрия стандарты катары бөлчөк Келли

Fractional Kelly as the industry standard

Олуттуу менеджерлер толук Келлини дээрлик эч качан тикпейт. Кадимки диапазон 1/41/4тен 1/21/2 Келлиге чейин. Кулоолордон тышкары, бөлүктү азайтуунун төрт негизги себеби бар.

1. Параметрлерди баалоо катасы. Формула сиздин pp, bb, μ\mu, σ\sigma чыныгы маанилерин билериңизди болжолдойт. Чындыгында сиз аларды чектелген үлгүдөн баалайсыз. Ал эми өсүш функциясы асимметриялуу: артыкчылыкты ашыкча баалоо сизди оптималдуу чекиттен ашырат, ал жерде өсүш ошол эле деңгээлдеги аз баалоодо өскөнгө караганда тезирээк түшөт. Эгер чыныгы Келли ff^{*}ге барабар болсо жана сиз аны катасы менен баалаган болсоңуз, системалуу түрдө азыраак тигүү коопсузураак. Тажрыйбалык эреже: баалоо белгисиз болсо, бөлүктү эки эсе азайтыңыз.

2. Стационардуу эместик. Стратегиянын артыкчылыгы туруктуу чоңдук эмес — рынок режимдери өзгөрөт, артыкчылык ыдырайт, атаандаштар идеяны көчүрүшөт. Кечээги маалыматтарда эсептелген Келли эртең ашыкча бааланган болуп чыгышы мүмкүн. Бөлчөк көбөйткүч — артыкчылыктын ыдыроосуна каршы жаздык.

3. Оор куйруктар. Гаусс формуласы f=μ/σ2f^{*} = \mu/\sigma^2 экстремалдуу кыймылдардын тобокелин аз баалайт. Чыныгы оор куйруктуу бөлүштүрүүлөрдө ал системалуу түрдө ашыкча тигет. Бөлчөк Келли муну жарым-жартылай толуктайт.

4. Бизнестеги кулоолордун баасы. Маркет-мейкер үчүн кулоо жөн гана психология эмес. Бул маржа коңгуроолору, эң ыңгайсыз учурда позицияны мажбурлап кыскартуу, инвестор капиталынын кетиши, каржылоо баасынын өсүшү (караңыз Фандинг чендери левериджди кантип өлтүрөт). Тегиз эквити ийри сызыгынын Келли формуласында жок өзүнчө баасы бар.

Стратегиялар портфели үчүн Келли

Kelly for a portfolio of strategies

Matrix Kelly for a portfolio: the covariance matrix allocates capital across strategies

Ушул убакка чейин биз бир гана стратегия жөнүндө айттык. Бирок чыныгы суроо — көптүк түрдөгү стратегиялар үчүн Келлини тандоо: сизде бир нече стратегия бар, жана капиталды алардын ортосунда бөлүштүрүү керек.

Аңкоо ыкма — ар бирине өзүнчө Келлини эсептеп, аларды кошуу — түп-тамырынан бузук, анткени ал корреляцияларды эске албайт. Күчтүү корреляцияланган эки стратегия негизинен бир кош бет, жана жалпы тобокел бир стратегиядагыдай эсептелиши керек.

Матрицалык форма

Күтүлүүчү кирешелердин μ\boldsymbol{\mu} векторуна жана ковариация матрицасы Σ\boldsymbol{\Sigma}га карата бир учурда бардык стратегиялар боюнча бөлүктөрдүн оптималдуу вектору:

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

Оптималдуу чекиттеги өсүү темпи портфелдин Шарпынын квадратына жалпыланат:

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}

Көңүл буруңуз: Σ1μ\boldsymbol{\Sigma}^{-1}\boldsymbol{\mu} — максималдуу Шарпы бар портфелдин (тангенс портфели) багыты. Келли жана орточо-дисперсия оптималдаштыруу бир тыйындын эки жагы: Келли жөн гана геометриялык өсүштү максимумга чыгарган леверидж деңгээлин бекитет.

Тескери ковариация эмне кылат

  • Корреляцияланган стратегиялар тобокел бюджетин бөлүшөт. Эгер эки стратегия дээрлик бирдей болсо, матрица алардын бириктирилген бөлүгүн бир стратегия деңгээлине чейин автоматтык түрдө — колдо эч кандай айла-амалсыз кыскартат.
  • Корреляцияланбаган стратегиялар диверсификация сыйлыгын алышат. Аларды жеке өлчөмдөрүнө жакыныраак кармоого болот, жана портфелдин жалпы Шарпы ар биринен өзүнчө алганга караганда жогору болот.
  • Терс корреляцияланган стратегиялардын бөлүгү көбөйтүлүшү мүмкүн — алар бири-бирин хеджирлешет, жана матрица муну сыйлайт.

Σ\boldsymbol{\Sigma} баалоо жөнүндө эскертүү

Ковариация матрицасын тескери айландыруу сандык жактан туруксуз: ызы-чуулуу баалоолордо Σ1\boldsymbol{\Sigma}^{-1} кичине каталарды жапайы салмактарга чейин үйлөйт. Диагоналга карай ковариацияны кысуу (shrinkage), леверидж чектери жана ошол эле бөлчөк көбөйткүч милдеттүү. Алар жок болсо, матрицалык Келли бэктестте сулуу, өндүрүштө өлтүрчү бөлүктөрдү берет.

Алгоритмдик трейдинг жана маркет-мейкинг үчүн тактоолор

Adjustments for algorithmic trading and market making

Таза формула стерилдүү дүйнөдө жашайт. Чыныгы кыймылдаткычта тактоолор керек.

  • Комиссиялар жана сырганоо (slippage) натыйжалуу артыкчылыкты азайтат. Келлини бардык чыгымдардан кийинки кирешелерде эсептеңиз, болбосо системалуу түрдө ашыкча тигесиз.
  • Беттин дискреттүүлүгү жана лот өлчөмү сизге так ff^{*} тигүүгө мүмкүндүк бербейт — жогору эмес, төмөн тегеректеңиз.
  • Стационардуу эмес артыкчылык убакыт өтүшү менен кайра эсептөөнү талап кылат: бүтүндөй тарыхта эмес, жарым өмүрү бар жылып жүрүүчү терезеде μ\mu жана σ\sigma баалоолору.
  • Кулоо чектөөсү. Келлиден тышкары, катуу чек коюңуз: максималдуу кулоо, максималдуу леверидж, бир стратегияга максималдуу бөлүк. Формалдуу кулоо-чектелген Келли версиялары бар (Busseti, Boyd), бирок тажрыйбада жөнөкөй чек жетиштүү.
  • Артыкчылыкты баалоодогу чынчылдык. Негизги ката — Келлиге үлгү ичинде (in-sample) өлчөнгөн артыкчылыкты берүү. Болгону үлгүдөн тышкаркы (out-of-sample) баалоону алыңыз, walk-forward негизинде, комиссиялардан кийин. Формулага кирген ашыкча бааланган артыкчылык чыккан ашыкча бааланган бетти билдирет.

Рецепт: муну кантип колдонуу керек

  1. Артыкчылыкты чынчыл баалаңыз. Үлгүдөн тышкаркы, walk-forward негизинде, комиссиялар жана сырганоодон кийин. Бул эң маанилүү кадам — кирген таштанды чыккан кыйрооого айланат.
  2. Толук Келлини эсептеңиз. Дискреттүү натыйжалар үчүн бинардык f=pq/bf^{*} = p - q/b же кирешелер үчүн үзгүлтүксүз f=μ/σ2f^{*} = \mu/\sigma^2.
  3. Бөлүк алыңыз. Демейки боюнча толук Келлинин 1/41/41/21/2. Артыкчылык канчалык туруксуз болсо, көбөйткүч ошончолук кичине болушу керек.
  4. Портфель үчүн матрицалык форматта эсептеңиз. Ковариацияны кысуу менен f=Σ1μ\mathbf{f}^{*} = \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu}, андан кийин ошол эле бөлчөк көбөйткүч.
  5. Катуу чектерди коюңуз. Позиция боюнча максимум, максималдуу леверидж, кулоо чеги — бардыгынан тышкары.
  6. Кайра эсептеңиз. Баалоолор жаңырган сайын белгисиздик көбөйгөндө жана артыкчылык ыдыраганда бөлүктү кыскартыңыз.

Код

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

Кеңири таралган каталар

  • Үлгү ичиндеги артыкчылыктагы Келли. Эң кымбат ката. Ашыкча бааланган артыкчылык → ашыкча тигүү → терс өсүш.
  • Стратегиялардын ортосундагы корреляцияларды эске албоо. Жеке Келлилердин суммасы портфель Келлиси эмес.
  • Өндүрүштөгү толук Келли. Өсүштүн математикалык максимуму, бирок эсептин жарымына чейин кулоонун 50% мүмкүнчүлүгү. Дээрлик эч кимге туура келбейт.
  • Туруксуз артыкчылык менен Келли. Эгер артыкчылык ыдыраса, формула бетти системалуу түрдө ашыкча баалайт.
  • Максаттарды аралаштыруу. Келли капиталдын геометриялык өсүшүн максимумга чыгарат — Шарпты, пайдада калуу ыктымалдуулугун же ыңгайлуулукту эмес. Эгер сиз үчүн тегиз ийри сызык маанилүүрөөк болсо, атайын бөлчөк Келли тигиңиз.

Жыйынтык

Келли критерийи ар бир стратегиянын борбордук суроосуна — канча тигүү керек — узак мөөнөттүү геометриялык өсүштү максимумга чыгарган формула менен жооп берет: беттер үчүн f=pq/bf^{*} = p - q/b жана кирешелер үчүн f=μ/σ2f^{*} = \mu/\sigma^2, ал эми портфель үчүн — f=Σ1μ\mathbf{f}^{*} = \boldsymbol{\Sigma}^{-1}\boldsymbol{\mu}.

Бирок толук Келли — өсүш үчүн математикалык оптималдуулук, аман калуу үчүн эмес. Бөлчөк Келли (1/41/41/21/2) бир нече эсе төмөн волатилдүүлүк жана кулоо менен өсүштүн көп бөлүгүн камтыйт. Ошондуктан стратегиялар үчүн Келли тандоо суроосунун практикалык жообу мындай: толук Келлини чынчыл эсептеңиз — бирок анын бир бөлүгүн тигиңиз, катуу тобокел чектеринен тышкары.


Байланыштуу материалдар:

blog.disclaimer

Authors

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

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.