quadprog

    2热度

    3回答

    从捐助者到StackOverflow的大量帮助,我设法组合了一个函数来导出最大化夏普比率的2资产投资组合的权重。不允许卖空,权重总和加1.我现在想要做的是限制资产A不超过或小于用户定义权重的10%。作为一个例子,我想限制资产A的权重不低于54%或高于66%(即60%+/- 10%)。所以在下面的例子中,我将以(0.54,0.66)的权重代替不受约束的(0.243,0.7570)。我认为这可以通过调

    0热度

    1回答

    我有一个关于这个算法的问题,我需要回答,因为我正在审计我的模型,这个不一致是有关的。 我正在做均值 - 方差优化,它们必须总和为1,并且权重必须在我指定的范围内。我输入如下: Dmat = Sigma dvec = rep(0, ncol(Sigma)) Amat = rbind(rep(1, ncol(Sigma)), diag(ncol(Sigma)), -diag(ncol(Sigma)

    1热度

    1回答

    错误所以基本上我有两个矩阵包含股票(R)超额回报和预期超额回报(ER)。 R<-matrix(runif(47*78),ncol = 78) ER<-matrix(runif(47*78),ncol = 78) 然后,我将这些删除R的第一行,并添加ER的第一行,形成一个新的矩阵R1。 我然后这样做对于R2即去除和R的前两行,并与第一2行ER的rbinding它。 我这样做,直到我有n-1个新

    1热度

    1回答

    我正在使用quadproglink来查找最优权重组合。 到目前为止,我已成功地实现长仅约束(即权值不能小于零w >= 0 and w1 + w2 + ... wN = 1)如下: FirstDegree = zeros(NumAssets,1); SecondDegree = Covariance; Aeq = ones(1,NumAssets); beq =

    1热度

    2回答

    我有一个表“数据”,其中大约100,000,000条记录。 我已经添加了一个新的列“batch_id”(整数)。 在应用程序层上,我正在更新每个10,000,000条记录的10000个记录的batch_id(batch_id对于10k总是相同)。 我在做这样的事情(应用层伪代码): loop { $batch_id = $batch_id + 1; mysql.query("U

    0热度

    1回答

    我试着去解决R中的以下问题,请使用quadprog包: min: vec %*% p + t(p) %*% mat %*% p st: p >= 0 其中 mat <- matrix(c(1162296,0,0,0,0,1,0,0,951.7089,0,1,0,-951.7089,0,0,1),4) vec <- c(6341934541.1,175800.1,-356401.7,1439

    0热度

    1回答

    我试图找到一个向量,使乘法矩阵的残差平方和最小。 我知道scipy的优化包(它具有最小化函数)。但是,我的代码有一个额外的限制。 w的所有条目的总和(见下面的函数)必须等于1,并且w的任何条目都不能小于0. 是否有一个包为我做了这个?如果不是,我该怎么做? 试图尽量减少宽: def w_rss(w,x0,x1): predictions = np.dot(x0,w) error

    0热度

    1回答

    为了实现ADMM优化,我尝试使用quadprog。我希望尽量减少方程为 `min x^T*S*x + 1(x) + lambda^T*(x-z) + rho/2*||x-z||²` quadprog以下格式 `min -d^T*b + 1/2*b^T*D*b` 下最小化功能深化发展我的功能后,我确实有这样的事情 `min x^T*C*x + lambda^T*(x-z) - rho*x*z

    -1热度

    1回答

    另一个投资组合优化问题... 我试着去最大限度地给予限制总和(P)四个资产组合= 1,MaxW < = 0.55和MinW>的回归使用quadprog = 0.05。 在这期间的平均回报是 avgR <- c(0.0008990382, 0.0002285502, 0.0001120934, 0.0001540948) 而协方差矩阵 covM <- matrix(c(2.876044e-04,

    0热度

    1回答

    我有一个查询返回列表中的值。 例如: SELECT * FROM some_table WHERE name IN ('name1', 'name2', 'name3', 'name4', 'name5', 'name6', 'name7', 'name8', 'name9', 'name10') 我想查看可能不在列表中的内容。 如: SELECT * FROM #list WHERE