市价指令和限价指令

市价指令和限价指令的区别

  • http://www.aweb.com.cn 2008年03月15日 03:13 和讯
  交易指令分为市价指令、限价指令及交易所规定的其他指令。市价指令是指不限定价格的、按照当时市场上可执行的最优报价成交的指令。市价指令的未成交部分自动撤销。限价指令是指按照限定价格或者更优价格成交的指令。限价指令当日有效,未成交部分可以撤销。这也就是说两者的时效是不一样的。市价指令的时效非常短,其也就是在当时成交的时候有效,而一旦没有成交,其未成交部分自动撤销,作为交易者是没有选择的余地的。而作为限价指令,其有效时限为当日,第二日则自动失效。再就是,其未成交部分既可以撤销也可以不撤销,这由交易者自己决定。

  与股票市场中的市价指令相比,其也有不同。在股票市场中,市价委托是指客户委托会员按市场价格买卖证券,客户可以撤销委托的未成交部分。也就是说,在中国的股票市场上,客户可以撤销委托中的未成交部分。对于市场委托,上海证券交易所和深圳证券交易所还有其各自不同的规定。

  上海证券交易所规定,根据市场需要,本所可以接受下列方式的市价申报:最优五档即时成交剩余撤销申报,即该申报在对手方实时最优五个价位内以对手方价格为成交价逐次成交,剩余未成交部分自动撤销;最优五档即时成交剩余转限价申报,即该申报在对手方实时五个最优价位内以对手方价格为成交价逐次成交,剩余未成交部分按本方申报最新成交价转为限价申报,如该申报无成交的,按本方最优报价转为限价申报,如无本方申报的,该申报撤销;本所规定的其他方式。

  深圳证券交易所规定,根据市场需要,本所可以接受下列类型的市价申报:对手方最优价格申报;本方最优价格申报;最优五档即时成交剩余撤销申报;即时成交剩余撤销申报;全额成交或撤销申报;本所规定的其他类型。

  对手方最优价格申报,以申报进入交易主机时,集中申报簿中对手方队列的最优价格为其申报价格。本方最优价格申报,以申报进入交易主机时,集中申报簿中本方队列的最优价格为其申报价格。最优五档即时成交剩余撤销申报,以对手方价格为成交价格,与申报进入交易主机时,集中申报簿中对手方最优五个价位的申报队列依次成交,未成交部分自动撤销。即时成交并撤销申报,以对手方价格为成交价格,与申报进入交易主机时,集中申报簿中对手方所有申报队列依次成交,未成交部分自动撤销。全额成交或撤销申报,以对手方价格为成交价格,如与申报进入交易主机时,集中申报簿中对手方所有申报队列依次成交能够使其完全成交的,则依次成交,否则申报全部自动撤销。

  此外,中金所有关规则还指出,市价指令只能和限价指令撮合成交,成交价格等于即时最优限价指令的限定价格。交易指令每次最小下单数量为1手,市价指令每次最大下单数量为50手,限价指令每次最大下单数量为200手。股指期货开盘集合竞价期间不接受市价指令申报。再就是,市价指令可以促使交易的快速达成,缩短交易时间。而限价指令在时间上略为欠缺一点,但其成交价格却可以是自己心目中的理想价格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
撮合市价单是一个比较复杂的过程,需要考虑市场深度、成交量、当前价格等因素。以下是一个简单的 R 代码示例,用于模拟市价单的撮合过程: ```R # 假设当前的市场深度数据为 order_book,包含了买单和卖单的价格和数量信息 # 定义一个函数,用于撮合市价买单 match_market_buy <- function(price, amount) { # 先找到第一个卖单的价格,如果市场上没有卖单,返回NA sell_price <- min(order_book$ask_price, na.rm = TRUE) # 如果市场上没有卖单,返回NA if (is.na(sell_price)) { return(NA) } # 计算可以成交的数量,即市场上所有卖单的数量之和 available_amount <- sum(order_book$ask_amount[order_book$ask_price == sell_price]) # 如果市场上可成交的数量小于买单数量,返回NA if (available_amount < amount) { return(NA) } # 计算成交价格 trade_price <- sell_price # 依次撮合所有的卖单,直到买单数量为0或者市场上的卖单数量为0 for (i in 1:nrow(order_book)) { if (order_book$ask_price[i] == trade_price) { if (order_book$ask_amount[i] >= amount) { # 卖单数量大于等于买单数量,全部成交 order_book$ask_amount[i] <- order_book$ask_amount[i] - amount amount <- 0 break } else { # 卖单数量小于买单数量,部分成交 order_book$ask_amount[i] <- 0 amount <- amount - order_book$ask_amount[i] } } } # 如果买单数量没有完全成交,返回NA if (amount > 0) { return(NA) } # 返回成交价格 return(trade_price) } # 定义一个函数,用于撮合市价卖单 match_market_sell <- function(price, amount) { # 先找到第一个买单的价格,如果市场上没有买单,返回NA buy_price <- max(order_book$bid_price, na.rm = TRUE) # 如果市场上没有买单,返回NA if (is.na(buy_price)) { return(NA) } # 计算可以成交的数量,即市场上所有买单的数量之和 available_amount <- sum(order_book$bid_amount[order_book$bid_price == buy_price]) # 如果市场上可成交的数量小于卖单数量,返回NA if (available_amount < amount) { return(NA) } # 计算成交价格 trade_price <- buy_price # 依次撮合所有的买单,直到卖单数量为0或者市场上的买单数量为0 for (i in 1:nrow(order_book)) { if (order_book$bid_price[i] == trade_price) { if (order_book$bid_amount[i] >= amount) { # 买单数量大于等于卖单数量,全部成交 order_book$bid_amount[i] <- order_book$bid_amount[i] - amount amount <- 0 break } else { # 买单数量小于卖单数量,部分成交 order_book$bid_amount[i] <- 0 amount <- amount - order_book$bid_amount[i] } } } # 如果卖单数量没有完全成交,返回NA if (amount > 0) { return(NA) } # 返回成交价格 return(trade_price) } ``` 上述代码中,`order_book` 是一个数据框,包含了当前市场的买单和卖单的价格和数量信息。`match_market_buy` 函数用于撮合市价买单,`match_market_sell` 函数用于撮合市价卖单。这两个函数的参数分别是买单或卖单的价格和数量,返回值是成交价格。 在实际应用中,撮合市价单的过程可能比上述代码更为复杂,需要考虑更多的因素。此外,为了实现高效的市场撮合,可能需要使用更为高级的数据结构,如二叉树或堆。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值