修改限价单会失去排队优先级吗?
修改价格或增加数量通常会让订单排到队尾,减少数量可保留排位。了解修改订单的成交概率成本,以及机器人重新定价的盈亏平衡距离。
修改订单与排队优先级之间存在冲突。在美国股票交易簿以及大多数期货交易场所,修改挂单限价后,订单会在新价格档位排到队尾;增加显示数量也会产生同样结果。减少数量则可保留原有排位。取消订单后重新发送,相当于以新的时间戳重新排队,无论交易平台上的按钮名称是什么。
修改订单会失去排队优先级吗?
以下四条规则适用于自主交易者几乎会接触到的所有交易场所。
- 修改价格会失去优先级。订单会以新价格重新进入队列,排在该价位现有全部挂单之后。
- 增加显示数量会失去优先级。部分交易场所只会将新增数量重新排队,并保留原有数量所在的位置;其他场所则会重置整笔订单的时间。无论哪种情况,新增股份都无法保留原来的排队位置。
- 减少显示数量不会失去优先级。交易场所会将其视为部分撤单,撤回部分数量不会影响排队位置。
- 撤单后重新发送每次都会失去优先级。两者之间还存在一段空档期,此时没有任何订单在市场上执行。
这种不对称性有其逻辑。时间优先级是订单在某一价格挂单等待、而其他交易者仍在等待时,订单簿给予的回报。增加数量或修改价格意味着承担新的风险,而新风险必须从队尾开始。减少数量则是撤回风险,因此无需为此付出排队位置的代价。在按比例分配的订单簿中,计算方式有所不同,因为分配取决于您显示的数量,而不是您到达的时间。价格—时间优先与按比例分配将详细介绍这两种机制。
原位修改,还是撤单后重新下单?
在交易场所,这两种指令并不相同。修改指令(您的平台可能称为“修改”或“替换”)会在一条消息中注明现有订单及修改内容。该操作具有原子性:修改成功,或订单保持不变。撤单后重新下单则包含两个事件,中间存在时间间隔。在这段时间内,您完全没有排队位置。如果市场价格在间隔内穿过您的委托价,您将无法参与成交。
部分交易场所会在内部将修改指令执行为撤单后重新下单。即使交易场所支持真正的原位修改,部分经纪商在发送指令时也会将其转换为撤单后重新下单。结果相同:原有优先级消失。修改被拒时,原订单仍会留在簿上;如果撤单先成功,而新的下单随后被拒,您将没有任何有效委托。即使修改通常能够保留优先级,返回的也往往是新的订单标识符。因此,您的内部记录会显示新订单,而订单簿仍将其视为原订单。
修改订单的成本
排队位置的价值,取决于市场成交量能为其兑现多少。排在您前面的股票必须先于您的订单成交,而它们的成交速度在一个交易时段内可能大幅波动。
每个数字背后的完整 SQL
SELECT
formatDateTime(toStartOfFifteenMinutes(et), '%H:%i') AS et_time,
round(toFloat64(avg(volume)) / 1000, 1) AS avg_k_shares_per_min,
round(quantileDeterministic(0.5)(toFloat64(volume),
toUInt64(toUnixTimestamp(et))) / 1000, 1) AS median_k_shares_per_min
FROM
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'AAPL'
AND window_start >= '2026-06-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
)
GROUP BY et_time
ORDER BY et_time2026年6月,09:30 ET开始的15分钟区间内,AAPL每分钟成交量中位数为182.8千股;而以12:00为起点的区间内,这一数字为62千股。同一笔订单,同一价格,但等待时间截然不同。开盘时的排队等待,与日间交易中段完全不是一回事。
修改前后成交概率
修改订单会改变成交概率。下方图表统计了一个月常规交易时段内的分钟数据:每分钟成交量至少达到给定股数的频率。您可以将其理解为:排在您前面的相应规模队列在一分钟内被消化的概率。
每个数字背后的完整 SQL
WITH minute_volume AS
(
SELECT
ticker,
toStartOfMinute(toTimeZone(window_start, 'America/New_York')) AS et_minute,
sum(volume) AS shares
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('AAPL', 'KO')
AND window_start >= '2026-06-01'
AND window_start < '2026-07-01'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY ticker, et_minute
)
SELECT
q.ahead AS shares_ahead,
round(100 * countIf(mv.ticker = 'AAPL' AND mv.shares >= q.ahead) / countIf(mv.ticker = 'AAPL'), 1) AS aapl_pct_of_minutes,
round(100 * countIf(mv.ticker = 'KO' AND mv.shares >= q.ahead) / countIf(mv.ticker = 'KO'), 1) AS ko_pct_of_minutes
FROM minute_volume AS mv
CROSS JOIN
(
SELECT arrayJoin([500, 1000, 2000, 4000, 8000, 16000, 32000, 64000, 128000]) AS ahead
) AS q
GROUP BY q.ahead
ORDER BY q.ahead当您前方有 500 股时,AAPL 有 100% 的分钟成交量足够,而 KO 为 100%。当排队股数达到 8000 股时,AAPL 的这一比例为 100%;当排队股数增至 128000 股时,该比例降至 22.2%。曲线只会向一个方向倾斜,失去优先级不过是沿曲线向右移动。
请将这条曲线视为乐观上限。一分钟的成交量会分布在多个价格和买卖两侧,只有其中一部分会在您的价位成交,因此,实际的一条队列需要更长时间才能完成成交。完全没有成交记录的分钟不会计入统计。估算您的队列位置可结合盘口深度和撤单率,进一步提高估算准确性。
盈亏平衡的重新报价距离
现在为这项修改定价。假设有一笔买单正在等待,前面排着8,000股,并且在下一分钟内成交的概率为60%。将买价提高1美分后,该订单会以新的最优价格排在最前面,前方没有其他订单;假设此时成交概率为99%。每次成交,这一改价都会使每股成本增加1美分。
设V为每股成交的价值,即您的优势加上任何返佣;设t为重新报价的距离。当提高后的成交概率乘以扣除成本后的收益,等于原成交概率乘以完整收益时,这项修改达到盈亏平衡。整理后可得:
t = V x (1 - p0 / p1)
如果每股成交价值为3美分,成交概率从60%升至99%,盈亏平衡距离约为1.2美分。提高1美分可以收回成本。追价2美分则无法收回成本。
对唯一优势是做市商返佣的交易机器人,也使用同一公式。根据截至2026年年中的公开费率表,美国大型股票交易所最高等级的做市商返佣约为每股0.20至0.30美分,因此可取四分之一美分。公式得出的盈亏平衡距离约为0.1美分,而美国任何交易场所接受的最小价格变动都是整整1美分,约为所需距离的十倍。为了保护返佣而重新报价的机器人,付出一个tick去追逐四分之一美分。
返佣只在成交时支付,不会因下单意图而支付。一笔排队位置理想却始终没有成交的订单,什么也赚不到。无法收取的返佣也不构成节省。做市商—吃单方费率和返佣详细说明了这些费率表的支付方式。
没有改善价格的空间
只有当买价与卖价之间存在价差时,才有改善价格的可能。对于规模最大的股票,大多数时候并不存在这样的空间。
每个数字背后的完整 SQL
SELECT
ticker AS symbol,
round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2) AS avg_spread_cents,
round(100 * countIf(toFloat64(ask_price) - toFloat64(bid_price) <= 0.0105) / count(), 1) AS one_tick_wide_pct
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO', 'SPY', 'NVDA', 'COST', 'NFLX')
AND sip_timestamp >= '2026-06-10 13:30:00'
AND sip_timestamp < '2026-06-10 20:00:00'
AND bid_price > 0
AND ask_price > bid_price
AND toFloat64(ask_price) - toFloat64(bid_price) < 5
GROUP BY ticker
ORDER BY one_tick_wide_pct DESCNFLX在2026年6月10日的报价更新中,有81.4%的报价呈现一美分价差,平均价差为1.3美分。在样本另一端,COST的平均价差为77.53美分。在最小跳动单位市场中,买价与卖价之间没有其他价格可供选择。排在队列前面的唯一方式是跨越价差成交。这会使您成为主动成交方:您需要支付主动成交手续费,而不是获得返佣;您放弃的是整个价差,而不仅仅是其中一个最小跳动单位。
再定价机器人多久会面临一次选择
跟随市场的机器人不会只执行一次这笔交易。每当订单簿最优价偏离其委托价时,它都会再次作出选择。
每个数字背后的完整 SQL
SELECT
formatDateTime(toStartOfFifteenMinutes(et), '%H:%i') AS et_time,
uniqExactIf(bid_price, ticker = 'AAPL') AS aapl_distinct_bids,
uniqExactIf(bid_price, ticker = 'KO') AS ko_distinct_bids
FROM
(
SELECT
toTimeZone(sip_timestamp, 'America/New_York') AS et,
ticker,
bid_price
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'KO')
AND sip_timestamp >= '2026-06-10 13:30:00'
AND sip_timestamp < '2026-06-10 20:00:00'
AND bid_price > 0
)
GROUP BY et_time
ORDER BY et_time6月10日,AAPL的最佳买价在从09:30(美东时间)开始的15分钟内触及了359个不同价格;在从15:45开始的15分钟内触及了152个不同价格。KO的最佳买价在开盘后的这一时间段内触及了78个价格。每次价格变动都可能触发再定价机器人发送一次修改委托,而每次修改都会重新开始等待。网格交易机器人则通过在固定价格上预先布设阶梯式委托,采取相反的策略:价格会逐渐失去时效性,但排队优先级得以保留。
冰山单与自成交防止机制
有两个二阶效应容易被忽视。
储备订单通常称为冰山单。这类订单只展示一部分,其余数量保持隐藏。在大多数订单簿中,每次刷新展示数量后,订单都会在该价位的队列末尾重新排队。因此,大额冰山单的表现就像一连串小额订单,不断让出排位给完全展示的订单。修改展示数量也会重新触发这一循环。
另一个效应是自成交防止机制。交易场所不会让同一参与者的订单与其自身的挂单成交。通常的处理方式是撤销其中一笔订单;在某些交易场所,两笔订单都会被撤销。交易机器人在盘口较窄时重新定价,可能会撤掉自己在另一侧的报价,使一次修改变成丢失两个排位。修改通常继承原订单的有效时间,而撤单后重新下单会重置该时间。详情请参阅订单有效时间。
常见问题
修改限价单价格会失去排队位置吗?
会。在美国股票订单簿和大多数期货交易场所,订单改价后会被视为新订单,排在该价格上所有已挂出的股份之后。只有一种修改不会影响优先级:在价格不变的情况下减少订单数量。
撤单并替换,和修改订单是一回事吗?
在不同交易场所,两者并不相同。订单修改只发送一条消息;如果只是减少数量,可能保留排队优先级。撤单并替换则包含两个事件,中间会有一段时间没有您的订单挂在簿上,而且替换后的订单必然排到队尾。
减少订单数量会保留排队优先级吗?
会,只要价格不变。交易场所会将减量视为部分撤单,剩余股份保留原始时间戳。增加订单数量则不会获得同样的处理。
排队位置的实际价值是什么?
它带来的成交概率,乘以一次成交对您的价值。这两部分都可以衡量:上方各面板显示每分钟成交的数量,而您自身的交易优势及任何返佣决定了一次成交的价值。
本页每个面板都附有生成该面板的 SQL。修改股票代码或日期范围,即可在 Strasmore 终端上对任意标的提出同样的问题。