Gold ETF Arbitrage

Un algorithme qui déplace le capital entre les fonds adossés à l’or de la Bourse de Téhéran, avec pour objectif un portefeuille automatisé investi en or qui vise à rapporter plus que la détention d’or.

En test
  • Python
  • Fonds adossés à l’or
  • Bourse de Téhéran
  • Valeur relative
  • Carnet d’ordres
  • Simulateur d’exécution
  • Données 36 fonds adossés à l’or

    Leurs carnets d’ordres et leurs transactions sur 995 jours de bourse, de juillet 2022 à septembre 2026.

  • Simulation 60 957 transactions

    Transactions simulées dans le scénario de base, sur 395 jours de bourse et 21 fonds.

  • Tests 82 simulations complètes

    Menées pour vérifier la règle sur différentes périodes, différents niveaux de frais et différentes hypothèses avant de la communiquer.

  • Technologie 1 langage
    PythonDonnées, simulateur et algorithme

Introduction

Plus de trente fonds de la Bourse de Téhéran font une seule chose : ils détiennent de l’or. Ils détiennent le même or, et pourtant chacun se négocie à son propre prix par rapport à ce qu’il possède. À tout moment, un fonds est un peu cher et un autre un peu bon marché, et lequel est lequel change d’heure en heure. La plupart des investisseurs choisissent un fonds et y restent. Les différences sont faibles, si bien que les frais et les carnets d’ordres peu profonds les engloutissent, à moins que les deux ne soient mesurés exactement.

Nous avons décidé de traiter tous les fonds adossés à l’or comme un seul actif, et de détenir cet actif par le fonds le moins cher à détenir sur le moment, en ne nous déplaçant que lorsque le déplacement paie son propre coût.

Le projet détient les carnets d’ordres et les transactions de 36 fonds adossés à l’or de juillet 2022 à septembre 2026, soit 995 jours de bourse, ainsi que la valeur liquidative publiée de chaque fonds. Sur ces enregistrements, nous avons construit un simulateur qui rejoue la bourse seconde par seconde, et nous avons testé une règle de déplacement sur 21 fonds, de janvier 2025 à septembre 2026, à quatre niveaux de frais de courtage. Dans cette simulation, le portefeuille a terminé devant la simple détention du fonds adossé à l’or le plus négocié 19 mois sur 21. L’objectif est un portefeuille automatisé investi en or qui est entièrement en or à chaque instant et vise à finir avec plus d’or qu’au départ.

Rapport du simulateur

Le rapport ci-dessous montre ce test dans quatre scénarios. Seuls les frais de courtage varient de l’un à l’autre : sans remise, puis avec 25 %, 35 % et 45 % de remise. La règle est la même dans les quatre. Vous pouvez télécharger le rapport, puis le lire et l’évaluer indépendamment de nous.

  • GOLD 21 fonds adossés à l’or de la Bourse de Téhéran
    • Janv. 2025 à sept. 2026période de test
    • 395jours de bourse
    • 60 957transactions simulées dans le scénario de base
    • 4 scénarios4 niveaux de frais

    Un fichier HTML autonome, 4,9 Mo, en cinq langues

Il s’agit d’un résultat de simulation sur les carnets d’ordres enregistrés du marché, et non de trading réel ; il ne constitue aucune garantie pour l’avenir. Aucun trader concurrent n’est modélisé dans cette simulation.

Approche

Nous ne demandons jamais si l’or va monter ou baisser ; nous demandons seulement quel fonds est, à l’instant présent, le moyen le moins cher de le détenir. Le travail se déroule en trois étapes :

  1. Des prix et des valeurs liquidatives à un même critère pour tous les fonds

    Le prix d’un fonds ne dit rien à lui seul, car chaque fonds a une taille de part différente et une composition différente en lingots et en pièces d’or. Nous rapportons le prix de marché de chaque fonds à la valeur de ce qu’il détient, puis au même chiffre pour le fonds adossé à l’or le plus négocié, qui est notre référence. Le résultat est un nombre par fonds, qui dit à quel point il est cher ou bon marché par rapport à son niveau habituel. Tous les fonds sont lus sur cette même échelle.

  2. De la mesure à un déplacement qui couvre son coût

    Un fonds bon marché n’est pas encore une raison de se déplacer. Chaque déplacement coûte des frais de vente, des frais d’achat et la fourchette acheteur-vendeur dans les deux carnets d’ordres. La règle ne déplace le capital que si la différence dépasse nettement ce coût, et le ramène quand la différence s’est refermée. Un déplacement qui ne récupérerait pas son coût n’est pas effectué.

  3. De la décision à un ordre exécuté

    Les fonds adossés à l’or autres que le plus grand se négocient peu, de sorte qu’une décision ne vaut que ce que le carnet d’ordres peut réellement exécuter. L’algorithme dimensionne chaque ordre selon la profondeur affichée à l’écran, traite ensemble les deux côtés d’une déplacement et maintient le compte en or tout du long. Il ne vend pas à découvert et n’emprunte pas pour augmenter la position.

Le simulateur se trouve sous les trois étapes. Il rejoue côte à côte les carnets d’ordres enregistrés de tous les fonds, une seconde à la fois. Nos ordres rejoignent la file d’attente derrière les ordres qui s’y trouvaient déjà, sont exécutés partiellement ou pas du tout, et emportent la liquidité qu’ils consomment. Les données de marché parviennent à l’algorithme avec quelques secondes de retard et les ordres mettent du temps à arriver, comme ce serait le cas en pratique. Le simulateur tient aussi le compte lui-même, et refuse tout ordre qui emprunterait au-delà de la limite intrajournalière du courtier, vendrait ce qui n’est pas détenu, ou traiterait en dehors des limites de variation de cours du jour.

Le projet est né au sein de TSETMC et utilise les mêmes enregistrements de marché. C’est un projet distinct parce que sa question, son simulateur et sa destination lui sont propres.

Points clés

  • Il est mesuré en or, et non en toman.

    L’or lui-même peut monter ou baisser, et un fonds adossé à l’or le suivra. Notre référence n’est donc pas le numéraire, mais la simple détention du fonds adossé à l’or le plus négocié. Chaque chiffre que nous communiquons est la valeur du portefeuille divisée par ce que vaudrait le même argent s’il était resté dans ce fonds. Un résultat de zéro signifie « pas mieux que détenir de l’or », et non « aucune perte ».

  • Toujours entièrement en or.

    Le portefeuille ne reste jamais en numéraire dans l’attente d’un jour meilleur et ne parie jamais contre l’or. Il détient des fonds adossés à l’or à chaque clôture. Dans toutes les simulations de la règle finale, aucun argent emprunté n’a été reporté au lendemain ; le simulateur le vérifie à chaque clôture et l’enregistre si cela vient à se produire.

  • Un simulateur qui ne triche pas avec le compte.

    Un backtest ordinaire suppose que chaque ordre est exécuté au prix affiché. Le nôtre rejoue les carnets d’ordres enregistrés seconde par seconde, place nos ordres dans la file d’attente et ne les exécute que face à un volume qui était réellement présent. Le scénario de base contient 60 957 transactions simulées sur 395 jours de bourse. L’algorithme voit le marché avec un délai et ses ordres arrivent avec un délai.

  • Des frais présents dans le compte dès la première ligne.

    L’avantage d’un fonds sur un autre est faible, de sorte que les frais de courtage décident si une déplacement vaut la peine d’être effectuée. Nous avons relancé toute la simulation à quatre niveaux de frais, de l’absence de remise à une remise de 45 %, sans changer la règle. Le rapport montre les quatre, afin que le lecteur puisse voir quelle part du résultat dépend des frais.

  • Testé là où il pouvait échouer.

    Une règle qui fonctionne sur une période a peut-être seulement eu de la chance. Nous avons vérifié la logique de la règle sur les prix de 2022 à 2024, une période qu’aucune simulation n’avait utilisée, et nous avons lu séparément les deux moitiés de la période de test, parce que la bourse a modifié une limite de négociation entre les deux. Sur une version antérieure de la règle, nous avons aussi remplacé le fonds choisi par un fonds tiré au hasard aux mêmes instants, et cette version a perdu de l’argent. Au total, 82 simulations sur la période complète soutiennent le résultat communiqué.

  • Un résultat que vous pouvez lire sans nous.

    Le rapport du simulateur est un fichier unique qui s’ouvre dans un navigateur. Il montre le portefeuille face à la détention d’or mois par mois, la plus forte sous-performance par rapport à l’or comme le meilleur mois, et ce que les frais ont prélevé. Il énonce aussi ses propres limites : c’est une simulation, et elle ne modélise pas les autres traders en concurrence pour les mêmes ordres.

Feuille de route

  1. Réalisé

    Les enregistrements de marché, le simulateur d’exécution et la règle de déplacement sont construits, et la règle a été testée en simulation sur 21 fonds et quatre niveaux de frais.

  2. En cours

    Établir ce que la simulation ne peut pas savoir, comme le délai réel des données en direct et de nos ordres, et préparer l’exécution de l’algorithme sur le marché en direct, sans envoi d’ordres.

  3. Ensuite

    Exécuter l’algorithme sur les données en direct en mode de trading simulé, comparer chaque séance à sa relecture dans le simulateur, puis mener un essai à petite échelle pour confronter les exécutions réelles aux exécutions simulées.

  4. Dernière étape

    Gérer le capital automatiquement sous la forme d’un portefeuille investi en or, comme produit aux côtés du fonds de gestion du capital.

Technologie

L’ensemble du projet est écrit en Python : préparation des enregistrements de marché, simulateur d’exécution, algorithme et analyse. Une simulation complète de 21 fonds sur 21 mois, seconde par seconde, prend environ quinze minutes sur une machine, et plusieurs tournent côte à côte. Aucune modification n’est acceptée sans avoir réussi 55 tests automatisés, dont certains ont été écrits pour reproduire une erreur passée afin qu’elle ne puisse pas revenir.