Ich bin ein R-Anfänger und im Rahmen einer Aufgabe möchte ich einen Minimum Drawdown Portfolio programmieren. Ich weiß dass der Drawdown eines einzelnen Assets wie folgt programmiert wird:
Code: Alles auswählen
N = ncol(Data)
T = nrow(Data)
C = matrix(data=NA, nrow=T, ncol=N)
for (i in 1:N)
{
C[,i] = as.numeric(format(round(cumprod(Data[,i]+1)-1, digits = 4), scientific = FALSE))
}
Was mir schwer fällt ist die Portfoliogewichte herauszufinden, die der minimalste Drawdown aufweisen (mit den Restriktionen von 100% investment + kein Leerverkauf, also die Summe des Lösungsvektors w 1 ist und alle Elemente >= 0). Ich habe lpSolve probiert aber es scheint ungeeignet zu sein, weil C ein Vektor ist und kein Koeffizient. Ich glaube dass der Ansatz Ax = b + irgendeine Matrixmultiplikation die richtige Richtung ist, allerdings ist A an der Stelle nicht invertierbar und ich kann somit x nicht isolieren.
Hat jemand eine Idee