2
我正在使用多重約束構造高效投資組合:即給定資產的多頭頭寸和最小權重= 34%(比如說)。我正在使用fPortfolio軟件包來執行此操作。根據手冊,可以通過創建一個字符串向量來提供複合約束。這種方法我有一些問題。以下是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)
This Works。不過,我想通過添加最小重量條件來增加這一點
Spec = portfolioSpec()
setTargetReturn(Spec) = mean(colMeans(Data))
Constraints = c("LongOnly","minW[1]=0.34")
efficientPortfolio(Data, Spec, Constraints)
上面的代碼沒有給出想要的結果。我知道我在設置約束條件時做錯了什麼。任何幫助將不勝感激。
謝謝..我也這麼想。這是一個巨大的限制,不能對權重施加更復雜的限制。 – user227290
@ user227290:如果你想要一些東西,你可以使用'Constraints =「minW = c(0.74,0,0,0)」'或'Constraints =「minW = c(0.74,-0.5,0,-1)更復雜的是:前者將是「僅限長」 – Henry