Bonjour,
Je suis débutante sur R et j'aimerais obtenir des quantiles sur "une fenêtre roulante".
(1) J'ai créé un tableau où je pourrais récupérer mes différents quantiles.
(2) J'ai fait une boucle pour calculer mes quantiles par rapport aux rendements venant de "CCE.rtn" (une boucle pour chaque quantile); en indiquant [i:i+22,] car je veux que le premier quantile soit calculé grâce à 23 rendements, le 2e grâce aux rendements 2 à 24,... Et alors, j'insère les résultats dans mon tableau:Code:
1
2
3 #Création d'une matrice pour après stocker les quantiles: q <- array (NA, dim=c(252,7),dimnames=list(c(NULL),c("0","0.025","0.25","0.5","0.75","0.975","1.0")))
Le problème est que j'obtiens ce tableau de résultats:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #Boucle pour récupérer les quantiles: for (i in seq(from=1, to=252, by=1)) {q[i,"0"] <- quantile (CCE.rtn [i:i+22,], probs=c(0));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,"0.025"] <- quantile (CCE.rtn [i:i+22,], probs=c(0.025));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,3]<- quantile (CCE.rtn [i:i+22,], probs=c(0.25));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,4]<- quantile (CCE.rtn [i:i+22,], probs=c(0.5));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,5]<- quantile (CCE.rtn [i:i+22,], probs=c(0.75));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,6]<- quantile (CCE.rtn [i:i+22,], probs=c(0.975));i<- i+1} for (i in seq(from=1, to=252, by=1)) {q[i,7]<- quantile (CCE.rtn [i:i+22,], probs=c(1.0)); i<- i+1}
Il y a donc un problème dans mon code étant donné que par ligne, mes quantiles sont égaux mais je ne trouve pas ce qui ne va pas.0 0.025 0.25 0.5 0.75 0.975 1.0 1 0.0057388967 0.0057388967 0.0057388967 0.0057388967 0.0057388967 0.0057388967 0.0057388967 2 -0.0081398582 -0.0081398582 -0.0081398582 -0.0081398582 -0.0081398582 -0.0081398582 -0.0081398582 3 -0.0072376673 -0.0072376673 -0.0072376673 -0.0072376673 -0.0072376673 -0.0072376673 -0.0072376673 4 0.0139458860 0.0139458860 0.0139458860 0.0139458860 0.0139458860 0.0139458860 0.0139458860...
Merci d'avance!