集合竞价算法

对于集合竞价算法的疑惑:
按照网上的一些股票交易说明。
集合竞价关键是对两个列表,买单列表(价格从高到低,时间先后顺序)和卖单(价格从低到高,时间先后顺序)的撮合。
关键是确定成交价。
成交价的规则是:
(1)高于选取价格的所有买委托和低于选取价格的
所有卖委托能够全部成交。
(2)与选取价格相同的委托的一方必须全部成交。
如满足以上条件的价位仍有多个,则选取离昨市价最
近的价位。
按照书中所说,算法是:
依序逐笔将排在前面的买委托与卖委托配对成交,
直至成交条件不满足为止(即买价低于卖价),
同样允许部分成交,就是在满足以上情况加,可以部分买入和部分卖出。

以下是一个实例,我想问下用java实现这个算法,还有没有比以下这个实例更优、
更快的算法(列表筛选、计算成交、价代码组织,考虑到单子过多)。
举一个简单的例子,假设深长城在开盘前有 5 笔买入
委托和 6 笔卖出委托,根据价格优先,时间优先的原则,
这 5 笔买入委托价格按由高到低排列,原卖出委托价格由
低至高排列如下:
委买价(元)委托数量(股) 委卖价(元)委托数量(股)
19.81 300 19.56 600
19.78 700 19.61 200
19.68 500 19.64 300
19.60 800 19.68 700
19.55
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值