Ce chapitre est uniquement composé de deux sections, car il s’agit d’expliquer
brièvement le fonctionnement de l’outil et l’interaction entre les éléments qui le composent.
3.1 Principes fonctionnels
Tout d’abord, il faut relever que le programme a été conçu de manière à favoriser la simulation de portefeuilles en se basant principalement sur des données de cours
historiques, provenant d’une large gamme d’actions internationales. De plus, la liste
des indices boursiers et des titres disponibles est totalement personnalisable via la manipulation d’un fichier de configuration au format « xml » situé à la racine du dossier d’installation.
Le programme autorise néanmoins l’utilisateur qui souhaite se fonder sur des
probabilités subjectives, à entrer manuellement les paramètres des opérations avec
lesquels il voudrait effectuer des simulations. Même s’il s’agit d’une adaptation de
dernier recours, cette fonctionnalité reste relativement souple, mais elle nécessite une
intervention plus intensive de l’utilisateur. En effet, l’utilisateur doit détenir des
connaissances légèrement plus poussées concernant le fonctionnement du programme, afin de savoir où et comment intégrer ces paramètres personnalisés, en
évitant ainsi l’obtention de résultats inappropriés. Il s’avère capital d’insister sur
l’importance de la validité et de la qualité des données que devra fournir l’utilisateur s’il procède à une simulation à partir de probabilités subjectives.
Pour finir, étant donné que la théorie du portefeuille et le modèle d’équilibre des actifs financiers émettent l’hypothèse que l’évaluation est faite sur une période, celle-ci n’étant pas définie plus strictement, le programme établira l’ensemble des calculs sur l’horizon temps déterminé lors de la sélection des titres. C’est-à-dire que si on lui demande de calculer les données de rentabilités et volatilités historiques, pour une liste de titres, le programme effectuera la simulation complète, à partir de l’horizon temps qui a été transmis dès le départ. Ainsi, si on l’interroge pour une période de 3 mois, la simulation prendra pour base de calculs les rentabilités et risques sur 3 mois. On
obtient donc une prévision qui correspond exactement à l’horizon temps effectif
observé dans le passé. Nonobstant, si cette fonctionnalité ne correspond pas aux attentes de l’utilisateur, il aura la possibilité d’effectuer les modifications nécessaires,
correspondrait à l’estimation faite par l’investisseur pour la prochaine période d’un an, il
aurait le choix entre trois approches. Il pourrait tout d’abord laisser le programme
calculer les valeurs exactes du couple rentabilité-risque à partir de l’historique sur la
période de 5 ans, ce qui en toute logique l’amènerait à obtenir des résultats
relativement élevés, mais fidèles à l’espace-temps choisi. La seconde possibilité serait de reprendre les valeurs moyennes annualisées que le programme calcule automatiquement, en les ressaisissant en mode personnalisé, ce qui lui permettrait d’obtenir une simulation avec des résultats annualisés. Finalement, la dernière possibilité offerte est simplement d’introduire la meilleure estimation des valeurs pour la période choisie, qui s’avère dans cette situation être d’une année.
Le couplage de ces fonctionnalités offre une grande souplesse dans l’application des
modèles financiers étudiés, d’autant plus que le logiciel ne limite pas le nombre de
titres à évaluer. Seul le temps de traitement des opérations effectuées par le logiciel peut être allongé en fonction du nombre de titres inclus dans la simulation (environ 10 minutes pour les 60 titres du S&P/TSX60).
3.2 Gestion des flux d’informations
Sans entrer dans les détails du fonctionnement du programme, les deux illustrations suivantes exposent un aperçu du mode d’interaction entre les différents composants s’intégrant au processus de traitement de l’information.
Le premier graphique décrit la manière dont la composition des indices boursiers est mise à jour, par l’intermédiaire d’une connexion à Internet.
Figure 1
Processus de mise à jour d’un indice boursier
Source : COURVOISIER (2012)
1. L’utilisateur initialise la mise à jour des indices par l’intermédiaire d’un clic sur
le bouton correspondant, situé sur le ruban d’Excel.
2. S’ensuit la lecture du fichier de configuration qui est au format « xml » et qui
permet de retrouver l’adresse Internet correspondant à chaque indice. Cette adresse est personnalisable afin de pouvoir bénéficier de la diversité des offres d’indices boursiers disponibles à travers Internet. Par défaut, le programme s’oriente sur le site de Yahoo Finance.
3. Les données sont récupérées depuis la page Internet correspondante.
4. La routine transforme et formate les données. Ensuite, elle les enregistre sur le disque dur sous la forme de tableaux dans une feuille de calculs Excel (.xlsx).
5. Les indices sont réactualisés dans la liste du composant VB.Net, situé dans le document de travail.
Le second graphique représente le processus de téléchargement des données historiques, depuis le site Internet de Yahoo Finance.
Figure 2
Processus de téléchargement des données historiques
Source : COURVOISIER (2012)
1. L’utilisateur initialise une requête en fournissant la périodicité (quotidienne,
hebdomadaire et mensuelle) et les dates de début et de fin d’historique, pour les titres sélectionnés dans l’interface du composant de constitution de portefeuilles.
2. Les données sont téléchargées dans des fichiers « .csv » distincts.
3. La routine formalise et lance la liste des opérations nécessaires au programme, par exemple le calcul du rendement et de la volatilité.
4. Les informations sont affichées dans la grille de visualisation du composant et prêtes à être utilisées par le programme de génération de portefeuilles. Il faut noter que le processus de téléchargement des historiques fonctionne en mode local, si aucune connexion Internet n’est disponible. Dans cette situation, l’historique s’arrêtera à la dernière date de mise à jour. Cette fonctionnalité est très pratique puisqu’elle permet d’utiliser le programme même quand les conditions de travail ne sont pas optimales. Bien entendu, le fonctionnement en local nécessite le stockage des historiques sur le disque dur, ce qui est plus consommateur d’espace. La taille de chaque fichier « .csv » varie en fonction de son contenu. Pour donner un ordre de grandeur, elle oscille entre quelques dizaines de kilo-octets et pour les plus gros
fichiers, elle se rapproche d’un méga-octet. Actuellement, avec les historiques
mensuels, hebdomadaires et quotidiens des titres des indices S&P/TSX60, DJIA, SMI,
espace augmentera proportionnellement au nombre de titres que l’on souhaite pouvoir consulter en mode hors ligne. Quant à l’installation du logiciel, elle nécessite environ 5 méga-octets. Par contre, si l’on interroge la base de données de Yahoo Finance directement depuis le programme, il est nécessaire de disposer de quelques kilo-octets supplémentaires afin de pouvoir stocker provisoirement les données sur le disque dur. Pour terminer, le fichier « xml » est à la base de l’interaction entre l’utilisateur et le programme, car il permet une totale personnalisation des données à traiter. Ce fichier autorise l’utilisateur à ajouter de nouveaux titres et indices, qui sont initialement non disponibles. Un titre peut-être ajouté par l’utilisateur à la seule et unique condition qu’il soit enregistré dans la base de données de Yahoo Finance. Quant à l’ajout d’indices, il suffit de trouver un site Internet qui fournisse la table de sa composition et que cette dernière affiche au moins le code du titre et son nom complet. Ensuite, quelques petits paramètres de configuration permettant d’identifier l’emplacement de la table sont à fournir dans le fichier « xml ». Ce fichier doit être édité manuellement.
Concernant la puissance de calcul du logiciel, le programme permet la sélection multiple de titres sans limitation. Toutefois, le temps de calcul peut devenir très conséquent. Une mesure de la table des corrélations entre les soixante titres de l’indice canadien S&P/TSX60 a pris une bonne dizaine de minutes. La seule contrainte provient du nombre maximal de colonnes qu’autorise Microsoft Excel 2010.
La mesure de la corrélation s’effectue à partir d’une confrontation des historiques, dans une feuille de calculs. Sachant que Microsoft Excel 2010 se limite à 16'384 colonnes et que selon le fonctionnement du composant développé dans le cadre de ce travail, pour connaître le nombre de titres exact qu’il est possible de traiter, cela nécessite la
résolution de l’équation (( ( ) ) ) . La résolution de cette dernière
dépasse la capacité du solveur Microsoft Mathematics. Donc, par approximation, on obtient 104 titres par opération, puisque cela donne 16'380 colonnes. Pour expliquer
cette équation, elle est composée d’une combinaison sans répétition ( ( ) ) , à
laquelle on a ajouté une liste de combinaisons supplémentaires (le logiciel en a besoin) et on a multiplié l’ensemble par 3 colonnes pour chaque combinaison.
Grâce à ces fonctions, on obtient une certaine flexibilité du programme et un dynamisme non négligeable.