2010-12-27 7 views
2

Je suis nouveau dans le FIX et j'ai besoin de développer un petit moteur FIX pour communiquer le système de trading. Comme je sais, il y a beaucoup de moteur FIX disponible mais ici l'exigence est de le développer. Quelqu'un pourrait-il me fournir la référence sur une source ouverte ou un bon article pour le démarrer?Développement d'un moteur FIX

Répondre

3

Pour utiliser C++ quickfix

Java utilisent QuickfixJ

Pour une utilisation .NET VersaFix

Pour se référer à Fix message constructions.

Les deux bibliothèques (Quickfix) ont la même nomenclature que celle mentionnée dans les normes de protocole FIX. Mais ils sont un peu buggé ici et là, mais vous pouvez les rectifier dans votre code source. J'ai utilisé les deux bibliothèques dans un projet commercial et je le dis après avoir vu les bibliothèques fonctionner. Mais le code est assez simple et ils ont un manuel de référence en ligne avec lequel travailler.

Mais développer votre propre bibliothèque sera une grosse tâche pour un seul développeur, si vous avez une équipe, cela peut être beaucoup plus facile. Rappelez-vous que, hormis l'analyse, vous devez incorporer les communications réseau, la configuration sur la façon de l'exécuter et les structures de threads.

+0

merci DumbCoder. Une autre question, quel architecte serait utilisé dans le serveur pour gérer de nombreux clients? – CrazyC

+0

@ Saurabh01 - Quickfix utilise un fil par session, vous pouvez essayer cela. – DumbCoder

+0

Pas une très grande tâche, cependant, en fonction du niveau des exigences peut prendre de deux semaines à six mois. –

1

Il n'est pas facile de développer votre propre moteur FIX, surtout si vous devez vous occuper des détails de niveau de session FIX vous-même. La synchronisation des séquences via ResendRequest, GapFill et SequenceReset n'est pas facile et il serait bon de pouvoir utiliser un moteur FIX qui le fait déjà pour vous.

Un autre problème avec le protocole FIX est GROUPES RÉPÉTÉS. Il n'est pas facile de les analyser rapidement car cela nécessite une récursion ou bien une implémentation itérative complexe. En outre, la plupart des moteurs Java FIX produisent beaucoup de déchets lorsqu'ils analysent le message, ce qui augmente la variance et la latence dues à la surcharge du GC. Enfin, une conception API intuitive est cruciale pour accélérer le développement de FIX. Si vous voulez un bon exemple d'API propre, vous pouvez vérifier CoralFIX.

Avertissement: Je suis l'un des développeurs de CoralFIX.