什么是股市数据的良好关系数据库设计?

时间:2011-05-20 12:27:41

标签: database quantitative-finance

假设有两种类型的消息,QUOTE和TRADE。两者都有不同的领域。例如,TRADE只有一个价格。 QUOTE既有买入价也有卖出价。我希望按时间顺序处理消息,以执行以下操作:

if (QUOTE) {
...
}
if (TRADE) {
...
}

我的问题是两条消息的格式不同,所以我无法将它们放到同一个数据库表中。如果我无法将它们放入同一个数据库表中,我该如何按顺序处理?任何合适设计的想法?

3 个答案:

答案 0 :(得分:1)

答案完全取决于您正在做什么以及您的应用程序插入数据流的位置。

在某种程度上,您可能只是在回答您从API中提取的客户报价,并基本上实现了缓存。在这种情况下,两个表都没问题。

在另一个极端,您可能正在监控高频交易平台的实时报价,在这种情况下,吞吐量可能会排除使用数据库(围绕lisp构建的东西,例如allegrograph,可能更多)适当的),但定期收集汇总统计数据除外。

答案 1 :(得分:0)

简短的回答是,“不是真的”对于股票市场和其他时间序列数据,像Berkley DB或Mongo这样的关键价值商店非常好。此外,像NetCDF(http://en.wikipedia.org/wiki/NetCDF)这样的数据格式从长远来看可能会更好地为您服务。它还取决于您想要的访问类型以及您希望存储的时间。

您没有说明您对数据做了什么,这应该告诉您对存储的选择比什么都重要。例如,高速交易应用程序将具有与历史批处理系统(其中Hadoop + NetCDF将很棒)不同的存储权衡。 YMMV

答案 2 :(得分:0)

<强> KDB + / Q

是刻度数据的一个非常好的选择。主要银行使用。

here是关于此的信息。

您可以安装跟踪版本并使用它。

相关问题