How to build an automated system

and its brokerless ;-)


Quote from NetTecture:

It is a message bus / pping system. The idea core being that you can not do everything in one process / machine, so passing messages between a communication / dispather system (that talks upstream to the exchange) and machines running the processing loops (possibly 1 core per algo, hot - i.e. in a spinning loop) is needed, and that must be FAST.

ZeroMQ - MQ standing for Message Queue - is a middleware for passing messages.
 
Quote from NetTecture:

The whole queue. Your dispather would get messages from data feed / exhcnage, and put hem into MQ.

What MQ does is abstract the whole comunication - between languages, between machines. A lot of handcoding, when to be done properly. On your one machine system that gives little, try handcoding a robust messge bus for 30 machines.

Okay, I see...thank you. I have no idea what I'm talking about of course, but for my purposes I can't see ZeroMQ outperforming my dispatcher/queues/threads all run using basic Java classes. That said, I have been wanting to switch data feeds and a problem that I've run into is that some new feeds I've considered don't have an API in the same language as my broker's. From what you're saying, sounds like this could solve that issue and open up some possibilities.
 
I am sorry but I am not prepared to share that code as I use the wrapper in my own algorithmic trading framework. I did not claim I do not sacrifice latency for throughput.

For one, I already sacrifice throughput by passing over Windows tcp sockets. My framework is based on .Net 4.5 managed code. Most of the internal workings of the framework are coded up in C#. So, yes I definitely do not try to pull the last bit of performance boost out of the hat which is apparent by the choice of tools, thus I would never claim I trade ultra high frequency. But anyone who claims , for example, that C++ array arithmetic is faster than what I can pump out in C# I am willing to challenge. But yes, there are parts where linux and/or C/C++ frameworks shine, and I do have components coded up in C++ that concern themselves with specific APIs and connectivity to third party applications.

Re latency, ZeroMQ by definition cannot be as fast as Disruptor, for example, simply because in-memory is always gonna be faster than over a network stack. But then I am not participating in the microsecond game either.

Quote from hft_boy:

Okay, I got confused. Obviously shared memory doesn't work between different computers because it's impossible. I meant that when they are on the same machine they are not that different; eventually there is going to be some shared memory somewhere whether it's in the kernel or in userland. In the Linux kernel they use these sk_buff things which are the shared memory.

Also I'm interested in the code backing this benchmark of yours; do you want to share the code here or send via PM? I just can't believe you're not sacrificing latency for throughput; on my machine going through the networking stack is about 10 microseconds as measured by half of round trip ping time.
 
it would replace your multi-threaded approach because you would run the OMS, execution platform, strategy engine, data feed each in its own application. By the way you most likely only have 8 threads (given your CPU uses hyperthreading) at your disposal. This you are hopefully aware that in your example some presses will not be truly running concurrently but that the Task Scheduler / Thread Pool will manage the timings of each thread/process and perform some of them synchronously .

ZeroMQ facilitates the communication between segregated applications. Its a point-to-point message ware in contrast to what RabbitMQ or Tibco have to offer.

Quote from vincegata:

Throughput is measured in MB/s that's why I did not get you, that is 16 million messages by 16 bytes per second equals 256MB/s.

Do you know your latency?
 
Quote from hftvol:

Lol, let me CITE your posts that you claim were "generous", valuable advise in this thread:

No need to respond to this guy, it's just what he's looking for.
 
My advice is plenty valuable. Read every word and try to get the big picture. If not, see you in a couple of years and you'll be in the same spot you are today.

Quote from hft_boy:

Stop trolling. Your advice is not valuable; from what I've seen you post things with no content whatsoever. Although it does sound like you have a chip on your shoulder.
 
This is my last bit of charity to you, I'll break it down for ya:

#1 don't waste the next years of your life chasing a pipe dream, have realistic expectations

#2 put your ego in check i don't care what you know show the money and stop trying to sound so damn smart

#3 you need help, stop blowing your time/money away, get a clue

Quote from hftvol:

Lol, let me CITE your posts that you claim were "generous", valuable advise in this thread:

(1)
02-07-13 07:36 PM
welcome to reality, where things are complex.

(2)
02-07-13 07:38 PM
o rly? stop firing off buzzwords like its an exam. boost has been around for over 5 years now. fail.

(3)
02-05-13 09:21 PM
was entertaining listening to the ramblings of a crazy man

This is all you had to contribute in this thread. Moron!!!
 
Confusion has been resolved. You just admit that you are not HFT, please stop pretending that you have any authority on the subject. You should change your name to lftvol

Quote from hftvol:

I am sorry but I am not prepared to share that code as I use the wrapper in my own algorithmic trading framework. I did not claim I do not sacrifice latency for throughput.

But then I am not participating in the microsecond game either.
 
Back
Top