记一次开发中踩坑经历

序语

最近在开发一个股票项目中美股的盘前盘后榜模块,遇到了一个坑,因此在此记录一下。

美股的股市是有四个阶段的,分别是盘前——盘中——盘后——收盘。而我做的功能则是负责展示股票盘前与盘后的一些数据。其中有两个字段:盘前涨跌额、盘后涨跌额。这两个字段的计算逻辑着实把我绕晕了。

详细过程

盘前涨跌额 = 盘前价 - 收盘价
盘后涨跌额 = 盘后价 - 收盘价

看起来很简单的一个公式,却让我踩了不少坑。主要有以下几条原因:

  • 在新一天的数据未产生之前,展示的是昨天的数据。产生之后,展示最新的数据。
  • 展示昨天数据的时候,昨收其实是指的是前天的收盘价。
  • 盘前与盘后计算公式中的收盘价,并不是同一个收盘价。

由于股票行业我以前没怎么接触,因此为了搞清这其中的奥秘,着实花了不少功夫,通过整理了一份文档,才摸清。

dynamicStatics:动态数据。
dynamic:动态行情。
preOrderDynamic:盘前数据。
postOrderDynamic:盘后数据。

每一种数据结构中都有字段为tradingDay,后文称作交易日。

昨收   = dynamicStastics.preClosePrice = 动态数据的昨收。
最新价 = dynamic.lastPrice           = 动态行情的最新价。
盘前价 = preOrderDynamic.lastPrice     = 盘前数据的最新价。
盘后价 = postOrderDynamic.lastPrice    = 盘后数据的最新价。

美东3.26日,0:00~4:00,早间收盘。盘前涨跌额=3.25盘前价-3.24收盘价。盘后涨跌额=3.25盘后价-3.25收盘价。
此时:四种数据的交易日都为3.25日。
3.24的收盘价=动态数据的preClosePrice。3.25的收盘价为动态行情的lastPrice。

盘前涨跌额:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamic.lastPrice

美东3.26日,4:00~9:30,盘前。盘前涨跌额=3.26盘前价-3.25收盘价。盘后涨跌额=3.25盘后价-3.25收盘价。
此时:盘前数据的交易日为3.26日,其余为3.25日。
3.25的收盘价为动态行情的lastPrice。

盘前涨跌额:preOrderDynamic.lastPrice - dynamic.lastPrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamic.lastPrice

美东3.26日,9:30~16:00,盘中。盘前涨跌额=3.26盘前价-3.25收盘价。盘后涨跌额=3.25盘后价-3.25收盘价。
此时:盘后数据为3.25日,其余为3.26日。
3.25的收盘价=动态数据的preClosePrice。

盘前涨跌额:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamicStastics.preClosePrice

美东3.26日,16:00~20:00,盘后。盘前涨跌额=3.26盘前价-3.25收盘价。盘后涨跌额=3.26盘后价-3.26收盘价。
此时:四种数据的交易日都为3。26日
3.25的收盘价=动态数据的preClosePrice。3.26的收盘价为动态行情的lastPrice。

盘前涨跌额:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamic.lastPrice

美东3.26日,20:00~24:00,晚间收盘。盘前涨跌额=3.26盘前价-3.25收盘价。盘后涨跌额=3.26盘后价-3.26收盘价。
此时:四种数据的交易日都为3。26日
3.25的收盘价=动态数据的preClosePrice。3.26的收盘价为动态行情的lastPrice。
盘前涨跌额:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamic.lastPrice

美东3.27日,0:00~4:00,早间收盘。盘前涨跌额=3.26盘前价-3.25收盘价。盘后涨跌额=3.26盘后价-3.26收盘价。
此时:四种数据的交易日都为3.26日。
3.25的收盘价=动态数据的preClosePrice。3.26的收盘价为动态行情的lastPrice。
盘前涨跌额:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice
盘后涨跌额:postOrderDynamic.lastPrice - dynamic.lastPrice

将以上结果整合一下,
盘前涨跌额有两种情况。1⃣️盘前,2⃣️非盘前。
1⃣️:preOrderDynamic.lastPrice - dynamic.lastPrice
2⃣️:preOrderDynamic.lastPrice - dynamicStastics.preClosePrice

盘后涨跌额有两种情况。1⃣️盘中,2⃣️非盘中。
1⃣️:postOrderDynamic.lastPrice - dynamicStastics.preClosePrice
2⃣️:postOrderDynamic.lastPrice - dynamic.lastPrice

总结

归纳法虽然比较繁琐,但是扎实。经过这次经历,我意识到了实现一个需求之前,必须对其中的数据进行完整的分析。股票行业的数据十分敏感且复杂,不再是像其他项目,对数据不需要做过多的处理。因此将自己的感悟和过程在这里记录一笔,以便时时警醒自己。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 开放式基金、除息、盘整……这些金融名词,是不是有一些你感觉明明知道,但就是说不出来它的准确含义呢?快看看金融名词解...
    考研的那些事儿阅读 1,114评论 0 5
  • 龙虎榜,即根据换手率、振幅、涨跌幅等数据标准而选取有异常状况的股票,并公布其买卖交易的前五大状况。而通过一些固定上...
    生活忙碌的猪阅读 2,074评论 0 4
  • 相信每位新手爸妈对刚刚出生的孩子都会显得手足无措,我们也是,就连抱孩子的方法我们还是在他出生第一天百度的。所...
    花生米小记阅读 270评论 0 0
  • 一: 人会有自己如何也无法理解的事。 人们会评价很多小事,很多大事,人们组织语言来表达自己的思考。 虽然有些思考不...
    白杂阅读 190评论 1 2
  • 春色 文/诗酒年华 攒了一个冬天的积雪 从风中摇动的枝头上跌落 春天急忙鼓起芽苞 占据了每一段枝节 当第一缕春光来...
    诗酒年华邢阅读 811评论 2 15