Thank you so much for your helpful answers, nbates!
Is there some book that I can read on the 'cached, state aware' techniques?
I finally found this link, they hide it pretty well:
http://www.progress.com/realtime/products/event_engine/index.ssp
see what you think of their 'distributed in-memory caching', is that really a new software architecture? Is that something that I can build with the way I structure my database and query? Is that their kind of architecture can save you all the time in networking and therefore have a big time margin so that you don't necessarily need to hand-tune your algo?
I heard that their platform is written in Java, is there any reason that Java could be better for this kind of tasks, or just that it is simpler for people to use?
So can you make your algo fast enough to automatically respond to all these situations, with computations?
So that takes care of the risk management part. So what you are saying is that if the risk management part is simplified then the algo for positions tracking is easy.
Got that, I finally got that advice that everyone is telling me here.
That is interesting. I never quite understand why the preference for C++, because people like its class hierarchies or some other reason? So maybe I can write my GUI part in .Net and have my trading algo to call on that module, or call it through Octave? Would you use something like Octave in your trading algo?
It seems that everybody uses Solaris or Linux, because Windows insecure or unstable? Anybody care to comment on operating systems for algo trading?
Thanks a lot.
Quote from nbates:
Q. How do you deal with the "hard real-time" computing issues in your trading algo?
A. Multi-threading with an optimal balance between processing logic, shared memory and networking. You should hand-tune Algo's and use real-time 'cached, state aware' techniques.
Is there some book that I can read on the 'cached, state aware' techniques?
I finally found this link, they hide it pretty well:
http://www.progress.com/realtime/products/event_engine/index.ssp
see what you think of their 'distributed in-memory caching', is that really a new software architecture? Is that something that I can build with the way I structure my database and query? Is that their kind of architecture can save you all the time in networking and therefore have a big time margin so that you don't necessarily need to hand-tune your algo?
I heard that their platform is written in Java, is there any reason that Java could be better for this kind of tasks, or just that it is simpler for people to use?
Q. If you can't really predict the possibility of fill and have to change your orders on the fly.
A. Execution is an art in itself. Things like "sweet-spot" discovery for the Bid and Offer, complex-conditional-secondary execution triggers (e.g. on canceled, on filled, on quote change, on time interval w/o completion, etc) and the ability to modify order behavior dynamically and change routing on the fly are a must (imho).
So can you make your algo fast enough to automatically respond to all these situations, with computations?
Q. What about writing algo to track positions and risk management?
A. Waste of time, just use trailing stop orders with modify on the fly 'stop trigger' behaviors.
So that takes care of the risk management part. So what you are saying is that if the risk management part is simplified then the algo for positions tracking is easy.
Q. Order management and risk management software for free, would it be feasible to integrate?
A. Avoid 3rd party 'bits' as much as possible and only integrate when there's an absolute requirement that you can't meet and the benefits are crystal clear.
Got that, I finally got that advice that everyone is telling me here.
Q. Is Java just as good, or better language, for trading algo, since I am starting fresh without any legacy concerns?
A. Most prefer C++, but don't make it too complicated (think 'C'), some like Python and .Net is good for GUI only.
-jmho
That is interesting. I never quite understand why the preference for C++, because people like its class hierarchies or some other reason? So maybe I can write my GUI part in .Net and have my trading algo to call on that module, or call it through Octave? Would you use something like Octave in your trading algo?
It seems that everybody uses Solaris or Linux, because Windows insecure or unstable? Anybody care to comment on operating systems for algo trading?
Thanks a lot.

