Portfolio Balancer: Ierarxik Investitsiyalarni Boshqarish Tizimi
Portfolio Balancer: bir nechta hamyon, birja va aktivlar bo'ylab markazlashmagan boylikni boshqarishning ierarxik yondashuvi.
Har bir aktiv o'zining "uyida" — hamyonda yashaydigan murakkab investitsiyalarni boshqarish tizimini tasavvur qiling, bunda barcha "uylar" kompyuterdagi fayl tizimiga o'xshash aniq ierarxik tuzilmaga tashkil etilgan. Aynan shu yondashuvni biz ko'rib chiqamiz.
Tizim Arxitekturasi: Uch Turdagi Ob'ektlar
Tizimning yadrosida qurilish bloklari sifatida xizmat qiluvchi uchta asosiy tushuncha mavjud:
Wallet (Hamyon) — faqat bitta turdagi aktivni saqlaydigan eng oddiy element. Uni faqat dollar yoki faqat bitkoin saqlanadigan bank seyfi katakchasi deb tasavvur qiling. Aralashuv yo'q — bitta hamyon, bitta aktiv.
Asset (Aktiv) — muayyan tanga, aksiya yoki boshqa har qanday moliyaviy vosita. Bitkoin, Apple aksiyalari, AQSh dollari — bularning barchasi aktivlardir.
Portfolio — boshqa papkalarni (portfellarni) yoki fayllarni (aktivlarni) o'z ichiga olishi mumkin bo'lgan fayl tizimidagi papkaga o'xshaydi. Portfel ma'lum bir tamoyil asosida bog'liq elementlarni guruhlaydi.
Daraxt Tuzilmasi: Umumiydan Aniqqa
Tizim barcha aktivlarni aniq ierarxiyaga ega daraxtga tashkil etadi:
Ierarxik tuzilmani vizuallashtirish: global ildizdan turli birjalardagi aniq aktiv hamyonlarigacha
Daraxtning ildizi — bu sizning barcha aktivlaringizning yig'indisini ifodalaydi. Uni "Mening Investitsiyalarim" asosiy papkasi deb tasavvur qiling.
Birinchi daraja — aktivlar foydalanuvchilar bo'yicha bo'linadi. Agar tizim bir nechta shaxsga xizmat ko'rsatsa, har biri o'z shoxobchasiga ega bo'ladi.
Ikkinchi daraja — aktivlar birjalar bo'yicha guruhlanadi. Bitta foydalanuvchi Binance, Coinbase, Sberbank kabi birjalarda aktivlarga ega bo'lishi mumkin.
Uchinchi daraja — muayyan birjadagi hisoblar. Bitta birjada sizda spot hisob, fyuchers hisobi, jamg'arma hisobi bo'lishi mumkin.
To'rtinchi daraja — sektorlar yoki strategiyalar bo'yicha guruhlash. Masalan, "Texnologik Aksiyalar," "Kriptovalyutalar," "Stabilkoinlar" — mavzuli papkalar kabi.
Beshinchi daraja — aktivlarga ega bo'lgan aniq hamyonlar. Bu yerda sizning Bitkoiningiz, Efiriumingiz, dollaringiz joylashgan.
Tizimning Ikki Holati: Haqiqat va Orzular
Tizim ikkita parallel daraxt bilan ishlaydi:
Haqiqiy Portfel Daraxti — bu sizda hozirda mavjud bo'lgan narsa. Tizim bu ma'lumotlarni birjalardan API orqali to'g'ridan-to'g'ri oladi. Binance-da 1,5 Bitkoin, Sberbank-da 100 Apple aksiyasi, Coinbase-da 5000 dollar — hammasi o'z holicha.
Istalgan Portfel Daraxti — bu foizlarda ifodalangan sizning rejangiz. Siz aytasiz: "Men aksiyalarda 60%, kriptovalyutalarda 30%, naqd pulda 10% bo'lishini xohlayman." Shundan so'ng tizim aniq miqdorlarni hisoblab chiqadi.
Balanslash Funksiyasi: Oddiydan Murakkabga
Eng asosiy balanslash funksiyasi ikkita daraxtni oddiy taqqoslash sifatida ishlaydi:
Diff-algoritmi haqiqiy va istalgan holatlarni taqqoslaydi, farqlarni aniqlaydi va ko'rsatma beradi: "0,3 Bitkoin soting, $15,000 ga aksiya sotib oling." Bu maqsadga erishish uchun nima qilish kerakligini ko'rsatuvchi kalkulyator kabidir.
Biroq, funksiya ancha murakkabroq bo'lishi mumkin. Ilg'or balanslash nafaqat nima sotib olish va sotishni, balki buni qayerda qilishni ham hisobga oladi. U shunday tavsiya berishi mumkin: "Bitkoinni Binance-dan Coinbase-ga o'tkazing, chunki u yerda sotish kursi yaxshiroq" yoki "Aksiya sotib olish uchun dollarni bankdan birjaga chiqaring."
Diff Tree: Daraxtlarni Taqqoslash Sehri
Diff Tree — haqiqiy va istalgan portfel holatlari o'rtasidagi farqlarni ko'rsatuvchi natijaviy daraxt. Uni har bir tugunda nima qilish kerakligi haqida ko'rsatmalar mavjud harakat rejasi deb tasavvur qiling.
'Diff Tree' harakat rejasi: istalgan holatga erishish uchun aynan nimani sotib olish (yashil) yoki sotish (qizil) kerakligini aniqlash
Diff tree-dagi har bir tugun ma'lumotni o'z ichiga oladi:
- Aktivning joriy miqdori
- Aktivning istalgan miqdori
- Farq (qancha sotib olish yoki sotish kerak)
- Operatsiya (sotib olish/sotish/ushlab turish)
Masalan, sizda 1 Bitkoin bor, lekin 0,7 kerak bo'lsa, ushbu aktiv uchun diff tree tuguni shuni ko'rsatadi: "0,3 Bitkoin soting." Sizda aksiyalarda 50% bor, lekin 60% kerak bo'lsa, tizim shuni ko'rsatadi: "X dollar qiymatidagi aksiya sotib oling."
Diff tree qurish algoritmi rekursiv tarzda ishlaydi — u avval yuqori darajalardagi (portfellardagi) farqlarni hisoblaydi, so'ngra aniq aktivlargacha chuqurlashadi. Bu nafaqat nima sotib olish/sotishni, balki buni qaysi tartibda qilishni ham tushunish imkonini beradi.
Diff tree balanslash operatsiyalarini bajarish uchun asos bo'ladi. Tizim avval sotish operatsiyalarini bajaradi (mablag'larni bo'shatish uchun), so'ngra sotib olish operatsiyalarini (bo'shatilgan mablag'larni yetarli vaznga ega bo'lmagan aktivlarga sarmoyalash uchun).
Virtual Daraxtlar: Murakkab Mantiq Kerak Bo'lganda
Tizimning eng qiziqarli qismi maxsus vazifalar uchun virtual daraxtlar yaratish imkoniyatidir. Narx farqidan foydalanish uchun ikkita turli birjada bir xil miqdorda Litecoin ushlab turishi kerak bo'lgan arbitraj botingiz bor deb tasavvur qiling.
Yagona "LTC 100%" hamyoni o'rniga, tizim ikkita alohida hamyon yaratadi: "LTC 10%" va "LTC 90%." Arbitraj botining virtual daraxti 10% hamyoniga murojaat qiladi. Tizim ushbu 10%-ni bloklangan deb belgilaydi va kim tomonidan ekanligini ko'rsatadi — arbitraj boti tomonidan.
Bu xuddi bank ilovangizda turli maqsadlar uchun virtual "konvertlar" yaratishingiz mumkin bo'lgani kabi, pul esa jismonan bitta hisobda qoladi.
Amaliy Qo'llanish
Bunday tizim investorlarning haqiqiy muammolarini hal qiladi:
Rutina vazifalarni avtomatlashtirish — nima sotish va sotib olishni qo'lda hisoblash shart emas. Tizim barcha hisob-kitoblarni siz uchun bajaradi.
Murakkab strategiyalarni nazorat qilish — siz bir vaqtning o'zida bir nechta savdo botlarini, arbitraj strategiyalarini va uzoq muddatli investitsiyalarni boshqarishingiz mumkin.
Shaffoflik — barcha aktivlar tuzilmasi bir qarashda ko'rinadi. Hamma narsa qayerda va nima uchun ekanligi aniq.
Moslashuvchanlik — siz strategiyalarni osongina o'zgartirishingiz, aktivlarni birjalar o'rtasida qayta taqsimlashingiz va yangi vositalar qo'shishingiz mumkin.
Ushbu tizim turli platformalardagi ko'plab aktivlarni tartibsiz boshqarishni tartiblashtirilgan, tushunarli jarayonga aylantiradi. Bu tartibsiz shkafni sinchkovlik bilan tashkil etilgan garderob tizimiga aylantirishga o'xshaydi — lekin investitsiyalar uchun.
Xulosa
Portfolio Balancer zamonaviy texnologiyalar murakkab investitsiya jarayonlarini qanday soddalashtira olishini ko'rsatadi. Tizim portfelni boshqarish sehr emas, balki aniq algoritmlar va tushunarli mantiqqa ega tartiblashtirilgan yondashuv ekanligini ko'rsatadi.
Tizimning demo versiyasini shu yerda ko'rishingiz mumkin: https://portfolio-balancer-tau.vercel.app/en
Loyihaning manba kodi GitHub-da mavjud: https://github.com/suenot/portfolio-balancer
Iqtibos
@software{soloviov2025portfoliobalancer,
author = {Soloviov, Eugen},
title = {Portfolio Balancer: Hierarchical Investment Management System},
year = {2025},
url = {https://marketmaker.cc/en/blog/post/portfolio-balancer},
version = {0.1.0},
description = {An overview of the Portfolio Balancer investment management system, which organizes assets into a hierarchical structure similar to a file system to simplify complex investment processes.}
}
Authors
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.