当前情况
有一张 OHLCV 表,日度的,也就是每个交易日都有一条记录。格式如下:
id, trade_date, stock_code, open, high, low, close, volume
其中 id 主键,自增。 通过 trade_date 和 stock_code 可以唯一确定一行。
目前觉得不合理的地方:
1. id 目前没有用处,目前查询都是通过查询一段时间范围内, 一些股票的数据。
2. 重复过多,每天大约有 2000+个股票数据, 这样 trade_date 就要重复 2000+次。
3. 和其他表合并不方便。目前合并的时候,都是通过 trade_date 和 stock_code 来判断唯一性。
这两个字段都要在其他表中存储。
有一些基本面的数据,是季度的
date , stock_code, f1, f2, f3, .....
date 只有四种可能: XXXX-03-31, XXXX-06-30, XXXX-09-30, XXXX-12-31. (但是这些日期不一定是 trade_date.)
分别表示第 1,2,3,4 季度数据。由于数据发布的滞后性, 我需要对于日度数据:
1 、 2 、 3 月底采用上一年 Q3 的数据;
4 、 5 、 6 、 7 月底用本年 Q1 的数据;
8 、 9 月底用本年 Q2 的数据;
10 、 11 、 12 用本年 Q3 的数据。
还有一些表, 也是日度数据, 有 id, trade_date, stock_code, col1, col2, col3 , ......
同样的 id 自增;主键。
同样是 trade_date, stock_code 唯一的确定一行数据。
这张表和 OHLCV 合并时,就是靠 trade_date, stock_code 来和 OHLCV 的相应的行来对应。
我觉得应该有更好的方法。
先行谢过了。