Construction Frontière efficiente
Bonjour,
Je dois construire une frontière efficiente avec 5 actifs.
J'ai construit un programme qui étant donné une rentabilité cible nous donne le portefeuille de risque minimal.
Voici ce programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
FRE <- function(rentcible)
{
top.mat <- cbind(2*sigma.mat, mu.vec, rep(1, 5))
mid.vec <- c(mu.vec, 0, 0)
bot.vec <- c(rep(1, 5), 0, 0)
Ax.mat <- rbind(top.mat, mid.vec, bot.vec)
b.vec <- c(rep(0, 5), rentcible, 1)
z.mat <- solve(Ax.mat)%*%b.vec
x.vec <- z.mat[1:5,]
mu.px = as.numeric(crossprod(x.vec, mu.vec))
sig2.px = as.numeric(t(x.vec)%*%sigma.mat%*%x.vec)
sig.px = sqrt(sig2.px)
cat(sig.px)
} |
Maintenant j'ai construit une séquence de valeur comprise entre 0 et 15% avec un pas de 0.0001 de la manière suivante:
Code:
1 2
|
y <- seq(from = 0, to = 0.15,0.0001) |
J'ai essayé de faire une fonction qui pour chaque valeur de y donne le portefeuille de risque minimal.
Code:
1 2 3 4 5 6 7 8 9 10
|
FER <- function()
{
for (i in 1:length(y))
{
x[i] <- FRE2(y[i])
}
} |
J'ai essayé de modifier plusieurs fois ce programme mais il y a toujours un message d'erreur lorsque je fais le plot(x,y).
De plus j'ai aussi essayé de faire plot.function mais sans succès.
Savez-vous d'où pourrait venir cette erreur?
Par avance merci.