Do any of you know of any open source utilities or conversion utilities that take a stream of time-stamped ticks and convert it to OHLC data for arbitrarily wide time intervals? I'm about to roll my own and do it cleanly, but then it would be nice if I could do it in such a format that I could go render it as a candle chart or something. ... But this brings me to my second point, ... Are there libraries out there that will let me specify arbitrary time intervals (even down to sub-ms) on a stream of ticks so I can do data visualizations better?
Are there any language/platform constraints? I don't know of anything ready to work out of the box standalone for this purpose. Creating a tick compressor/bar factory using an ESP engine like Esper/Nesper (http://esper.codehaus.org) is fairly straight forward though. In come ticks, out come OHLC bars. There are dozens of open source projects which have a tick compressor/bar factory component that you could probably rip out e.g. TradeLink (.NET)(http://code.google.com/p/tradelink/), ActiveQuant (Java)(http://www.activestocks.de) There's a bunch of ways to optimize how it's done depending on the use case and non-functional requirements e.g. low RAM usage, high throughput, optimal CPU load etc. Ironically perhaps, the tick compressor seems to be the only part of "TickZoom" that isn't open source. I guess Wayne thinks he's built a better mousetrap there. Once you've outputted your OHLC bars it should be trivial to convert it to a format that can easily be consumed by a time series aware charting component - or simply output the bars optimized for the charting component you're going to be using. Good luck. BMe.
You didn't mention what language you are using. If its a .NET language, for graphing you could have a look this: http://weblogs.asp.net/scottgu/arch...l-lt-asp-chart-runat-quot-server-quot-gt.aspx Microsoft bought it out from Dundas, and it will be part of the .net 4.0 framework. I'm experimenting with this at the moment, its fairly good and easy to use so far.
I hate Dundas. I actually use it and paid for their package... And now we see MS giving it out for free. Solid WinForm stuff. Though, it's a bit sketchy with MS trying to push WPF... Anyways... a bit off topic soweee
Not sure what you really are looking for but ZedGraph is a pretty decent graph library for .NET/C#. Since it is open source you can tweak it as you want. Unfortunately the project is not actively developed any more but I would still recommend it. http://zedgraph.org/wiki/index.php?title=Main_Page EDIT: I played around with Dundas some time ago and while I gave up on it rather fast, my experience was that ZedGraph actually handled large data sizes better (which was what I needed).
JFreeChart http://www.jfree.org should be up to the job for the charting. The rest really doesn't seem too difficult unless there are some high performance requirements. Is this stuff supposed to run in "real time" ?
I use Python and R for data analysis. I was hoping someone out there had written something for Python, but there doesn't appear to be much. If that Dundas object can be used with COM or something, then maybe I can write a Python script to bind to those objects and render some things for me. Any other suggestions out there?
lolatency, Latency is critical. Nothing will be faster than coding your own using the native graphics package such as gdi via c++ or java draw.
I don't care about latency of drawing in data analysis. I just care about attractive presentation. If it takes 50ms or even 500ms to draw a picture, I do not care. My trading applications don't have a GUI. They are just command line applications that only spew information depending on some command-line specified verbosity level.
if you like command line utilities, try gnuplot. converting from ticks to ohlc data is a trivial exercise.