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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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")))
(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 : Sélectionner tout - Visualiser dans une fenêtre à part
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}
Le problème est que j'obtiens ce tableau de résultats:

 	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...
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.

Merci d'avance!