Tag Info

Hot answers tagged

14

In order to answer your question (for you) you would need something to compare to. You would need numbers to know if it is slower/faster, how much, and if it will impact your system overall. Also knowing your performance goals could narrow down the options. My advice is to take a look at your overall architecture of the sytem you have or intend to build. To ...


12

I work in a big hedge fund and our DMA is entirely based on quickfixj with hundreds of trades a day and thousands of fills. Quickfixj sits at the end of the OMS connecting to various counterparties and is in use since 2009, I think. Number of orders vary, possibly 150-450 a day, obviously with a lot more fills coming back than that number. Latency from an ...


9

How fast do you need? Have you measured round-trip times from the exchange and determined that you need a better solution? I wouldn't call QuickFix quick; it has a lot of unnecessary overhead (temporary objects, temporary strings, nested functions, etc). But I've used it in projects before without too much trouble. It is definitely possible to make a much ...


5

Repeating groups are a way for FIX to represent arrays. A "number of" field prepends the repeating group to alert the recipient how many elements to expect. For example, Arca uses TradingSessionID (tag 336) to identify pre-open (P1), primary (P2), and post-close (P3) market hours. This group is prepended by NoTradingSessions (tag 386). So, I would use the ...


5

Forget about BOVESPA nobody in Brazil is really doing anything that relies on speed and stability. I can say that from my personal experience. I would say that depending on your demands QuickFIX can be as good as FIX.


5

Quickfix derivative with a large number of optimizations, much faster than the current release, especially for short messages. Includes sample application that measures latency over the loopback interface. https://github.com/akorobka/quickfix/tree/quickerfix Summary of the improvements There are several things that have an adverse impact on the ...


4

I have not tested QuickFIX performance but I thought I'd share performance numbers from two open source FIX engines I have written. Libtrading, a FIX engine written in C, has 16 μs round-trip time for NewOrderSingle-ExecutionReport ping-pong test. The test is being run on a 2-way 2.7GHz Sandy Bridge i7 CPU running Fedora 19 with Linux 3.11.6 with both ...


4

It's not exactly QuickFIX but look at libtrading. Maybe you can tailor it to your needs. From the README: libtrading is a library for electronic trading. Its purpose is to support market data and order entry network protocols used by trading venues across the world.


3

The canonical QuickFIX is very C++. It has classes for the message types and uses factory patterns for a lot of the auxiliary components. It requires users to override virtual functions to define the communication callbacks. It even uses exceptions to signal certain desired state changes, whether there is an error or not. Most other language bindings for ...


3

SWIFT is actually not a standard per se; rather, it's an organization that operates a proprietary exchange network that utilizes a set of ISO messaging standards. FIX is a non-proprietary set of messaging standards with no underlying network specified. There is certainly overlap between the two, and there has been work to co-align these standards. I would ...


3

Bovespa is starting to release the new trade platform; take a look for yourself. The BM&FBOVESPA PUMA Trading System will incorporate all of the functionalities that currently exist in the BM&FBOVESPA trading systems. Its trading speed will be less than a millisecond. In addition, the new platform will allow trading on the following markets: ...


3

Compared to commercial offerings, Quickfix isn't that bad - considering you can pay $10000's for the very best ULL engines. I have conducted side by side testing of Quickfix and Fix8 measuring encode/decode latency for NewOrderSingle(D) messages, see here.


3

We use internally optimized version of Quickfix. It gives us ~30 microsecond latency. Commercial products, like Onix or RapidAdvantage FIX will give you twice less.


2

Most of the answers here are pretty correct. However, when talking about performance we use to forget the foundation of all this: The programmin language and platform. I will summarize it like this: Need high-performance? Go for C (C++ in this case, since there is no pure C version of QuickFix). Choosing QuickFixJ, QuickFix .NET or any other implementation ...


1

This is a really confused question and the OP clearly doesn't work in this industry. Any connection to an exchange requires using the format the exchange has chosen. I.e., you don't get a choice. That said, I don't know of a single exchange that allows order entry via SBE. CME Group will use SBE for their new market-data feed (replacing FAST compression), ...


1

An open-source reference implementation is available: https://github.com/real-logic/simple-binary-encoding It is a Java program that will translate the XML-based data dictionary into Java, C++, and C# bindings.


1

No, it doesn't have to do with time frames. It's a protocol feature designed to enable something akin to nested data, whether for more compact data transmission, or just to allow one to adhere to rules of semantic sense. Take market data requests, for example, i.e. retrieving the current market depth for a certain instrument. Not only would sending one ...


1

A pre-certified FIX engine won't spare you from doing the certification process yourself. This is a requirement for all serious exchanges. Moreover, CME is a good exchange with tons of features and many different order types from which you will probably just need a small subset. There is no such thing as a plug-and-play FIX engine. You will have to do some ...


1

The main problem with most Java FIX engines, commercial and open-source, is that they create a lot of garbage just by parsing bytes into a FixMessage object. And that's not counting the amount of garbage the network I/O layer is creating itself. Garbage leads to latency and variance due to GC overhead, as you probably know. Whether you need a low-latency ...


1

Taking the information given in your question and subsequent follow up, I believe the following is the issue at hand: The heart beats you send out are good practice but are irrelevant in regards to your specific problem. It looks like your brokers sends out periodic "heart beats" (= test requests) on its own and if your application does not respond then it ...


1

FIX is frequently used for order entry traffic (new order, amend order, cancel order) and occasionally used for delivering market data when latency and performance are not critical. (FIX/FAST is quite different, that is an encoding that CME and others use to compress price feed information.) If you are entering orders (either to a broker or directly to ...


1

I ran the performance test code included in QuickFix C++ and got the results below. As far as I can tell, this looks excellent. And I am running a commodity home desktop not a high-end trading server used by big shops. The build was done with VS 2012 at full optimization. G:\projects\quickfix\test\release\pt>pt.exe -p 15000 -c 1000000 Converting integers ...



Only top voted, non community-wiki answers of a minimum length are eligible