cuando digo acumular es que, el resultado de W me lo almacene en una matriz que deba tener 4 filas T columnas. Tendra tantas T como veces calcule rho.
Lo he diseñado de golpe como abajo te adjunto. y si que me da, ahora lo que quiero es poder calcular la w, para cada rho de manera individual, que supongo que sera con un for pero no se muy bien como implementarlo, en el tema de los bucles ando bastante perdido.
A continuacion, te presento lo que he hecho:
rm(list=ls())
r=matrix(c(0.095, 0.070, 0.090, 0.075), nrow=4)
x=matrix(c(0.038, 0.0085, 0.0089, 0.0066, 0.0085, 0.0331, 0.0156, 0.0039, 0.0089, 0.0156, 0.0334, 0.007, 0.0066, 0.0039, 0.007, 0.0240),nrow=4)
varcov=solve(x)
t<-matrix(c(1,1,1,1),nrow=4)
rho <- seq(0.05, 0.15, 0.001)
lrho=length(rho)
i=1:lrho
a=t(t)%*%solve(x)%*%t
ba=t(t)%*%solve(x)%*%r
c=t(r)%*%solve(x)%*%r
d=a%*%c-ba^2
g=varcov%*%((t%*%c-r%*%ba))%*%solve(d)
h=varcov%*%((r%*%a-t%*%ba))%*%solve(d)
w =rep(g,101)+h%*%rho
var=t(w)%*%x%*%w
desvtip=sqrt(diag(var))
rend=t(w)%*%r
plot(t(desvtip),rend, type="l", ylim=c(0.05,0.11),xlim=c(0,0.25),main="Cartera Minima Varianza",xlab="Standard Desviation", ylab="Return")
ahora lo que quiero cambiar es el calculo de W, como al principio en la primera duda lo he expresado, y la unica manera para poder calcularlo por dimension de las variables es que la rho vaya entrando con dimension 1x1.
Espero haberme expresado mejor.
Un saludo
Gracias