UVA 1598 Exchange

这道题目难在阅读,翻译如下(第一段可以省略,从第二段开始)

       订货薄会接收到一系列的消息,这些消息是订单或者是取消之前订单的请求。没有被取消的订单是激活状态的。订单类型分为购买订单和销售订单。每一个购买订单或者是销售订单有两个正数的变量size和price。订货薄保持了一系列激活状态的订单列表,并且产生quote(报价)和trades(交易)。激活状态的购买订单中价格最高的是最优购买订单,相应的价格称为投标价格,贩卖订单中最低价格是最优的贩卖订单,相应的价格被称为沽盘价格。注意:沽盘价格(ask price)总是会低于投标价格(bid price)。

订货薄中的当前报价中,包含了当前的投标量、投标价格、沽盘量、沽盘价格,其中投标量对应着相应的投标价格的激活状态的订单的总量,沽盘量对应着相应沽盘价格的激活状态订单的总量。

交易包含了卖家和买家的交易信息,每一个交易拥有大小和价格信息。

如果订货薄接收到了购买的订单,并且该订单的价格大于等于当前的沽盘价格,那么相应的两个订单就会匹配,并且交易就会发生——买家和卖家就会在价格上达成一致。反之亦然,如果订货薄接收到了卖家的订单,并且该订单的价格小于等于当前的投标价格,交易同样会发生。出于匹配订单的目的,订货薄对于同样价格的处理将会表现出先进先出队列的性质(后面会详细介绍)

当订货薄接收到了购买订单,并且该订单的价格大于等于当前的沽盘价格,该购买订单并不会立即被录入到订货薄,首先,一系列的交易会产生,减少该订单所订物品的容量信息。交易会在到来的购买订单以及最优的贩卖订单之间产生。如果有多个最优订单(指贩卖订单),那么会选择这些订单中第一个进入到订货薄的订单。对于发生交易的购买订单和贩卖订单中,交易的数量将会是这两个订单中的数量的最小值。同时两个订单原有的数量都会同样的减少。如果贩卖订单中的物品数量减少为零,那么它就会变为非激活状态,并且从订货薄中移除。如果到来的购买订单的物品数量减小为零,那么这个过程就结束——到来的这个订单就会变为非激活状态。如果到来订单的数量仍然为正并且有另外的贩卖订单进行匹配,那么上述的过程就会继续进行,在新的沽盘价格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值