quinta-feira, 1 de abril de 2010

Reamostragem

Para quem gosta de construir intervalos para risco, aí vai um exemplo simples de reamostragem de risco.

retorno=rt(100,10)### simulei retornos, mas vc pode pegar dados reais
z = matrix(sample(retorno, 10000*100,rep=T),10000,100)
zz = apply(z,2,sd)quantile(zz,c(0.025,0.975))2* sd(retorno) - quantile(zz,c(0.975,0.025))
### Construindo n intervalos de confiança
nsim<-100 ## número de simulações
res<-sapply(1:nsim,function(i)apply(matrix(sample(retorno, 10000*100,rep=T),10000,100),2,sd))
intervalos<-sapply(1:nsim,function(j) 2* sd(retorno)-quantile(res[,j],c(0.975,0.025)))
intervalos
plot(intervalos[1,],col=3,ylim=c(min(intervalos[1,]),max(intervalos[1,])),type="l",ylab="Desvio padrão", main="Reamostragem")

2 comentários:

Rbali disse...

Modificando sua ultima linha de código e adicionando outra se podem visualizar os dois limites

plot(intervalos[1,],col=3,ylim=c(min(intervalos[]),max(intervalos[])),type="l",ylab="Desvio padrão", main="Reamostragem")

lines(intervalos[2,],col=4)

Anônimo disse...

Eis algo que não entendo.

att,
Gui Ferrari