jeudi 17 juillet 2008

Le marché - Flux de données

Pour avoir un peu côtoyé ce genre de code, je sais qu'il est parfois un poil complexe d'afficher tous les prix d'une marchandise donnée dans une liste achat/vente. La raison en est que de nouveaux prix vont devoir s'insérer, ou des prix visibles disparaitre en faisant remonter toute la pile. Il faut donc gérer au niveau du client un registre local des prix, mis à jour par le serveur, et qui peut afficher la profondeur de prix voulue par l'utilisateur. De plus, l'utilisateur peut reconnaître certains prix particuliers, comme les siens, ou ceux entrés par un groupe d'utilisateurs particuliers. Ceci veut dire que le serveur doit envoyer une vue légèrement différente à chaque utilisateur, en cachant les identités des prix pour lesquels l'utilisateur n'a pas de permissions.

Bien entendu, tout un tas de monde s'est heurté au même souci avant moi, et c'est pour cela que la plupart des logiciels utilisés dans les échanges séparent d'un côté les ordres de l'utilisateur, et de l'autre les données de marché. Ainsi, plutôt que de voir la liste des prix, avec par exemple ses propres prix surlignés, l'utilisateur voit le marché, qui est l'agrégation des prix les plus hauts (bas pour les ordres de vente), et la liste de ses propres ordres. Le serveur envoie donc la même vue du marché à tous, et seulement les mises à jour de leurs propres ordres à chaque utilisateur.

Vous l'aurez deviné, c'est bien cette deuxième méthode que j'ai l'intention d'utiliser dans AdH!

2 commentaires:

Kokuma a dit…

Navré d'être aussi inculte, mais à quoi correspond "l'aggrégation des prix [extrémaux]" ? Si l'on est toujours dans un marché de type "open outcry", est-ce que cela correspond à la moyenne des prix unitaire des différentes marchandises ? La moyenne des quantités ? Un mélange des deux ? Totalement autre chose ? À quelle proportion correspond "les prix les plus hauts/bas" ? Cela ne donne-t-il pas une vision incomplète voire fausse du marché ?

M87 a dit…

L'agrégation ne regroupe que les prix qui sont exactement les mêmes. Ainsi, si les ordres du côté vente sont 3, 3, 3, 4, 5, 5, 7, 7, 7, l'on ne verra par exemple que 4, 5 et 7, correspondant au 3 prix les plus hauts. Autant il est rare de voir les quantités dans les marchés actions ou monnaie, autant dans les commodités, c'est une information beaucoup plus importante. Un écran standard pourra afficher, par exemple en reprenant mes mêmes chiffres pour le côté achat:

3 x 7 | 2 x 9
2 x 5 | 4 x 11
1 x 4 | 2 x 12

Est-ce que voir la profondeur est utile? J'en doute, la plupart des vendeurs / acheteurs sont intéressés par le prix qu'ils peuvent tirer maintenant, du moment que la quantité est présente, voir ce qu'il y a au fond est peu utile.