mysql 股票 引擎_请教一下股票相关数据的数据库设计。

当前情况

有一张 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 的相应的行来对应。

我觉得应该有更好的方法。

先行谢过了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值