股票,期货和期权是金融市场中最常见的资产类别。是否把这些不同资产的行情数据存储在DolphinDB database中同一个数据库,甚至同一个表?这是量化金融数据库设计经常碰到的问题。
建议设计不同的数据库来存储不同资产的数据。首先,时间维度上,单位时间内不同资产的数据量差别可能很大。其次,产品标识这个维度上,不同资产的产品数量差别挺大,很难用同一种方法进行分区。
不同资产采用不同数据库的一个潜在问题是如何实现不同资产数据之间的快速join。譬如我们在处理股票期权数据时,可能需要找到对应的股票的价格。这个问题在实践中通常可以先查询某一部分股票在某个时间范围内的行情数据,并存储于内存表;然后再将内存表跟期权价格的事实表进行关联。