← Мақалаларға оралу
May 22, 2026
5 мин оқу

Портфельді оңтайландырудың 12 алгоритмі: HRP, Black-Litterman, NCO және басқалары салыстырылды

Портфельді оңтайландырудың 12 алгоритмі: HRP, Black-Litterman, NCO және басқалары салыстырылды
#portfolio optimization
#hierarchical risk parity
#HRP
#mean-variance
#Black-Litterman
#NCO
#risk parity
#Rust
#quantitative finance
#asset allocation
📊
Part 2 of 5 · Collection
Portfolio Construction & Risk

Кез келген портфель оңтайландырғышы бір сұраққа жауап береді: бір топ активтің баға тарихы берілген жағдайда, әрқайсысында капиталдың қандай үлесі болуы керек? Мәселе мынада — бірыңғай дұрыс жауап жоқ, тек жауаптар отбасы бар, олардың әрқайсысы нарықтардың қалай әрекет ететіні және өз бағаларыңызға қаншалықты сенетініңіз туралы әртүрлі болжамның нәтижесі.

Сондықтан бір әдіске тәуекел етудің орнына, біз он екі әдісті бір мезгілде, бір интерфейстің артында іске қосатын құрал жасадық, және сізге олардың нақты деректерде қалай келіспейтінін көруге мүмкіндік береді. Ол ашық код, Rust тілінде жазылған және portfolio-optimizer.marketmaker.cc мекенжайында тірі жұмыс істейді. Бұл жазба — карта: әр алгоритм неге сенеді, математика қайдан келеді және барлық он екісін бір криптосебетке бағыттағанда не болады.

Бір интерфейс, он екі пікір

Жобадағы әрбір алгоритм дәл сол функция қолтаңбасын ұсынады:

pub fn optimize(prices: &[Vec<f64>]) -> Vec<f64>

Бағалар кіреді, салмақтар шығады. Салмақтар тек ұзын позицияға арналған, теріс емес және қосындысы 1,0-ге тең. Осы бірегейлік — бүкіл мәні: бұл шақыратын кодтың бір жолын да қозғамай-ақ Hierarchical Risk Parity-ді Mean-Variance Optimization-ға ауыстыруға болатынын білдіреді, әрі барлығын бірдей кірістерде салыстыруға болады. Әрбір алгоритм өз крейтінде өмір сүреді (portfolio-hrp, portfolio-mvo, portfolio-nco, …), сондықтан сізге қажетінен ғана тәуелді бола аласыз.

Капот астында олар мүмкіндігінше әртүрлі. Отбасыларды қарап шығайық.

Классика: Mean-Variance Optimization (MVO)

Заманауи портфель теориясы дәл осыдан басталды — Гарри Марковиц, 1952 жыл. MVO бөлуді шектеулі оңтайландыру ретінде қарастырады: белгілі бір тәуекел деңгейі үшін күтілетін кірісті барынша арттыру. Формальды түрде сіз мынаны шешесіз

maxwwμγ2wΣw\max_{w} \quad w^\top \mu - \frac{\gamma}{2}\, w^\top \Sigma w

s.t.iwi=1,wi0\text{s.t.} \quad \sum_i w_i = 1, \quad w_i \ge 0

мұндағы μ\mu — күтілетін кірістер векторы, Σ\Sigma — ковариация матрицасы, ал γ\gamma — сіздің тәуекелден бас тартуыңыз. Кірістер жақсы болғанда, MVO жеңілмейтін: ол, құрылымы бойынша, тиімді шекара болып табылады.

Мәселе мынада — кірістер ешқашан жақсы болмайды. Күтілетін кірістер μ\mu шулы тарихтан бағаланады, ал MVO оларға тым сезімтал — бағадағы шағын өзгеріс бөлуді бір активтегі 80%-дан екіншісіндегі 80%-ға ауыстыруы мүмкін. Тәжірибешілер мұны "қатені барынша арттыру" деп атайды: оңтайландырғыш кірісі ең көп асыра бағаланған активке капиталды құрметпен құяды. MVO — бәрі өздерін өлшейтін эталон және барлығы дәйексөз келтіретін сақтандыру әңгімесі.

Иерархиялық отбасы: HRP, HERC, GHRP, MHRP

2016 жылы Маркос Лопес де Прадо басқа идея ұсынды: ковариация матрицасын мүлдем инверсиялама. Hierarchical Risk Parity (HRP) оңтайландыру есебін тікелей ешқашан шешпей, MVO тұрақсыздығынан аулақ болады. Ол үш кезеңде жұмыс істейді:

  1. Ағаш кластерлеу — корреляция матрицасын қашықтық метрикасына айналдыру, dij=12(1ρij)d_{ij} = \sqrt{\tfrac{1}{2}(1 - \rho_{ij})}, және ұқсас активтер бір бұтақта отыратындай активтер иерархиясын құру.
  2. Квазидиагоналдау — байланысты активтер көрші болатындай ковариация матрицасын қайта реттеу, үлкен мәндерді диагональ бойымен шоғырландыру.
  3. Рекурсивті бисекция — ағашты жоғарыдан төменге бөлу, екі жарты арасында капиталды олардың дисперсиясына кері пропорционал бөлу.

Нәтиже — нарықтың құрылымын құрметтейтін портфель — байланысты активтер бір-бірімен салмақ үшін бәсекелеседі, барлығымен бірден емес. HRP іріктемеден тыс MVO-ға қарағанда әлдеқайда тұрақты, дәл осы себепті ол ешқашан нашар шартталған матрицаны инверсияламайды.

Жоба осы отбасының төрт мүшесін ұсынады:

  • HRP — Лопес де Прадоның бастапқы алгоритмі.
  • HERC (Hierarchical Equal Risk Contribution) — кері дисперсия бөлінуін әрбір түйінде тең тәуекел үлесі ережесімен алмастырады, сондықтан әрбір кластер жалпы тәуекелге тең үлес қосады.
  • GHRP (Generalized HRP) — кластерлеу мен бөлу қадамдарын баптауға мүмкіндік беретін параметрленген жалпылама.
  • MHRP (Modified HRP) — ауыр құйрықты кіріс үлестірімдері үшін бисекция салмағын реттейтін нұсқа.

Олар жақын туыстар, бірақ нақты деректерде мәнді түрде ажырайды — сондықтан төртеуінің де болуы пайдалы.

Көзқарасты енгізу: Black-Litterman

Black-Litterman моделі (Goldman Sachs, 1990-жылдар) MVO-ның ең практикалық кемшілігін түзету үшін жасалды: ол сізді әрбір актив үшін күтілетін кірістерді беруге мәжбүрлейді, тіпті ешқандай пікіріңіз жоқ активтер үшін де. Оның орнына Black-Litterman бейтарап нарықтық-салдарлы тепе-теңдіктен басталады және сізге қаншалықты сенімді екеніңізге қарай өлшенген өз көзқарастарыңызды қосуға мүмкіндік береді.

E[R]=[(τΣ)1+PΩ1P]1[(τΣ)1Π+PΩ1Q]E[R] = \big[(\tau\Sigma)^{-1} + P^\top \Omega^{-1} P\big]^{-1} \big[(\tau\Sigma)^{-1}\Pi + P^\top \Omega^{-1} Q\big]

Мұндағы Π\Pi — тепе-теңдік кірісі, PP мен QQ сіздің көзқарастарыңызды кодтайды ("A активі B активінен 2%-ға асып түседі"), ал Ω\Omega — сол көзқарастардың белгісіздігі. Көзқарасыңыз болмаса, ол қайтадан нарық портфеліне түседі; сенімді болғанда, ол сіздің болжамдарыңызға қатты бейімделеді. Ол он екеуінің ішінде ең пікірге сезімтал болып табылады.

Гибрид: Nested Clustered Optimization (NCO)

NCO, сондай-ақ Лопес де Прадодан, жоғарыдағы екі әлемнің ұтымды бірігуі. Ол активтерді HRP сияқты кластерлейді, содан кейін әрбір кластердің ішінде және қайтадан кластерлер бойынша шағын, жақсы шартталған Mean-Variance Optimization іске қосады. Тек кішкентай, тұрақты ішкі матрицаларды ғана инверсиялап отырып, NCO оны пайдалану қауіпсіз болатын жерде MVO-ның оптималдылығын алады, сонымен қатар бір алып ковариация матрицасын инверсиялаудың тұрақсыздығынан аулақ болады. Ол көбінесе екі мінез-құлықтың да ең жақсысы болып табылады.

Қалған тізім

  • Entropy Pooling (Meucci) — көзқарастар жиынын шектеу ретінде қанағаттандыра отырып, сіздің алдын ала пікіріңізге ең жақын үлестірімді (салыстырмалы энтропия бойынша) табатын ықтималдық негізі. Нүктелік болжамдар емес, белгісіздікті білдіргіңіз келгенде талғампаз.
  • OLPS (Online Portfolio Selection) — жаңа бағалар келген сайын қайта теңгеретін, дәлелденген өкініш шектеулері бар (regret bounds) кезектес стратегиялар отбасы (universal portfolios, follow-the-winner, mean-reversion). Жиындағы шынайы онлайн әдіс.
  • RBA (Robust Bayesian Allocation) — бөлуді Байес шринкаж қабатына орайды, шулы бағаларды ақылға қонымды алдын ала пікірге қарай тартады, сондықтан бір ғана оғаш ай салмақтарды билей алмайды.
  • TIC (Theory-Implied Correlation) — шикі іріктеме корреляция матрицасын теориялық құрылымға (жиі экономикалық таксономияға) қарсы шусыздандырылған матрицамен алмастырады, бұл корреляциялармен қоректенетін иерархиялық әдістерді айтарлықтай жақсарта алады.
  • Pipeline — біздің құрамдас "үй" алгоритмі: HRP негізі, қосымша long/short қабаты және CVaR (құйрық тәуекелі) шектеуімен. Бірыңғай тек-ұзын optimize() кіру нүктесі арқылы ол HRP сияқты әрекет етеді; оның long/short және құйрық-тәуекел механизмі оны нақты сигналдармен басқарғанда жанданады. Біз оны арнайы терең талдауда толық талдаймыз: Inside Our House Algorithm: HRP + Long/Short + CVaR with Hull-White.

Барлық он екісін жарысқа қойғанда не болады

Міне, қызықты бөлігі. Біз барлық он екісін әдейі аралас себетке бағыттадық — үш мықты жеңімпаз (ZEC, Tether Gold, 1000RATS) және үш ауыр ұтылушы (FLOW, KAVA, LINEA) — 2025 жылдың қыркүйегінен 2026 жылдың ақпанына дейінгі терезеде, және әрқайсысына бөлу жасатылды.

Алгоритм Жылдық кіріс Sharpe
RBA +149%
MVO +74% 2.52
Entropy Pooling +57% 1.93
NCO +44%
HERC +30%
Black-Litterman +7%
OLPS −74%
MHRP −78%
GHRP −95%
HRP / Pipeline −103% −2.45
TIC −131%

Мұнан бір нәрсе қорытынды жасамас бұрын қатты ескерту: бұл сандар бір себеттен бір терезеде алынған, әрі себет әдейі шектен тыс жеңімпаздар мен ұтылушыларды қамту үшін жасалған. Бұл өнімділік туралы мәлімдеме емес және мүлдем кеңес те емес — бұл мінез-құлықтық ауытқудың көрсетілімі. Оны өз активтеріңізде іске қосыңыз, сонда рейтинг толығымен қайта реттеледі.

Бірақ нәтиженің пішіні сабақ болып табылады. Кіріс іздейтін әдістер — MVO, RBA, Entropy Pooling, NCO — капиталды жеңімпаздарға шоғырландырып, мықты оң кірістер көрсетті. Таза risk parity әдістері — HRP, TIC, MHRP, GHRP — әртараптандыру үшін салмақты біркелкі таратты, бұл ұтылушыларды да ұстауды білдірді, әрі теріс мәнге түсті. Екі мінез-құлықтың да "дұрыс еместігі" жоқ. Risk parity алдын ала жеңімпаздар мен ұтылушыларды ажырата алмайтын кезде аман қалу үшін жасалған; болашағы білінетіндей етіп жасалған себетте ол өзінің қарапайымдылығының бағасын төлейді. Бұл шиеленіс — шоғырлану мен әртараптандыру, сенім мен беріктік арасында — бір кестедегі бүкіл сала.

Ашық код және тірі жұмыс

Барлығы ашық: git ішкі модульдері ретінде он екі Rust алгоритм крейті, олардың барлығын диспетчерлейтін Axum HTTP бэкенд, интерактивті тиімді-шекара графигі және қатар-қатар салыстыру кестесі бар Next.js фронтенд. Сіз:

  • portfolio-optimizer.marketmaker.cc мекенжайында тірі сынап көре аласыз — активтерді, күндер аралығын және алгоритмді таңдаңыз, әрі салмақтар мен шекараның жаңарғанын көріңіз;
  • бірдей бағаларда барлық он екісін бір мезгілде іске қосу үшін Compare Methods қойындысын ашыңыз;
  • өз Rust жобаңызда кез келген жеке крейтке (portfolio-hrp, portfolio-nco, …) тәуелді бола аласыз.

Негізгі қорытындылар

  1. Әмбебап ең жақсы оңтайландырғыш жоқ. Дұрыс таңдау сіздің кіріс бағаларыңызға қаншалықты сенетініңізге байланысты. Сенсеңіз → MVO/Black-Litterman. Сенбесеңіз → HRP және оның туыстары.
  2. MVO оптималды әрі осал. Ол тиімді шекараны анықтайды, бірақ бағалау қатесін барынша арттырады. Кірістеріңіз шынымен сенімді болмаса, оның салмақтарына күдікпен қараңыз.
  3. Иерархиялық әдістер ең жоғары өнімділікті тұрақтылыққа айырбастайды. Олар сирек бір бэктестте көш бастайды, бірақ сирек құлдырайды да — бұл болашақ белгісіз болғанда шынымен маңызды нәрсе.
  4. Бірыңғай интерфейс — асқан күш. Әрбір алгоритм prices -> weights болғаннан кейін, оларды адал салыстыру ешнәрсеге тұрмайды, ал ауыстыру тегін.

Он екі алгоритмді түсінудің ең жақсы жолы — олардың дауласуын көру. Сізге шынымен маңызды активтерде салыстыруды іске қосыңыз.

Әдебиеттер

  1. Markowitz, H. (1952). Portfolio Selection. The Journal of Finance.
  2. López de Prado, M. (2016). Building Diversified Portfolios that Outperform Out of Sample. The Journal of Portfolio Management.
  3. López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge University Press.
  4. Black, F., & Litterman, R. (1992). Global Portfolio Optimization. Financial Analysts Journal.
  5. Meucci, A. (2008). Fully Flexible Views: Theory and Practice. Risk.
  6. Marketmaker.cc: marketmaker.cc

Дәйексөз

@article{soloviov2026portfoliooptimization,
  author = {Soloviov, Eugen and Zhuravleva, Marina and Kiselev, Kirill},
  title = {12 Portfolio Optimization Algorithms, Compared: HRP, Black-Litterman, NCO and Beyond},
  year = {2026},
  url = {https://marketmaker.cc/en/blog/post/portfolio-optimization-algorithms-compared},
  description = {A tour of twelve portfolio allocation algorithms — MVO, the hierarchical family (HRP, HERC, GHRP, MHRP), Black-Litterman, NCO, Entropy Pooling, OLPS, RBA, TIC and a composite pipeline — behind a single Rust interface, with an honest side-by-side comparison on a mixed crypto basket.}
}
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.

Marina Zhuravleva
Marina Zhuravleva

Financial mathematics

Fifth-year student at Bauman Moscow State Technical University (Automatic Control Systems), specializing in financial mathematics. Background in calibrating stochastic-volatility (Heston) and local-volatility (Dupire) models, fair pricing of options including exotics via both Monte-Carlo and analytic formulas, hedging-error reduction, and exposure to LSV models.

Kirill Kiselev
Kirill Kiselev

Portfolio optimization

Fourth-year student at the Faculty of Mechanics and Mathematics, Novosibirsk State University (NSU); thesis on Heston-model calibration and delta-hedging within the same model. Works on portfolio optimization.

Newsletter

Нарықтан бір қадам алда болыңыз

AI сауда талдаулары, нарық аналитикасы және платформа жаңалықтары үшін біздің ақпараттық бюллетеньге жазылыңыз.

Біз сіздің жекелігіңізді құрметтейміз. Кез келген уақытта жазылымнан шығуға болады.