Page 1 of 1

Trading Software/Hardware

PostPosted: Fri May 02, 2014 9:24 am
by David McKee
I would like to start this thread on what sorts of trading software and hardware people use, and (of more interest to myself as a Software Engineer) what sorts of Open Source Platforms people have used to build their trading systems - rules engines, displays, etc.

As I am just getting into this area and learning all I can about both Trading markets (of which this forum is a plethora of great information) and the types of software out there to perform trading. I am also interested in the strategies people employ in trading - news event based (complex event systems), understanding of mass human behaviors in trading, and opinions of so-called "Technical Analysis".

I was not sure if this was the best place for this topic, or the software forum, so Doug, if you think it should be moved, please do so.

With that, I am currently looking a a few existing platforms (Eclipse Trader - as I am an avid used of the Eclipse/Spring STS development platforms and Java), Merchant of Venice, Open Java Trading System, and Drools Rule-engine. There are many others and I have a pretty neat list which I basically stole from several searches across a bunch of site (and I will post if anyone is interested).

As this is a forum of builders and do-ers, I am earnestly waiting for your experiences/advice etc.

Re: Trading Software/Hardware

PostPosted: Sun May 04, 2014 1:37 pm
by Doug Coulter
Well, I WAS using command center 2.0 from TD ameritrade, which had some pretty amazing features, on top of linux (and unfortunately, Java). Very quick feed, enough to at least see some of the HFT and front-running and stop-finding algos doing their thing, and got a license to their API (ugh, it's all XML).
I could easily watch bid/ask/volume on 250+ stocks/options at a time with that. With only about 15-30kb/second input from them.

But then they discontinued that one, don't let us use it anymore, and probably the API is gone too - and that's the key, the rest is simple by comparison. You gotta have data, for right now and a good chunk of the past before doing anything else makes any sense.

I sadly never got around to lashing up the whole thing, but a few fairly simple heuristics, combined with both linear and nonlinear prediction (neural networks) looked real promising.
But their other platforms, while complex and allowing you do set a lot of rules, won't even let you make a state machine...

Turns out, it's recently been revealed that nearly all the retail online trading outfits get paid to send their order flows through those self-same front-running HFT firms....this might be why TD stopped making such good data available all of a sudden - they're one of them that sells their order flow.

So, at least in my mind - I already know how to trade well enough to "teach" a computer to do at least the more-mundane parts - is that data stream. Find us a source we can afford! This would not include Bloomberg terminal...unless you have more to trade than I do (lots more).

I didn't have trouble with TD's order filling, but I very rarely used published stops - all in my head, so I was at least partly immune from stop-hunting algos, and didn't really care that much about a penny a share anyway - I was doing enough better than that on trades that it and the commisions were in the noise.

But damn, if you had trailing stops on while the flash crash happened, you were right and truly rogered in the bad place - you got sold at the bottom. Though having them "on file" nearer the exchange is quicker, that's not always what you want. Sometimes you'd rather have say, the median of the last 5 seconds anyway, to ignore the rogue or late-reported trades that are WAY off the normal price.

Re: Trading Software/Hardware

PostPosted: Mon May 05, 2014 11:47 am
by David McKee
So Doug, I guess your not a big Java and XML fan :lol:

Those are my bread and butter where I work (IT at ACN developing all the back office apps, everything is SOA, SOAP, Struts, JSP's XML all over the place, etc. Java everything.)

So I figured I would leverage the tools I got... but now what you said about the data feeds makes me wonder. I remember not to long ago TDA advertising all of their great data streams and tools - and now they are selling it all through HFTs. That sucks.

My idea here had been to take news feeds and sort of "normalize" news events on a quadrant labeled "Fear Driven", "Greed Driven", "Prudence", and "Opportunity". The idea was to watch the behavior of investors as a group based on those quadrants and get a idea of how the news of the day drives trading behavior for certain groups of investors. Then do standard back testing, and forward paper trades and see if the correlation works. Kinda moot if there is no data streams, although I guess the idea can still be tested historically using delayed data streams like google and others make available.

Well, as usual Doug, you are a great wealth of useful information - Thanks!


Re: Trading Software/Hardware

PostPosted: Wed May 07, 2014 12:49 pm
by Doug Coulter
Yeah, i'm pretty old-skool as a programmer. ASM, C, C++, and now perl, since it does what I mean with the least work (for me). I'd have used that to suck up the data stream and parse the XML, since there's a perl module (actually, a few) on CPAN that do that.

The issue is finding a realtime stream that can be afforded. Interesting the timing in the TD stopping theirs - just before the book revealing the HFT junk came out (we real traders all knew anyway, but we're not the world). I've been watching the Nanex stuff on ZH for a long time - it's pretty crazy at the "fantasecond" speeds. Trades sometimes get timestamped before the bid and ask...

Now, I don't need that - and in fact you can exploit it sometimes - a little flash crash can get you a buy at a real good price, and recover in seconds - and you sell perhaps the next day (so don't get day-trader flags that cut down your other privileges).

But if it was huge, like the flash-crash everyone knows about, and either Goldman or JP Morgan lost money - they reverse all the trades, and you lose. So you never set a limit order over X% below the market, so if you get it, the trade won't be "busted". Never set a trailing stop - it's red meat to those guys, they see it, jam the price down at an il-liquid moment, buy your stuff cheap before things recover, you lose. EG the other side of that same trade.

I think a fairly (well, conceptually anyway) simple combo of a couple heuristics with linear and nonlinear (neural net) prediction will do just fine and beat the market like a red headed stepchild nearly all the time. You are after all, now trading against some really stupid programmers, and their human owners (which is why "it's not different this time" - humans will still pull the plug on the machines if things look wrong). Look, it was only about 16 months ago these super-slick college grads who couldn't get a real job in their field learned how to program a stairstep function.

I on the other hand, literally wrote the book on digital signal processing. I go up against them, it's their ass that's grass, end of story. The reality is that when you have several of these guys messing around - their own algo's aren't actually stable in the Bode plot sense, but when you have 5-10 things with gain and time delays hooked together - eg, the markets - you get an oscillator unless they are all far more clever than they actually are. So, not that difficult to time, perhaps.

But again, you need the real time feed, and you need that and history for at least 100 or so stocks worth trading....and at a price that doesn't eat all your profits if you don't have zillions to trade with. Anybody who finds that for sale at a reasonable price is automatically my hero.