Tag Archives: cac40

We keep breaking records ? so what ?… Get statistical perspective….

This summer, we have been told that some financial series broke some records (here, in French)

For instance, the French CAC40 had negative return for 11 consecutive days (which has never been seen, so far).

> library(tseries)
> x<-get.hist.quote("^FCHI")
> Y=x$Close
> Z=diff(log(Y))
> RUN=rle(as.character(Z>=0))$lengths
> n=length(RUN)
> LOSS=RUN[seq(2,n,by=2)]
> GAIN=RUN[seq(1,n,by=2)]
> TG=sort(table(GIN))
> TG[as.character(1:13)]
GAIN
   1    2    3    4    5    6    7    8    9 <NA> <NA> <NA>   13
 645  336  170   72   63   21    7    3    4   NA   NA   NA    1
 
> TL=sort(table(LOSS))
> TL[as.character(1:15)]
LOSS
   1    2    3    4    5    6    7    8    9 <NA>   11 <NA> <NA> 
 664  337  186   68   42   14    5    3    1   NA    1   NA   NA 
 
> TR=sort(table(RUN))
> TR[as.character(1:15)]
RUN
   1    2    3    4    5    6    7    8    9 <NA>   11 <NA>   13 
1309  673  356  140  105   35   12    6    5   NA    1   NA    1

Indeed 11 consecutive days of negative returns is a record. But one should keep in mind the fact that the real records for runs is 13 consecutive days with positivereturns…
But what does that mean ? Can we still assume time independence of log-returns (since today, a lot of financial models are still based on that assumption) ?
Actually. if financial series were time-independence, such a probability, indeed, should be rather small. At least on 11 or 10 runs. Something like

http://freakonometrics.blog.free.fr/public/perso3/cacindp03.gif

(assuming that each day, the probability to observe a negative return is 50%). But maybe not over 25 years (6250 trading days): the probability to observe a sub-sequence of 10 consecutive negative value (with daily probability of one half) over 6250 observations will be much larger. My guess is that is would be

http://freakonometrics.blog.free.fr/public/perso3/cacindp02.gif

where at the numerator we have the number of favourable cases over the total number of cases. At the numerator, the first number the number of cases where the first 10 (at least) are negative, then for the second one, we count the number of cases where the first is positive, then the next 10 (at least) are negative (and then the second is positive and then the next 10 are negative, the third is positive etc). For those interested by more details (and a more general formula on runs), an answer can be found here.
But note that the probability is quite large… So it is not that unlikely to observe such a sequence over 25 years.
A classical idea when looking at time series is to look at the autocorrelation function of the returns,

which might suggest that there is no correlation with past returns. But it should be possible to do more advanced tests.
On the CAC40 series, we can run an independence run test on the latest 100 consecutive days, and look at the p-value,

> library(lawstat)
> u=as.vector(Z[(n-100):n])
> runs.test(u,plot=TRUE)
 
	Runs Test - Two sided
 
data:  u 
Standardized Runs Statistic = -0.4991, p-value = 0.6177

The B’s here are returns lower than the median (almost null, so they might be considered as negative returns). With such a high p-value, we accept the null hypothesis, i.e. time independence.
If we consider a moving-time window

we can see that we accept the assumption of independence most the the time.
Actually, here, the time window is 100 days (+/- 50 days). But it is possible to consider 200 days,

or even 400 days,

So, except if we focus on 2006, it looks like we should reject the idea of time dependence in financial markets.
It is also possible to look more carefully at the distribution of runs, and to compare it with the case of independent samples (here we consider monte carlo generation of sequences having the same size),

> m=length(Z)
> ns=100000
> HIST=matrix(NA,ns,15)
> for(j in 1:ns){
+ XX=sample(c("A","B"),size=m,replace=TRUE)
+ RUNX=rle(as.character(XX))$lengths
+ S=sort(table(RUNX))
+ HIST[j,]=S[as.character(1:15)]
+ }
> meana=function(x){sum(x[is.na(x)==FALSE])/length(x)}
> cbind(TR[as.character(1:15)],apply(HIST,2,meana),
+       round(m/(2^(1+1:15))))
 
     [,1]       [,2] [,3]
1    1309 1305.12304 1305
2     673  652.46513  652
3     356  326.21119  326
4     140  163.05101  163
5     105   81.52366   82
6      35   40.74539   41
7      12   20.38198   20
8       6   10.16383   10
9       5    5.09871    5
10     NA    2.56239    3
11      1    1.26939    1
12     NA    0.63731    1
13      1    0.31815    0
14     NA    0.15812    0
15     NA    0.08013    0

The first column above is the empirical frequency of runs of length 1,2,3, etc. The second one is the average frequencies obtained on random simulation of independent sample. The third one is the theoretical frequency based on a (geometric distribution with mean 1).

Here again, it looks like our time series behave like an independent sample. Here is also a nice paper by Mark Schilling on the longest run of heads.
So it is not that odd to observe such a series of losses on financial markets….

Davantage de régularité dans les naissances ?

L’autre jour, l’INED avait fait beaucoup de bruit en publiant une étude expliquant que le pic des naissance classiquement observé en mai semblait avoir disparu (ici ou ). On va essayer de vérifier ce point, à partir de toutes les naissances observées en France entre 1968 et 2005. Ça sera le billet sexe de l’été…

  • Le nombre quotidien de naissances en France

La série brute ressemble à ça,

On pourrait à la rigueur extraire les cycles directement sur cette série, mais ça ne serait pas forcément convainquant (même si visuellement on retrouve ce qui était évoqué),

mais la première chose que l’on observe est que la différence entre le nombre de naissances le week end (en rouge) et en semaine (en bleu) s’est fortement creusée dans les années 80-90.

On peut regarder le ratio du nombre de naissance le week end, par rapport aux jours de la semaine précédant le week end,

et on peut alors “corriger” ou “lisser” la série, de manière à maintenir la moyenne hebdomadaire, mais en transférant quelques naissances de la semaine au week end.

Sur cette série lissée, on peut extraire une tendance de long terme.

C’est sur le “bruit” autour de cette tendance que l’on peut essayer d’étudier un éventuel cycle annuel. Notons que l’on retrouve les tendances sur la série brute

  • Série corrigée de la tendance de long terme

La série suivante permet de voir l’évolution du “cycle” (série brute à laquelle on retranche la tendance observée ci-dessus) à la fin des années 60 (en rouge), des années 70 (en orange), des années 80 (en jaune), voire des années 90 (en presque blanc),

Sur les années 68-78, on a la tendance suivante

alors que pour les années 95-2005, cela donne

Au final, les deux tendances sont les suivantes, avec en rouge les années 70 et en bleules années 2000.

Effectivement, le pic classiquement observé au mois de mai semble avoir disparu, et la série aujourd’hui semble beaucoup plus lisse. Et comme l’INED, on note qu’il y a effectivement un mini-pic au mois de septembre.

  • Des naissances au comportement sexuel

Tout comme l’INED, on peut relier ça à l’activité sexuelle des français, que l’on peut visualiser sur le graphique ci-dessous (en décalant tout simplement de 9 mois),

Bref, l’activité sexuelle semblait s’intensifier pendant les vacances scolaires, en particulier début août (mais aussi plus généralement pendant les vacances scolaires, que ce soit Pâques, les vacances d’été, ou les vacances de Noël d’ailleurs). Ou peut être pourrait-on conclure à la rigueur que l’été, on sort moins couvert…. car on observe les comportements sexuels associés à une naissance 9 mois plus tard (ce qui ne doit pas correspondre à l’unique activité sexuelle).
Les français semblent avoir intensifié leur activité sexuelle pendant une période plus fraîche (novembre-mars), au détriment de la période estivale. Un effet du réchauffement climatique (il fait trop chaud pour batifoler l’été) ? Un effet des 35 heures et des RTT (et des vacances qui sont plus réparties dans l’année qu’avant) ?

  • L’été s’ra chaud ?

En fait, au lieu de penser en terme de saison, on peut penser en terme de température (j’ai pris la température quotidienne minimale à Paris, c’est à dire la nuit… ).

c’est à dire en zoomant

On peut aussi chercher à étudier davantage ce qui se passait il y a 30 ans et maintenant (comme dans la partie précédente). Il y a 30 ans (courbe rouge) on observait un (très) fort pic estival. Ce pic a disparu aujourd’hui (courbe bleue), avec un comportement comparable, qu’il fasse 0 ou 20 degrés dehors.

  • Quid de l’impact des bourses ?

Mais la recherche de la variable qui pourrait expliquer cette saisonnalité ou ces pics est sans fin. Beaucoup de monde évoque la bonne santé économique pour expliquer les booms de natalité…. ça marche peut être à long terme, mais à court terme ?
En fait, si on croisse l’activité sexuelle avec le niveau de la bourse, on peut presque retrouver ce genre de comportement,

une bourse en très forte hausse semble provoquer un (léger) pic de natalité 9 mois plus tard, alors qu’un effondrement de la bourse se traduit plutôt par une chute (légère certes) 9 mois plus tard…