12 Portföy Optimizasyon Algoritması Karşılaştırıldı: HRP, Black-Litterman, NCO ve Ötesi
Her portföy optimize edicisi aynı soruyu yanıtlar: bir avuç varlığın fiyat geçmişleri verildiğinde, sermayenin hangi fraksiyonu her birine ayrılmalıdır? İşin püf noktası, tek bir doğru yanıtın bulunmamasıdır — yalnızca bir yanıtlar ailesi vardır; her biri piyasaların nasıl davrandığına ve kendi tahminlerinize ne kadar güvendiğinize dair farklı bir varsayımın ürünüdür.
Bu nedenle tek bir yönteme bel bağlamak yerine on ikisinı yan yana çalıştıran, hepsini tek bir arayüz arkasında toplayan ve gerçek veriler üzerinde birbirinden nasıl farklılaştığını izlemenize olanak tanıyan bir araç geliştirdik. Açık kaynak, Rust ile yazılmış ve portfolio-optimizer.marketmaker.cc adresinde çalışıyor. Bu yazı bir haritadır: her algoritmanın neye inandığı, matematiğin nereden geldiği ve on ikisinı aynı kripto sepetine yönelttığinizde ne olduğu.
Tek arayüz, on iki görüş
Projedeki her algoritma tamamen aynı işlev imzasını sunar:
pub fn optimize(prices: &[Vec<f64>]) -> Vec<f64>
Fiyatlar girer, ağırlıklar çıkar. Ağırlıklar yalnızca uzun yönlü (long-only), negatif olmayan ve toplamları 1,0'dır. Bu tekdüzelik tüm amacın kendisidir — çağıran kodun tek bir satırına dokunmadan Hiyerarşik Risk Paritesi'ni Ortalama-Varyans Optimizasyonu ile değiştirebileceğiniz ve hepsini özdeş girdiler üzerinde kıyaslayabileceğiniz anlamına gelir. Her algoritma kendi crate'inde yaşar (portfolio-hrp, portfolio-mvo, portfolio-nco, …), böylece yalnızca ihtiyacınız olana bağımlı olabilirsiniz.
Kaputun altına bakıldığında birbirinden daha farklı olamazlar. Aileler boyunca gezinelim.
Klasik: Ortalama-Varyans Optimizasyonu (MVO)
Modern portföy teorisi buradan başladı — Harry Markowitz, 1952. MVO, tahsisi kısıtlı bir optimizasyon olarak ele alır: belirli bir risk düzeyi için beklenen getiriyi maksimize eder. Biçimsel olarak şunu çözersiniz:
burada beklenen getiriler vektörü, kovaryans matrisi ve risk aversiyonunuzdur. Girdiler iyiyse MVO rakipsizdir: yapısı gereği etkin sınırdır.
Sorun, girdilerin hiçbir zaman iyi olmamasıdır. Beklenen getiriler gürültülü geçmişten tahmin edilir ve MVO bunlara son derece duyarlıdır — bir tahmindeki küçük bir değişiklik, tahsisi bir varlıkta %80'den diğerinde %80'e savurabilir. Uygulayıcılar buna "hata maksimizasyonu" der: optimize edici, getirisi en çok abartılan varlığa neşeyle sermaye yığar. MVO, herkesin karşı ölçtüğü referans nokta ve herkesin alıntıladığı ibret hikâyesidir.
Hiyerarşik aile: HRP, HERC, GHRP, MHRP
2016 yılında Marcos López de Prado farklı bir fikir önerdi: kovaryans matrisini hiç ters çevirme. Hiyerarşik Risk Paritesi (HRP), optimizasyon problemini doğrudan çözmeyerek MVO'nun kararsızlığını aşar. Üç aşamada çalışır:
- Ağaç kümeleme — korelasyon matrisini bir uzaklık metriğine dönüştürür, , ve benzer varlıkların aynı dalda oturduğu bir varlık hiyerarşisi oluşturur.
- Yarı köşegenleştirme — kovaryans matrisini korelasyonlu varlıklar bitişik olacak şekilde yeniden sıralar ve büyük değerleri köşegen boyunca yoğunlaştırır.
- Özyinelemeli ikiye bölme — ağacı yukarıdan aşağıya böler ve iki yarıya varyanslarıyla ters orantılı olarak sermaye tahsis eder.
Sonuç, piyasanın yapısına saygı duyan bir portföydür — korelasyonlu varlıklar her şeyle değil, birbirleriyle ağırlık için rekabet eder. HRP, örnekleme dışı kararlılık bakımından MVO'dan dramatik biçimde daha kararlıdır; çünkü hiçbir zaman kötü koşullanmış bir matrisi ters çevirmez.
Proje bu ailenin dört üyesiyle birlikte gelir:
- HRP — orijinal López de Prado algoritması.
- HERC (Hiyerarşik Eşit Risk Katkısı) — ters varyans bölünmesini her düğümde eşit risk katkısı kuralıyla değiştirir; böylece her küme toplam riske eşit oranda katkıda bulunur.
- GHRP (Genelleştirilmiş HRP) — kümeleme ve tahsis adımlarını ayarlamanıza olanak tanıyan parametreli bir genelleme.
- MHRP (Değiştirilmiş HRP) — daha ağır kuyruklu getiri dağılımları için ikiye bölme ağırlığını ayarlayan bir varyant.
Bunlar birbirine yakın kuzenlerdir; ancak gerçek verilerde anlamlı biçimde birbirinden ayrışırlar — bu yüzden dördüne birden sahip olmak yararlıdır.
Görüş enjekte etmek: Black-Litterman
Black-Litterman modeli (Goldman Sachs, 1990'lar), MVO'nun en pratik eksikliğini gidermek için geliştirildi: her varlık için beklenen getiri sağlamaya zorlar; hakkında görüşünüz olmayan varlıklar dahil. Black-Litterman bunun yerine tarafsız bir piyasa ima edilmiş dengesinden başlar ve kendi görüşlerinizi ne kadar güvenilir olduğunuza göre ağırlıklandırarak harmanlayabilmenizi sağlar.
Burada denge getirisi, ve görüşlerinizi kodlar ("A varlığı B varlığını %2 geride bırakacak") ve bu görüşlerin belirsizliğidir. Görüşünüz yoksa piyasa portföyüne çöker; kesin görüşlüyseniz bahislerinize güçlü biçimde yönelir. On ikinin en görüş odaklı olanıdır.
Hibrit: İç İçe Kümelenmiş Optimizasyon (NCO)
NCO, yine López de Prado'dan, yukarıdaki iki dünyanın akıllıca bir evliliğidir. Varlıkları HRP gibi kümeler, ardından her küme içinde ve kümeler arasında küçük, iyi koşullandırılmış bir Ortalama-Varyans Optimizasyonu çalıştırır. Yalnızca küçük, kararlı alt matrisleri ters çevirerek NCO, MVO'nun kullanımının güvenli olduğu yerlerde optimalliğini yakalarken tek bir dev kovaryans matrisini ters çevirmenin kararsızlığından kaçınır. Çoğu zaman her iki dünyanın da en iyisidir.
Kadronun geri kalanı
- Entropy Pooling (Meucci) — bir dizi görüşü kısıt olarak sağlarken öncele (by relative entropy) en yakın dağılımı bulan olasılıksal bir çerçeve. Noktasal tahminler yerine belirsizlik ifade etmek istediğinizde zariftir.
- OLPS (Çevrimiçi Portföy Seçimi) — yeni fiyatlar geldikçe yeniden dengeleyerek ispat edilebilir pişmanlık sınırlarıyla çalışan sıralı stratejiler ailesi (evrensel portföyler, kazananı izle, ortalamaya dönüş). Kümedeki tek gerçek çevrimiçi yöntem.
- RBA (Sağlam Bayesci Tahsis) — tahsisi Bayesci büzme (shrinkage) katmanıyla sarar; gürültülü tahminleri mantıklı bir öncele doğru çekerek tek bir tuhaf ayın ağırlıklara hâkim olmasını engeller.
- TIC (Teoriye Dayalı Korelasyon) — ham örnek korelasyon matrisini teorik bir yapıya (genellikle ekonomik bir taksonomi) karşı gürültüden arındırılmış biriyle değiştirir; bu korelasyonları kullanan hiyerarşik yöntemleri belirgin biçimde iyileştirebilir.
- Pipeline — bileşik "ev" algoritmamız: isteğe bağlı uzun/kısa katman ve CVaR (kuyruk riski) kısıtıyla bir HRP omurgası. Tek tip uzun yönlü
optimize()giriş noktasıyla HRP gibi davranır; uzun/kısa ve kuyruk risk mekanizması açık sinyallerle sürüldüğünde devreye girer. Bunu ayrıntılı bir derinlemesine inceleme yazısında ele alıyoruz: Ev Algoritmamızın İçi: HRP + Uzun/Kısa + Hull-White ile CVaR.
On ikisinı yarıştırdığınızda ne oluyor
İşte eğlenceli kısım. On ikisinı kasıtlı olarak karışık bir sepete yönelttik — üç güçlü kazanan (ZEC, Tether Gold, 1000RATS) ve üç ağır kaybeden (FLOW, KAVA, LINEA) — Eylül 2025'ten Şubat 2026'ya uzanan pencerede, her birinin tahsis yapmasına izin verdik.
| Algoritma | Yıllıklandırılmış getiri | 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 | — |
Buradan bir şey okumadan önce yüksek sesle bir uyarı: bu rakamlar bir sepetten bir pencerede elde edilmiştir ve sepet kasıtlı olarak aşırı kazananlar ve kaybedenler içerecek şekilde tasarlanmıştır. Bu bir performans iddiası değil ve kesinlikle tavsiye değil — davranışsal farklılığın bir gösterimidir. Kendi varlıklarınızda çalıştırdığınızda sıralama tamamen değişecektir.
Ancak sonucun şekli dersi oluşturur. Getiri odaklı yöntemler — MVO, RBA, Entropy Pooling, NCO — sermayeyi kazananlarda yoğunlaştırdı ve güçlü pozitif getiriler kaydetti. Saf risk paritesi yöntemleri — HRP, TIC, MHRP, GHRP — çeşitlendirme adına ağırlığı eşit biçimde dağıttı; bu da kaybedenleri tutmak anlamına geldi ve negatife gitti. Her iki davranış da "yanlış" değil. Risk paritesi, kazananları ve kaybedenleri önceden söyleyemediğinizde hayatta kalmak için inşa edilmiştir; geleceğin bilinebilir olacağı şekilde tasarlanmış bir sepette, mütevazılığının bedelini öder. Bu gerilim — yoğunlaşma ve çeşitlendirme, inanç ve sağlamlık — tüm alanı tek bir tabloda özetler.
Açık kaynak ve canlı
Tamamı açıktır: git alt modülleri olarak on iki Rust algoritma crate'i, hepsini yönlendiren bir Axum HTTP arka ucu ve etkileşimli etkin sınır grafiği ile yan yana karşılaştırma tablosuna sahip bir Next.js ön ucu. Şunları yapabilirsiniz:
- portfolio-optimizer.marketmaker.cc adresinde canlı olarak deneyin — varlıkları, tarih aralığını ve algoritmayı seçin, ağırlıkları ve sınırın nasıl güncellendiğini izleyin;
- Yöntemleri Karşılaştır sekmesini açarak tüm on ikiyi aynı anda özdeş fiyatlar üzerinde çalıştırın;
- Kendi Rust projenizde tek bir crate'e (
portfolio-hrp,portfolio-nco, …) bağımlı olun.
Çıkarımlar
- Evrensel en iyi optimize edici yoktur. Doğru seçim, getiri tahminlerinize ne kadar güvendiğinize bağlıdır. Güveniyorsanız → MVO/Black-Litterman. Güvenmiyorsanız → HRP ve arkadaşları.
- MVO optimal ve kırılgandır. Etkin sınırı tanımlar ancak tahmin hatasını maksimize eder. Girdileriniz gerçekten güvenilir olmadıkça ağırlıklarına şüpheyle bakın.
- Hiyerarşik yöntemler tepe performansı kararlılıkla takas eder. Tek bir geriye dönük testte nadiren zirveye çıkarlar ama patlayıp çökmeleri de nadirdir — gelecek bilinmediğinde gerçekten önemli olan budur.
- Tek tip bir arayüz bir süper güçtür. Her algoritma
fiyatlar -> ağırlıklarolduğunda, onları dürüstçe karşılaştırmanın maliyeti sıfırdır ve geçiş ücretsizdır.
On iki algoritmayı anlamanın en iyi yolu onları tartışırken izlemektir. Gerçekten önem verdiğiniz varlıklar üzerinde karşılaştırmayı çalıştırın.
Kaynaklar
- Markowitz, H. (1952). Portfolio Selection. The Journal of Finance.
- López de Prado, M. (2016). Building Diversified Portfolios that Outperform Out of Sample. The Journal of Portfolio Management.
- López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge University Press.
- Black, F., & Litterman, R. (1992). Global Portfolio Optimization. Financial Analysts Journal.
- Meucci, A. (2008). Fully Flexible Views: Theory and Practice. Risk.
- Marketmaker.cc: marketmaker.cc
Atıf
@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/tr/blog/post/portfolio-optimization-algorithms-compared},
description = {On iki portföy tahsis algoritmasının — MVO, hiyerarşik aile (HRP, HERC, GHRP, MHRP), Black-Litterman, NCO, Entropy Pooling, OLPS, RBA, TIC ve bileşik bir pipeline — tek bir Rust arayüzü arkasında turu; karışık bir kripto sepetinde dürüst bir yan yana karşılaştırma ile.}
}
Yazarlar
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.
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.
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.