Conception d’un système de trading à partir de l’API de paiement Moneybookers et de FreePay

(version Beryl)

télécharger la brochure : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Slides_FR.pdf

télécharger le texte : http://give1get2.sourceforge.net/give1get2/support/docs/Give1Get2_Guide_Dev_FR.pdf

Vision :

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la
mortalité.

Créer un monde sans pauvreté pour permettre l’éducation, réduire les maladies et réduire la mortalité.

Le changement de paradigme :

Le paradigme existant permet de résoudre certain problèmes, c’est pourquoi il a été accepté par le passé. Cependant, en ce moment, il ne répond pas à la demande de tout le monde. Donc, il y a eu une remise en question et une demande de changement.

J’ai étudié le marché des solutions existantes. N’étant pas satisfait (car si j’étais satisfait la problématique aurait été déjà résolue), j’ai donc décidé de créer ce logiciel. Car, à mon avis, il faut retirer progressivement les barrières qui entravent les échanges. (réf Traité instituant la Communauté européenne, 1957)

Le logiciel Give1Get2 est conçu pour construire un marché financier alternatif aux marchés financiers existants. Le logiciel est spécialisé dans la levée de fonds en ligne. Il facilite le libre échange dans l’économie internationale. Ce logiciel a été crée pour répondre au besoin de financement des agents économiques au niveau européen et mondial pour pouvoir financer, en autre chose, la recherche, l’éducation et l’innovation.

Principes & Qualités :

– Liberté, Citoyenneté, Responsabilité, Égalité, Solidarité,

– Ouvert, Réglementé, Prévisible, Non discriminatoire

Objectif :

Faire un projet pilote (fonctionnel, gratuit dans sa mise en place et dans son utilisation, légal, disponible (7/7j, 24/24h) et reposant sur une situation gagnant-gagnant) d’une plateforme de trading internationale (FSX) à partir d’une API de paiement (Moneybookers) et d’un progiciel financier libre (FreePay) pour permettre d’augmenter le solde des participants. (+1 Euro à chaque fois)

Réalisé : L’objectif principal a été réalisé.

Le logiciel a été testé dans des conditions réelles avec des comptes personnels pour les 3 cas possibles d’achat (inférieur, égal et supérieur) : et dans chacun des cas, cela à fonctionné parfaitement.

Exemple simple : lorsqu’ 1 Euro est envoyé, 2 Euros sont reçus (facteur 2 : 1*2=2). La devise « Give 1. Get 2. » a été choisie en ce sens. Le montant de départ est choisi par l’utilisateur et il peut utiliser le système autant de fois qu’il veut. exemple : 1234 Euros envoyé -> 2468 Euros reçus.

Cible :

Cible Utilisateur : Ce logiciel est été mis en oeuvre en ciblant principalement les utilisateurs du PSP utilisé parlant français ou anglais et ayant un minimum de compétences en finance (Moneybookers enregistre 9 millions de clients, selon Moneybookers). L’objectif n’étant pas de ce limiter à cette catégorie mais de pouvoir toucher le plus grand nombre d’ utilisateurs.

Cible Développeur : Les personnes ciblé pour le téléchargement et l’installation du logiciel sont les programmeurs (développeur web de préférence) et/ou entreprises voulant mettre en place une plateforme de trading.

La plateforme ne prend pas de pourcentage sur les fonds qu’elle lève. En ce sens, une organisation qui l’utiliserait pourrait être du type organisation à but non lucratif.

Les stratégies pour faire du business

Il existe 3 stratégies possibles pour 2 personnes : Perdre, pas de deal ou gagner. (soit 9 combinaisons en tout)

Cas pratique : Je ne veux pas perdre d’argent (destruction d’argent) Je ne veux pas perdre d’argent pour que quelqu’un en gagne. (un vol d’argent) Je veux changer. Je ne veux pas gagner d’argent pour que quelqu’un en perde. (un vol d’argent) Je ne veux pas gagner d’argent tout seul. (faux billet) Je veux gagner de l’argent et que quelqu’un d’autre en gagne aussi.

La seule solution qui me semble réalisable est donc : la stratégie gagnant-gagnant.

Business Model d’une plateforme de Trading en ligne avec une stratégie Gagnant-Gagnant :

5 parties : Fournisseur, Consommateur, Concurrent, Partenaire et Soi-même.

Fournisseur :

– Les prestataires de services de paiement (PSP) ont un business model qui fonctionne par les commissions (partie fixe et variable) sur les transactions de leur clients (environ 2%). Pour que leur profit augmente, ils veulent augmenter leur volume de transactions et à ce que les clients envoient de plus grosse somme.

– Leur principaux partenaires sont les marchands et les plateforme de trading qui leur permet d’accroitre leur volume de transactions et les montants via les utilisateurs qui les utilisent. Ceci se fait par l’augmentation de leur nombre de clients qui est proportionnel à l’accès de leur système d’informations : l’API (Application Programming Interface) qui permet à quiconque d’automatiser les paiements.

– Leur fournisseurs sont une ou plusieurs banques. Les messages financiers sont géré électroniquement par la banque. Le PSP reçoit des confirmations via une API.

Consommateur :

– Les utilisateurs de l’internet veulent répondre à leur besoins. Les besoins de l’humanité sont récurrent (doivent être satisfait tout les jours). Ce besoin est soit un produit ou service, soit de l’argent. Les produits se trouvent chez les marchants en ligne (e-commerce). L’argent facilement gagné se trouve sur les plateforme de trading.

– Pour envoyer de l’argent, l’utilisateur à besoin d’un PSP. Et son PSP lui demande d’avoir un compte bancaire pour remplir son portefeuille électronique. Comparativement au PSP, l’internaute gagne plus par transaction si le profit est à sa valeur par défaut (maximum).

Concurrent, Partenaire et Soi-même :

– Le business model de la plateforme de trading est soit le même que celui du PSP (commissions par transactions), soit des frais d’entrée, soit des frais mensuels, soit des primes de parrainages (lien avec id) ou soit gratuit. (L’argent est gagné de la même manière que les utilisateurs.)

– Les fournisseurs des plateformes de trading sont les PSP avec leur API. (le logo est mis en évidence)

– Les utilisateurs consomment un service qui leur permet de déplacer de l’argent. La stratégie de déplacement de l’argent est définie soit par la plateforme de trading soit par les utilisateurs eux même. (dépend de la politique interne de la plateforme de trading)

– La plateforme de trading est une couche logiciel au dessus du PSP. La conception et l’évolution de ce produit informatique peut être en partie externalisé auprès d’une ou plusieurs personnes qui s’occupe d’un logiciel libre de plateforme de trading ce qui permettrait de réduire les coûts et le temps de développement.

Revenus

Le lien vers le programme de parrainage est ici : http://www.moneybookers.com/app/referral.pl

Il y a plus de 9 millions de client qui utilisent Moneybookers (selon Moneybookers). La population cible visé est majoritairement celle déjà inscrite. L’affilié ne peux prendre de commissions sur des personnes déjà inscrite. (qu’il n’a pas lui même parrainé, sous-entendu)

Pour les personnes qui ne sont pas encore inscrite, elles peuvent s’inscrire directement à l’url http://moneybookers.com/ : dans ce cas, l’affilié ne prend pas de commission.

Soit, dernière option, s’inscrire avec le lien de l’affilié (l’url fourni en bas de page sur le script), dans ce cas, l’affilié recevra des commissions sur ce que gagne le PSP (à hauteur de 30% et, limité à 100 Euros maximum) Ce n’est pas un surcoût (répartition 30-70). C’est donc complètement transparent pour l’utilisateur final.

Cette mesure incitative, je l’ai mis en place pour augmenter le nombre de mes partenaires sur ce projet. Je pensai que cela était légitime afin de pouvoir payer les couts fixes (nom de domaine) et les coûts variable de fonctionnement (bande passante, base de donnée) de chacun des sites partenaires.

De plus, chaque utilisateur à aussi cette possibilité de parrainer d’autres utilisateurs en faisant ses demandes de paiements. Je trouve que c’est une preuve d’équité.

Interopérabilité : Comment savoir si l’API du porte monnaie électronique d’une institution financière est compatible avec le FSX de FreePay ?

Sur l’institution financière :

1. Il faut pouvoir créer un compte.

2. Approvisionnement : L’utilisateur peut approvisionner son compte avec différents moyens de paiement (chèque, carte de crédit, transfert bancaire etc) et en retirer.

3. Il faut avoir un minimum de fonds sur son compte (solde à minimum 1 euros). (il faut aussi prendre en compte les frais de l’institution financière)

Facultatif (mais vivement recommandé) : Agrément financier : L’institution financière doit être agréé par au moins une autorité de régulation.

Séparation des tests et du réel : Les transferts entre client normaux et client de test sont interdits.

Sur le FSX :

1. Il faut pouvoir passer un ordre sur le FSX et arriver sur la plateforme de paiement. (POST ou GET)

2. B2B, B2C,C2B & C2C : Il faut que les paiements fonctionne dans les 2 sens (marchand-marchand tout en étant accessible client-client, marchand-client et client-marchand), brièvement permettre le P2P. Le droit de rétractation dépend du status des personnes effectuant les transactions ensemble et, cela est défini sur le site du PSP.

2 bis. (optionnel : mais c’est mieux de le faire) Il faut pouvoir activer l’automatisation des processus. (en xml)

3. XML : Il faut que le site source (marchand / FSX) puisse obtenir une trace de la transaction de la part de la plateforme de paiement. (xml envoyé et enregistrable dans la base de donnée dans des tables sql)

Existant : Qu’est-ce que Moneybookers?


– Moneybookers est un service paiement en ligne sécurisé qui vous permet d’envoyer et de recevoir de l’argent instantanément à partir d’une adresse e-mail. L’ouverture de compte est gratuite ; et le chargement et le retrait d’argent se fait par l’intermédiaire d’une carte de crédit (Visa, mastercard, diners, american express, jcb, delta / visa debit et visa electron) ou par virement bancaire.

– Moneybookers est traduit en 12 langues différentes. (Anglais, Allemand, Français, Espagnol, Italien, Polonais, Grec moderne, Roumain, Russe, Turc, Chinois, Tchèque)

– Les frais de transaction sont peu élevé et les transactions peuvent être consultées dans l’historique du compte à tout moment.

– Moneybookers est une institution émettrice de monnaie électronique qui permet au marchands (société ou négociant) d’accepter les paiements en ligne de clients du monde entier sans aucun frais d’installation, ni de frais mensuels. (en anglais : Payment Service Provider)

– Moneybookers Ltd est une société enregistrée au registre du Commerce de l’Angleterre et du Pays de Galles sous le No 4260907. Siège social: Welken House, 10-11 Charterhouse Square, London, EC1M 6EH. Elle est agréé en vertu de la législation du Royaume-Uni et de l’Union Européenne et régi par la Financial Services Authority (FSA), l’Autorité des services financiers au Royaume-Uni.

Source :

Pourquoi une relation avec un PSP :

La division des rôles : Le logiciel peut être vu comme un plugin qui interagit avec le logiciel principal (l’institution financière) pour lui apporter une nouvelle fonctionnalité. Le logiciel est un système ouvert qui envoie des informations à l’intérieur (historique) et à l’extérieur (ordre).
– L’institution financière transforme les capitaux entrant en monnaie électronique, fais les paiements et fais les conversion de chèques.

– Le logiciel permet de passer des ordres de paiement, d’échanger des ordres de paiement et permet de faire des demandes de paiement.

Dépendance : Le logiciel va vers la simplicité puisque, par rapport à la version précédente (FreePay), il soustraite les processus nécessaire à la gestion de l’argent. Ce logiciel permet d’économiser le coût du capital initial (1 million d’ Euros) nécessaire à la création d’une institution financière émettrice de monnaie électronique (en : E-money issuer) au sein de l’ Union Européenne. (ref : Article 4 paragraphe 1 de la Directive 2000 46 CE).

Indépendance : Chaque organisation qui met en place le logiciel Give1Get2 est autonome des autres organisations. Elle n’est dépendante que de l’institution financière qui permet de faire les paiements (Relation 1 à plusieurs).


Qu’est-ce que « Give1Get2 »?


Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. Il n’y a pas de marchandises échangé sur le système. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. Il n’y a pas de droit d’entrée. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut pas y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

Le profit est aussi paramétrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). Finalement : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

Explication Économique : Le logiciel n’a pas pour but de créer de l’inflation.

D’après ce que je sais, il existe deux types d’inflation :

– L’inflation du niveau des prix : Une hausse des prix des biens et des services durant une période de temps donné. (source : Wikipédia) Le revenu augmente moins vite que la hausse des prix des produits. → diminution du pouvoir d’achat. Ce qui est problématique. Or, ce que propose Give1Get2, c’est d’augmenter le revenu des acteurs du système, d’où une augmentation du pouvoir d’achat. Il n’y a pas de services en vente sur la plateforme et l’utilisation y est gratuite. Les « produits » financiers en vente sont des demandes de paiements. Le prix d’achat est fixé par les acheteurs eux-même. S’ils décident d’acheter plus cher, c’est pour gagner plus.

– L’inflation de la masse monétaire : Lorsque la masse monétaire mondiale subit une création monétaire. L’argent en circulation augmente via les taux d’intérêts. Or, le logiciel Give1Get2 n’a pas vocation d’augmenter la masse monétaire ni de la diminuer. Il n’y a pas de taux d’intérêts non plus dans ce système. Car c’est uniquement du ressort des banques.

Le logiciel permet la circulation de la monnaie entre les acteurs économiques.

Explication financière :

Prenons cet l’exemple : Bob veut envoyer 10 centimes d’EUR à Alice via Moneybookers.

Alice à un solde de 10.82 EUR. Bob a un solde de 78.19 EUR. Bob envoi 10 centimes à Alice. Le solde de Bob devient 78.09 EUR. Le solde de Alice passe à 10.92 EUR. C’est sans compter les frais variables (0.01) et les frais fixes (0.29). En fin de compte, le solde de Alice est de 10.62 EUR à la fin de l’opération.

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 10.82 EUR 10.62 EUR 78.19 EUR 78.09 EUR

On constate que le gain (10 centimes) est inférieur à la perte (30 centimes). Bob a été chargé négativement (-0.10 EUR, ce qui est normal). Alice a été aussi chargé négativement (total de -0.20 EUR). C’est donc une situation perdant-perdant.

Pour obtenir une situation perdant-gagnant, on peut mettre en place un quota d’argent minimum automatique à définir dans les paramètres pour tout achat via l’API. Testons : Bob (solde : 78.09 EUR), après mûres réflexion, veut envoyer 3 Euros à Alice (solde : 8.52 EUR) via Moneybookers. Bob a maintenant un solde de 75.09 EUR. Alice a un solde d’environ 11.12 EUR (8.52 +3.00 -0.10 -0.29).

Personnes Alice Bob
Temps Avant Après Avant Après
Solde 8.52 EUR 11.12 EUR 78.09 EUR 75.09 EUR

Que constatons nous ? Bob a été chargé négativement (-3.00 EUR) tandis que Alice a été chargé positivement (différence de +2.60 EUR). Ce qui est une situation perdant-gagnant.

Le processus marchand fonctionne de la manière suivante : Le vendeur échange un bien contre l’argent de l’acheteur. Le vendeur du bien ne le fait que contre une somme supérieur à ce que cela lui à coûté en premier lieu auprès de ces fournisseurs.

De la même façon, lorsque que une personne A fait une demande de paiement et reçoit l’argent d’une personne B. Cela agit comme un mécanisme de compensation qui permet à B placer à son tour une demande de paiement pour un prix à une valeur égale ou supérieur à ce que cela lui a coûté auprès de son prédécesseur.

Traditionnellement, c’est une relation à 2 personnes uniquement. Ce qui pose problème si l’une des 2 partie ne peut prêter ou rembourser. ( Relation 1 à 1) Avec ce logiciel de marché alternatif, il y a de multiples offreurs et de multiples demandeurs. (Relation de plusieurs à plusieurs) Donc, cela diminue le risque (relation 1 à plusieurs dans les 2 sens) et il y a plus de possibilités de succès.

Comme je viens de le démontrer, nous pouvons transformer une stratégie perdant gagnant en une stratégie gagnant gagnant. C’est ce que nous allons faire maintenant.

Télécharger

Le logiciel se base sur une politique de transparence et de développement durable. La licence choisie est la GNU GPL. C’est un logiciel libre. De ce fait, il a été mis à disposition gratuitement sur SourceForge.netpour être téléchargé et installé sur des serveurs en ligne.

* Télécharger directement la solution complète (la plus à jour) :

http://give1get2.com/give1get2.zip
http://give1get2.com/give1get2.7z (nécessite le logiciel 7zip)

* Miroir de téléchargement complet (version stable) :

http://sourceforge.net/projects/give1get2/

* [Moneybookers] Démonstration en action :

http://www.moneybookers.com/app/help.pl?s=m_gateway_demo
https://www.moneybookers.com/app/test_payment.pl

* [Moneybookers] La documentation en libre téléchargement:

http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf
http://www.moneybookers.com/merchant/fr/automated_payments_interface_manual.pdf (pas requis)

Installation du logiciel

1. Acheter un nom de domaine (maplateformedetradingdexemple.com) chez un Registrar.

2. Obtenir un hébergement contenant un espace suffisant (environ : 50 Mo) et une bande passante suffisante (plusieurs Giga) en fonction du nombre d’utilisateur prévu. (et POP3, FTP et MySQL inclus)

3. Dé-compacter les fichiers précédemment téléchargé. (procédure ci-dessus)

4. Modifier le fichier ‘scripts sql tables & champs.sql’ : à la ligne 85, remplacer l’email (alice@give1get2.com) et l’ id marchand (6173206) par votre email et votre id marchand obtenu auprès de moneybookers à l’ouverture de votre compte. Remplacer aussi le courriel par votre courriel à la ligne 108.

5. Créer une base de données « mocha » (sans les doubles quotes) dans votre panneau d’administration (généralement à l’URL http://maplateformedetradingdexemple.com/phpmyadmin/)

Créer un utilisateur et lui donner les droits d’accès à la base de données en lecture et écriture. (si ce n’est pas déjà fait automatiquement).

6. Cliquer sur l’onglet SQL, copier-coller les données du fichier ‘scripts sql tables & champs.sql’ dans le champ de saisie et cliquer sur Exécuter. Aucun message d’erreur ne doit s’afficher.

7. Modifier les valeurs par défaut par celles qui ont été fournies par l’hébergeur dans le fichier ‘params.php’ (sans les simple quotes) ligne 31 (hôte), ligne 32 (utilisateur), ligne 33 (mot de passe), ligne 34 (base de données)

8. Sur le serveur web, copier-coller la source modifié (avec les parametres par défauts) en 7z et zip. Créer aussi un dossier /give1get2/ . Importer les fichiers via un FTP (ex fireFTP, une extension de Firefox) avec les paramètres de l’hébergeur (‘params.php’) dans le répertoire précédemment crée.

9. Lancer dans le navigateur http://maplateformedetradingdexemple.com/give1get2/. La page d’index doit s’afficher sans message d’erreurs. Les sources (7z et zip) doivent pouvoir être téléchargeable à partir d’un onglet ‘documentation’ ou ‘téléchargement’.

10. Référencer votre site sur les moteurs de recherche (ex : http://www.google.com/addurl/?continue=/addurl)

11. Générer un sitemap XML, et le mettre à la racine (ex : http://www.xml-sitemaps.com/ )

12. Optimiser votre site (ex: avec Google Webmaster Tools )

Pré-requis :

Le seul matériel nécessaire est un pc, un système d’exploitation, une connexion à Internet et un navigateur web.

Multi-Plateforme : fonctionne sous Windows ou Linux avec Internet Explorer ou Firefox.

La formation est gratuite. Elle constitue la documentation.

Conçu en XHTML, CSS, JavaScript, PHP et SQL (CRUD). Nécessite un MySQL, phpMyAdmin, POP3 pour les mails, FTP et un navigateur web. A été testé et fonctionne avec Apache (>= 1.3.33), Mysql (>= 4.1.9), PHP (>= 4.3.10), PhpMyAdmin(>= 2.6.1).

L’architecture est en trois tiers (donnée, business logic et présentation). L’architecture se base sur le projet FreePay : http://freepay.fr/freepay.zip Pour approfondir, la documentation de freepay est à votre disposition. http://freepay.fr/freepay/nav_telechargement.php?option=documentation

Pour les non francophone ou les non anglophones, il existe des outils de traductions comme Google translate pour lire des documents dans votre langue.

Le diagramme des traitements des processus marchands du côté de l’institution financière a été copié dans une image jointe au logiciel. « moneybookers_payment_gateway_api_details_interaction_diagram.png »

Ce script se base également sur la documentation de l’API « Moneybookers Payment Gateway – Merchant Integration Manual » (en anglais)- Version: <6.5>. http://www.moneybookers.com/merchant/fr/moneybookers_gateway_manual.pdf (43 pages) Une nouvelle version est peut être sortie à l’heure ou vous lisez ces lignes, ce qui pourrait poser des problèmes.

Le script ne prend en compte que les champs obligatoires par mesure de simplification. Pour ce qui est des champs facultatifs : se référer à la documentation officielle.

Le code ISIN est de nouveau utilisé dans ce logiciel (ISO 6166). La codification mis en place est le ZZ afin de faire une distinction claire et qu’il n’y ai aucune ambiguïté avec les pays ou territoires ayant des valeurs mobilières, selon la norme ISO 3166-1.

Les status d’une transaction (états) :

2 : validé (Processed)
1 : test //status ajouté, pas présent dans la documentation
0 : en attente (Pending)
-1 : annulé (Cancelled)
-2 : Échoué (Failed )
-3 : Retour arrière (Chargeback)

Les Étapes du développement (le Comment)

Vision : Le module de paiement de FreePay et tout les modules de niveau inférieur sont remplacés par l’API externe de Moneybookers (institution financière validé par la FSA).

Conséquences : Le support du module de paiement est donc externalisé. Le nom du projet ne correspond plus. Les balises Méta ne correspondent plus. Les menus ne correspondent plus.

1. Copie de Freepay. Tout les modules non nécessaires sont retirés sauf le FSX. (+ vérifier que ça marche)

2. Implémentation de l’API Moneybookers (+ vérifier que ça marche)

3. Mashup des deux (Application composite)
création de l’interface spécifique
création des processus spécifique
création de la base de donnée spécifique (+ vérifier que ça marche via un simulateur de moteur de paiement)

4. Re-factorisation : Optimisation de la Mashup (+ vérifier que ça marche)

5. Publication sur internet

L’architecture

Le code source est en français. Les commentaires du code source sont en français aussi. Sauf pour les standards financiers qui sont en anglais. Le projet s’oriente vers une internationalisation (I18N).

Toutes les images sont dans un dossier spécifique (/images).

Tout les CSS (Feuilles de style en cascade) sont dans un dossier spécifique (/style).

Tout ce qui a attrait au support utilisateur est dans le dossier /support.

La documentation est dans le dossier /support/docs.

Tout ce qui concerne l’internationalisation est dans le dossier nommé « services/i18n ».

La programmation est de type procédurale : les méthodes sont appelés dans un ordre spécifique.

La partie visible est composé de la page principale, de l’historique et de la documentation.

L’existence d’une demande de paiement peut se vérifier via l’historique.

La limitation d’accès se fait grâce aux sessions pour la partie caché (processus de paiement).

La disponibilité d’une demande de paiement peut se vérifier en appliquant le filtre avec le numéro ISIN en paramètre.

Comme c’est un projet web, l’interface homme-machine est basé sur une architecture est de type client/serveur. Et, le serveur à une architecture en 3 tiers (base de données, traitements, présentation).

La base de donnée

Elle est composée de 4 tables par institution financière : (« scripts sql tables & champs.sql » présent à la racine)

-2 pour les titres (déjà existante dans le FSX) :

– liste des transactions passés effectués sur des titres.
– liste des titres en vente dans leur états actuels.

– 2 pour les ordres de paiements (l’avant et l’après) :

– liste des ordres passés sur les titres du FSX.
– liste des ordres de paiements renvoyé par l’api.

Elle est composé de 2 insertions dans ces tables correspondant à un titre et de son historique.

Les étapes du processus de paiement pour un utilisateur dans le FSX

L’utilisateur a crée et approvisionné un compte Moneybookers. (https://www.moneybookers.com/app/register.pl )

1. Le lien vers la page de connexion est sur la première page en haut à droite. La connexion se fait avec l’Email et l’identifiant numérique (Customer ID) associé au compte Moneybookers.
(Visible en dessous du menu dans l’interface Moneybookers). (Pas de mot de passe, il est gérée par Moneybookers lors du paiement pour éviter une récupération externe)

2. L’utilisateur va sur la page d’achat et sélectionne un numero ISIN (définit aussi la valeur et le profit si besoin).

L’ordre d’achat est sauvegardé et accessible via le menu du même nom. Il récapitule l’état de la transaction (En cours / En attente, Échoue / Annulé ou Fini).

3. Selon les paramètres (« params.php ») défini par l’administrateur, l’utilisateur est redirigé soit :
– sur le serveur de test (mb_test_payment.php) et valide
– soit sur Moneybookers (https://www.moneybookers.com/app/payment.pl)

La redirection se fait grâce à un GET (passage de tout les paramètres obligatoires). La solution qui a été choisie est une redirection javascript. (<script type=’text/javascript’>Code</script>)

4. Si la personne a donnée les bons paramètres, elle entre juste son mot de passe. Sinon, elle crée son compte.

5. Le paiement est annulé ou validé par l’utilisateur. Moneybookers transfert l’argent entre les parties. Moneybookers envoie un code de retour « HTTP 200 » en POST uniquement à la status_url précédement envoyé (« paiement/pay/status_report.php ») et redirige l’utilisateur vers la plateforme de FSX défini précédement.

– Le logiciel utilise un couplage par données (passage de paramètres).

if( isset($_POST[‘mb_transaction_id’]) ) { $mb_transaction_id = $_POST[‘mb_transaction_id’]; }

– Les données sont ensuite filtrées par mesure de sécurité. (« status_report_filtre.php ») Il vérifie que tout les champs sont renseignés, qu’ils ont le bon type, la bonne longueur et les bonnes données (technique de filtrage par liste blanche).

exemple : vérification que l’origine des données (IP) provient bien de l’institution financière pour éviter toute tentative frauduleuse d’envoi d’argent fictif. (attaque de type « man in the middle »)

Le montant renvoyé par moneybookers peut être inférieur au montant indiqué dans la réservation (du fait de la prise de commission (fixe et variable) de la plateforme de paiement ou des paramètres GET qui peuvent être modifié en cours de route par l’internaute). Le transfert de possession des titres se fait compte tenu des nouveaux chiffres envoyé par l’API uniquement afin d’éviter ces problèmes.

6. Ensuite, si tout les critères sont validés alors les données sont stockés dans la table de l’api. (+ date actuelle) Et affichable au besoin par le fichier ‘pay_liste.php’ que le client retrouve sous ses yeux lorsqu’il retourne sur Give1Get2.

7. continuation de processus de transfert de possession (la transaction en attente « pending » passe à « done ») grâce au numéro de transaction récupéré par Moneybookers précédemment envoyé)

A chaque vente de titre, l’argent est sauvegardé dans les comptes de l’institution financière. En cas de crise (comme une indisponibilité de la plateforme de titre), l’argent, lui, est toujours disponible.

8. L’utilisateur peut consulter ses titres et rafraichir la page (F5). Il peut aussi utiliser l’emailling pour accélérer le processus de paiement, puis :
– Le vendeur reçoit une notification par email du FSX l’informant de la cession du titre et de la reception de l’argent. (+ emetteur + argent + devise)
– L’acheteur reçoit une notification par email de l’institution financière. (+ argent + devise + indicatif produit)

9. Déconnexion de la plateforme de trading (FSX)

Les vues :

L’architecture des vues est commune à FreePay (header et footer en commun sur toutes les pages).

Le Menu : (Accueil, Historique des titres, Acheter un titre, Ordre Achat (la confirmation est visible si l’ordre a réussi), Consulter vos titres, Contactez-nous, Documentation)

– L’utilisateur peut voir l’historique des transactions.
– L’utilisateur peut acheter une demande ISIN.
– L’utilisateur peut consulter la liste de ses ordres d’achat et, cliquer sur le numéro de la transaction pour voir les détails de la transaction (si celle-ci a réussi).
– L’utilisateur peut consulter ses titres.

Respect des standards du W3C : a été validé XHTML 1.0 transitionnel et CSS 2.0 sous Mozilla Firefox, Internet Explorer et Safari.

Les contrôleurs :

Ce sont les même que ceux de FreePay. PHP et Javascript pour le côté serveur et client respectivement.

Les transactions qui n’aboutissent pas au bout d’1 journée sont classé comme ayant échoué. (status à -2).

Sécurité

L’application a été conçu et testé avec CAL9000 (OWASP) pour être protégé contre les attaques de type Cross Site Scripting (XSS). Dans le Top 10 des vulnérabilités 2007 selon l’Open Web Application Security Project (OWASP).

Test et Confirmation :

Les comptes de tests sont ouvert à l’initiative des clients. Des fonds de test sont donné gratuitement par Moneybookers.

Passer la séries de tests suivantes : Nécessite minimum 2 utilisateurs. (Alice et Bob) Préparatif : Noter la situation financière existante des utilisateurs : « Solde en Euro » et « Solde ISIN » pour chacun d’eux.

Effectuer un achat et pour les 3 cas (inférieur, égal, supérieur), vérifier :
– Le solde de l’acheteur (Alice) a t-il diminué ?
– La valeur du titre de l’acheteur (Alice) a t-elle augmenté ?
– Le solde du récepteur (Bob) a t-il augmenté ?
– Les titres du récepteur (Bob) ont-ils diminué ?
– Le récepteur (Bob) a t-il été notifié par email ?

Prochain développement de la plateforme : FaceBook + Paypal

Légalité

Je pense que mon système est légal car j’ai fais des recherches en ce sens avant de le mettre à disposition de tous. Je considère qu’il va dans le sens des principes de l’union européenne. (http://europa.eu/scadplus/european_convention/objectives_fr.htm) . J’ai joint dans le dossier « support » > « docs » les documents de référence concernant le contexte législatif, juridique et réglementaire qui pourrait s’y rapporter.

Le site internet de la commission européenne est très instructif sur cette question. ( http://ec.europa.eu/internal_market/top_layer/index_24_fr.htm ) Rubrique : Commission européenne >Marché Intérieur > Le marché unique des services > Services financiers. Je ne suis pas complètement d’accord sur le choix de cette rubrique puisque la plateforme de trading offre un service gratuit (sans contrepartie) et ne gère pas d’argent (uniquement la confirmation que l’argent a été transféré).

Fonds d’investissements > Investissements alternatifs : il existe un Projet de Directive relative aux gérants de fonds dits ‹ alternatifs ›. Ce projet de directive peut encore être changé, et, la version finale ne va pas forcément s’appliquer à ce cas très précis. http://ec.europa.eu/internal_market/investment/alternative_investments_fr.htm

Services de paiement > Monnaie électronique : La plateforme de trading ne crée pas de monnaie. Donc, cela ne concerne que le PSP Moneybookers. http://ec.europa.eu/internal_market/payments/emoney/index_fr.htm

Services de paiement > e-Facturation : c’est PSP Moneybookers qui gère la facturation (il peut le désactiver) Uniquement une copie est gardé à des fins d’archive par la plateforme de trading (ou rien suivant le paramétrage) http://ec.europa.eu/internal_market/payments/einvoicing/index_fr.htm

Conglomérats financiers : Selon la taille du système de trading Give1Get2 et sa structure, il peut entrer ou ne pas entrer dans cette catégorie. C’est au choix du/des entrepreneurs selon les opportunités de fusion / acquisitions. http://ec.europa.eu/internal_market/financial-conglomerates/index_fr.htm

Commerce électronique : Cela dépend de ce qui est fait par les clients en contrepartie de l’argent envoyé. http://ec.europa.eu/internal_market/e-commerce/directive_fr.htm

Copyright :

Mon droit d’auteur est garanti par la Licence publique générale GNU. http://www.gnu.org/licenses/gpl.html

Mes créations sont protégés au niveau Européen par la Directive 91/250/CEE du Conseil, du 14 mai 1991, concernant la protection juridique des programmes d’ordinateur. (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:31991L0250:FR:HTML )

Mes créations sont protégés internationalement par la Convention de Berne pour la protection des œuvres littéraires et artistiques (géré actuellement par l’ Organisation mondiale de la propriété intellectuelle (OMPI), organisme spécialisé au sein de l’ONU). (source : http://www.wipo.int/treaties/fr/ip/berne/trtdocs_wo001.html )

Clause de non responsabilité :

L’utilisation de la présente application à valeur d’acceptation de la clause de non responsabilité suivante : L’auteur décline toute responsabilité quant aux conséquences pouvant résulter de l’utilisation de cette application.

Script fourni sans aucune garantie.

L’ Organisation

L’ Indefinite Lifespan Foundation est un organisation de bienfaisance à but non lucratif, non gouvernementale, dédié à réduire la mortalité humaine, à encourager l’extension de l’espérance de vie et la recherche du bonheur en utilisant principalement la médecine préventive, la santé publique et l’informatique. (En phase de création)

Contact :

En tant que développeur, je recherche toujours un moyen de produire plus et à moindre coût. Ma motivation se base sur le fait que le logiciel fonctionne et qu’il est utile. Bien que je sois d’accord pour dire que le type de communication le plus efficient est le face à face, je reconnais aussi que je ne suis pas toujours disponible et donc, j’ai mis en place une documentation écrite. Dans le cadre d’une politique de transparence, j’ai aussi mis mon cv en pièce jointe afin de pouvoir renseigner qui le souhaite sur mon identité et mes aptitudes professionnelles (ce qui laisse plusieurs moyens de me contacter). Sa lecture est facultative.

De plus, je suis ouvert à toute suggestion permettant d’améliorer le logiciel. S’il y a des bogues, pour que je puisse les corriger, il faut que j’en ai connaissance précise. D’après mon expérience, pour améliorer un système, il faut que les utilisateurs puissent contacter l’auteur car l’amélioration de la plateforme se fait grâce aux boucles de rétroaction positive à l’initiative des utilisateurs. Ce retour servira de base à l’architecture de la prochaine version (qui contiendra l’existant + les corrections).

Enfin, si vous avez un problème de nature financière relatif à votre compte Moneybookers, vous pouvez vous adresser au service clientèle de Moneybookers.

Logiciel Libre de Trading en Ligne étape par étape

ModeleConceptuelTraitementMCT

Modele Conceptuel Traitement (MCT)

0. Le système de trading repose sur une stratégie gagnant-gagnant. La plateforme de trading est un lieu de confrontation de l’offre de titres financiers et de la demande d’argent en application de la pensée du laissez-faire économique. C’est un jeu à somme nulle du point de vue de la plateforme de paiement mais pas du système de trading (1 euro titrisé symbolique émit pour l’amorçage, échange +1 +1 pour chaque partie à chaque transaction). C’est un cercle vertueux. C’est un système de personne à personne (P2P) complémentaire qui permet aux utilisateurs de passer des ordres sur une plateforme de paiement. Cela a été conçu de tel manière qu’il n’y a pas de risque de variation inverse. Puisqu’il n’y a pas d’ordre de vente, il ne peut y avoir de crack boursier. Tout les utilisateurs du système peuvent s’enrichir, mais pas au même moment. L’utilisateur peut donc devenir, selon ce qu’il en fait, un trader. (fr : Opérateur de marché)

1. L’utilisateur se connecte sur la plateforme de Trading. (L’inscription est gratuite) Chaque utilisateur possède les même fonctionnalitées que les autres à sa disposition. Il n’y a pas de privilèges.

2. L’utilisateur peut rechercher un titre grâce à son prix (inférieur, égal ou inférieur à une certaine somme). Les classer par utilisateur (uniquement les amis par exemple). Ou par le numéro ISIN.

3. L’utilisateur est libre d’acheter des titres à n’importe quel moment de la journée. (7/7j, 24/24h)

4. Une liste des ISIN en vente s’affiche. Pour chaque ISIN on a son propriétaire, sa valeur, sa devise.

5. Le montant initial est paramétrable : Inférieur, égal ou supérieur à celui voulu par le vendeur.

fsx_inferieur

fsx_inferieur

Dans le cas inférieur, le vendeur récupère l’argent et le montant ISIN non vendu. (Le montant ISIN non vendu, peut quand même être vendu par la suite.)

fsx_egal

fsx_egal

Dans le cas égal, le vendeur obtient l’équivalence d’argent demandé totale.

fsx_superieur

fsx_superieur

Dans le cas supérieur, le vendeur obtient plus que ses espérances et l’acheteur fera plus de profit par la suite.

Dans tout les cas, l’acheteur à tout intérêt à faire jouer son réseau pour obtenir son argent au plus vite. (Un simple mail, à son initiative, expliquant pourquoi il à besoin de cet argent. Chaque utilisateur à sa propre vision des moyens qu’il lui est necesssaire pour atteindre le but qu’il s’est fixé. Ce peut être de se nourrir ou vouloir financer un projet innovant dans une perspective de développement durable, par exemple.)

6. Le profit est aussi paramètrable (de 0 à 100 %, exemple : 25 euros réel deviennent à 100% -> 50 euros titrisés). Cela permet à l’utilisateur de spéculer ou de ne pas le faire. Ce qui permet à l’utilisateur de transformer ses capitaux en plus de capitaux représenté par les titres. (Et ensuite transformer ses titres en capitaux par l’acte de vente, exemple : 50 euros titrisés -> 50 euros réel). D’où : 25 euros réel -> 50 euros réel. Ce qu’il fallait démontrer.

7. L’utilisateur peut selectionner 1 ou plusieurs titres dans son panier. Et valider sa commande.

8. Il peut les acheter seulement si le prix de chacun ne dépasse pas le montant restant du porte monnaie électronique (eWallet) au moment de la transaction. La transaction se fait dans la seconde (dépend du nombre de connexions simultanées).

9. Un titre est toujours en vente selon le principe du PAPS (Premier Arrivé, Premier Servi). Seul le nom du propriétaire change. C’est donc le droit de propriété qui est vendu entre utilisateurs.

10. Chaque utilisateur peut consulter ses titres acquis ou le solde de son porte monnaie électronique (eWallet) modifié.

11. L’utilisateur se déconnecte de la plateforme de Trading.

source : http://freepay.fr/freepay/support/docs/Presentation%20technique.pdf

altern : http://freepay.sourceforge.net/freepay/support/docs/Presentation%20technique.pdf

ISO 10383 : Codes for exchanges and market identification (MIC)

source : http://freepay.fr/freepay/services/MIC/MIC_afficher.php

MIC Institution Code Pays Ville ACCR
XA1X A1 AR ARGENTINA BUENOS AIRES  
XADS ABU DHABI SECURITIES MARKET AE UNITED ARAB EMIRATES ABU DHABI ADSM
XDRF AIAF – MERCADO DE RENTA FIJA ES SPAIN MADRID  
XALG ALGIERS STOCK EXCHANGE DZ ALGERIA ALGIERS  
AIMX ALTERNATE INVESTMENT MARKET GB UNITED KINGDOM LONDON AIM
ALTX ALTERNATIVE EXCHANGE ZA SOUTH AFRICA JOHANNESBURG ALTX
XASE AMERICAN STOCK EXCHANGE US UNITED STATES OF AMERICA NEW YORK AMEX
XAMM AMMAN STOCK EXCHANGE JO JORDAN AMMAN  
NLPX APX POWER NL NL THE NETHERLANDS AMSTERDAM  
UKPX APX POWER UK GB UNITED KINGDOM LONDON  
XAZX ARIZONA STOCK EXCHANGE US UNITED STATES OF AMERICA PHOENIX AZX
XARM ARMENIAN STOCK EXCHANGE AM ARMENIA YEREVAN ARMEX
XAPI ASIA-PACIFIC INTERBANK CURRENCY EXCHANGE, THE RU RUSSIA VLADIVOSTOK APICEX
XASX ASX OPERATIONS PTY LIMITED AU AUSTRALIA SYDNEY ASX
XADE ATHENS DERIVATIVES EXCHANGE S.A., THE GR GREECE ATHENS ADEX
XATH ATHENS STOCK EXCHANGE GR GREECE ATHENS  
AWBX AUSTRALIAN WHEAT BOARD AU AUSTRALIA MELBOURNE AWB
AWEX AUSTRALIAN WOOL EXCHANGE AU AUSTRALIA LANE COVE AWEX
XSTU BADEN-WUERTTEMBERGISCHE WERTPAPIERBOERSE ZU STUTTGART DE GERMANY STUTTGART  
XBAA BAHAMAS INTERNATIONAL SECURITIES EXCHANGE BS BAHAMAS NASAU BISX
XBAH BAHRAIN STOCK EXCHANGE BH BAHRAIN MANAMA BSE
XIBE BAKU INTERBANK CURRENCY EXCHANGE AZ AZERBAIJAN BAKU  
XBAN BANGALORE STOCK EXCHANGE LTD IN INDIA BANGALORE  
XBLB BANJA LUKA STOCK EXCHANGE BA BOSNIA AND HERZEGOVINA BANJA LUKA  
XBAB BARBADOS STOCK EXCHANGE BB BARBADOS BRIDGETOWN BSE
XBAR BARCELONA STOCK EXCHANGE ES SPAIN BARCELONA  
BATS BATS TRADING US UNITED STATES OF AMERICA KANSAS CITY BATS
XMUN BAYERISCHE BOERSE DE GERMANY MUENCHEN  
BCSE BELARUS CURRENCY AND STOCK EXCHANGE BY BELARUS MINSK BCSE
BLPX BELGIUM POWER EXCHANGE BE BELGIUM BRUSSELS BLPX
XBEL BELGRADE STOCK EXCHANGE RS SERBIA (REPUBLIC OF) BELGRADE  
XBER BERLINER WERTPAPIERBOERSE DE GERMANY BERLIN  
XBDA BERMUDA STOCK EXCHANGE LTD, THE BM BERMUDA HAMILTON BSX
XBRN BERNE STOCK EXCHANGE CH SWITZERLAND BERNE  
BIDS BIDS TRADING L.P. US UNITED STATES OF AMERICA NEW YORK BIDS
XBOL BOLSA BOLIVIANA DE VALORES S.A. BO BOLIVIA LA PAZ  
XBBF BOLSA BRASILIERA DE FUTUROS BR BRAZIL RIO DE JANEIRO BBF
XBCV BOLSA CENTROAMERICANA DE VALORES S.A. HN HONDURAS TEGUCIGALPA BCV
XBCC BOLSA DE COMERCIO DE CORBODA AR ARGENTINA CORDOBA  
XROS BOLSA DE COMERCIO ROSARIO AR ARGENTINA ROSARIO ROFEX
XBCM BOLSA DE COMMERCIO DE MENDOZA S.A. AR ARGENTINA MENDOZA  
XMAD BOLSA DE MADRID ES SPAIN MADRID  
XBMF BOLSA DE MERCADORIAS E FUTUROS BR BRAZIL SAO PAULO BM AND F
XVAL BOLSA DE VALENCIA ES SPAIN VALENCIA  
XBIL BOLSA DE VALORES DE BILBAO ES SPAIN BILBAO  
XCAR BOLSA DE VALORES DE CARACAS VE VENEZUELA CARACAS  
XBOG BOLSA DE VALORES DE COLOMBIA CO COLOMBIA BOGOTA BVC
XBVR BOLSA DE VALORES DE LA REPUBLICA DOMINICANA SA. DO DOMINICAN REPUBLIC ST DOMINGO BVRD
XLIM BOLSA DE VALORES DE LIMA PE PERU LIMA BVL
XMNT BOLSA DE VALORES DE MONTEVIDEO UY URUGUAY MONTEVIDEO BVMT
XMAN BOLSA DE VALORES DE NICARAGUA NI NICARAGUA MANAGUA  
XPTY BOLSA DE VALORES DE PANAMA, S.A. PA PANAMA PANAMA BVP
XBSP BOLSA DE VALORES DE SAO PAULO BR BRAZIL SAO PAULO BOVESPA
XRIO BOLSA DE VALORES DO RIO DE JANEIRO BR BRAZIL RIO DE JANEIRO BVRJ
XGTG BOLSA DE VALORES NACIONAL SA GT GUATEMALA GUATEMALA  
XVPA BOLSA DE VALORES Y PRODUCTOS DE ASUNCION SA PY PARAGUAY ASUNCION BVPASA
XMEX BOLSA MEXICANA DE VALORES (MEXICAN STOCK EXCHANGE) MX MEXICO MEXICO  
XBNV BOLSA NACIONAL DE VALORES, S.A. CR COSTA RICA SAN JOSE BNV
XBES BOND EXCHANGE OF SOUTH AFRICA ZA SOUTH AFRICA JOHANNESBURG BESA
XBMK BONDMART US UNITED STATES OF AMERICA NEW YORK  
BOND BONDVISION IT ITALY ROMA  
XMIL BORSA ITALIANA S.P.A. IT ITALY MILANO  
XBOX BOSTON OPTIONS EXCHANGE US UNITED STATES OF AMERICA BOSTON BOX
XBOS BOSTON STOCK EXCHANGE US UNITED STATES OF AMERICA BOSTON BSE
XBOT BOTSWANA STOCK EXCHANGE BW BOTSWANA GABORONO  
XBEY BOURSE DE BEYROUTH LB LEBANON BEYROUTH  
XTUN BOURSE DES VALEURS MOBILIERES TN TUNISIA TUNIS BVMT
XBRV BOURSE REGIONALE DES VALEURS MOBILIERES CI IVORY COAST ABIDJAN BRVM
XBRA BRATISLAVA STOCK EXCHANGE, THE SK SLOVAKIA BRATISLAVA BSSE
XBRE BREMER WERTPAPIERBOERSE DE GERMANY BREMEN  
BTEE BROKERTEC EUROPE LTD. GB UNITED KINGDOM LONDON BTEC
XBSE BUCHAREST STOCK EXCHANGE RO ROMANIA BUCHAREST BVP
XBUD BUDAPEST STOCK EXCHANGE HU HUNGARY BUDAPEST  
XBUE BUENOS AIRES STOCK EXCHANGE AR ARGENTINA BUENOS AIRES  
XBUL BULGARIAN STOCK EXCHANGE BG BULGARIA SOFIA BSE
XKLS BURSA MALAYSIA MY MALAYSIA KUALA LUMPUR  
XDPA CADE – MERCADO DE DEUDA PUBLICA ANOTADA ES SPAIN MADRID  
XCAI CAIRO AND ALEXANDRIA STOCK EXCHANGE EG EGYPT CAIRO CASE
XCAL CALCUTTA STOCK EXCHANGE IN INDIA CALCUTTA  
CANX CANNEX FINANCIAL EXCHANGE LTS. CA CANADA TORONTO CANNEX
XCFF CANTOR FINANCIAL FUTURES EXCHANGE US UNITED STATES OF AMERICA NEW YORK CANTOR
XBVC CAPE VERDE STOCK EXCHANGE, THE CV CAPE VERDE PRAIA BVC
XCAS CASABLANCA STOCK EXCHANGE MA MOROCCO CASABLANCA  
XCAY CAYMAN ISLANDS STOCK EXCHANGE KY CAYMAN ISLANDS GEORGETOWN  
XCBF CBOE FUTURES EXCHANGE US UNITED STATES OF AMERICA CHICAGO CFE
XNKS CENTRAL JAPAN COMMODITIES EXCHANGE JP JAPAN NAGOYA C-COM
CCLX CENTRALE DE COMMUNICATIONS LUXEMBOURG S.A. LU LUXEMBOURG LUXEMBOURG CCLux
XCBT CHICAGO BOARD OF TRADE US UNITED STATES OF AMERICA CHICAGO CBOT
FCBT CHICAGO BOARD OF TRADE (FLOOR) US UNITED STATES OF AMERICA CHICAGO CBOT (FLOOR)
XCBO CHICAGO BOARD OPTIONS EXCHANGE US UNITED STATES OF AMERICA CHICAGO CBOE
XCCX CHICAGO CLIMATE EXCHANGE, INC US UNITED STATES OF AMERICA CHICAGO CCX
XCME CHICAGO MERCANTILE EXCHANGE US UNITED STATES OF AMERICA CHICAGO CME
FCME CHICAGO MERCANTILE EXCHANGE (FLOOR) US UNITED STATES OF AMERICA CHICAGO CME (FLOOR)
XCRC CHICAGO RICE AND COTTON EXCHANGE US UNITED STATES OF AMERICA CHICAGO  
XCHI CHICAGO STOCK EXCHANGE, INC. US UNITED STATES OF AMERICA CHICAGO CHX
XCFE CHINA FOREIGN EXCHANGE TRADE SYSTEM CN CHINA SHANGHAI CFETS
XCHG CHITTAGONG STOCK EXCHANGE LTD. BD BANGLADESH CHITTAGONG CSE
XCOL COLOMBO STOCK EXCHANGE LK SRI LANKA COLOMBO  
XCEC COMMODITIES EXCHANGE CENTER US UNITED STATES OF AMERICA NEW YORK COMEX
XCSE COPENHAGEN STOCK EXCHANGE DK DENMARK COPENHAGEN  
CRDL COREDEAL MTS GB UNITED KINGDOM LONDON  
XCYS CYPRUS STOCK EXCHANGE CY CYPRUS NICOSIA (LEFKOSIA) CSE
XDCE DALIAN COMMODITY EXCHANGE CN CHINA DALIAN DCE
DAMP DANISH AUTHORISED MARKET PLACE LTD. DK DENMARK COPENHAGEN DANSK AMP
XDAR DAR ES SALAAM STOCK EXCHANGE TZ TANZANIA DAR ES SALAAM  
XDES DELHI STOCK EXCHANGE IN INDIA DELHI  
XFRA DEUTSCHE BOERSE AG DE GERMANY FRANKFURT AM MAIN  
XETR DEUTSCHER KASSENVEREIN AG GRUPPE DEUTSCHE BOERSE DE GERMANY FRANKFURT AM MAIN XETRA
XDHA DHAKA STOCK EXCHANGE LTD BD BANGLADESH DHAKA DSE
EDGA DIRECT EDGE ECN (EDGA) US UNITED STATES OF AMERICA JERSEY CITY  
EDGX DIRECT EDGE ECN (EDGX) US UNITED STATES OF AMERICA JERSEY CITY  
DSMD DOHA SECURITIES MARKET QA QATAR DOHA DSM
XDFB DONETSK STOCK EXCHANGE UA UKRAINE DONETSK DFB
XDFM DUBAI FINANCIAL MARKET AE UNITED ARAB EMIRATES DUBAI DFM
DGCX DUBAI GOLD AND COMMODITIES EXCHANGE DMCC AE UNITED ARAB EMIRATES DUBAI DGCX
DIFX DUBAI INTERNATIONAL FINANCIAL EXCHANGE LTD. AE UNITED ARAB EMIRATES DUBAI DIFX
XEAS EASDAQ BE BELGIUM LEUVEN  
XECS EASTERN CARIBBEAN SECURITIES EXCHANGE KN SAINT KITTS AND NEVIS BASSETERRE ECSE
XEDX EDX LONDON LIMITED GB UNITED KINGDOM LONDON  
XSVA EL SALVADOR STOCK EXCHANGE SV EL SALVADOR EL SALVADOR  
HDAT ELECTRONIC SECONDARY SECURITIES MARKET (HDAT) GR GREECE ATHENS HDAT
XEUB EUREX BONDS DE GERMANY FRANKFURT AM MAIN  
ECAG EUREX CLEARING AG DE GERMANY FRANKFURT AM MAIN  
XEUR EUREX DEUTSCHLAND DE GERMANY FRANKFURT AM MAIN  
XEUP EUREX REPO GMBH DE GERMANY FRANKFURT AM MAIN  
TMTS EUROBENCHMARK TRES. BILLS GB UNITED KINGDOM LONDON  
CMTS EUROCREDIT GB UNITED KINGDOM LONDON  
LMTS EUROGLOBAL MTS GB UNITED KINGDOM LONDON  
EMTS EUROMTS GB UNITED KINGDOM LONDON EMTS
KMTS EUROMTS LINKERS MARKET GB UNITED KINGDOM LONDON  
XAMS EURONEXT AMSTERDAM NL THE NETHERLANDS AMSTERDAM EURONEXT
XBRU EURONEXT BRUSSELS BE BELGIUM BRUSSELS EURONEXT
XEUC EURONEXT COM, COMMODITIES FUTURES AND OPTIONS NL THE NETHERLANDS AMSTERDAM EURONEXT
XEUE EURONEXT EQF, EQUITIES AND INDICES DERIVATIVES NL THE NETHERLANDS AMSTERDAM EURONEXT
XEUI EURONEXT IRF, INTEREST RATE FUTURE AND OPTIONS NL THE NETHERLANDS AMSTERDAM EURONEXT
XLIS EURONEXT LISBOA PT PORTUGAL LISBOA EURONEXT
XMAT EURONEXT PARIS – MATIF FR FRANCE PARIS EURONEXT
XMON EURONEXT PARIS – MONEP FR FRANCE PARIS EURONEXT
XPAR EURONEXT PARIS S.A. FR FRANCE PARIS EURONEXT
XMLI EURONEXT PARIS S.A. – MARCHE LIBRE FR FRANCE PARIS EURONEXT
XLIF EURONEXT.LIFFE GB UNITED KINGDOM LONDON  
XEEE EUROPEAN ENERGY EXCHANGE AG DE GERMANY FRANKFURT AM MAIN  
EUWX EUWAX DE GERMANY STUTTGART EUWAX
XFNX FINEX (NEW YORK AND DUBLIN) IE IRELAND DUBLIN FINEX
XFOM FINNISH OPTIONS MARKET FI FINLAND HELSINKI FOM
PFTS FIRST SECURITIES TRADING SYSTEM – UKRAINIAN OTC UA UKRAINE KIEV PFTS
FRRF FONDS DES RENTES / RENTENFONDS BE BELGIUM BRUSSELS  
XFFE FUKUOKA FUTURES EXCHANGE JP JAPAN FUKUOKA  
XFKA FUKUOKA STOCK EXCHANGE JP JAPAN FUKUOKA  
XGSE GEORGIA STOCK EXCHANGE GE GEORGIA TBILISI GSE
XGHA GHANA STOCK EXCHANGE GH GHANA ACCRA  
ROCO GRETAI SECURITIES MARKET TW TAIWAN TAIPEI  
XGUA GUAYAQUIL STOCK EXCHANGE EC ECUADOR GUAYAQUIL  
GXMA GX MARKETCENTER WS VANUATU VILA  
HSTC HANOI SECURITIES TRADING CENTER VN VIET NAM HANOI HANOI STC
XHAM HANSEATISCHE WERTPAPIERBOERSE HAMBURG DE GERMANY HAMBURG  
HEGX HEDGESTREET EXCHANGE US UNITED STATES OF AMERICA SAN MATEO  
XHON HONDURIAN STOCK EXCHANGE, THE HN HONDURAS SAN PEDRO SULA BVH
XHKF HONG KONG FUTURES EXCHANGE LTD. HK HONG KONG HONG KONG HKFE
XGEM HONG KONG GROWTH ENTERPRISES MARKET HK HONG KONG HONG KONG HK GEM
BTEC ICAP-BROKERTEC US UNITED STATES OF AMERICA JERSEY CITY  
XICE ICELAND STOCK EXCHANGE IS ICELAND REYKJAVIK ICEX
XCOR ICMA GB UNITED KINGDOM LONDON  
XIOM INDEX AND OPTIONS MARKET US UNITED STATES OF AMERICA CHICAGO IOM
CHIX INSTINET CHI-X LTD. GB UNITED KINGDOM LONDON CHI-X
IEPA INTERCONTINENTAL EXCHANGE LTD. GB UNITED KINGDOM LONDON ICE
XIMA INTERNATIONAL MARTIME EXCHANGE NO NORWAY OLSO IMAREX
XIMM INTERNATIONAL MONETARY MARKET US UNITED STATES OF AMERICA CHICAGO  
XISX INTERNATIONAL SECURITIES EXCHANGE, LLC. US UNITED STATES OF AMERICA NEW YORK ISE
XDUB IRISH STOCK EXCHANGE IE IRELAND DUBLIN ISE
ISEC ISEC (ICEX SECOND MARKET) IS ICELAND REYKJAVIK ISEC
XISL ISLAMABAD STOCK EXCHANGE PK PAKISTAN ISLAMABAD ISE
XIAB ISTANBUL GOLD EXCHANGE TR TURKEY ISTAMBUL IAB
XIST ISTANBUL STOCK EXCHANGE TR TURKEY ISTAMBUL ISE
XDMI ITALIAN DERIVATIVES MARKET IT ITALY MILANO IDEM
ITGI ITG – POSIT EXCHANGE US UNITED STATES OF AMERICA NEW YORK  
XBBJ JAKARTA FUTURES EXCHANGE (BURSA BERJANGKA JAKARTA) ID INDONESIA JAKARTA  
XJNB JAKARTA NEGOTIATED BOARD ID INDONESIA JAKARTA  
XJKT JAKARTA STOCK EXCHANGE ID INDONESIA JAKARTA  
XJAM JAMAICA STOCK EXCHANGE, THE JM JAMAICA KINGSTON  
JASR JAPAN CROSS (PTS) JP JAPAN TOKYO  
XJAS JASDAQ SECURITIES EXCHANGE JP JAPAN TOKYO JASDAQ
XJSE JSE SECURITIES EXCHANGE ZA SOUTH AFRICA JOHANNESBURG JSE
XKAC KANSAI COMMODITIES EXCHANGE JP JAPAN OSAKA KANEX
XKBT KANSAS CITY BOARD OF TRADE US UNITED STATES OF AMERICA KANSAS CITY KCBT
XKAR KARACHI STOCK EXCHANGE (GUARANTEE) LIMITED, THE PK PAKISTAN KARACHI KSE
XKAZ KAZAKHSTAN STOCK EXCHANGE KZ KAZAKHSTAN ALMA-ATA KAZE
XKHR KHARKOV COMMODITY EXCHANGE UA UKRAINE KHARKOV  
XKHA KHARTOUM STOCL EXCHANGE SD SUDAN KHARTOUM KSE
XKCE KHOREZM INTERREGION COMMODITY EXCHANGE UZ UZBEKISTAN TASHKENT  
XKIS KIEV INTERNATIONAL STOCK EXCHANGE UA UKRAINE KIEV KISE
XKIE KIEV UNIVERSAL EXCHANGE UA UKRAINE KIEV  
KOCN KOREA ECN SECURITIES CO. LTD (ATS) KR KOREA, REPUBLIC OF SEOUL  
XKFE KOREA EXCHANGE (FUTURES MARKET) KR KOREA, REPUBLIC OF SEOUL KRX FM
XKOS KOREA EXCHANGE (KOSDAQ) KR KOREA, REPUBLIC OF SEOUL KOSDAQ
XKRX KOREA EXCHANGE (STOCK MARKET) KR KOREA, REPUBLIC OF SEOUL KRX SM
XKUW KUWAIT STOCK EXCHANGE KW KUWAIT KUWAIT  
XKSE KYRGYZ STOCK EXCHANGE KG KYRGYZSTAN BISHKEK KSE
XBCL LA BOLSA ELECTRONICA DE CHILE CL CHILE SANTIAGO BOLCHILE
XLFX LABUAN INTERNATIONAL FINANCIAL EXCHANGE MY MALAYSIA LABUAN LFX
XLAH LAHORE STOCK EXCHANGE PK PAKISTAN LAHORE LSE
XLAT LATIBEX ES SPAIN MADRID  
LEVL LEVEL ATS US UNITED STATES OF AMERICA BOSTON LEVEL
XLJU LJUBLJANA STOCK EXCHANGE, INC. SI SLOVENIA LJUBLJANA  
XLBM LONDON BULLION MARKET, THE GB UNITED KINGDOM LONDON  
XLME LONDON METAL EXCHANGE GB UNITED KINGDOM LONDON LME
LPPM LONDON PLATINUM AND PALLADIUM MARKET GB UNITED KINGDOM LONDON LPPM
XLON LONDON STOCK EXCHANGE, THE GB UNITED KINGDOM LONDON LSE
XLTO LONDON TRADED OPTIONS MARKET GB UNITED KINGDOM LONDON LTOM
XLUS LUSAKA STOCK EXCHANGE ZM ZAMBIA LUSAKA  
XLUX LUXEMBOURG STOCK EXCHANGE LU LUXEMBOURG LUXEMBOURG  
XMAE MACEDONIAN STOCK EXCHANGE MK MACEDONIA SKOPJE  
XMDS MADRAS STOCK EXCHANGE IN INDIA MADRAS  
XMSW MALAWI STOCK EXCHANGE MW MALAWI BLANTYRE  
XLOF MALAYSIA DERIVATIVES EXCHANGE BHD MY MALAYSIA KUALA LUMPUR MDEX
XMAL MALTA STOCK EXCHANGE MT MALTA VALLETTA  
XMAP MAPUTO STOCK EXCHANGE MZ MOZAMBIQUE MAPUTO  
XMDG MARCHE INTERBANCAIRE DES DEVISES M.I.D. MG MADAGASCAR ANTANANARIVO  
MDIP MEDIP PT PORTUGAL LISBOA MEDIP
XMEF MEFF RENTA FIJA ES SPAIN BARCELONA MEFF
XMRV MEFF RENTA VARIABLE ES SPAIN BARCELONA MEFF
XMTB MERCADO A TERMINO DE BUENOS AIRES S.A. AR ARGENTINA BUENOS AIRES MAT
XMAB MERCADO ABIERTO ELECTRONICO S.A. AR ARGENTINA BUENOS AIRES MAE
XSRM MERCADO DE FUTUROS DE ACEITE DE OLIVA, S.A. ES SPAIN JAEN MFAO
XFCM MERCADO DE FUTUROS Y OPCIONES SOBRE CITRICOS ES SPAIN VALENCIA FC AND M
XMEV MERCADO DE VALORES DE BUENOS AIRES S.A. AR ARGENTINA BUENOS AIRES MERVAL
XEMD MERCADO MEXICANO DE DERIVADOS MX MEXICO MEXICO MEXDER
XMCE MERCATO CONTINUO ESPANOL ES SPAIN BARCELONA  
XMIF MERCATO ITALIANO FUTURES EXCHANGE IT ITALY MILANO MIF
XBAV MERCHBOLSA AGENCIA DE VALORES, S.A. ES SPAIN BARCELONA  
XMAC MID AMERICA COMMODITY EXCHANGE US UNITED STATES OF AMERICA CHICAGO MIDAM
XMGE MINNEAPOLIS GRAIN EXCHANGE US UNITED STATES OF AMERICA MINNEAPOLIS MGE
XMOL MOLDOVA STOCK EXCHANGE MD MOLDOVA, REPUBLIC OF CHISINAU  
XULA MONGOLIAN STOCK EXCHANGE MN MONGOLIA ULAAN BAATAR  
XMNX MONTENEGRO STOCK EXCHANGE ME MONTENEGRO, REPUBLIC OF MONTENEGRO  
XMOD MONTREAL EXCHANGE THE / BOURSE DE MONTREAL (OTIONS AND OTHER DERIVATIVES) CA CANADA MONTREAL CDE
XMOS MOSCOW CENTRAL STOCK EXCHANGE RU RUSSIA MOSCOW MCSE
XMIC MOSCOW INTERBANK CURRENCY EXCHANGE RU RUSSIA MOSCOW MICEX
AMTS MTS AMSTERDAM N.V. NL THE NETHERLANDS AMSTERDAM  
MTSA MTS AUSTRIAN MARKET GB UNITED KINGDOM LONDON  
BMTS MTS BELGIUM BE BELGIUM BRUSSELS  
UMTS MTS CEDULAS GB UNITED KINGDOM LONDON  
MTSD MTS DENMARK BE BELGIUM BRUSSELS  
GMTS MTS DEUTSCHLAND AG DE GERMANY FRANKFURT AM MAIN  
MTSF MTS FINLAND BE BELGIUM BRUSSELS  
FMTS MTS FRANCE SAS FR FRANCE PARIS  
MTSG MTS GREEK MARKET GB UNITED KINGDOM LONDON  
IMTS MTS IRELAND GB UNITED KINGDOM LONDON  
MTSP MTS POLAND PL POLAND WARSAW  
PMTS MTS PORTUGAL SGMR, SA PT PORTUGAL LISBOA  
QMTS MTS QUASI GOVERNMENT GB UNITED KINGDOM LONDON  
MTSC MTS S.P.A. IT ITALY ROMA MTS ITALY
SMTS MTS SPAIN, S.A. ES SPAIN MADRID  
CETO MTS-CeTO S.A. PL POLAND WARSAW  
XIMC MULTI COMMODITY EXCHANGE OF INDIA LTD. IN INDIA MUMBAI MCX
XBOM MUMBAI STOCK EXCHANGE IN INDIA MUMBAI MSE
XMUS MUSCAT SECURITIES MARKET OM OMAN MUSCAT MSM
XNGO NAGOYA STOCK EXCHANGE JP JAPAN NAGOYA NSE
XNAI NAIROBI STOCK EXCHANGE KE KENYA NAIROBI  
XNAM NAMIBIAN STOCK EXCHANGE NA NAMIBIA WINDHOEK  
XNAS NASDAQ US UNITED STATES OF AMERICA NEW YORK NASDAQ
XNGS NASDAQ/NGS (GLOBAL SELECT MARKET) US UNITED STATES OF AMERICA NEW YORK NGS
XNMS NASDAQ/NMS (GLOBAL MARKET) US UNITED STATES OF AMERICA NEW YORK  
XNCD NATIONAL COMMODITY AND DERIVATIVES EXCHANGE LTD. IN INDIA MUMBAI NCDEX
XCIS NATIONAL STOCK EXCHANGE US UNITED STATES OF AMERICA CHICAGO  
XNSE NATIONAL STOCK EXCHANGE OF INDIA IN INDIA MUMBAI NSE
XLIT NATIONAL STOCK EXCHANGE OF LITHUANIA LT LITHUANIA VILNIUS  
XNEP NEPAL STOCK EXCHANGE NP NEPAL KATHMANDU  
NMTS NEW EUROMTS GB UNITED KINGDOM LONDON  
XNYF NEW YORK BOARD OF TRADE US UNITED STATES OF AMERICA NEW YORK NYBOT
XNYM NEW YORK MERCANTILE EXCHANGE US UNITED STATES OF AMERICA NEW YORK NYMEX
XNYS NEW YORK STOCK EXCHANGE, INC. US UNITED STATES OF AMERICA NEW YORK NYSE
XNEE NEW ZEALAND FUTURES AND OPTIONS EXCHANGE NZ NEW ZEALAND AUCKLAND NZFOE
XNZE NEW ZEALAND STOCK EXCHANGE NZ NEW ZEALAND WELLINGTON NZSE
XNEW NEWEX DE GERMANY FRANKFURT AM MAIN NEWEX
XHAN NIEDERSAECHSISCHE BOERSE ZU HANNOVER DE GERMANY HANNOVER  
XNSA NIGERIAN STOCK EXCHANGE,THE NG NIGERIA LAGOS  
XHER NIPPON NEW MARKET – HERCULES JP JAPAN OSAKA HERCULES
NNCS NIZHNY NOVGOROD CURRENCY AND STOCKEXCHANGE CLOSE JOINT STOCK COMPANY RU RUSSIA NIZHNIY NOVGOROD NCSE
XXXX NO MARKET (EG, UNLISTED)        
NORX NORD POOL NO NORWAY OLSO  
XNGM NORDIC GROWTH MARKET SE SWEDEN STOCKHOLM NGM
XNQL NQLX US UNITED STATES OF AMERICA NEW YORK NQLX
NYMX NYMEX EUROPE LTD. GB UNITED KINGDOM LONDON  
ARCX NYSE ARCA US UNITED STATES OF AMERICA NEW YORK  
XODE ODESSA COMMODITY EXCHANGE UA UKRAINE ODESSA  
XOTB OESTERREICHISCHE TERMIN- UND OPTIONENBOERSE, CLEARING BANK AG AT AUSTRIA VIENNA OTOB
XOMF OM FIXED INTEREST EXCHANGE SE SWEDEN STOCKHOLM OM
XOME OM STOCKHOLM EXCHANGE SE SWEDEN STOCKHOLM OM
XOCH ONECHICAGO, LLC. US UNITED STATES OF AMERICA CHICAGO  
XOSM OSAKA MERCANTILE EXCHANGE JP JAPAN OSAKA OME
XOSE OSAKA SECURITIES EXCHANGE JP JAPAN OSAKA OSE
XOSJ OSAKA SECURITIES EXCHANGE J-NET JP JAPAN OSAKA J-NET
XOAS OSLO AXESS NO NORWAY OLSO  
XOSL OSLO BORS NO NORWAY OLSO  
XOTC OTC BULLETIN BOARD US UNITED STATES OF AMERICA WASHINGTON OTCBB
OTCX OTC EXCHANGE OF INDIA IN INDIA MUMBAI OTCEI
XPAE PALESTINE SECURITIES EXCHANGE PS PALESTINIAN TERRITORY, OCCUPIED NABLUS PSE
OPEX PEX-PRIVATE EXCHANGE PT PORTUGAL LISBOA OPEX
XPBT PHILADELPHIA BOARD OF TRADE US UNITED STATES OF AMERICA PHILADELPHIA PBOT
XPHO PHILADELPHIA OPTIONS EXCHANGE US UNITED STATES OF AMERICA PHILADELPHIA  
XPHL PHILADELPHIA STOCK EXCHANGE US UNITED STATES OF AMERICA PHILADELPHIA PHLX
XPHS PHILIPPINE STOCK EXCHANGE, INC. PH PHILIPPINE PASIG-CITY PSE
PINX PINK SHEETS LLC (NQB) US UNITED STATES OF AMERICA NEW YORK  
PIPE PIPELINE US UNITED STATES OF AMERICA NEW YORK  
XPLU PLUS MARKETS GROUP GB UNITED KINGDOM LONDON PLUS-TRADING
XPOM PORT MORESBY STOCK EXCHANGE PG PAPUA NEW GUINEA PORT MORESBY  
XPOR PORTAL US UNITED STATES OF AMERICA WASHINGTON  
XPOW POWERNEXT FR FRANCE PARIS  
XPRI PRIDNEPROVSK COMMODITY EXCHANGE UA UKRAINE PRIDNEPROVSK  
PURE PURE TRADING CA CANADA TORONTO  
XQUI QUITO STOCK EXCHANGE EC ECUADOR QUITO  
XRAS RASDAQ RO ROMANIA BUCHAREST RASDAQ
XDUS RHEINISCHE-WESTFALISCHE BOERSE ZU DÜSSELDORF DE GERMANY DUESSELDORF  
XRIS RIGA STOCK EXCHANGE,THE LV LATVIA RIGA  
XRBM RINGGIT BOND MARKET MY MALAYSIA KUALA LUMPUR RBM
XRMZ RM-SYSTEM A.S. CZ CZECH REPUBLIC PRAGUE RMS CZ
XBRM ROMANIAN COMMODITIES EXCHANGE RO ROMANIA BUCHAREST BRM
XROV ROSTOV CURRENCY AND STOCK EXCHANGE RU RUSSIA ROSTOV RCSEX
XRTR RTR (REUTERS-REALTIME-DATEN) DE GERMANY FRANKFURT AM MAIN RTR
RTSX RTS STOCK EXCHANGE RU RUSSIA MOSCOW RTS
XRUS RUSSIAN EXCHANGE, THE RU RUSSIA MOSCOW NDX
XPIC SAINT PETERSBURG CURRENCY EXCHANGE RU RUSSIA SAINT-PETERSBURG SPSEX
XSAM SAMARA CURRENCY INTERBANK EXCHANGE RU RUSSIA SAMARA SCIEX
XSGO SANTIAGO STOCK EXCHANGE CL CHILE SANTIAGO  
XSAP SAPPORO SECURITIES EXCHANGE JP JAPAN SAPPORO  
XSAU SAUDI ARABIA STOCK EXCHANGE SA SAUDI ARABIA RIJAD  
BMFM SC BURSA MONETAR-FINANCIERA SI DE MARFURI SIBIU RO ROMANIA SIBIU BMFMS
XSGE SHANGHAI FUTURES EXCHANGE CN CHINA SHANGHAI SHFE
SGEX SHANGHAI GOLD EXCHANGE CN CHINA SHANGHAI SGE
XSHG SHANGHAI STOCK EXCHANGE CN CHINA SHANGHAI  
XSME SHENZHEN MERCANTILE EXCHANGE CN CHINA SHENZHEN  
XSHE SHENZHEN STOCK EXCHANGE CN CHINA SHENZHEN  
XSIC SIBERIAN INTERBANK CURRENCY EXCHANGE RU RUSSIA NOVOSIBIRSK SICEX
XSIB SIBERIAN STOCK EXCHANGE RU RUSSIA NOVOSIBIRSK SIMEX
XSCE SINGAPORE COMMODITY EXCHANGE SG SINGAPORE SINGAPORE SICOM
XSES SINGAPORE EXCHANGE SG SINGAPORE SINGAPORE SGX
XSIM SINGAPORE EXCHANGE DERIVATIVES CLEARING LIMITED SG SINGAPORE SINGAPORE SGX-DT
XRMS SK RM-S (SLOVAK STOCK EXCHANGE) SK SLOVAKIA BRATISLAVA SK RM-S
XSOM SOCIEDADE OPERADORA DO MERCADO DE ATIVOS S.A. BR BRAZIL RIO DE JANEIRO SOMA
XFMN SOCIETE DU NOUVEAU MARCHE FR FRANCE PARIS  
XSAF SOUTH AFRICAN FUTURES EXCHANGE ZA SOUTH AFRICA JOHANNESBURG SAFEX
XSFA SOUTH AFRICAN FUTURES EXCHANGE – AGRICULTURAL MARKET DIVISION ZA SOUTH AFRICA JOHANNESBURG  
XSPS SOUTH PACIFIC STOCK EXCHANGE FJ FIJI SUVA SPSE
XPET ST PETERSBURG STOCK EXCHANGE RU RUSSIA SAINT-PETERSBURG SPBEX
XHKG STOCK EXCHANGE OF HONG KONG LTD, THE HK HONG KONG HONG KONG SEHK
XMAU STOCK EXCHANGE OF MAURITIUS LTD, THE MU MAURITIUS PORT LOUIS  
XNEC STOCK EXCHANGE OF NEWCASTLE LTD AU AUSTRALIA NEWCASTLE NSX
XBKK STOCK EXCHANGE OF THAILAND TH THAILAND BANGKOK SET
XBKF STOCK EXCHANGE OF THAILAND – FOREIGN BOARD TH THAILAND BANGKOK SET
XPRA STOCK EXCHANGE PRAGUE CO. LTD, THE CZ CZECH REPUBLIC PRAGUE PSE
XSUR SURABAYA STOCK EXCHANGE ID INDONESIA SURABAYA  
XSWA SWAZILAND STOCK EXCHANGE SZ SWAZILAND MBABANE SSX
XSWX SWISS EXCHANGE CH SWITZERLAND ZURICH SWX
XQMH SWX QUOTEMATCH AG CH SWITZERLAND ZURICH  
XSFE SYDNEY FUTURES EXCHANGE LIMITED AU AUSTRALIA SYDNEY SFE
XTAF TAIWAN FUTURES EXCHANGE TW TAIWAN TAIPEI TAIFEX
XIME TAIWAN INTERNATIONAL MERCANTILE EXCHANGE TW TAIWAN TAIPEI TAIMEX
XTAI TAIWAN STOCK EXCHANGE TW TAIWAN TAIPEI TSEC
XTAL TALLINN STOCK EXCHANGE EE ESTONIA TALLINN  
XTEH TEHERAN STOCK EXCHANGE IR IRAN TEHERAN  
XTAE TEL AVIV STOCK EXCHANGE IL ISRAEL TEL AVIV TASE
TFEX THAILAND FUTURES EXCHANGE TH THAILAND BANGKOK TFEX
XBRT THE BRUT ECN US UNITED STATES OF AMERICA NEW YORK BRUT
XCIE THE CHANNEL ISLANDS STOCK EXCHANGE GG GUERNSEY, C.I. ST. PETER PORT CISX
XCGS THE CHINESE GOLD AND SILVER EXCHANGE SOCIETY HK HONG KONG HONG KONG  
XHEL THE HELSINKI STOCK EXCHANGE FI FINLAND HELSINKI  
XIQS THE IRAK STOCK EXCHANGE IQ IRAQ BAGHDAD ISX
ICEL THE ISLAND ECN LTD. US UNITED STATES OF AMERICA NEW YORK  
XLCE THE LONDON COMMODITY EXCHANGE GB UNITED KINGDOM LONDON LCE
NOTC THE NORWEGIAN OVER THE COUNTER MARKET NO NORWAY OLSO NOTC
THRD THE THIRD MARKET CORPORATION US UNITED STATES OF AMERICA CHICAGO ETHRD
XCUE THE UZBEKISTAN REPUBLICAN CURRENCY EXCHANGE UZ UZBEKISTAN TASHKENT  
XTRZ THE ZAGREB MONEY AND SHORT TERM SECURITIES MARKET INC. HR CROATIA ZAGREB  
XTIR TIRANA STOCK EXCHANGE AL ALBANIA TIRANA  
XTFF TOKYO INTERNATIONAL FINANCIAL FUTURES EXCHANGE, THE JP JAPAN TOKYO TIFFE
XTKT TOKYO KOGYOIN TORIHIKIJO (COMMODITY EXCHANGE) JP JAPAN TOKYO TOCOM
XTKO TOKYO KOKUMOTSU SHOHIN TORIHIKIJO (GRAIN EXCHANGE) JP JAPAN TOKYO TGE
XTKS TOKYO STOCK EXCHANGE JP JAPAN TOKYO TSE
XTK1 TOKYO STOCK EXCHANGE – TOSTNET-1 JP JAPAN TOKYO  
XTK2 TOKYO STOCK EXCHANGE – TOSTNET-2 JP JAPAN TOKYO  
XTSE TORONTO STOCK EXCHANGE CA CANADA TORONTO TSE
XGAT TRADEGATE AG DE GERMANY BERLIN  
TREU TRADEWEB EUROPE LIMITED GB UNITED KINGDOM LONDON  
TRWB TRADEWEB LLC US UNITED STATES OF AMERICA JERSEY CITY  
TLAB TRADINGLAB TLX IT ITALY MILANO TLX
XTRN TRINIDAD AND TOBAGO STOCK EXCHANGE TT TRINIDAD AND TOBAGO PORT OF SPAIN TTSE
XTSX TSX VENTURE EXCHANGE CA CANADA TORONTO TSX
XTNX TSX VENTURE EXCHANGE – NEX CA CANADA VANCOUVER NEX
XTUR TURKISH DERIVATIVES EXCHANGE TR TURKEY IZMIR TURKDEX
XUGA UGANDA SECURITIES EXCHANGE UG UGANDA KAMPALA USE
XUAX UKRAINIAN STOCK EXCHANGE UA UKRAINE KIEV UKRSE
XUKR UKRAINIAN UNIVERSAL COMMODITY EXCHANGE UA UKRAINE KIEV  
URCE URALS REGIONAL CURRENCY EXCHANGE RU RUSSIA EKATERINBURG URCEX
XEUS US FUTURES EXCHANGE US UNITED STATES OF AMERICA CHICAGO  
XSTE UZBEKISTAN STOCK EXCHANGE UZ UZBEKISTAN TASHKENT UZSE
XVAR VARAZDIN STOCK EXCHANGE, THE HR CROATIA VARAZDIN VSE
XVES VESTIMA+ LU LUXEMBOURG LUXEMBOURG  
XSTC VIETNAM STOCK EXCHANGE VN VIET NAM HO CHI MINH CITY  
XVTX VIRT-X GB UNITED KINGDOM LONDON VIRT-X
XVLA VLADIVOSTOK (RUSSIA) STOCK EXCHANGE RU RUSSIA VLADIVOSTOK VSX
XHCE WARENTERMINBOERSE HANNOVER DE GERMANY HANNOVER  
XWAR WARSAW STOCK EXCHANGE PL POLAND WARSAW WSE
XWBO WIENER BOERSE AG AT AUSTRIA VIENNA WBAG
XWCE WINNIPEG COMMODITY EXCHANGE, THE CA CANADA WINNIPEG WCE
XTRA XTRAMARKED DK DENMARK COPENHAGEN  
YLDX YIELD-X ZA SOUTH AFRICA JOHANNESBURG  
XYIE YIELDBROKER PTY LTD AU AUSTRALIA SYDNEY  
XZAG ZAGREB STOCK EXCHANGE, THE HR CROATIA ZAGREB  
XZCE ZHENGZHOU COMMODITY EXCHANGE CN CHINA ZHENGZHOU ZCE
XZIM ZIMBABWE STOCK EXCHANGE ZW ZIMBABWE HARARE  
ZOBX ZOBEX DE GERMANY BERLIN ZOBEX