如何测试我的FIX客户端?我可以使用假的FIX交换吗?

时间:2012-07-11 14:41:51

标签: java c++ quickfix fix-protocol algorithmic-trading

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

非常感谢任何帮助!

5 个答案:

答案 0 :(得分:10)

你试过FIXimulator吗? http://code.google.com/p/fiximulator/它不能完全作为交换工作,但您可以建立会话,接收订单并执行(尽可能自动执行)它们。看看吧。

答案 1 :(得分:3)

Mini-FIX可用于基于GUI的

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

答案 2 :(得分:2)

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

是一个样本服务器,它只是填写它收到的每个限制订单。

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

答案 3 :(得分: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();
    }
}

可以找到上面代码的完整说明here

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

答案 4 :(得分:1)

几年前,我无法找到一个测试平台,我没有必要签订一份大额许可费用的合同,所以我创建了一个。很抱歉这里有无耻的插件,但我最终将它转变为www.fixsim.com托管的产品/服务产品,并提供免费试用。 QuickFIX附带的Banzai是一个很好的免费开始,但如果您需要不同的资产类别,取消/更正,分配或其他消息类型,您必须建立或购买。