Я запускаю генетический алгоритм в R, чтобы выбрать веса для акций в портфеле, имея самое высокое соотношение доходности / риска.Проблема в том, что веса должны суммироваться до 1, но код, который я пробовал до сих пор, не работает.Любая помощь будет оценена.
Это мой код:
normalise=function(v){v/sum(v)}
f=function(weights){
weights=normalise(weights)
(weights%*%returns)/(weights%*%variances)
}
GA=ga(type="real",fitness=f,lower=rep(0,length(positive)),
upper=rep(1,length(positive)),maxiter=20000,run=300)