Question

Au cours des deux dernières semaines, je suis tombé sur beaucoup d'articles sur le trading à haute fréquence. Ils parlent tous de la façon dont les ordinateurs et les logiciels importants est de cela, mais parce qu'ils sont tous écrits d'un point de vue financier, il n'y a pas de détails sur ce logiciel ne?

Quelqu'un peut-il expliquer d'un point de vue de programmeurs ce qui est le trading à haute fréquence? et pourquoi est-ordinateur / logiciel si important dans ce domaine?

Était-ce utile?

La solution

Pour développer ce que Paul a dit:

Le serveur exécutant DFT ou UHFT sont presque toujours colloqué dans le centre de données de l'échange. Ce temps de latence réduit et permet également les algos utiliser les commandes de Flash (qui pourraient être bientôt interdits) pour obtenir premier coup d'oeil au flux de commande avant que l'ordre est diffusé sur le marché. beaucoup d'années algo évalueront un ordre en quelques millisecondes, ce qui est un jeu où millisecondes d'importance. groupes de négociation ont été connus pour tirer tous les arrêts, y compris l'embauche des développeurs du noyau pour créer des composants OS personnalisés afin de mieux optimiser le temps entre le moment où une commande frappe la carte réseau et lorsque l'action résultante est prise.

Il y a deux grands seaux de stratégies qui sont couramment utilisées aujourd'hui:

La première se négocie devant les grosses commandes de bloc. Pour utiliser l'exemple de Paul d'acheter un million d'actions d'IBM, de HFT algo seront à la recherche d'une pression acheteuse. FIRMS ordinateurs à différents échanges et dark pools devront partager des informations depuis la commande sera divisée et généralement exécuté sur plusieurs échanges et dark pools. Un HFT algo utilisera des modèles statistiques / machine appris à prédire la taille de la pression d'achat et si elle détermine qu'il ya suffisamment il accumule également des actions à travers les marchés et tenter de les vendre pour un prix légèrement plus élevé.

Le deuxième est la négociation de remboursement de liquidité où les échanges rémunérera les participants du marché pour ajouter des liquidités. ( Voir Prix de Direct Edge) Les actions qui sont achetées ou vendues ne peuvent être détenus à des fins très courte période de temps. Le but est simplement de recueillir le remboursement et l'équilibre sur tout le reste.

Dans ces deux types de stratégie, l'idée est de faire quelques centimes (ou fractions) sur un commerce et faire cela plusieurs fois par jour.

Comme vous avez pu le constater, il y a beaucoup d'emplois disponibles et donc HFT les métiers sont de plus en plus encombré. Je vois cela comme un peu comme stat arb depuis le début des années 2000 et, finalement, le commerce ne sera pas très rentable depuis tant de joueurs tentent de le faire.

Quant à savoir pourquoi le logiciel est important: millisecondes question. Latence est super important et le code doit être serré, rapide et stable roche solide. Avoir un accident d'algo et être pris avec des parts lorsque le marché évolue contre vous est pas très rentable. L'ingénierie de ces exigences est nécessairement différent et nécessite des compétences différentes. Croquant le plein carnet de commandes en temps réel ne nécessite une certaine puissance et de bons algorithmes. Il est amusant et intéressant bien.

Autres conseils

Il y a deux parties à tout système HFT:

  1. temps réel trading super faible latence - abonnez-vous à carnet de commandes en temps réel et informations sur les prix de beaucoup de différentes sources, exécuter des algorithmes calibrés conçus pour soit effectuer une commande importante avec un glissement minimal (vous voulez acheter 1 million actions d'IBM à la fin de la journée sans bouger le marché trop), ou tout simplement pour essayer de faire statistiquement l'argent basé sur l'arbitrage à court terme. Ce système doit également fournir de bons risques et des outils de gestion de position pour permettre à un ou plusieurs opérateurs humains pour surveiller et contrôler efficacement ce que le système est en train de faire.

  2. Nuit / hebdomadaire etc. L'analyse de grandes quantités de « données tick » (prix, temps et pour l'information comptable et les données historiques sur les systèmes d'activité de négociation précédente), qui cherchent à optimiser et « rechercher » le meilleur algorithmes à exécuter en temps réel par une partie # 1. à savoir "calibrer" et tester les algorithmes qui exécuteront dans # 1.

La première nécessite une faible latence et très bon accès aux marchés (à savoir une connexion réseau directe à l'échange avec du houblon minimum). Cette partie doit généralement être écrite dans une langue non-GC comme C ou C ++ (une demi-seconde de retard alors que le garbage collector arrête le monde pourrait être très coûteux). La seconde nécessite généralement une grille et beaucoup de bonne simulation et des logiciels d'analyse statistique, algorithmes AI etc.

Je voudrais juste ajouter que les applications les plus répandues dans ce genre de commerce ont tendance à être CEP (traitement des événements complexes). Quelques exemples sont StreamBase, Apama et Aleri. À l'autre extrémité, pour traiter les quantités massives de données, les gens utilisent des bases de données à haut débit, tels que KDB, OneTick et Vhayu.

Si vous voulez comprendre le genre de défis techniques, je vous suggère de regarder ces vendeurs d'abord. Les documents de marketing vous donnera un bon sens des applications d'entreprise, ainsi que les défis techniques.

A certains moments (par exemple sur une échéance à terme), il est nécessaire de faire des milliers de transactions d'une minute - les humains ne peut évidemment pas faire cela sans aide. Ce BTW est un temps très stressant pour le programmeur, comme si quelque chose va mal, il n'y a presque aucune chance de récupération -. Programmeurs ont tendance à regarder leurs fichiers journaux par le streaming aller avec leur cœur un peu dans leur bouche

Vous devez suivre les prix, décider rapidement ce qui se passe et vers le bas et acheter et vendre en conséquence. Depuis il sont beaucoup de différentes positions négociées le meilleur logiciel que vous utilisez pour cette analyse et effectuant traite plus d'argent que vous pouvez potentiellement faire.

Mieux signifierait la mise à jour des données souvent, des tendances intéressantes repérage de telle sorte que vous pouvez y réagir rapidement, étant facile à utiliser lors de l'exécution des opérations souvent nécessaires.

  

pourquoi est-ordinateur / logiciel si important dans ce domaine?

La plus haute performance et la plus faible latence est souhaitable, car plus vite que vous pouvez réagir aux choses, plus d'argent que vous pouvez potentiellement faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top