Projets de recherche en technologies financières

Projet 1 : Modèle de performance pour les services de transferts de fonds, à petits frais, avec confiance sur la chaîne de blocs (blockchain)
Création d'un modèle d'échange d'argent pour les pays en développement, pour lequel les intervenants n'ont pas à se déplacer vers un bureau de transfert, et qui permet d’instaurer un sentiment de confiance totale à l’égard du service. Un sondage a été effectué à Kinshasa, au Congo, pour connaître les craintes des utilisateurs concernant l'utilisation d’une application mobile de services de transfert d'argent fondée sur la chaîne de blocs.
Objectif
Le processus de paiement sur la chaîne de blocs souffre d'une difficulté de montée en charge. De plus, au cours des périodes de forte affluence, les transactions ralentissent et le coût devient prohibitif pour les transferts de petits montants. Une solution à ce problème de transfert d'argent, à très petits frais, serait envisageable grâce au modèle DLT Business Model, proposé par le professeur Kaiwen Zhang de l'ÉTS. Ce projet vise à concevoir une preuve de concept d'un service mobile expérimental de transfert de fonds à l'aide de la technologie Blockchain.
Défi
S'assurer que le transfert est rapide, fiable et peu coûteux. S'assurer aussi de mettre en place un mécanisme confirmant que le dépôt est effectué, soit directement aux fournisseurs identifiés par la personne utilisatrice, soit directement à la personne utilisatrice. Le système doit être fiable et rapide pour gagner la confiance des personnes qui l’utilisent.
Ce que nous avons fait
Une première version du prototype logiciel permettra de faire des essais au cours desquels la personne expéditrice fait parvenir un montant à un ou une bénéficiaire sans condition. Dans ce scénario, l'expéditeur reçoit un accusé de réception lorsque le bénéficiaire récupère l'argent.
Un deuxième essai prévoit qu'une personne expéditrice envoie un montant à un tiers. Ce montant est destiné à un ou une bénéficiaire, mais nécessite l'accord du tiers avant que le montant soit versé.
Un troisième essai permettra à la personne expéditrice d'envoyer un budget au bénéficiaire. Dans ce budget, l'expéditeur pourra préciser à quel fournisseur de services actuellement fournis au tiers ces montants sont assignés ou réservés. Ainsi, le tiers pourra obtenir des services de ces fournisseurs jusqu'à ce que le budget soit épuisé (par exemple, pour des frais de scolarité).
Finalement, le dernier test prévu validera la fonction de réallocation du budget.

Étudiants et étudiantes :
- T. Maketa
- I. Sion
Technologies utilisées :
- Ethereum
- Solidity
- Metamask
- Ganache Truffle Suite
- Python
- Django
- Web3.py
- REST
- HTML
- CSS
- Postgre
- MySQL
Projet 2 : Automates boursiers (négociation haute fréquence)
Création d'un orchestrateur d'extracteurs sémantiques permettant d'obtenir automatiquement des informations utiles lors de la prise de décision des automates boursiers. Les différents extracteurs, qui sont interchangeables et interconnectables, génèrent tous un signal d'achat, de vente ou d'attente et sont accompagnés d’un indicateur de contexte.
Objectif
Les entreprises de courtage ainsi que les investisseurs s'intéressent de plus en plus aux automates boursiers. Ils désirent ajouter des informations, tirées de toutes sortes de sources sur le Web, pour améliorer leurs décisions de placement. Pour ce faire, il est difficile pour eux d'obtenir, de synthétiser et d'automatiser, en temps réel, l'obtention de toute cette information.
Nous développons des collecteurs normalisés pour l'extraction automatique d'informations provenant de sites Web spécialisés (par ex., MarketWatch, Bloomberg, Reuters), de messages d'experts influents (par ex., @PaulScolardi, @Burns277, @OptionsHawk), de bases de données spécialisées (par ex., NasTraq, Taq, OptionsMetrics) et d'algorithmes d'analyses techniques.
Voir notre article dans le magazine Québec Science.
Défi
Expérimenter diverses techniques d'obtention des données sur les pages Web, ainsi que des interfaces variées avec les différents formats et types d'API de manière à obtenir l'information en temps réel. Expérimenter avec l'impact potentiel de l'information sur une commande d'achat ou de vente.
Ce que nous avons fait
Nous utilisons un processus de développement agile permettant de courtes itérations pour les expérimentations. Voici quelques rapports intermédiaires d'analyse de sentiments pour le domaine de la finance, de signaux pour automates de trading et d'enrichissement des signaux.
En ce moment, notre objectif est de développer un composant estimateur de la tendance du marché. Plusieurs techniques d'intelligence artificielle ont été expérimentées dans le passé (consultez ces articles pour en savoir plus : 1, 2 et 3). Ce composant doit collecter les informations du marché à l'aide de son API et prédire la tendance pour les prochaines 2 à 5 minutes.

Projet 3 : Moteur de statistiques
Ce projet a été proposé par Revelate, une jeune entreprise montréalaise spécialisée en mégadonnées (Big Data) dans le domaine financier. Les clients typiques de Revelate sont des bourses, des places de marché alternatives (ATS) et des groupes de trading dans les institutions financières. La plateforme peut également être utilisée par des services de conformité ainsi que des régulateurs.
Défi
Travaux sur des quantités massives de données boursières. Le premier objectif consiste à optimiser, mettre à l'échelle et à généraliser, à l'aide de la technologie Scala/Spark, un prototype logiciel qui crée des statistiques boursières telles que les courbes d'écart de prix. Le second objectif est de valider les résultats obtenus et de s'assurer qu'il est facilement possible d'ajouter de nouveaux estimateurs dans l'architecture proposée. À terme, une utilisatrice ou un utilisateur pourront fournir eux-mêmes leurs formules et le moteur de statistiques pourra lancer cette formule et leur présenter les résultats automatiquement. Finalement, le troisième objectif de ce projet est de créer un module d'analyse post-exécution en ajoutant les statistiques pertinentes liées à l'exécution (c’est-à-dire les volumes, spreads et volatilité réalisés, glissements, profils d'exécution, etc.) au moteur de statistiques.
Ce que nous avons fait
Un parseur a été implanté dans une première version du prototype de génération de formules statistiques, à l'aide de « scala.util.parser.combinator », qui crée une grammaire mathématique et permet d'exprimer syntaxiquement les éléments des formules statistiques. Il sera donc possible d'utiliser ce parseur, à l'aide d'une interface utilisateur, pour qu'une personne utilisatrice construise ou adapte une formule elle-même.
Dans la seconde itération, nous avons développé le code Scala et les RDDs pour effectuer quatre formules (Volume, VWAP, VWAS et GK) et nous les avons expérimentées, à grande échelle, sur une grappe Amazon. Finalement, lors de la troisième itération, nous avons généré du code Latex, à partir de chaînes de caractères Java (qui contiennent une formule), et nous la représentons graphiquement de manière à ce que les personnes utilisatrices puissent les valider visuellement.




Étudiants :
- Philippe Grenier-Vallée
- Luiz Fernando Santos Pereira
Technologies utilisées :
- Spark 2.0
- Scala
- Java
- Scala Parser Combinators
- JLatexmath
- JSON
- AWS EMR
- Maven
- BitBucket
Ce projet est effectué sur Amazon web services.