12 Portföy Optimizasyon Algoritması Karşılaştırıldı: HRP, Black-Litterman, NCO ve Ötesi

Bir sepet kripto, on iki tahsis algoritması, dürüst bir karşılaştırma. HRP, HERC, MVO, Black-Litterman, NCO, Entropy Pooling ve daha fazlasını tek bir arayüz arkasında çalıştıran açık kaynaklı bir Rust portföy optimize edici yayımladık - her birinin nasıl düşündüğünü ve neden tek bir kazananın olmadığını anlatıyoruz.

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:

max⁡ww⊤μ−γ2 w⊤Σw\max_{w} \quad w^\top \mu - \frac{\gamma}{2}\, w^\top \Sigma w

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

burada μ\mu beklenen getiriler vektörü, Σ\Sigma kovaryans matrisi ve γ\gamma 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 μ\mu 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:

  1. Ağaç kümeleme — korelasyon matrisini bir uzaklık metriğine dönüştürür, dij=12(1−ρij)d_{ij} = \sqrt{\tfrac{1}{2}(1 - \rho_{ij})}, ve benzer varlıkların aynı dalda oturduğu bir varlık hiyerarşisi oluşturur.
  2. 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.
  3. Ö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.

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]

Burada Π\Pi denge getirisi, PP ve QQ görüşlerinizi kodlar ("A varlığı B varlığını %2 geride bırakacak") ve Ω\Omega 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.

AlgoritmaYıllıklandırılmış getiriSharpe
RBA+%149—
MVO+%742,52
Entropy Pooling+%571,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

  1. 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ı.
  2. 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.
  3. 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.
  4. Tek tip bir arayüz bir süper güçtür. Her algoritma fiyatlar -> ağırlıklar olduğ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

  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

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.}
}