* An order-book builder (which takes quote data and builds it into a data structure suitable for doing research). As I remember, it was one call to 'scan' with a very complicated scanning function.
* An event analysis tool, to let you ask questions like "what's the average response of this asset when event X happens". Used for anything from testing your trading strategies (how does this asset perform when I put a trade on) to news impact (how does this asset react around US employment data).
* Lots and lots of plotting functions. Q actually has some really nice in-built visualization tools (as long as you only want to visualize time series...)
And a bunch of other stuff I've now forgotten about. It's a fun language. I miss it a bit now I do all my work in Matlab.
I know that many finance firms use KDB+ and Q to manage stock tick data - this is where I first saw KDB+ in action, oddly enough I was pulling some non-tick data from a KDB+ system for a data warehouse project.
I think that J is one of those languages that would really shine in allowing a hacker with a large amount of domain specific knowledge to do wonderful work with small amounts of code. So, if you are a stats hacker interested in applied modeling, maybe you could use J to very concisely build your models. Probably bioinformatics would work as well, I can see how fastq data would be easier to deal with if you just chunked it into a KDB+ backend.
There are lots of folks on HN who seem interested in J or KDB+ (see the Kona open source project) who might have better answers than this . . .
Does anyone on the board use J / K daily? What for?