Многочисленные ограничения в оптимизации портфеля с использованием пакета fPortfolio - PullRequest
2 голосов
/ 13 декабря 2011

Я строю эффективный портфель, используя несколько ограничений: длинную позицию и минимальный вес для данного актива = 34% (скажем). Я использую пакет fPortfolio для этого. Согласно руководству, можно создать составные ограничения, создав вектор-строку. У меня есть некоторые проблемы с этим подходом. Вот пример из руководства fPortfolio.

library(fPortfolio)
Data = SMALLCAP.RET[,c("BKE", "GG", "GYMB", "KRON")]
Spec = portfolioSpec()
setTargetReturn(Spec) = mean(colMeans(Data))
Constraints = "LongOnly"
efficientPortfolio(Data, Spec, Constraints)

Это работает. Однако я хочу дополнить это, добавив условие минимального веса

Spec = portfolioSpec()  
setTargetReturn(Spec) = mean(colMeans(Data))
Constraints = c("LongOnly","minW[1]=0.34")
efficientPortfolio(Data, Spec, Constraints)

Приведенный выше код не дает желаемого результата. Я знаю, что я делаю что-то неправильно, устанавливая ограничение. Любая помощь будет оценена.

1 Ответ

2 голосов
/ 20 декабря 2011

Да, это похоже на линию ограничений.Страница 33 из руководства fPortfolio говорит

Ограничения определяются строкой символов или вектором строк символов.Сводные ограничения: NULL, "LongOnly", "Short" Существует три особых случая: ограничения ограничений = NULL, ограничений = "Short" и ограничений = "LongOnly".Обратите внимание, что эти три параметра ограничения не могут быть объединены с более общими определениями ограничений.

Если вы попробуете это

library(fPortfolio)
Data = SMALLCAP.RET[,c("BKE", "GG", "GYMB", "KRON")]
Spec = portfolioSpec()  
setTargetReturn(Spec) = mean(colMeans(Data))
Constraints = "minW[1]=0.34"
efficientPortfolio(Data, Spec, Constraints)

, вы получите

Title:
 MV Efficient Portfolio 
 Estimator:         covEstimator 
 Solver:            solveRquadprog 
 Optimize:          minRisk 
 Constraints:       minW 

Portfolio Weights:
   BKE     GG   GYMB   KRON 
0.3400 0.3390 0.1671 0.1538 

Covariance Risk Budgets:
   BKE     GG   GYMB   KRON 
0.3457 0.3421 0.2120 0.1002 

Target Return and Risks:
  mean     mu    Cov  Sigma   CVaR    VaR 
0.0243 0.0243 0.0962 0.0962 0.1592 0.1117 

который, я думаю, это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...