27

我已经实现了自己的 FIX 客户端,例如 QuickFIX。现在我需要测试它。我可以在某处使用假的 FIX 交易所吗?有没有人实现过我可以用来验证我的客户端的 FIX 服务器?是否有一个真正的交换,我可以使用他们的测试连接来测试和验证我的修复客户端?

在这里的任何帮助将不胜感激!

4

5 回答 5

15

你试过FIXimulator吗?http://code.google.com/p/fiximulator/它不能完全用作交换,但您可以建立会话、接收订单并执行(也可以自动执行)它们。一探究竟。

于 2012-07-11T14:46:50.317 回答
5

Mini-FIX可用于基于 GUI

QuickFix 示例应用程序“executor”和“ordermatch”应该会有所帮助。代码很简单,您甚至可以对其进行增强以满足您对交换功能的需求。这些解决方案的好处是支持不同版本的 FIX,认为 FIX 4.2 是最广泛接受的。

于 2012-07-13T06:14:04.067 回答
2

几年前,我找不到一个不用签合同的测试平台,而且需要支付大量的许可费用,所以我创建了一个。很抱歉这里的无耻插件,但我最终把它变成了一个免费试用的产品/服务产品,托管在www.fixsim.com上。QuickFIX 附带的 Banzai 是一个很好的免费开始,但如果您需要不同的资产类别、取消/更正、分配或其他消息类型,您必须构建或购买。

于 2014-06-09T14:06:13.620 回答
2

CoralFIX带有一个现成的服务器实现,您可以启动并开始接受来自您的 FIX 客户端的连接。它将处理所有 FIX 会话级别的详细信息,例如登录、心跳、序列重置、重新发送请求等。要为您的测试实现一个简单的服务器,您所要做的就是:

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();
    }
}

上面代码的完整解释可以在这里找到。

免责声明:我是 CoralFIX 的开发者之一。

于 2014-07-10T22:55:37.917 回答
2

检查 quickFIX 发行版。在这里:http ://www.quickfixengine.org/quickfix/doc/html/examples.html你可以找到“执行者”。

是一个示例服务器,它简单地填写它收到的每个限价单。

您还可以找到“ ordermatch ”,这是一个将匹配和执行限价订单的 C++ 服务器。

于 2012-07-11T16:15:08.933 回答