2012-02-07 1 views
0

J'ai développé un utilitaire Java utilisant le protocole Financial Information eXchange(FIX) pour extraire des données d'un flux d'entrée. Cependant, je n'ai actuellement trouvé aucun serveur de test en ligne auquel je puisse me connecter et qui implémente le protocole FIX. Est-ce que quelqu'un pourrait me faire savoir comment je peux y arriver?Protocole FIX utilisant java

+1

Une question, pourquoi avez-vous construit votre propre moteur quand des moteurs open source sont disponibles? Ce que vous auriez pu personnaliser pour vous-même. – DumbCoder

+0

Merci pour le commentaire DumbCoder. Je n'ai pas construit mon propre moteur. Au lieu de cela, j'ai construit mon utilitaire au-dessus de quickfixj. Cependant, je veux me connecter à un serveur de test d'où je peux tirer des prix de streaming en utilisant le protocole FIX. Savez-vous s'il existe des serveurs de test qui me permettront d'y parvenir? – user1066568

Répondre

1

http://www.quickfixj.org/ ont un moteur fixe open source. Il vient avec un exemple qui a un serveur simple. Vous pouvez aussi utiliser leur bibliothèque pour le client plutôt que de reconstruire un moteur FIX à partir de zéro ...

+0

Merci pour ces assyias. J'ai déjà vérifié l'exemple d'application client/serveur, mais ce que je recherche, c'est de me connecter à un serveur de test d'où mon programme peut tirer les prix en streaming. – user1066568

+0

Je ne suis pas au courant d'un serveur de test gratuit, mais la plupart des courtiers seraient en mesure de vous fournir un identifiant pour effectuer des tests. Donc, ceux à qui vous essayez de vous connecter devraient pouvoir vous aider. Alternativement, vous pouvez modifier le code du serveur dans quickfixj pour retourner des prix aléatoires ... – assylias

+0

Vous ne savez pas non plus ce que vous entendez par prix en streaming, voulez-vous dire un prix d'exécution? Ou des prix suite à un appel d'offres par exemple? – assylias

1

Je suppose que vous ne l'avez pas construit dans le vide, mais plutôt de parler au serveur FIX d'un courtier? Si c'est le cas, parlez à votre courtier, car ils sont susceptibles d'avoir un serveur de test auquel vous pouvez vous connecter.

+0

Merci pour le commentaire aix. Ça va prendre un peu de temps avant que j'obtienne le serveur de test de mon courtier. Environ 2 semaines En attendant, j'aimerais savoir s'il y a des serveurs de test gratuits auxquels je peux me connecter et qui aideront mon programme à tirer les prix en streaming du marché. – user1066568

-1

Je travaille pour un courtier, et vous êtes le bienvenu pour vous connecter à nos serveurs Staging FIX. Je ne connais pas de serveurs anonymes autour, peut-être c'est quelque chose que la communauté FIX pourrait mettre en place ..

Cheers, Chris

+0

Salut Chris .. Cette option est toujours disponible? – Christian

0

Cela dépend si vous voulez un hébergé ou une solution de bricolage. Si vous voulez rapidement mettre en place une session FIX sans avoir à compiler/construire/configurer alors je choisirais un simulateur hébergé.

Nous avons un compte avec ces gars-là http://www.fixsim.com/ et je les recommande (simple à installer et ajouter plus de connexions).

(je ne travaille pas pour l'entreprise et obtenir rien à dire)

3

Vous pouvez utiliser CoralFIX pour tirer rapidement un serveur de test. Il prend en charge tous les messages FIX de niveau session, tels que Logon, ResendRequest, SequenceReset, Heartbeat, de sorte que vous êtes prêt à échanger des messages avec votre client. Ci-dessous un exemple simple:

import com.coralblocks.coralfix.FixMessage; 
import com.coralblocks.coralreactor.client.Client; 
import com.coralblocks.coralreactor.nio.NioReactor; 
import com.coralblocks.coralreactor.util.Configuration; 
import com.coralblocks.coralreactor.util.MapConfiguration; 

public class SimpleFixApplicationServer extends FixApplicationServer { 

    public SimpleFixApplicationServer(NioReactor nio, int port, Configuration config) { 
     super(nio, port, config); 
    } 

    @Override 
    protected void handleFixApplicationMessage(Client client, FixMessage fixMsg, boolean possDupe) { 
     // do whatever you want to do with the application message received from this client... 
    } 

    public static void main(String[] args) { 

     NioReactor nio = NioReactor.create(); 

     MapConfiguration config = new MapConfiguration(); 

     // print all messages received and sent to STDOUT for debugging purposes 
     // (default is false) 
     config.add("debugMessages", "true"); 

     // accept as the client inbound sequence whatever 
     // sequence I receive in the first message coming from the client 
     // (default is false) 
     config.add("acceptInboundSeqFromClient", "false"); 

     Server server = new SimpleFixApplicationServer(nio, 45451, config); 

     server.open(); 
     nio.start(); 
    } 
} 

Une explication complète du code se trouve au-dessus here.

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

+0

merci de l'avoir posté. Cela ressemble à un serveur vraiment simple. Y a-t-il un exemple de client simple? J'ai un serveur qui envoie des prix, je veux juste me connecter et voir le flux de prix à travers. – deitch

Questions connexes