前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >价格波动带的价格计算规则

价格波动带的价格计算规则

作者头像
Antony
发布2020-12-02 10:31:54
发布2020-12-02 10:31:54
7.6K00
代码可运行
举报
运行总次数:0
代码可运行

准备开一个新的系列,介绍一下一些经典的测试场景,这是第一篇。

逛菜场

不知道读者有没有注意到,生活中的价格可能是不连续的,而处理的算法并不全是四舍五入,某些情况下大家会倾向于向下取整。例如到菜场买蔬菜水果时,摊主经常会主动给抹零。有时候买个西瓜碰到15块6毛8毛的尾数,不那么爽气的摊主,则会说,给15块5毛吧。

在金融行业里面,也有类似需要进行尾数处理的场景,用到的则是类似以上舍入舍出的场景。

价格不连续

首先和开头的案例类似,需要进行尾数处理的原因是因为价格不是一个连续的数字,一般都是有固定的精度,以及变动的步距。

例如某个金融期货的合约,有如下的表述,

代码语言:javascript
代码运行次数:0
运行
复制
  合约乘数:每点300元
  报价单位:指数点
   最小变动价位:0.2点

也就是说,当进行交易时,报价单位参考的是某个指数的点位,而报价是0.2(tick)的整数倍来进行变化的。也就是说,如果当前的指数点位是3500点,则最小的变动价格是3500.2或者是3499.8。

价格波动带(PriceBanding)

炒过股票的读者估计都知道涨跌停板的概念,为了能够控制交易日当天的风险而引入的一个价格控制的措施。例如上例中,如果以3500点为基准,10%作为涨跌停,那么价格范围就是3500(1+-10%)=3850 ~3150。 涨跌停板控制的还是一整天的价格风险。在交易过程中,为了能平滑价格波动幅度,控制瞬时的风险,市场上还存在着价格波动带的概念,可以理解成为实时的迷你涨跌停价格限制,也就是说当报单时,价格会被限制在一个比较小的范围内,超出这个价格范围的,会被系统拒绝的。如下图所示

image.png

说它迷你,是因为它的价格限定范围会比较窄,如规定,当价格在2000-5000点时的价格波动带1%。 也就是说,假设当前价格是3500点,则报单时可以被交易系统接受的价格的区间是 3535-3465。

那如果当前价格是3456.8的话,价格波动带的范围有是多少呢?

首先计算带价的单边宽度:

3456.8 *0.01=34.568

再计算上带价:

3456.8+34.568=3491.368

和下带价

3456.8-34.568=3422.232

考虑到价格的最小变动价位,对于计算出来的价格就需要进行处理了。

舍入、舍出算法:

在关于波动带和涨跌停板价格计算中的舍入算法,简单来说就是,当原始计算价格落在两个tick中间的话,最终价格取离基准价格更近的那个tick。

离开3491.368最近的有效价格点位是3491.2和3491.4。按照舍入算法,基准价格是3456.8,因此,此时的价格波动带上带价就是3491.4。

按照类似的算法来计算下带价,离开3422.232最近的有效价格点位是3422.2和3422.4。基准价格是3456.8,按照舍入算法,此时的价格波动带上带价就是3422.2。

结语

那么,如果采用舍出的算法,这个价格区间又是如何计算的呢?

本次只介绍了舍入舍出算法在价格计算中的应用。据说BigDecimal有8种舍入舍出算法,赶兴趣的读者可以自行了解一下。 关于价格波动带的更多业务规则,可以参考CME的官网

<u>https://www.cmegroup.com/confluence/display/EPICSANDBOX/GCC+Price+Banding</u>

感谢您读到这里,笔者会逐步更新更多基础的业务测试场景,毕竟只有了解了业务,才能设计出有价值的用例来。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试那些事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备开一个新的系列,介绍一下一些经典的测试场景,这是第一篇。
  • 逛菜场
  • 价格不连续
  • 价格波动带(PriceBanding)
  • 舍入、舍出算法:
  • 结语
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档