自学内容网 自学内容网

基金/证券项目如何进行非交易日数据补全(实战)

一些大数据开发的项目,特别是基金/证券公司的项目,都经常会涉及到交易日与非交易日的概念。

如果要让你对一张交易日跑批的主表,怎么去补全非交易日的数据呢?

在遇到这种情况的时候,我们要去怎么处理?来,实战一下。

1,理财产品报价历史表(交易日有数据)

有一张理财产品报价历史(dt分区)表:db_edw.prd_fm_quot_his

字段如下:

prd_cd         --(产品代码)

fm_prd_ta_cd   --(产品TA代码)

nvlu          --(产品净值)

fm_prd_type_cd --(产品类型代码)

dt             --(时间分区)

这张表因为是在交易日跑数,所以在非交易日,是不存在数据的。

那么怎么让这张表在每一个自然日有数据呢??这个是我们要做的。

2,时间维表(自然日)

一般都会有一张时间维度的表:db_cdm.dim_date (时间维表),记录每一天的信息,比如yyyymmdd,是不是交易日,是周几,是今年的第几天,是今年的第几周,是当月的第几天,是当月的第几周,上一个交易日,下一个交易日,等等。

有一张时间维度的表:db_cdm.dim_date (时间维表)

有如下重要字段:

date_id        --自然日(年月日)

trd_day_flag    --交易日标志(1为交易日,0为非交易日)

last_trd_date_id  --上一个交易日

dt     --时间分区

3,处理为:理财产品报价历史表(自然日有数据)

处理规则:当然是让理财产品报价历史表,在非交易日那几天,按照上一个交易日的数据信息来使用。

代码如下:

注释:'${v_start_date}', '${v_end_date}' 是时间参数

理财产品报价历史表的dt(交易日),和时间维表(处理之后)的trd_date(交易日),关联会数据发散为所有自然日。

=====================================

知识点不难,但以后肯定能用上。欢迎一键三连。


原文地址:https://blog.csdn.net/wowulita123/article/details/139186175

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!