People are mixing two different uses of "Tick Database" in this thread. As I pointed out somewhere in this thread, databasing (persisting) the ticks to disk is trivial and is of no consequence (to me.) Where the real value is being able to extract intelligence from the data, and since this is a time domain, to be able to do it in such a way that makes sense in the markets. [Although I will add that it would be nice to be able to turn a time stream into a time-frequency domain stream and either do research on this stream or trade the time-frequency domain stream in realtime].Quote from amazingIndustry:
Interesting link, thanks for that. What are you running on? I am currently looking for a tick database versatile enough to feed Excel, C#.Net 4.0 applications, WPF charts, and the like. Any recommendations? For my backtesting architecture I coded up my own binary data store through which I manage to iterate over ticks at a rate of 6.5 million ticks per second. But I look for something that may be able to feed different applications through APIs, ODBC, and/or other interfaces in order to code up a scanning app in .Net. It may be in combination with a CEP engine because I look to calculate customized indexes and indicators on historical data and store alongside the tick data and also calculate such data in real-time on part historical data, part real-time. Any suggestions regarding suitable databases? Please exclude HDF5 because I target .Net and this database is the worst when it comes to supporting .Net. Someone wrote up a .Net compliant Api but it severely lacks in functionality.
Thanks.
So for me, the actual database to disk strategy I couldn't really care. For example, I am talking to the Xenomorph Timescape people (linked to above) where the actual database will be SQL Server, Oracle, HBase, or perhaps their proprietary format. Who cares? What I care about is that if I stop using Xenomorph Query Language software, I can still get at my data. That probably rules out their proprietary data store format. The real value these things add is the query language that sits on top of some database that allows you to ask questions of your data very simply, and then to be able to turn that question(s) into a trading system with little or no modification of your code whether it is from Excel or C# or whatever. So the code to do research and the code to turn that into a trading system should be almost identical.
TradeStation is probably one of the most seamless ways to do research and turn that research into a realtime system, but it is not an institutional grade product because you are stuck with EasyLanguage and all analytics have to be applied to a chart instead of a database. If TradeStation turned their EasyLanguage loose on a generic database [more accurately, generic stream] without having to have charts, it would be far more interesting. But even there, EasyLanguage is not semantically rich enough as these time base query languages that allow for far more complex mathematical analysis.
Vector or column databases and the (proprietary more often than not for market analytics) language to query them is why they are not commonplace.