Вы находитесь на странице: 1из 67

Application de lanalyse technique financire

lanalyse de traces dexcution de programmes

Travail de Bachelor ralis en vue de lobtention du Bachelor HES

par :
David SENNHAUSER

Conseiller au travail de Bachelor :


(Philippe DUGERDIL, Professeur HES)

Carouge, le 1er dcembre 2008


Haute cole de Gestion de Genve (HEG-GE)
Filire Informatique de Gestion
Dclaration

Ce travail de Bachelor est ralis dans le cadre de lexamen final de la Haute cole de
gestion de Genve, en vue de lobtention du titre de Bachelor of Science. Ltudiant
accepte, le cas chant, la clause de confidentialit. L'utilisation des conclusions et
recommandations formules dans le travail de Bachelor, sans prjuger de leur valeur,
n'engage ni la responsabilit de l'auteur, ni celle du conseiller au travail de Bachelor,
du jur et de la HEG.

Jatteste avoir ralis seul le prsent travail, sans avoir utilis des sources autres que
celles cites dans la bibliographie.

Fait Carouge, le 1er dcembre 2008

David Sennhauser

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David i
Remerciements

Je remercie toutes les personnes qui ont particip de prs ou de loin la ralisation de
ce projet, tout particulirement Monsieur Philippe Dugerdil qui ma suivi et conseill
tout au long de ce travail.

Je remercie aussi Monsieur Peter Daehne qui, grce ses prcieux conseils, a pu
maider avancer dans ce projet.

Je tiens galement remercier Karine Pasquier mayant soutenu pendant la ralisation


de ce mandat et qui a relu avec attention mon travail.

Pour terminer, un grand merci Odorico von Susani, de Pictet & Cie, qui a accept
dtre mon jur.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David ii
Sommaire

Dans le cycle de vie des systmes dinformation, la maintenance est ce qui cote le
plus cher. Larchitecture volue avec les besoins des utilisateurs, les besoins changent
et de nombreuses modifications sont effectues. Avec le temps larchitecture peut se
rvler de plus en plus inadapte parce quelle est de plus en plus complexe pour le
dveloppeur.

De plus, la documentation dcrit rarement de manire complte tout le systme


1
dinformation. Do le besoin de procder au rengineering du systme, en gnral
2
lorsque les besoins non-fonctionnels ne sont plus respects.

Lors du processus rengineering, on est amen retrouver larchitecture du systme.


3
On a besoin de mapper des lments du code source avec des business use-cases.
Cest lobjectif principal de ce travail.

Pour raliser ceci, on enregistre lexcution dun use-case mtier. On obtient une trace
dexcution qui contient tous les lments du code source qui sont intervenus dans
lexcution du systme.

A partir des informations de cette trace et laide de lanalyse technique, je proposerai


une technique permettant de retrouver les classes de la trace qui travaillent ensemble,
avec une possibilit quelles reprsentent limplmentation de la fonction logiciel
analyse.

Je montre galement lapplication que jai ralis qui implmente la technique de


corrlation dynamique que je propose. Je procderai ensuite lexprimentation de
cette technique pour montrer les rsultats quelle produit.

Jaborderai aussi les considrations dimplmentation de mon application. Et pour finir,


je conclurai et prsenterai de nouvelles ides pour apporter des amliorations ce qui
a t ralis lors de ce travail.

1
DUGERDIL Ph. - Architecture-Based Software Reengineering. Technical report, HEG
Geneva, February 2006
2
La portabilit, la maintenabilit, la performance, etc.
3
Des classes java ou des lments de mme granularit dans dautres langages.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David iii
Application de lanalyse technique financire lanalyse de traces dexcution de programme
SENNHAUSER, David iv
Table des matires

Dclaration.......................................................................................................... i
Remerciements ................................................................................................. ii
Sommaire .......................................................................................................... iii
Table des matires ............................................................................................ v
Liste des Figures............................................................................................. vii
Introduction ....................................................................................................... 1
Le problme rsoudre ................................................................................... 2
1.1 Rengineering ............................................................................................ 2
1.2 Indentification des classes corrles ...................................................... 3
2. La problmatique de lanalyse dynamique ............................................... 4
2.1 Lanalyse dynamique ................................................................................. 4
2.1.1 Quest-ce quune analyse dynamique ou statique dune application 4
2.2 Les traces dexcution .............................................................................. 5
2.2.1 Quest-ce quune trace dexcution ................................................... 5
2.2.2 Comment rcuprer une trace dexcution ....................................... 6
3. Lanalyse technique en finances ............................................................... 7
3.1 Quest-ce que lanalyse technique ? ........................................................ 7
3.2 Les principes de lanalyse technique ....................................................... 8
3.3 Les outils .................................................................................................... 9
3.3.1 Les moyennes mobiles ..................................................................... 9
3.3.2 Les figures chartistes ...................................................................... 11
3.3.3 Support, rsistance et canal .......................................................... 12
3.3.3.1 Quest quune tendance ? .................................................................. 12
3.3.3.2 Lignes de tendance ............................................................................ 12
3.3.3.3 Supports et rsistances horizontales ................................................. 14
4. Application des ides de lanalyse technique lanalyse dynamique de
programme ...................................................................................................... 15
4.1 Technique de segmentation .................................................................... 15
4.1.1 Description de la trace .................................................................... 15
4.1.2 Segmentation de la trace ................................................................ 16
4.1.3 Omniprsence temporelle ............................................................... 17
4.1.4 Corrlation binaire ........................................................................... 18
4.1.5 Matrice de corrlation...................................................................... 19
4.1.6 Comptage des frquences .............................................................. 19
4.1.7 Exemples de segmentation ............................................................. 20
4.2 Ides possibles dapplication de lanalyse technique .......................... 25
4.2.1 La notion dempreinte ..................................................................... 25
4.2.2 Points de dpassements de support ou rsistance ........................ 26
4.2.3 Analyse des tendances ................................................................... 27
4.2.4 Empreinte sur les patterns de courbe ............................................. 29

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David v
4.2.5 Technique de la diffrence entre courbes relatives et filtres par les
moyennes mobiles .......................................................................... 31
5. Choix dune technique ............................................................................. 34
5.1 Analyse de la pertinence des techniques proposes ........................... 34
5.1.1 Points de dpassements de support ou rsistance ........................ 34
5.1.2 Analyse des tendances ................................................................... 34
5.1.3 Empreinte sur les patterns de courbe ............................................. 35
5.1.4 Technique de la diffrence entre courbes relatives et filtres par les
moyennes mobiles .......................................................................... 35
6. Exprimentation et analyse ..................................................................... 36
6.1 Description de lapplication .................................................................... 36
6.1.1 Objectifs de loutil de mise en uvre .............................................. 36
6.1.2 Prsentation gnrale de linterface graphique............................... 37
6.1.3 Onglet danalyse des corrlations ................................................... 38
6.1.4 Onglet de visualisation des classes ................................................ 39
6.2 Exprimentation de loutil ....................................................................... 40
6.2.1 Rsultats avec technique de corrlation implmente.................... 40
6.2.2 Analyse de la sensibilit de la corrlation par rapport au nombre
dordre de la moyenne mobile ......................................................... 43
6.2.3 Analyse de la sensibilit de la corrlation par rapport au nombre de
segment .......................................................................................... 46
7. Considrations dimplmentation ........................................................... 50
7.1 Modle de donnes .................................................................................. 50
7.2 Architecture de lapplication ................................................................... 52
7.3 Travailler avec les traces dexcution .................................................... 55
Conclusions..................................................................................................... 56
Bibliographie ................................................................................................... 57
Livres ............................................................................................................... 57
Articles ............................................................................................................. 57
Sites web ......................................................................................................... 58

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David vi
Liste des Figures

Figure 1 Le model de fer cheval du SEI .................................................................. 2

Figure 2 Description trace dexcution . ........................................................... 5

Figure 3 Moyenne mobile simple . ................................................................... 9

Figure 4 Moyenne mobile simple et exponentielle . ....................................... 10

Figure 5 Epaule Tte Epaule (ETE). .............................................................. 11

Figure 6 Support haussier ............................................................................. 12

Figure 7 Ligne de tendance baissire . .......................................................... 13

Figure 8 Canal . ............................................................................................. 13

Figure 9 Support et rsistance horizontale . .................................................. 14

Figure 10 Description de linformation utilise dans la trace . .......................... 15

Figure 11 Reprsentation de la trace .............................................................. 16

Figure 12 Segmentation de la trace . ............................................................... 16

Figure 13 Description des vecteurs doccurrences . ........................................ 18

Figure 14 Matrice de corrlation pour 7 lments . ......................................... 19

Figure 15 Comptage des frquences doccurrences . ..................................... 20

Figure 16 Frquences doccurrences dun lment avec Ns = 1n . ................. 21

Figure 17 Frquences doccurrences dun lment avec NS = 2n . ................ 22

Figure 18 Frquences doccurrences dun lment avec NS = 5n . ................ 22

Figure 19 Frquences doccurrences et moyenne mobile simple (10) avec Ns=1n


. ............................................................................................................ 23

Figure 20 Moyennes mobiles simples (10) et Ns = 1n . ................................... 24

Figure 21 Moyennes mobiles simples (10) relatives et Ns = 1n . .................... 25

Figure 22 Dpassement support ou rsistance . ............................................. 26

Figure 23 Tendances dune courbe . ............................................................... 27

Figure 24 Patterns de courbe . ........................................................................ 29

Figure 25 Pattern ETE . ................................................................................... 30

Figure 26 Pattern double top . ......................................................................... 30

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David vii
Figure 27 Pattern double bottom . ................................................................... 31

Figure 28 Dviation de deux courbes . ............................................................ 32

Figure 29 Panneau danalyse des corrlations . .............................................. 39

Figure 30 Panneau de visualisation graphique des classes . .......................... 40

Figure 31 Rsultat de corrlation avec Ns 3n et ordre 1. ................................ 43

Figure 32 Rsultat de corrlation avec Ns 3n et ordre 30. .............................. 44

Figure 33 Courbes des frquences doccurrences de deux classes avec Ns 3n


ordre 1. ............................................................................................................... 45

Figure 34 Courbes des frquences doccurrences de deux classes avec Ns 3n


ordre 30. ............................................................................................................. 45

Figure 35 Sensibilit entre Ns 1n filtrage dordre 10 et Ns 3n filtrage dordre


30.. .................................................................................................................. 47

Figure 36 Sensibilit entre Ns 3n filtrage dordre 30 et Ns 32n filtrage dordre


320.. ................................................................................................................... 49

Figure 37 Modle de donne de lapplication . ................................................ 51

Figure 38 Architecture de lapplication . ........................................................... 54

Figure 39 Corrlation des classes de la trace . ................................................ 41

Figure 40 Extrait des corrlations des classes de la trace . ............................. 42

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David viii
Introduction
Afin dans le cadre des recherches sur le Rengineering, il est ncessaire dans certains
cas de devoir retrouver larchitecture dun systme. Se basant sur lanalyse de traces
dexcution des fonctions dune application, on essaye de retrouver les classes qui
implmentent ces fonctions.

Ce travail est trs proche des proccupations du groupe de recherche de Philippe


Dugerdil et se focalise sur la corrlation dynamique de classes de manire retrouver
larchitecture de lapplication. Il expliquera comment appliquer lanalyse technique
lanalyse dynamique de trace dexcution.

Hormis le fait que ce travail est bas sur lanalyse dynamique des traces dexcution,
le but est comprendre quels sont les lments du code source qui travaillent ensemble
et implmentent un ou plusieurs use cases du systme analyser. Il suffira de
laisser lapplication se dfinir elle-mme travers une excution que nous
enregistrerons puis analyserons. Nous pouvons faire une analyse cible en excutant
le(s) use case(s) qui contiennent les fonctions dont on veut retrouver
limplmentation.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 1
Le problme rsoudre

1.1 Rengineering
Actuellement, beaucoup dentreprises ont des processus mtier critiques et
compltement automatiss les rendent compltement dpendantes de leur systme
dinformation.

Un systme dinformation doit dvoluer en fonction des besoins de lentreprise. Pour


que les changements ncessaires soient appliqus le vite possible, la documentation
du systme nest pas mise jour correctement, tant donn que le systme volue
constamment et que sa structure devient de plus en plus complexe.

Un projet de rengineering peut diviser en trois tapes :

1. La premire tape consiste en lanalyse du systme existant pour sen


construire une reprsentation fidle en mettant jour la documentation le
dcrivant.

2. La deuxime tape consiste dterminer les changements dans larchitecture


existante.

3. La troisime tape consiste en le dveloppement du nouveau systme qui


correspond aux besoins.

Figure 1

Le model de fer cheval du SEI

[Tir de : Bergey J., Smith D., Weiderman N., Woods S. Options Analysis for Reengineering
(OAR) : Issues and Conceptual Approach. Sofware Engineering Institute, Carnegie

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 2
]

Sur la figure 1, on peut voir le processus de rengineering et les diffrents niveaux


danalyse.

Ce sujet a dj t couvert en dtails par Philippe Dugerdil dans le rapport


4
Architecture-based software reengineering .

1.2 Indentification des classes corrles


Durant la premire tape dun projet de rengineering, il est ncessaire de retrouver
larchitecture du systme existant pour lanalyser et comprendre quelles sont les
transformations quil faudra lui apporter.

Cela signifie quil faut retrouver pour une ou plusieurs fonctions logicielles du systme,
5
quels sont les composants fonctionnels qui les implmentent. Sans ces informations, il
serait impossible de faire le lien entre les fonctions logicielles dcrites dans la
documentation du systme et leur implmentation concrte.

Pour ce faire, on enregistre lexcution dune fonction mtier. On obtient une trace
dexcution. Puis on analyse les informations de cette trace pour trouver les classes
6
qui sont corrles durant toute lexcution, car ces classes sont limplmentation la
fonction excute.

Dans mon cas, les lments que je cherche associer sont des classes java. Cela na
pas dimportance, car selon la plupart des langages le principe reste le mme.

Le problme rsoudre est de proposer une technique bas sur lanalyse technique
qui permet didentifier les classes qui sont corrles dans une trace dexcution.

4
DUGERDIL Ph. - Architecture-Based Software Reengineering. Technical report, HEG
Geneva, February 2006
5
Un ensemble de classes java
6
Ce sont les classes qui travaillent ensemble.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 3
2. La problmatique de lanalyse dynamique
Dans ce chapitre, jexplique tout dabord ce quest que lanalyse dynamique et quelle
est la diffrence avec lanalyse statique. Jexplique galement pourquoi est ce que lon
utilise lanalyse dynamique pour rsoudre le problme didentification des classes
corrles.

Pour bien comprendre ce sur quoi on va travailler, il faut bien comprendre ce quest
une trace dexcution, cest pourquoi jexpliquerai galement ce que cest.

2.1 Lanalyse dynamique


Dans cette partie, je dcris lanalyse dynamique en gnral dans le contexte du
dveloppeur. Je dcris aussi lanalyse statique pour montrer quelles sont les forces et
les faiblesses de chacune de ces mthodes. Jexplique aussi pourquoi ce travail se
base sur une analyse dynamique et non statique.

2.1.1 Quest-ce quune analyse dynamique ou statique dune application


Lanalyse dynamique dun programme consiste analyser son excution. On va
rcuprer des informations extraites de son excution et les exploiter.

Au chapitre 1.2, jexpliquerai que lon va identifier les classes corrles laide de la
trace dexcution. Cest de lanalyse dynamique.

Toutefois, il faut savoir que lors de lanalyse dynamique, dautres informations que la
trace dexcution auraient pu tre extraites, telles que :

Surveiller les performances de lapplication

Vrifier lallocation de mmoire et dtecter les ventuelles fuites

Observer la valeur de certaines variables

Voir les objets instancier pendant lexcution

Complmentaire lanalyse dynamique, lanalyse statique dun programme consiste


analyser uniquement le code source de ce dernier, afin dobtenir des informations sur
le comportement dun programme sans vraiment lexcuter, pour trouver une erreur de
programmation ou de conception. On choisira lanalyse dynamique ou statique en
fonction de ce que lon cherche faire et de la manire dont on souhaite sy prendre.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 4
7
Un exemple dutilisation bien connu de lanalyse statique est le reverse engineering
du code source dune application en diagramme de classe.

Dans loptique o lon tudie les interactions entre les lments du code source qui
composent lapplication, lanalyse dynamique est intressante, car on sait exactement
quels sont les lments qui ont t utiliss lors de lexcution.

2.2 Les traces dexcution

2.2.1 Quest-ce quune trace dexcution


Une trace dexcution reprsente la squence des vnements (appels de fonctions,
procdures ou mthodes) appels pendant lexcution dun programme.

Cependant, un programme ne sexcute jamais de la mme manire. Lutilisateur du


programme et les donnes que le programme traite peuvent modifier lexcution du
programme tout au long de son excution.

Imaginons que lutilisateur lance deux fois un mme programme en utilisant des
fonctionnalits compltement diffrentes chaque excution. Les deux traces
rsultantes seront probablement similaires au niveau de linitialisation du programme,
mais seront compltement diffrentes par la suite.

Cest est une structure assez complexe, mais surtout trs longues. Elle peut tre
8
reprsente sous forme dun arbre darit X, o X reprsente le nud ayant le plus
grand nombre de fils. Voici un petit exemple de ce quoi peut ressembler une trace :

Figure 2

Description trace dexcution

f1()
|---> f2()
| |---> f5()
| |---> f6()
|
|---> f3()
| |---> f7()
| |---> f8()
| | |---> f9()
| | | |---> f10()
|
|---> fx()

7
Transformation du code source en diagramme de classe.
8
Nombre de fils que possde un arbre.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 5
Lexcution dun programme va gnrer un grand nombre dvnements. Pour un
programme de type industriel (gros logiciels dentreprise) on parle de plusieurs millions
dvnements pouvant tre gnrs par lexcution dun seul use-case .

2.2.2 Comment rcuprer une trace dexcution


Comment rcuprer les vnements dun programme qui sexcute ? Lune des
9
techniques est linstrumentation du code source .

On instrumente le code source du programme cible laide dun logiciel quon appelle
simplement linstrumenteur. Linstrumenteur va ajouter des lignes de code
supplmentaires au dbut et la fin de chaque fonction, mthode ou procdure du
programme cible.

Ces lignes supplmentaires vont tre excutes en mme temps que le programme
instrument de faon crire dans un fichier des informations sur lexcution du
programme, en particulier les noms des fonctions appeles et les classes auxquelles
elles appartiennent.

9
Hamou-Lhadj A., Lethbridge T.C. - A Survey of Trace Exploration Tools and
Techniques. Proc of the Conference of the Centre for Advanced Studies on
Collaborative Research CASCON 2004, October 5-7, 2004,Markham, Canada.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 6
3. Lanalyse technique en finances10
Ce chapitre, est une synthse de ce que jai pu apprendre sur le domaine de lanalyse
technique en finances. Je vais donner une dfinition de lanalyse technique et de ses
11
principes fondamentaux. Ensuite, je prsenterai les certains outils incontournables
qui sont utiliss par les analystes technique. Je donnerai une description simplifi pour
chacun des outils, car il nest pas ncessaire de rentrer dans les dtails spcifiques
lanalyse technique et qui napporterai rien de plus pour la comprhension du reste de
travail.

Ce chapitre prsente les ides dont je me suis inspir pour raliser ce travail.

3.1 Quest-ce que lanalyse technique ?


Les praticiens de lanalyse technique lui ont donn de nombreuse dfinition. Elles sont
toutes plus ou moins quivalentes. Toutefois, la dfinition de John J. Murphy est
considre comme la meilleure :

Lanalyse technique est ltude de lvolution dun march, principalement sur la base
de graphiques, dans le but de prvoir les futures tendances .

Dans cette dfinition, on peut dvelopper trois lments :

Lvolution dun march : On peut appliquer lanalyse technique tous les


12
types de marchs .

Une tude graphique : Lanalyse technique a longtemps t considr


comme quivalente une tude graphique. Ce qui avec le temps sest rvl
de plus en plus inappropri. Il existe aujourdhui de nombreuses applications
informatiques qui traitent les donnes dun graphique laide doutils
statistiques. Il nen reste pas moins que loutil phare de lanalyse technique est
vritablement le graphique et ses multiples interprtations possibles.

10
Ce chapitre a t rdig laide des ouvrages suivants :
BECHU, Thierry, BERTRAND, Eric, NEBENZAHL, Julien. Lanalyse technique :
thories et mthodes. Paris : Economica, 2008. (Finance).
BARON, Franois. Le chartisme : mthodes et stratgies pour gagner en bourse.
[Paris] : Eyrolles, 2008. 490 p. (Analyse technique).
11
Ensemble de techniques, astuces de lanalyse technique
12
Marchs dactions, taux dintrt, matires premires, etc.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 7
Prvoir les tendances futures : Cest le but ultime de lanalyse technique,
prvoir lvolution dun march en se basant sur lhistoire de ce dernier. Cest
lun des points sur lesquelles elle est souvent critique, car certains considrent
lvolution dun march comme alatoire.

3.2 Les principes de lanalyse technique


Lanalyse technique ne se base pas sur les facteurs externes autres que lvolution du
march (le cours, les volumes et la courbe), car elle considre que tous les facteurs qui
interviennent sur le march sont reprsents par lvolution de ce dernier.

Lanalyse technique est base sur trois principes fondamentaux:

1. Tout est pris en compte par le march : Pour lanalyste technique, tout ce qui
peut influencer la valeur dun bien est tout moment reflt par le prix de ce
bien sur le march. Ds lors, il suffit de sintresser lvolution du prix,
13
puisque celui-ci est la rsultante de tout le reste.

2. Les cours voluent selon des tendances : Lanalyste technique ne croit pas
beaucoup (pour ne pas dire pas du tout) une volution erratique des
cours. Au contraire, il constate que :

- abstraction faite des fluctuations mineures, les cours voluent en tendances ;

14
- ces tendances durent toujours un certain temps avant dtre modifies.

3. Lhistoire peut se rpter : A partir du moment o lvolution des marchs est li


aux comportements de spculateurs humaines, on peut voir dans histoire de
ces marchs des comportements prvisibles qui se rptent. En analyse
technique, le pass est la cl du futur.

13
BECHU, Thierry, BERTRAND, Eric, NEBENZAHL, Julien. Lanalyse technique :
thories et mthodes. Paris : Economica, 2008. (Finance).
14
BARON, Franois. Le chartisme : mthodes et stratgies pour gagner en bourse.
[Paris] : Eyrolles, 2008. 490 p. (Analyse technique).

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 8
3.3 Les outils

3.3.1 Les moyennes mobiles


Les fonctions de filtrage numrique sont trs utilises en analyse technique. Mais tout
dabord, quel est lintrt de ces fonctions ?

Les analystes techniques utilisent ces fonctions pour liminer le bruit se manifestant
sous forme de petites oscillations sur la courbe. Ainsi on filtre les valeurs de la courbe
pour quelle reflte une tendance plus nette. Ca reviendrait retirer les informations
parasites de la courbe, pour quelle puisse exprimer les tendances du march.

La moyenne mobile est le filtre le plus utilis pas les analystes pour sa simplicit. Il y a
15
trois principales sortes de moyennes mobiles : la moyenne mobile simple , la
moyenne mobile pondre et la moyenne mobile exponentielle. Dans la dure limite
de ce travail, je me suis concentr sur la technique de moyenne mobile.

La moyenne mobile simple comme son nom lindique est la plus simple. Je vais utiliser
la srie suivante pour illustrer son fonctionnement.

Figure 3

Moyenne mobile simple

Moyennemobilesimple
16
14
12
10
Dates

8
6
4
2
0
t1 t2 T3 t4 t5 t6 t7
Valeurs 4 6 8 13 15 8 7
Moyennemobile
6 9 12 12 10
ordre(3)

15
En bourse, la moyenne mobile est un indicateur qui montre la valeur dun prix sur une
certaine priode. En dautres termes, la moyenne mobile est une analyse mathmatique
de la valeur moyenne dun prix sur une dure prdtermine [] La moyenne mobile
simple est la plus utilise et la plus populaire des moyennes mobiles. La premire
raison est la relative facilit laquelle les moyennes mobiles simples sont calcules.
Une moyenne mobile simple est calcule en additionnant les valeurs dun certain
nombre de priodes et ensuite divises par la somme du total des nombres de la
valeur. [tir de : www.realtimeforex.fr]

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 9
Sur la figure 3, on peut voir une moyenne mobile simple. Elle est dordre 3, ce qui
signifie que lon calcule la valeur moyenne sur une priode glissante de 3. Cest pour
cela quon ne peut calculer la premire valeur quen T3.

Le calcul pour T3 est le suivant : (4 + 6 + 8) / 3 = 6.

Et le calcul pour t4 est : (6 + 8 + 13) / 3 = 9.

Si on observe la courbe de la moyenne mobile simple sur le graphique, on constate


quelle est plus nuance et surtout quelle ragit en retard par rapport la courbe
dorigine. Cest tout fait normal, car les valeurs utilises dans le calcul ont toutes la
mme pondration. Les autres moyennes mobile corrigent un peu ce retard.

La moyenne mobile pondre, utilise des coficients pour donner un poids plus
important aux valeurs les plus rcentes dans le calcul.

La moyenne mobile exponentielle, utilise pour le calcul une pondration sur les valeurs
qui dcrot exponentiellement. Elle suit encore mieux la courbe dorigine.

Figure 4

Moyenne mobile simple et exponentielle

[Tir de : http://fr.wikipedia.org/wiki/Moyenne_mobile]

On voit sur la figure 4 que la moyenne mobile exponentielle crot beaucoup plus vite et
quelle attnue beaucoup plus vite limpact des valeurs les plus anciennes.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 10
Pour toutes les moyennes mobiles, plus lordre est lev plus il y aura de valeurs
utilises pour le calcule ce qui entrainera un lissage de plus en plus prononc de la
courbe.

3.3.2 Les figures chartistes


Lanalyse technique traditionnelle considre quil est possible de prvoir lvolution des
16
cours grce des configurations graphiques qui se rptent dans le temps. Et que
ces configurations graphiques sont une manifestation du comportement des
17
intervenants . Leur apparition a une influence sur le comportement des intervenants
et permet dtablir des prdictions sur la base de ces configurations graphiques et du
volume des changes ce moment l.

Figure 5

Epaule Tte Epaule (ETE)

[Tir de : http://www.trading-school.eu/glossaire-bourse/fiche-Epaule-Tete-Epaule-ETE--47]

Sur la figure 5, on peut voir un petit exemple de figure chartiste (configuration


graphique) lpaule-tte-paule (ETE), caractrise par trois sommets successifs. Le
deuxime sommet est la tte, elle doit avoir une hauteur une fois et demi deux fois
cette des paules. De plus, les paules doivent tre plus ou moins de mme
proportion.

16
Ce sont des figures chartistes qui se dessinent lors lvolution de la valeur dune action.
17
Les personnes qui spculent sur le march.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 11
3.3.3 Support, rsistance et canal

3.3.3.1 Quest quune tendance ?


18
Selon louvrage sur le chartisme de Franois Baron , une tendance peut tre
considre comme :

Il sagit dun mouvement sur les cours assez rgulier et soutenu dans un sens
dtermin, sur une certaine priode de temps. Il peut tre soit la hausse, on parlera
de tendance haussire, soit la baisse pour une tendance baissire.

Le cours peut voluer dans un intervalle rduit de prix pendant un certain temps. On
verra alors apparaitre une tendance laspect horizontal de la courbe, quon appelle
drive latrale.

3.3.3.2 Lignes de tendance


Lorsque sur la courbe dessine une tendance haussire, on prendra les points les plus
bas pour tracer une ligne de tendance sur laquelle laction va rebondir un certain
temps. Cette ligne de tendance sappelle un support haussier (voir Figure 6).

Tant que le prix de laction ne descend pas de faon persistante en dessous, la


tendance devrait continuer.

Figure 6

Support haussier

[Tir de :
http://www.bnpparibas.net/banque/portail/particulier/Fiche?type=fiche&identifiant=NOT_Tendan
ces_supports_et_resistances_20060403115328]

Dans le cas dune tendance baissire, on peut appliquer le mme principe en traant
une ligne de tendance avec cette fois-ci les points les plus hauts, cest la ligne de

18
BARON, Franois. Le chartisme : mthodes et stratgies pour gagner en bourse.
[Paris] : Eyrolles, 2008. 490 p. (Analyse technique).

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 12
tendance baissire. On devrait constater que la courbe rebondit sur cette ligne
limage dune boule sauteuse qui rebondirait sur le sol (voir figure 7).

Figure 7

Ligne de tendance baissire

[Tir de :
http://www.bnpparibas.net/banque/portail/particulier/Fiche?type=fiche&identifiant=NOT_Tendan
ces_supports_et_resistances_20060403115328]

On peut encore tracer une ligne parallle la ligne de tendance, pour former un canal
haussier ou baissier. Pour que cette dernire ligne soit valide, il faut aussi quelle
puisse saligner sur des pics de la courbe. On narrive pas toujours dfinir un canal
haussier qui soit parfait.

Figure 8

Canal

[Tir de :
http://www.bnpparibas.net/banque/portail/particulier/Fiche?type=fiche&identifiant=NOT_Tendan
ces_supports_et_resistances_20060403115328]

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 13
3.3.3.3 Supports et rsistances horizontales
Les supports horizontaux sont des niveaux de cotation qui vont freiner la baisse de la
valeur. Ils agissent comme des planchers plus ou moins solides, sur lesquels la valeur
peut rebondir et reprendre une volution haussire

Une rsistance horizontale est un niveau de cours o la progression haussire de la


19
valeur est freine .

On peut voir sur la figure 9 un exemple rel de mise en application des supports et
20
rsistances horizontales. Et quelles sont plutt bien respectes par lvolution du
prix de laction.

Figure 9

Support et rsistance horizontale

[Tir de : http://www.daily-bourse.fr/NOTIONS-DE-SUPPORT-ET-DE-RESISTANCE-vtptc-
1578.php]

19
BARON, Franois. Le chartisme : mthodes et stratgies pour gagner en bourse.
[Paris] : Eyrolles, 2008. 490 p. (Analyse technique).
20
Les lignes

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 14
4. Application des ides de lanalyse technique
lanalyse dynamique de programme
M. Philippe Dugerdil ma donn quelques indices sur ce que lon pourrait essayer de
faire pour appliquer des ides de lanalyse technique lanalyse dynamique.
Finalement, aprs rflexion, jai pu proposer une solution que je prsenterai dans cette
partie.

4.1 Technique de segmentation


Avant daborder la segmentation de la trace, je vais dcrire la constitution de la trace.

4.1.1 Description de la trace


Comme nous lavons vu au Chapitre 2.2, la trace contient toutes fonctions (mthodes)
qui ont t appeles par le programme dont on analyse lexcution. Pour chaque appel
de fonction, on connait la Class laquelle appartient la fonction appele (voir la partie
gauche de la figure 10).

Figure 10

Description de linformation utilise dans la trace

Class1.f1() Class1
|---> Class2.f2() Class2
| |---> Class3.f5() Class3
| |---> Class3.f6() Class3
|
|---> Class4.f3() Class4
| |---> Class5.f7() Class5
| |---> Class6.f8() Class6
| | |---> Class3.f9() Class3
| | | |---> Class2.f10() Class2

Dans notre analyse, nous nous intresseront uniquement la classe laquelle


appartient chacune des fonctions appeles, ainsi qu la squence de ces appels. Ce
sont ces informations sur lesquelles nous effectuerons notre analyse. Voici
linformation de la trace que nous allons exploiter (voir la partie droite de la figure 10).

A prsent, chaque fois je ferai rfrence la trace, il faudra se la reprsenter comme


une squence de classes dans lordre tablie par la trace.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 15
4.1.2 Segmentation de la trace
La technique de segmentation consiste dcouper toute la trace en segments
contigus de taille gale. Chaque segment peut ainsi tre analys individuellement et
21
apporter des informations localises dans la trace, sur les classes quil contient.

Figure 11

Reprsentation de la trace

Trace
Squence 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Classes C0 C2 C4 C2 C0 C0 C2 C2 C6 C2 C2 C2 C2 C0 C3 C2 C0 C5 C1 C7 C7 C0

Sur la figure 11, je donne lexemple dune trace qui contient 22 appels et qui contient 7
classes (C0, C1, C2, C3, C4, C5, C6 et C7).

Maintenant, je vais diviser la trace en 7 segments contigus de taille gale raison de 3


classes par segment. Le dernier segment contient une classe car il ne reste quune
classe et le dernier segment contient minimum 3 classes dans ce cas (voir figure 12).

Figure 12

Segmentation de la trace

Trace
Squence 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Classes C0 C2 C4 C2 C0 C0 C2 C2 C6 C2 C2 C2 C2 C0 C3 C2 C0 C5 C1 C7 C7 C0
Segments 1 2 3 4 5 6 7

Jexprimerai toujours le nombre de segments en nombre de fois (f) le nombre


22
dlments (n) dans la trace, selon la formule suivante:

Ns = f x n

n est alors considr comme nombre dlments (classes) distincts dans la trace et f
une valeur qui sera multipli par n, pour obtenir le nombre de segment (Ns). n est donc
dj dfini en fonction de la trace.

21
La position du segment dans la trace.
22
Les classes

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 16
On considre que le nombre de segments (Ns) doit tre suprieur dau moins 2 fois le
nombre des lments (n) qui composent la trace.

Donc Ns = 2 x n, o f = 2

La figure 12 est segmente selon Ns = 1 x n, ou n = 7, ce qui donne bien Ns = 7.

Un problme rcurrent la technique de segmentation est de dfinir le Ns optimal pour


obtenir le juste milieu entre prcision (avec un Ns lev) et quantit de calcul (qui
23
augmente avec Ns). Une technique de rduction du bruit et une technique de
corrlation dynamique base sur la segmentation de traces ont t prsentes par
24
Philippe Dugerdil .

Ce qui faut retenir de la segmentation de la trace, cest quelle nous permettra


danalyser la prsence des classes pour chaque segment.

Ces deux techniques ne sont pas utilises dans ce travail, cependant ce sont des
techniques de segmentation intressantes. Je propose dautres techniques bases sur
la segmentation qui sont au cur de ce travail.

4.1.3 Omniprsence temporelle


Pour analyser les traces dexcution et faire face lnorme quantit dinformation les
composant, il faut rduire cette information.

Lobjectif de la technique domniprsence temporelle est de reprer les lments


apparaissant dans un grand nombre de segments de la trace. Une fois reprs, il faut
25
considrer quapparaissant trop frquemment ils ne sont pas spcifiques au use case
analys.

Un seuil doit tre dfini, au-del duquel un lment sera considr comme
temporellement omniprsent. Une fois les lments temporellement omniprsents
reprs, on peut les exclure des lments analyser, pour rduire la quantit
dinformation de la trace.

23
Le bruit reprsente les classes qui nont pas dintrt.
24
IBM CAS SOFTWARE AND SYSTEMS ENGINEERING SYMPOSIUM (2007, Dublin).
Using trace sampling techniques to identify dynamic clusters of classes : proceedings of
the 2007 conference of the center for advanced studies on Collaborative research.
Hamilton auditorium of Dublin, 24 octobre 2007. 9 p.
25
Ou la fonction logiciel

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 17
4.1.4 Corrlation binaire
26
La corrlation binaire a pour but de tester la corrlation des lments de la trace.
Pour cela, elle utilise un vecteur doccurrence par lment (ou classe) qui permet de
savoir, quelles sont les segments dans lesquelles llment est prsent (1) ou absent
(0).

On obtient par exemple ces vecteurs pour les lments Class1 et Class2 (voir figure
13).

Figure 13

Description des vecteurs doccurrences

Sur la figure 13, on voit que Class 1 est prsent dans les segments 3, 4, 9, 11, 12, 13
et 14.

Une fois tous les vecteurs doccurrence gnrs, raison dun vecteur par lment, on
27
compare tous les vecteurs doccurrence laide dune matrice de corrlation pour
dterminer lindice de corrlation entre les lments. Lindice obtenu nous permet de
savoir si deux lments sont prsents dans les mmes chantillons. Un fort couplage
entre deux lments se situe partir de 80 % de correspondance et un couplage
moyen plutt entre 60 % et 79 %.

Cette technique de corrlation est performante. La recherche dun lment dans un


chantillon est termine ds quon a trouv la premire occurrence de celui-ci.

Il est toutefois important de noter quil suffit dune seule occurrence dun lment dans
un segment pour que cet lment soit considr comme prsent, et ceci, de manire
quivalente un autre lment qui apparaitrait 500 fois dans le mme segment.

26
Les classes
27
Voir chapitre 4.1.5

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 18
4.1.5 Matrice de corrlation
En effectuant les comparaisons dfinies dans la matrice de corrlation, on compare
tous les lments entre eux. Toutes les corrlations entre les lments dans ce travail
sont effectues de cette manire.

Sur la figure 14, on voit un exemple de matrice de corrlation qui dfinies tous les
comparaisons pour 7 lments.

Figure 14

Matrice de corrlation pour 7 lments

C1 C2 C3 C4 C5 C6 C7
C1 1 1 1 1 1 1
C2 1 1 1 1 1
C3 1 1 1 1
C4 1 1 1
C5 1 1
C6 1
C7

4.1.6 Comptage des frquences


28
Ce sont les frquences doccurrences des classes dans chaque segment de la trace
qui vont me servir de base pour appliquer les outils de lanalyse technique. Je minspire
directement de la technique de corrlation binaire dfinie plus haut, sauf que je ne me
limite pas dterminer la prsence ou labsence des classes dans un segment, mais
plutt la frquence doccurrence de chacune des classes pour chacun des segments
comme illustr dans la figure 15.

28
On peut dire les frquences dapparitions

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 19
Figure 15

Comptage des frquences doccurrences

Trace
Squence 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
Classes C0 C2 C4 C2 C0 C0 C2 C2 C6 C2 C2 C2 C2 C0 C3 C2 C0 C5 C1 C7 C7 C0
Segments 1 2 3 4 5 6 7

C0 1 2 0 0 1 1 1
C1 0 0 0 0 0 0 1
C2 1 1 2 3 1 1 0
C3 0 0 0 0 1 0 0
C4 1 0 0 0 0 0 0
C5 0 0 0 0 0 1 0
C6 0 0 1 0 0 0 0
C7 0 0 0 0 0 0 2

La diffrence est consquente, car prsent une classe qui apparait une seule fois
dans un segment nest plus du tout quivalent une classe qui apparait 500 fois dans
ce segment. Cette donne importante nous permettra dtre beaucoup plus prcis
dans les tentatives de corrlation. De plus, la prcision de nos futures analyses sera
bien moins affecte par le nombre de segment (Ns), grce la frquence
doccurrence. Elle permet, de rendre compte dans quelle mesure une classe est
prsente dans un segment.

On peut se reprsenter nos donnes comme des sries de valeurs o chaque srie
reprsente les frquences doccurrences dune classe (voir figure 15).

On pourrait essayer dexploiter directement toutes ces frquences et les afficher sur un
graphique o les valeurs en abscisse reprsenteraient les segments dans la trace et
lordonne reprsenterait les frquences doccurrences.

4.1.7 Exemples de segmentation


Si lon considre une trace denviron 600 000 vnements, de 139 lments distincts.
En affichant, ces frquences doccurrences par segment sur un graphique :

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 20
29
Avec un Ns gal 1n, soit 139 segments - ce qui fait environ 4300 appels par
segment - on distingue correctement la courbe et on constate alors que la frquence
oscille beaucoup dun segment un autre (voir figure 16).

Figure 16

Frquences doccurrences dun lment avec Ns = 1n

Avec un Ns gal 2n, soit 278 segments - ce qui fait environ 2150 appels par segment
- on distingue correctement la courbe, mais les oscillations sont plus nombreuses tant
donn que lon a un Ns plus grand et donc plus dchantillons (voir figure 17).

29
Appels aux classes dont une fonction t appel. Voir Chapitre 2.2

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 21
Figure 17

Frquences doccurrences dun lment avec NS = 2n

Avec un Ns gal 5n, soit 695 segments - ce qui fait environ 863 appels par segment -
on ne distingue plus grand-chose. A lil, il serait impossible de comparer les
frquences doccurrences de deux classes de la trace et daffirmer avec certitude
quelles sont similaires (voir figure 18).

Figure 18

Frquences doccurrences dun lment avec NS = 5n

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 22
Plus le Ns est lev plus le phnomne saccentue. Pour ce problme, comme pour
les courbes des indices boursiers, on peut appliquer une moyenne mobile simple (voir
figure 19).

Figure 19

Frquences doccurrences et moyenne mobile simple (10) avec Ns = 1n

Grce la moyenne mobile simple (voir figure 19), on peut facilement adoucir la
courbe et reprer les grandes tendances.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 23
Figure 20

Moyennes mobiles simples (10) et Ns = 1n

On constate visuellement qu'il est beaucoup plus facile de comparer l'implication de


deux classes dans une trace si l'analyse frquentielle est filtre par les moyennes
mobiles.

Pourtant, il subsiste encore un dtail avant lapplication dune technique de corrlation


sur les classes de la trace. Jai constat que certaines courbes oscillaient peu prs
de la mme manire et aux mmes emplacements de la trace. Par contre, elles taient
compltement dcales verticalement (voir figure 20). Certaines classes nont pas les
mmes frquences doccurrences par segment, mais on constate visuellement sur le
graphique quen les exprimant de manire relative, elles sont comparable.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 24
Figure 21

Moyennes mobiles simples (10) relatives et Ns = 1n

Exprimer de manire relative, la frquence doccurrence la plus leve dune classe


devient 100% et la frquence la plus faible devient 0%. Les frquences relatives nous
permettent de ne prendre en compte que le comportement de la courbe :
laugmentation et la diminution de la frquence dapparition par rapport la valeur
maximale et minimale. On constate que les courbes ont un comportement similaire
lune par rapport lautre mme si elles ne sont pas parfaitement superposes.

En ltat actuel, mes donnes peuvent tre soumises diffrentes techniques de


corrlation. La partie suivante ma permis dutiliser des concepts issus de lanalyse
technique et de les exploiter pour proposer des solutions plus ou moins originales.

4.2 Ides possibles dapplication de lanalyse technique


Premirement, je vais expliquer la notion dempreinte dans ce travail qui est essentielle
pour comprendre les techniques inspires de l'analyse technique que j'ai envisages.

4.2.1 La notion dempreinte


Lempreinte dune classe est ralise partir des observations faites sur les
frquences doccurrences dune et seule classe. Son contenu dpend compltement
du type observation que lon enregistre. Elle sera capable de rvler la position
(segment) o une certaine observation a t faite, dans le but dtre compar

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 25
dautres empreintes du mme type et de dterminer rapidement, sur une ensemble
rduit dobservations, si elles prsente des caractristiques similaires.

4.2.2 Points de dpassements de support ou rsistance


Cette technique que jai nomme Points de dpassements de support ou
rsistance a pour objectif de crer une empreinte pour chaque lment de la trace et
de comparer toutes les empreintes entre elles (voir figure 22).

Figure 22

Dpassement support ou rsistance

30
Pour raliser cette empreinte, on a besoin de la courbe des frquences dune classe,
puis on gnre deux moyennes mobiles simples modifies. Lune dont les valeurs en
31
ordonn sont augmentes, par exemple de 40% , et lautre dont les valeurs en
ordonn sont rduites de 40 %. En affichant les trois courbes, on obtient par exemple
le graphique ci-dessus (figure 22). La courbe jaune reprsente le support, tandis que la
courbe bleu fonc reprsente la rsistance. Lensemble des segments pour lesquels la

30
On peut aussi utiliser des frquences filtres si les oscillations de la courbe sont trop
fortes.
31
Le pourcentage daugmentation et de rduction est dfini de manire que les deux
moyennes mobiles soient au niveau des valeurs extrmes de la courbe des frquences.
Sinon on risque de prendre une empreinte sur tous les segments de la classe, ce qui ne
sert rien. Cette valeur doit donc tre adapte en fonction du cas.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 26
frquence brise le support ou la rsistance forme lempreinte de la classe reprsente
par la courbe des frquences.

videmment, la moyenne mobile simple est dun ordre qui devra rester tre le mme
pour raliser toutes les empreintes comparer. Le pourcentage appliqu en
augmentation ou en rduction de la moyenne mobile devra lui aussi tre constant. Et la
comparaison des empreintes consistera tester si les dpassements du support et de la
rsistance ont lieu sur les mmes segments.

4.2.3 Analyse des tendances


Comme la technique Pattern de dpassements de support ou rsistance , la
technique danalyse des tendances pour but de crer une empreinte pour chaque
32
classe de la trace, puis de comparer les classes les unes aux autres laide de leur
empreinte pour rvler celles qui pourraient tre corrls.

Cependant, lempreinte utilise par cette technique est diffrente. Pour gnrer
lempreinte dune classe, on a besoin des frquences doccurrences filtr avec une
moyenne mobile.

Figure 23

Tendances dune courbe

32
Selon la matrice de corrlation (Chapitre 4.1.5)

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 27
On peut observer trois types de tendances sur un graphique, comme:

La tendance haussire, qui peut tre identifie par le fait que sur un ensemble de
segments (axe des X) parcouru dans lordre croissant, la frquence est de plus en plus
leve.

La tendance baissire, qui peut tre identifie par le fait que sur un ensemble
segments (axe des X) parcouru dans lordre croissant, la frquence est de plus en plus
faible.

La drive latrale, qui peut tre identifie par le fait que sur un ensemble segments
(axe des X) parcouru dans lordre croissant, la frquence reste constante ou volue
dans un intervalle rduit.

Il est difficile de dterminer les tendances dune courbe, car on peut reprer des
macro-tendances, elles-mmes constitues de micro-tendances. Tout dpend de
lchelle laquelle on effectue lanalyse. Et en appliquant une moyenne mobile, on va
lisser la courbe et faire disparaitre les micro-tendances. La puissance de cet effet
33
dpend compltement du nombre de segments (Ns), et de lordre de la moyenne
mobile. Plus lordre sera grand plus la courbe sera lisse.

Comme on peut le voir sur la figure 23 ci-dessus, une moyenne mobile simple dordre
5 suffit lisser la courbe et faire disparaitre les micro-tendances. Ainsi, il est plus facile
de dtecter les macro-tendances.

34
Lempreinte contient la position de chaque tendance sur courbe. Une fois que toutes
les empreintes ont t construites, on peut finalement lancer le processus de
corrlation pour trouver tous les lments qui ont une empreinte similaire. La
comparaison des empreintes consiste tester si les mmes tendances ont lieu sur la
mme srie de segments contigus.

Deux courbes qui ont la mme empreinte nous assurent les tendances des deux
courbes seront similaires. Par contre, rien ne nous garantit que les deux courbes soient
superposes. En effet, une tendance haussire localise aux mmes endroits sur deux
courbes nimplique pas que ces deux tendances voluent dune mme pente. Une
tendance pouvant tre plus forte que lautre.

33
Nombre de valeurs avec lesquelles la moyenne mobile est calcule.
34
Une srie de segments contigus

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 28
On peut perfectionner la technique pour la rendre plus efficace, en incluant dans
lempreinte des informations supplmentaires sur la pente de la courbe pour les
tendances haussires et baissires.

4.2.4 Empreinte sur les patterns de courbe


Cette technique est celle qui se rapproche le plus lanalyse technique. Cest sur cette
piste que jai commenc mes recherches sur ce travail.

35
Le principe est danalyser une courbe pour y trouver des patterns de courbe .
Lempreinte de cette courbe consistera en une succession de patterns. Pour cette
technique comme pour la prcdente, le point sensible est de dfinir lchelle
36
laquelle on va effectuer la recherche. On pourrait trouver des macro-patterns , dans
37
lesquels on pourrait aussi trouver des micro-patterns .

Analysons la courbe de la figure 24 la recherche de patterns de courbe. Elle est


essentiellement compose de patterns de courbe que nous allons visuellement mettre
en vidence.

Figure 24

Patterns de courbe

30
Patternsdecourbe
Frquences
25

20
Frquence

15

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Numrod'chantillon

35
On les appels aussi les figures chartistes.
36
Ce sont des figures chartistes qui sont visibles grande chelle.
37
Ce sont des figures chartistes qui sont visibles petite chelle.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 29
38
Le premier pattern est une ETE , on le voit trs nettement sur la figure 25.

Figure 25

Pattern ETE

30
L'paulettepaule(ETE)
Frquences
25

20
Frquence

15

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Numrod'chantillon

Le deuxime pattern est un double top. Il est mis en vidence sur la figure 26.

Figure 26

Pattern double top

Ledoubletop
30
Frquences
25

20
Frquence

15

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Numrod'chantillon

38
Pattern paule-tte-paule (ETE)

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 30
Le troisime et dernier pattern est un double bottom, comme on peut le voir sur la
figure 27.

Figure 27

Pattern double bottom

30
Ledoublebottom
Frquences
25

20
Frquence

15

10

0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
Numrod'chantillon

Cette technique est intressante, car raliser une empreinte sur la base de pattern de
courbe, nous permet de prendre un peu plus en compte la forme de la courbe.

4.2.5 Technique de la diffrence entre courbes relatives et filtres par les


moyennes mobiles
Son principe de fonctionnement est simple et ne ncessite aucune empreinte pralable
la comparaison de deux courbes. Pour chaque segment, on rcupre la frquence
de chacune des deux courbes. On soustrait les deux frquences, puis on prend la
valeur absolue du rsultat de la soustraction. Et on rpte cette opration pour tous les
chantillons. Pour finir, on additionne la dviation de tous les chantillons. On obtient le
39
score de dviation .

Sur la figure 28, on voit deux courbes et la zone hachure reprsente la dviation que
lon calcule.

39
Cest le total de la dviation entre deux courbes.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 31
Figure 28

Dviation de deux courbes

Plus le score de dviation est faible plus la corrlation entre les deux courbes est forte
et inversement. Le score de dviation minimum est zro, car les deux courbes sont
strictement identiques, elles ne dvient pas lune par rapport lautre.

Pour que le score de dviation reflte le plus le comportement des deux courbes
compares, on doit absolument utiliser les frquences relatives de chaque courbe.

Un petit problme subsiste, car si les deux courbes nont pratiquement que des valeurs
nulles, le score de dviation sera injustement faible. Pour corriger ce problme, il suffit
de diviser le score de dviation par le nombre de valeurs diffrent de zro sur
lensemble des deux courbes.

Ainsi, plus il y aura de valeurs non nulles, plus le diviseur du score de dviation sera
grand et plus le rsultat sera petit par rapport aux courbes ayant beaucoup de valeurs
nulles. En rsum, plus les courbes auront de valeurs nulles, plus le score de dviation
sera sensible la plus petite dviation.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 32
La reprsentation mathmatique de cette technique est la suivante :

e = le nombre de segments total

Moyenne mobile dordre N

Soit : valeurs filtres pour


: valeurs filtres pour

On a :
, , 0 0

| |
,

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 33
5. Choix dune technique
Un des objectifs de ce travaille est mettre en uvre une application pour tenter de
corrls les classes dune trace dexcution. Je vais critiquer les techniques de
corrlation dynamique proposes au chapitre prcdent et prsenter la technique que
jai choisi dimplmenter.

5.1 Analyse de la pertinence des techniques proposes

5.1.1 Points de dpassements de support ou rsistance


Cette technique pourrait permettre de trouver des lments qui sont corrls comme
des lments qui ne le sont pas du tout, mais qui partagent la mme empreinte. Il na
aucun lien concret entre une empreinte et la forme de la courbe. On peut donc avoir
deux courbes qui nont pas la mme forme et pourtant la mme empreinte. De plus, en
fonction du Ns choisi, on peut avoir plus ou moins de points qui constituent lempreinte.
Le choix du facteur utilis pour calculer le support et la rsistance dpendra donc deux
choses : le Ns et le comportement de la courbe (si la courbe oscille beaucoup ou pas).

Cette technique ne semble pas trs solide dj au niveau thorique. Plus le Ns est
lev plus la frquence de la courbe oscille, je ne crois pas que cette technique
fonctionnerait.

Selon moi, cette technique serait difficile implmenter dans une application qui
lutiliserait de manire efficiente, c'est--dire chercher le facteur (pour calculer le
support et la rsistance) idal pour gnrer les empreintes de tous les lments de la
trace, ceci affectant aussi les performances.

Faute de temps, je nai pas pu faire de tests.

5.1.2 Analyse des tendances


La mise en pratique de cette technique ncessite cependant de mettre en uvres une
analyse, puis une corrlation coteuse en ressources, sans offrir une mesure
permettant dexprimer la qualit de la corrlation. Si, sur 9000 comparaisons
dempreinte, 500 sont positives. Il reste savoir quelles sont celles qui ont qualit de
corrlation suffisante.

Mais quel sera limpact sur les performances, sachant que chaque opration
supplmentaire rallonge le temps de traitement global.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 34
5.1.3 Empreinte sur les patterns de courbe
La mise en uvre de cette technique de corrlation dynamique serait complexe. Un
algorithme de recherche de pattern rapide et peu couteux en ressources me semble
difficile raliser.

5.1.4 Technique de la diffrence entre courbes relatives et filtres par les


moyennes mobiles
Cest la dernire technique de corrlation dynamique, que je critique. Et contrairement
aux techniques prcdentes, je lai implment et test dans lapplication que jai
ralise. Car cest la technique qui semble tre la plus prometteuse du lot.

Cette technique est simple et performance. On peut comparer les courbes directement
40
sans faire dempreintes. Il faudra tout mme transformer les frquences filtres ou
non en valeur relatives avant de calculer le score de dviation entre deux courbes.
Cette technique fonctionne trs bien daprs les tests que jai effectus.

Elle donne une mesure de la qualit de la corrlation entre tous les couples dlments
compars, on peut donc les classer de la corrlation la plus forte la plus faible. Cette
mesure est trs importante, car elle nous permet de dfinir un seuil au-dessus duquel
la qualit de la corrlation est considre comme insuffisante. Donc si deux lments
sont corrls le score de dviation de leur courbe doit tre infrieur au seuil dfini.

Je montre le test de cette technique au chapitre 6 Exprimentation et analyse de


sensibilit par rapport au nombre de segments.

40
La moyenne mobile simple est un type de filtre et il y en a dautres.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 35
6. Exprimentation et analyse
Dans ce chapitre, je prsente lapplication que jai dveloppe. Cette application
implmente la technique de la diffrence entre courbes relatives et filtres par les
moyennes mobiles. Pour essayer de dterminer dans une trace quelles sont les
classes corrles et confirmer visuellement laide des graphiques si effectivement les
courbes des frquences doccurrences se ressemblent.

Je ferai quelques tests pour montrer leffet de la moyenne mobile simple sur les
rsultats de la corrlation. Pour finir, je vais aussi montrer quelle est la sensibilit des
rsultats de corrlation par rapport au nombre de segments dfinis.

6.1 Description de lapplication

6.1.1 Objectifs de loutil de mise en uvre


Les objectifs de loutil se divisent en deux groupes :

Les objectifs inhrents la consultation des lments de la trace. Cela signifie


que lutilisateur a libert de consulter les informations quil dsire.

Les objectifs ncessaires la corrlation de tous les lments de la trace.


Lorsque lutilisateur a besoin de paramtrer loutil et lancer le processus de
corrlation sur tous les lments de la trace.

Commenons par le premier groupe dobjectifs, celui qui est li la consultation des
donnes. Les objectifs sont les suivants :

1. Afficher la liste de tous les lments distincts qui apparaissent dans la trace
dexcution.

2. Afficher dans un graphique les frquences dapparition dun ou plusieurs des


lments de la trace, avec le Ns dsir.

3. Afficher dans un graphique les frquences filtres dun ou plusieurs lments


de la trace, en ayant la libert de choisir un des filtres disponible (implment),

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 36
41
et si ncessaire choisir le nombre de valeurs que le filtre utilisera (chantillons
/ Axe des X).

4. Afficher dans un graphique la courbe de corrlation entre deux lments de la


trace, avec la technique de corrlation dynamique de son choix.

5. tre capable dafficher dans un seul graphique les trois objectifs prcdent.

Le deuxime groupe qui concerne le processus de corrlation sur toute la trace,


contient les objectifs suivants :

1. Permettre de paramtrer :

a. La valeur de Ns.

b. Le filtre appliquer sur les frquences et le nombre de valeur utilis par


le filtre.

c. La technique de corrlation dynamique que loutil utilisera pour effectuer


la corrlation entre les lments de la trace.

2. Afficher les rsultats de la corrlation dans une liste.

3. Si possible trier les rsultats de la corrlation par paires dlments dont la


corrlation est la plus forte vers ceux dont la corrlation est plus faible.

4. Afficher le rsultat de la corrlation de deux classes depuis la liste des


rsultats.

6.1.2 Prsentation gnrale de linterface graphique


Je vais prsenter linterface graphique de lapplication. Au chapitre 6.1, jai montr les
deux groupes dobjectifs que je me suis fixs. On va voir maintenant que linterface de
lapplication se compose de deux parties.

La premire partie est constitue donglet danalyse dans lequel on lance le processus
de corrlation sur lensemble de la trace slectionne avec les paramtres dsirs.

La deuxime partie de linterface est un onglet de visualisation des classes. On peut


donc choisir la ou les classes que lon dsire afficher sur un graphique et les
paramtres dsires. Les deux parties sont indpendantes.

41
Utilis par les filtres de type moyen mobile.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 37
6.1.3 Onglet danalyse des corrlations
Cette partie de linterface graphique est la plus importante de lapplication et aussi la
plus simple. On peut la voir sur la figure 29.

Pour lancer une corrlation, il faut :

Slectionner une trace dans la liste droulante Trace

42
Choisir le nombre de segment Ns

La moyenne mobile simple est le seul filtre, il est automatiquement appliqu.

Choisir lordre de la moyenne mobile simple Range .

On na pas dinfluence sur la technique de corrlation, il y en a une seule.

On peut ensuite cliquer sur Start Correlation et le rsultat de toutes les corrlations
apparatra dans la zone de texte Result , dans lordre du meilleur rsultat vers le
plus mauvais.

On peut choisir dafficher les courbes pour nimporte lesquelles des classes corrles,
en double-cliquant sur un des rsultats dans Result .

Les trois cases cocher Draw Frequencies , Draw Filtered Freq et Draw
Correlation permettent respectivement dafficher les courbes des frquences
doccurrences, les frquences doccurrences filtres par une moyenne mobile et la
courbe de dviation des moyennes mobiles.

42
IMPORTANT : Ns est exprim ici sous forme dune valeur x. Ns = xn, o n est le
nombre de classes dans la trace. On na pas dinfluence sur n. Il reste donc dfinir x
et le calcul du Ns se fait automatiquement dans lapplication.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 38
Figure 29

Panneau danalyse des corrlations

6.1.4 Onglet de visualisation des classes


Le fonctionnement de cette onglet est le mme que le prcdant pour la slection des
paramtres. Dans la zone de liste Trace Elements , on peut slectionner une ou
plusieurs classes et toutes les afficher sur un mme graphique, toujours en fonction
des paramtres dfinis. On appuie sur Show Chart pour afficher le graphique.

Les cases cocher Relative X Axis et Relative Y Axis servent dfinir si les
valeurs sur laxe quelles dsignent doivent tre exprimes de manire relative. (voir
figure 30)

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 39
Figure 30

Panneau de visualisation graphique des classes

6.2 Exprimentation de loutil


Toutes les exprimentations qui vont suivre ont t ralises sur une trace dune taille
de 600 000 appels. Il faut environ 4 minutes de traitement pour analyser les classes
corrles sur cette trace, avec Ns = 5n. Le temps de traitement peut tre rduit
significativement (voir chapitre 7.3). Il est important de prciser que lapplication dont
provient notre trace est trs bien architecture, pour facilit la recherche des classes
corrles.

6.2.1 Rsultats avec technique de corrlation implmente


Je vais lancer le processus de corrlation des classes de la trace, avec les paramtres
suivant :

Segmentation de la trace avec Ns = 5n, filtrage des frquences doccurrences


de toutes les classes avec une moyenne mobile simple dordre 60 (voir figure
39).

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 40
Figure 39

Corrlation des classes de la trace

Les rsultats sont affichs dans lordre croissant du score de dviation entre les paires
de classe compares.

On constate pour toutes les paires de classes corrles que les courbes sont
parfaitement superposes pour les 200 meilleures corrlations. On peut en dduire
que ces classes travaillent ensemble. En analysant visuellement les rsultats de
43
corrlations, on constate une ressemblance graphique des paires de classes
compares pour les 1000 meilleures corrlations.

Voici un extrait plus tendu des rsultats de la figure 39 (voir figure 40).

43
De la courbe

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 41
Figure 40

Extrait des corrlations des classes de la trace

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 42
6.2.2 Analyse de la sensibilit de la corrlation par rapport au nombre
dordre de la moyenne mobile
Les rsultats que je vais prsenter montrent que filtrer les frquences doccurrence des
44
classes, nous permet dobtenir des meilleurs score de dviation pour les classes
corrls, grce leffet lissage de la courbe.

Figure 31

Rsultat de corrlation avec Ns 3n et ordre 1

Jai effectu une analyse de la trace avec Ns = 3n sans filtrage et jai obtenu les
rsultats de la figure 31. A prsent, je refais la mme analyse avec un filtrage
dordre 30. Jobtiens les rsultats de la figure 32.

44
Voir Chapitre 4.2.5

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 43
Si on compare les deux rsultats on constate, pour la figure 33, que le score de
dviation est plus faible et que les valeurs sont plus tales.

Figure 32

Rsultat de corrlation avec Ns 3n et ordre 30

Regardons maintenant sur le graphique limpact de la moyenne mobile simple sur la


courbe des frquences deux classes parfaitement corrles, sans filtrage (voir figure
33) et avec filtrage par une moyenne mobile simple dordre 30 (voir figure 34). Leffet
est radical. On peroit trs nettement les tendances des deux courbes qui sont
parfaitement superposes, alors que sur la courbe sans filtrage on ne voyait pas grand
chose.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 44
Figure 33

Courbes des frquences doccurrences de deux classes avec Ns 3n ordre 1

Figure 34

Courbes des frquences doccurrences de deux classes avec Ns 3n ordre 30

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 45
6.2.3 Analyse de la sensibilit de la corrlation par rapport au nombre de
segment
Jai effectu deux analyses de la trace avec la technique de la diffrence entre courbes
relatives et filtres par les moyennes mobiles et les paramtres suivant :

Segmentation de la trace avec Ns = 1n, filtrage des frquences doccurrences


de toutes les classes avec une moyenne mobile dordre 10.

Segmentation de la trace avec Ns = 3n, filtrage des frquences doccurrences


de toutes les classes avec une moyenne mobile dordre 30. Jai dfini un ordre
de 3 fois suprieur la premire corrlation car on a 3 fois plus de segments
avec Ns = 3n. Jespre ainsi isoler leffet quapportera un Ns plus lev.

Jai rcupr les 50 paires de classe dont la corrlation est la plus forte pour chacune
de ces deux analyses. Ces paires de classes sont tris par ordre alphabtique (voir
figure 35). On cherche voir comment le changement de Ns va affecter les rsultats
ou le classement des rsultats. Donc si lon prend les 50 meilleurs rsultats pour les
deux analyses, on pourrait regarder si on y retrouve les mmes classes.

45
Sur la figure, la premire colonne R est le rang , C1 est une classe et C2
une autre classe laquelle elle a t compare C. C1 et C2 forment une paire de
46
classe unique pour chaque ligne. RE est le score de dviation .

On constate pour les deux analyses, les 50 meilleures corrlations sont quasiment les
mmes. Cependant, on voit aussi que le Ns a un faible impact sur le classement et le
score de dviation. On remarquera aussi quune partie des paires de classes
manquantes sont parfois celles qui se trouvaient un rang proche de 50.

45
Cest le classement de la corrlation entre deux classes. Pour cette trace le rang va
jusqu 9591, parce quil y 9591 corrlations possible entre toutes les classes de la
trace. Elles sont toutes classes selon leur rsultat de 1 9591.
46
Voir au chapitre 4.2.5

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 46
Figure 35

Sensibilit entre Ns 1n filtrage dordre 10 et Ns 3n filtrage dordre 30

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 47
Maintenant, je vais comparer deux nouveaux rsultats analyses avec les paramtres
suivant et selon les mmes principes que prcdemment :

Segmentation de la trace avec Ns = 3n, filtrage des frquences doccurrences


de toutes les classes avec une moyenne mobile dordre 30.

Segmentation de la trace avec Ns = 32n, filtrage des frquences doccurrences


de toutes les classes avec une moyenne mobile dordre 320.

Sur la figure 36, on constate quavec Ns = 32n, on na pas non plus dimpact majeur
sur les rsultats des corrlations. On retrouve plus ou moins les mmes paires de
classes des 2 cots.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 48
Figure 36

Sensibilit entre Ns 3n filtrage dordre 30 et Ns 32n filtrage dordre 320

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 49
7. Considrations dimplmentation
Ce chapitre dcrirait le modle de donnes avec une description des tables et leur rle
ainsi que larchitecture de lapplication avec une description des classes de celle-ci.

7.1 Modle de donnes


Je vais dcrire pour le modle de donnes, les tables et leur rle (voir figure 37) :

Trace_tbl est la table qui contient les noms des traces quil est possible
danalyser. Elle permet de distinguer les informations gnres pour chaque
trace.

Element_tbl contient le nom de tous les lments, toutes traces confondues.

Trace_element_tbl permet de distinguer les classes de chaque trace. Chacun


des tuples de cette table est unique. On na pas deux fois la mme classe pour
la mme trace.

Frequency_tbl est la table qui contiendra toutes les valeurs des frquences
doccurrences.

Trace_element_freq permet faire le lien entre les frquences doccurrences


dune classe avec une segmentation de la trace dfinie par lattribut tef_ns et
les frquences doccurrences contenues dans la table Frequency_tbl.

Filter_tbl dfinit le nom des types de filtres disponible dans lapplication.

Filtered_value_tbl contient toutes les valeurs des frquences doccurrences


filtres.

Filtered_freq_tbl permet stocker les frquences filtres des frquences


doccurrences contenues dans Trace_element_freq. Le type de filtrage est
dfini par lattribut fif_filterid.

Correlation_tbl dfinit les techniques de corrlation applicable par lapplication.

Correlation_array_tbl permet denregistrer le rsultat de la corrlation entre


les frquences doccurrences filtres des deux classes compares. Lattribut
coa_correlationid nous renseigne sur la technique de corrlation employe.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 50
Figure 37

Modle de donne de lapplication

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 51
7.2 Architecture de lapplication
Maintenant nous allons voir pour la couche domaine quels sont les packages de
lapplication et les classes importantes de chacun dentre eux (voir figure 38):

Le package pd contient des classes qui sont ncessaires la persistance


des donnes. Elle contient une classe qui gre la connexion la base de
47
donnes. Elle a t crite par Peter Daehne .

Le package persistance contient les classes de persistance. Il y a deux


classes par table. Lune permet de rcuprer automatiquement une collection
dobjets en interrogeant sa table et lautre est lobjet persistant dont est
compose la collection.

48
Le package jfreechart est une librairie qui permet dafficher les graphiques
de lapplication.

Le package chart contient les classes qui permettent de prparer les


donnes afin de les afficher laide de la librairie jfreechart .

CustomDataset permet de crer une source de donnes. Elle va aussi


transformer les sries de donnes afficher de manire relative (ex. :
les frquences relatives).

ChartGen est la classe qui cre une fentre et affiche un graphique


avec les donnes contenues dans CustomDataset.

Le package core est le cur de lapplication, elle contient les contrleurs, et


des classes de traitements.

TraceAnalyserControl permet de lancer les processus de corrlation


avec tous les paramtres dsirs.

TraceTableLoader permet danalyser une table qui contient la trace


dexcution. Elle value le nombre de classes dans la trace (n). Elle
rcupre et insre la frquence doccurrence de chaque segment pour
toutes les classes, si elles nont pas dj t insres dans la base. Elle
ne fait rien si les frquences pour le Ns demand existent dj.

47
Professeur HES
48
OBJECT REFINERY LIMITED. JFreeChart [en ligne]. http://www.jfree.org/jfreechart/

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 52
FilterProcess parcourt les frquences doccurrences dune classe pour
un Ns donn puis calcule et insre les frquences doccurrences filtres.

CorrelationProcess effectue le processus de corrlation des classes de


la trace.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 53
Figure 38

Architecture de lapplication

Sur la figure 38 on peut voir les packages et leurs dpendances.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 54
7.3 Travailler avec les traces dexcution
Les traces dexcutions peuvent tre normes. C'est pourquoi on doit trs vite exclure
de travailler sur des fichiers plats (XML, TXT, etc.), et passer une base de donnes
performante. En effet, mme les petites bases de donnes sont exclure car elles
seront vite dpasses par la quantit dinformation que reprsentent certaines traces.

Il serait donc plus recommand de travailler avec la base de donnes comme


49
Oracle .

Dans la mesure o une application doit travailler sur des traces dexcutions avec une
base de donnes, il est prfrable de bien optimiser ces requtes SQL afin de ne
rcuprer que linformation utile lapplication cliente, dautant plus si la base de
donnes est trs performante. De plus, il faut absolument les longues sries de
50
requtes , si on faire la mme opration en une seule. Je lai constat dans mon
travail : les performances chutent dramatiquement.

Pour amliorer les performances, on peut dlguer la base de donnes certains


traitements afin de ne pas envoyer des milliers de requtes SQL via le rseau en
51
utilisant par exemple, des procdures stockes . Ainsi, on effectue un appel une
procdure stocke qui va lancer le traitement directement dans la base.

Il y a un autre facteur important qui permet damliorer les performances. Les rsultats
des oprations sur les traces peuvent eux aussi gnrer beaucoup dinformations et
surtout on peut viter de les refaire systmatiquement pour une mme trace. Si lon
considre quune trace est immuable, alors on ne doit pas refaire les mmes
oprations. On enregistre aussi les rsultats dans notre base de donnes. a peut
paratre vident, mais il ne faut pas lomettre pour autant.

Crer des indexes dans la base de donnes aprs avoir insr de grande quantit de
donnes permet davoir des meilleurs temps de rponse sur les requtes SQL.

49
Sauf Oracle Express Edition qui est gratuit, mais limit en stockage (4 Go de donns
maximum) et en mmoire RAM (1Go de mmoire maximum)
50
Des centaines ou des milliers de requtes
51
Ce sont des procdures qui sexcutent directement dans la base. Elles sont trs
rapides pour traiter certaines oprations ncessitant des requtes paramtres.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 55
Conclusions
La technique de la diffrence entre courbes relatives et filtres par les moyennes
mobiles donne de trs bons rsultats. Elle est performante par sa simplicit de calcul,
et la stabilit de ses rsultats mme avec une faible segmentation. Un facteur
important qui lui permet de reprer les classes corrles est le filtrage numrique qui,
en lissant les courbes et en rvlant les tendances des courbes, permet une
comparaison de meilleure qualit. Le score de dviation permet ensuite de montrer les
classes les mieux corrles.

Avec mon application et ma technique de corrlation dynamique, j'ai pu analyser une


trace de 600 000 appels, et une autre d'environ 7 millions d'appels. On remarque donc
que la performance de l'application peut tre amliore de faon significative.

Pour les futures recherches, ma technique peut tre enrichie, pour tenir compte de
situations plus spcifiques, notamment lorsque des classes ne sont corrles que sur
une partie de la trace. J'ai pu constater ce phnomne en observant certaines courbes
et le rsultat de leur score de dviation. Une ide pour palier cette situation, serait de
calculer l'cart type entre deux moyennes mobiles exprimes de manire relatives sur
des intervalles de segments contigus. En incluant la valeur de l'cart type dans le
score de dviation, cela permettrait de rendre les corrlations encore plus pertinentes
quelles ne le sont.

52
Certaines courbes filtres que j'ai pu observer sur les classes fortement corrles,
prsentent des tendances similaires pour les mmes segments. Une technique base
sur l'analyse des tendances (voir Chapitre 4.2.3) pourrait tre mise en uvre pour
exploiter ces similitudes et tenter de corrler les classes de la trace.

Pour conclure, l'application de l'analyse technique financire l'analyse de traces


d'excution de programme apporte une approche nouvelle et prometteuse qui
permettra, je l'espre, de faire avancer les recherches actives dans ce domaine de la
recherche.

52
Courbes des frquences d'occurrences filtres

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 56
Bibliographie

Livres
BARON, Franois. Le chartisme : mthodes et stratgies pour gagner en bourse.
[Paris] : Eyrolles, 2008. 490 p. (Analyse technique).

BECHU, Thierry, BERTRAND, Eric, NEBENZAHL, Julien. Lanalyse technique :


thories et mthodes. Paris : Economica, 2008. (Finance).

Articles
HAMOU-LHADJ, A., LETHBRIDGE, T.C - A Survey of Trace Exploration Tools and
Techniques. Proc of the Conference of the Centre for Advanced Studies on
Collaborative Research CASCON 2004, October 5-7, 2004,Markham, Canada.

DUGERDIL PH. - Architecture-Based Software Reengineering. Technical report, HEG


Geneva, February 2006

DUGERDI PH., JOSSI S. - Empirical assessment of execution traces segmentation in


reverse-engineering. Porto, ICSOFT, 2008. 8 p.

ZAIDMAN A., DEMEYER S. - Managing trace data volume through a heuristical


clustering process based on event execution frequency. EUROPEAN CONFERENCE
ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR) (2004, Tampere) :
proceedings of the eight CSMR. Tampere, 24-25-26 mars 2004. [10 p.]

DUGERDIL PH. - Using trace sampling techniques to identify dynamic clusters of


classes. IBM CAS SOFTWARE AND SYSTEMS ENGINEERING SYMPOSIUM (2007,
Dublin). : proceedings of the 2007 conference of the center for advanced studies on
Collaborative research. Hamilton auditorium of Dublin, 24 octobre 2007. 9 p.

KUHN A., GREEVY O. - Exploiting the analogy between traces and signal processing.
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE (2006,
Philadelphie) : processing of IEEE ICSM. Philadlphie, 24-25-26-26 septembre 2006. 9
p.

CORNELISSEN B., MOONEN L. - Visualizing similarities in execution traces.


PROGRAM COMPREHENSION THROUGH DYNAMIC ANALYSIS (2007, Vancouver).
: proceedings ot the 3rd international workshop on program comprehension through
dynamic analysis. Vancouver, 29 octobre 2007. 10 p.

BENNETT C., MYERS D., STOREY M., GERMAN D. - Working with Monster Traces:
Building a Scalable, Usable Sequence Viewer. PROGRAM COMPREHENSION
THROUGH DYNAMIC ANALYSIS (2007, Vancouver). : proceedings of the 3rd
international workshop on program comprehension through dynamic analysis.
Vancouver, 29 octobre 2007. 5 p.

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 57
Bergey J., Smith D., Weiderman N., Woods S. Options Analysis for Reengineering
(OAR) : Issues and Conceptual Approach. Sofware Engineering Institute, Carnegie

Sites web
BNP PARIBAS. Tendances, supports et rsistances [en ligne].
http://www.bnpparibas.net/banque/portail/particulier/Fiche?type=fiche&identifiant=NOT
_Tendances_supports_et_resistances_20060403115328 (consult le 30.11.2008)

CLUB DENTRAIDE DES DEVELOPPEURS FRANCOPHONES. Le SQL de A Z :


Fonctions SQL [en ligne]. http://sqlpro.developpez.com/cours/sqlaz/fonctions/ (consult
le 30.11.2008)

DAILY BOURSE. Apprendre la bourse : notions de supports et de rsistances [en


ligne]. http://www.daily-bourse.fr/NOTIONS-DE-SUPPORT-ET-DE-RESISTANCE-
vtptc-1578.php (consult le 30.11.2008)

OBJECT REFINERY LIMITED. JFreeChart [en ligne]. http://www.jfree.org/jfreechart/


(consult le 30.11.2008)

PROREALTIME. Logiciel analyse technique temps rel [en ligne].


http://www.prorealtime.com/fr/ (consult le 30.11.2008)

RYDE, Kevin. Endpoint moving average [en ligne].


http://www.geocities.com/user42_kevin/chart/manual/Endpoint-Moving-Average.html
(consult le 30.11.2008)

TRADING SCHOOL. Epaule tte paule (T) : les figures chartistes, glossaire de la
bourse [en ligne]. http://www.trading-school.eu/glossaire-bourse/fiche-Epaule-Tete-
Epaule-ETE--47 (consult le 30.11.2008)

WIKIMEDIA FOUNDATION. Wikipdia [en ligne]. http://fr.wikipedia.org/ (consult le


30.11.2008)

Application de lanalyse technique financire lanalyse de traces dexcution de programme


SENNHAUSER, David 58

Вам также может понравиться