Почему портфель Tangency для 4 акций не дает коротких продаж с использованием библиотеки fPortfolio в R - PullRequest
0 голосов
/ 25 июня 2019

Я использую четыре акции, то есть Sunpharma, Maruti, IciciBank и TCS, и пытаюсь найти оптимальный вес всех акций, использующих касательный портфель на эффективной границе. Когда я передаю набор данных возвратов за последние 60 месяцев в следующем коде:

library(timeSeries)
library(PerformanceAnalytics)
library(fPortfolio)

portfolio <- read.csv("c:\\SharePrice.csv")
timeseries_portfolio <- timeSeries(portfolio[,4:6],portfolio[,1])
stockret <- returns(timeseries_portfolio)
tangencyPortfolio(stockret, spec = portfolioSpec(),constraints ="short")

Я не получаю вывод при короткой продаже, даже если я передаю ограничение = "короткая". В основном это приводит к коротким продажам до 0, а затем дается соотношение для оставшихся 3 акций.

Portfolio Weights:
Sun.Pharma     Maruti ICICI.Bank        TCS 
    0.1222     0.4329     0.0000     0.4450 

Однако, когда я делаю это, используя ручной метод кодирования, это дает -1,33 для IciciBank, это означает, что касательный портфель фактически предлагает короткую продажу акций IciciBank, но библиотека дает неверный результат.

Я хочу понять, как разрешить короткие продажи в R-коде касательного портфеля, который присутствует в библиотеке fPortfolio. Странно то, что когда я рассматриваю только 3 акции в портфеле, это дает правильный вес, который соответствует моему ручному коду без использования библиотеки.

...