Basit bir portföy optimizasyonu problemi çöz
Bu ilk egzersizde PortfolioAnalytics kullanarak basit bir portföy optimizasyonu problemini nasıl çözeceğini öğreneceksin. Bir portföy tanımlama (specification) nesnesi oluşturmayı, kısıtlar ve amaçlar eklemeyi ve optimizasyon problemini çözmeyi göreceksin. Portföy problemi, tam yatırım ve yalnızca uzun (long only) kısıtlarına tabi minimum varyanslı bir portföy oluşturmaktır. Amaç, portföy varyansını en aza indirmektir. Bu problemde iki kısıt vardır: tam yatırım kısıtı, ağırlıkların toplamının 1 olması gerektiği; yalnızca uzun kısıtı ise tüm ağırlıkların 0'a eşit veya 0'dan büyük olması gerektiği anlamına gelir (yani kısa pozisyonlara izin verilmez).
Bu egzersiz
R ile Orta Düzey Portföy Analizi
kursunun bir parçasıdırEgzersiz talimatları
index_returnsveri kümesindeki varlık adlarını kullanarak bir portföy tanımlama nesnesi oluştur ve bu nesneyiport_specolarak adlandır.port_specnesnesine ağırlıkların toplamı 1 olacak şekilde bir tam yatırım kısıtı ekle.port_specnesnesine bir varlığın ağırlığı 0 ile 1 arasında olacak şekilde bir yalnızca uzun (long only) kısıtı ekle.- Portföy standart sapmasını en aza indirecek bir amaç ekle ve bunu
port_specnesnesine dahil et. optimize_method = "ROI"kullanarak portföy optimizasyon problemini çöz. Optimizasyonun sonuçlarınıoptadlı bir nesneye ata.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create the portfolio specification
port_spec <- portfolio.spec(colnames(___))
# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add an objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")
# Solve the optimization problem
opt <- optimize.portfolio(___, portfolio = ___, optimize_method = "___")