相关疑难解决方法(0)

遗传算法优化

几个星期前我问了一个关于如何在R中进行优化的问题(使用Optimize R优化矢量).现在我已经掌握了R中的基本优化,我想开始使用GA来解决解决方案.

鉴于目标函数:

div.ratio <- function(weight, vol, cov.mat){
  weight <- weight / sum(weight)
  dr <- (t(weight) %*% vol) / (sqrt(t(weight) %*% cov.mat %*% (weight)))  
  return(-dr)
}
Run Code Online (Sandbox Code Playgroud)

我正在使用genalg包进行优化,特别是"rbga.bin"函数.但事情是似乎无法传递多个参数,即无法传递vol和cov.mat.我错过了什么或理解错误.

编辑:在genalg包中,有一个名为rbga.bin的函数,我正在使用它.

以下是上一个问题的简单代码,可以帮助您入门:

rm(list=ls())
require(RCurl)
sit = getURLContent('https://github.com/systematicinvestor/SIT/raw/master/sit.gz',     binary=TRUE, followlocation = TRUE, ssl.verifypeer = FALSE)
con = gzcon(rawConnection(sit, 'rb'))
source(con)
close(con)
load.packages('quantmod')


data <- new.env()

tickers<-spl("VTI,VGK,VWO,GLD,VNQ,TIP,TLT,AGG,LQD")
getSymbols(tickers, src = 'yahoo', from = '1980-01-01', env = data, auto.assign = T)
for(i in ls(data)) data[[i]] = adjustOHLC(data[[i]], use.Adjusted=T)

bt.prep(data, align='remove.na', dates='1990::2013')

prices<-data$prices[,-10]  
ret<-na.omit(prices/mlag(prices) - …
Run Code Online (Sandbox Code Playgroud)

optimization r genetic-algorithm

7
推荐指数
1
解决办法
4668
查看次数

如何在约束优化中将参数'sum设置为1

这是代码(如果它太久了,我很抱歉,但这是我的第一个例子); 我正在使用CreditMetricsA. Wittmann和DEoptim求解器包中的CVaR示例进行优化:

library(CreditMetrics)
library(DEoptim)

N <- 3
n <- 100000
r <- 0.003
ead <- rep(1/N,N)
rc <- c("AAA", "AA", "A", "BBB", "BB", "B", "CCC", "D")
lgd <- 0.99
rating <- c("BBB", "AA", "B")   
firmnames <- c("firm 1", "firm 2", "firm 3")
alpha <- 0.99

# correlation matrix
rho <- matrix(c(  1, 0.4, 0.6,
                  0.4,   1, 0.5,
                  0.6, 0.5,   1), 3, 3, dimnames = list(firmnames, firmnames),
              byrow = TRUE)

# one year empirical migration matrix …
Run Code Online (Sandbox Code Playgroud)

optimization r constraints

6
推荐指数
1
解决办法
4592
查看次数

标签 统计

optimization ×2

r ×2

constraints ×1

genetic-algorithm ×1