Licence de Mathématiques Année 2014-2015
Université d’Angers
TP 2 LOGICIELS STATISTIQUES
Programmation avec R
Dans ce TP, en utilisant quelques notions de programmation, on s’intéresse à construire des
algorithmes de mélanges pour "jouer" en bourse. Cela dit, je ne vous encourage pas à miser votre
argent en bourse avec la simple connaissance de ce TP !
Exercices préliminaires sur les cotations
1. Télécharger des cotations annuelles de plusieurs cours d’actions (par exemple sur le site
abcbourse.com) sous la forme de fichiers texte.
2. Tracer l’évolution du cours d’une action sur une année et calculer le rendement journalier
(en fonction du cours à l’ouverture et à la fermeture).
3. Comparer les rendements journaliers de plusieurs actions (graphiques).
4. Calculer le rendement d’un capital initial Kinvesti tous les matins dans un cours et vendu
tous les soirs. Distinguer deux cas :
le cas simple où l’on investi Ktous les jours (indépendamment des résultats)
le cas où la somme de la veille est réinvesti le lendemain dans sa totalité.
5. Comparer le rendement de plusieurs cotations.
6. On veut combiner deux actions aucours du temps. Calculer le rendement idéal (impossible
en pratique) d’un capital Kinitial où chaque matin, on choisit la meilleure action.
7. Même question avec 10 actions.
La question à laquelle nous allons essayer de répondre est la suivante : peut-on construire un
algorithme permettant de s’approcher de la stratégie idéale proposée ci-dessus ?
Algorithmes d’agrégation
On considère le jeu séquentiel suivant. A chaque instant t, on dispose de Mactions que l’on
peut combiner. A chaque action correspond un gain (ou une perte), noté ak,t, où k= 1, . . . , M.
On veut combiner les Mactions de manière à maximiser le gain cumulé au cours du temps.
Pour cela, à chaque instant t, on propose un vecteur de poids, noté wt= (w1,t, . . . , wM,t),
construit à partir des performances du passé de chaque action. Puis, la suite de gains à l’instant
t, notée ak,t,k= 1, . . . , M est révélée. On obtient une récompense g(t) = PM
k=1 wk,tak,t. Le but
est donc de construire une suite de poids wtqui maximise la quantité PT
t=1 g(t).
I. Algorithme de vote majoritaire
Cet algorithme reprend le principe général décrit ci-dessus. On initialise le vecteur des poids
w1:= (1/M, . . . , 1/M). Puis, à chaque étape t, on met à jour le vecteur de poids de la manière
suivante :
wk,t+1 =wk,t
2si ak,t <0
wk,t si ak,t 0
Enfin, on normalise le vecteur de poids en posant wt+1 wt+1/PM
k=1 wk,t+1.
1. Expliquer le principe général de l’algorithme. Calculer le vecteur wT.
2. Écrire une fonction wmvote(x,y) qui, à partir de deux séries de cotations xet y, renvoie :
1
le gain cumulée de l’algorithme.
la suite des poids alloués à chaque action au cours du temps.
le rendement de chaque action ainsi que celui de la stratégie optimale de la première
partie du TP.
3. Tracer l’évolution des poids sur un graphique.
4. Généraliser la fonction précédente à un nombre Md’actions.
II. Algorithme à poids exponentiel
Cet algorithme reprend le principe du vote majoritaire. L’initialisation est identique mais cette
fois-ci, à chaque étape t, on met à jour le vecteur de poids de la manière suivante :
wk,t+1 =eλak,t wk,t,
λ > 0est un paramètre de température à calibrer. Enfin, on normalise le vecteur de poids en
posant wt+1 wt+1/PM
k=1 wk,t+1.
1. Comparer la mise à jour du vecteur des poids par rapport à l’algorithme précédent. Comment
s’écrit le vecteur des poids wt?
2. Ecrire une fonction expWAF(x,y,λ)qui, à partir de deux séries de cotations xet y, renvoie :
le gain cumulée de l’algorithme.
la suite des poids alloués à chaque action aucours du temps.
le gain de chaque action ainsi que celui de la stratégie optimale calculée précedamment.
3. Tracer l’évolution des poids sur un graphique. Que se passe-t’il lorsque λvarie ?
4. Généraliser la fonction précédente au cas de Mactions.
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !