Bonjour à tous, j'ai un petit soucis, j'ai une série de 2500 observation que j'appel r, je veux la tronquer en 252 observation et donc je souhaite faire une fenêtre glissante de 252 observation, calculer divers statistiques sur ces 252 observations, puis prendre les 252 suivante et calculer les stats et ainsi de suite:
Le problème c'est que ça tourne que pour les 252 premiers jours merci d'avance pour votre aide
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
17
18
19 T=length(r); %compte le nombre d'obversation de la série Stats=zeros(10,10); %matrice pour les 10 années et les 10 stats descriptives ww= 252; %fênetre de 252 jours qui décale de 252 jours jusqu'a T ws= 252; for i=ww:ws:T subr= r(i-ww+1:i); Obs = length(subr); mean= mean(subr); max = max(subr); min = min(subr); Median = median(subr); EcartType = std(subr); Skweness = skewness(subr); Kurtosis = kurtosis(subr); Jarque_Berra = jbtest(subr); Stats = [Obs(end),mean(end),max(end),min(end),Median(end),Ecartype(end),Skewness(end),Kurtosis(end),Jarque_Berra(end)]; %Matrice avec pour chaque année (252 jours) les stats descriptives. end
En fait il n'y a que OBS qui tourne le reste j'ai ce message d'erreur,:Pourtant, j'ai bien 252 valeurs dans Subr et une valeur négative ne dois pas empêcher de calculer la moyenne ?!"Subscript indices must either be real positive integers or logicals."
Partager