市价单与限价单对比
市价单确保立即成交但价格不固定,限价单锁定价格但可能无法成交,本文用真实报价数据为您分析差异。
市价单意味着“以当前最优价格立即成交”;限价单则意味着“仅在我的指定价格或更优价格成交”。这一核心区别决定了您的成交价格、是否能成交,以及潜在的风险。本指南利用真实报价数据,以实际金额和代码来衡量这种权衡,并分析其影响最严重的场景:快速行情、大额订单、期权以及盘前盘后交易。
什么是市价单?
市价单会立即以市场另一侧的最佳报价成交:买入按卖出价(ask)成交,卖出按买入价(bid)成交。对于上市股票的常规零售订单,成交几乎是肯定的,但价格则无法保证。相对于买卖价差的中点,市价单的成本是 买卖价差 的一半 —— 这是为即时成交支付的费用。您在屏幕上看到的报价是 NBBO,即所有交易所的最佳买入价和卖出价。该报价会持续变动:您的订单将按订单到达时的 NBBO 价格成交,而非您点击时的价格。
什么是限价单?
限价单设有价格上限(买入)或价格下限(卖出)。若将买入限价设为 $50.00,您支付的价格绝不会超过 $50.00。但如果市场价格未达到您的设定值,交易将不会执行,订单将继续等待。其中一个关键设置是可成交限价单——即买入限价等于或略高于当前卖价。在通常情况下,它会像市价单一样立即成交;如果订单处理期间报价发生跳变,限价则起到价格封顶的作用。
两个设置决定了订单在等待期间的状态。有效期:当日有效订单若未成交,将在收盘时取消;撤单前有效 (GTC) 订单将跨交易时段保留,直到成交、被取消或达到券商设定的有效期(通常为 60 至 90 天)。部分成交:限价单可以分批执行——例如,100 股订单中的 40 股可能按您的价格成交,而剩余的 60 股将继续挂单等待。
止损单与止损限价单
订单界面还列出了两种基于此类订单衍生的类型。止损单在股价达到或突破您的止损价之前保持无效;一旦触发,它将作为普通市价单执行。经典的“止损”是指在当前价格下方设置卖出止损单。风险在于:触发后的订单是市价单,若股价出现跳空缺口,成交价可能远低于止损价。止损限价单触发后执行的是限价单,即包含一个止损价和一个限价。这种方式可以限制最差的成交价,但代价是,如果股价跌幅过快,订单可能永远无法成交。
即时成交的成本
从报价记录中可以衡量买卖价差(spread)的成本。在一个完整的常规交易日内,针对五个代码,计算中值价差以及交易 100 股时一半价差的成本:
每个数字背后的完整 SQL
SELECT ticker,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) * 100, bid_price > 0 AND ask_price > bid_price), 1) AS spread_cents,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) * 50, bid_price > 0 AND ask_price > bid_price), 2) AS half_spread_cost_100sh_usd,
round(count() / 23400, 1) AS quote_updates_per_sec
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'IWM', 'AAPL', 'KO', 'CATO')
AND sip_timestamp >= '2026-07-08 04:00:00'
AND sip_timestamp < '2026-07-09 04:00:00'
AND toTimeZone(sip_timestamp, 'America/New_York') >= toDateTime('2026-07-08 09:30:00', 'America/New_York')
AND toTimeZone(sip_timestamp, 'America/New_York') < toDateTime('2026-07-08 16:00:00', 'America/New_York')
GROUP BY ticker
ORDER BY quote_updates_per_sec DESC观察极端情况。SPY 是样本中最活跃的股票,每秒更新约 176.8 次最佳报价,中值价差保持在 2 美分——交易 100 股的成本约为 1 美元。另一端,CATO 几乎没有报价,中值价差为 5 美分,交易 100 股的半价差成本接近 2.5 美元。对于流动性好的大盘股,即时成交成本极低;而对于交易清淡的股票,成本则非常高,且屏幕上的报价可能已滞后数分钟。市场整体的经济规律体现在 交易股票的成本 中。
订单执行期间的价格波动
市价单的真实风险不在于可见的价差,而在于不可见的波动。在交易活跃的标的中,报价每秒更新数百次。当大多数人使用市价单时,价格波动最剧烈:即开盘后不久。以下是 SPY 在同一交易时段内,每分钟平均最高价与最低价之间的波动幅度:
每个数字背后的完整 SQL
SELECT round(avgIf(range_cents, et_minute >= '09:30' AND et_minute < '09:45'), 1) AS open_window_cents,
round(avgIf(range_cents, et_minute >= '12:00' AND et_minute < '13:00'), 1) AS midday_window_cents,
round(avgIf(range_cents, et_minute >= '15:45' AND et_minute < '16:00'), 1) AS close_window_cents,
round(avgIf(range_cents, et_minute >= '09:30' AND et_minute < '09:45')
/ avgIf(range_cents, et_minute >= '12:00' AND et_minute < '13:00'), 1) AS open_vs_midday
FROM (
SELECT formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_minute,
toFloat64(high - low) * 100 AS range_cents
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2026-07-08 04:00:00'
AND window_start < '2026-07-09 04:00:00'
)
WHERE et_minute >= '09:30' AND et_minute < '16:00'在开盘后的前 15 分钟内,SPY 在每分钟内的平均波动幅度为 70.3 美分;相比之下,中午时段每分钟波动 35.8 美分,最后 15 分钟波动 38.8 美分。在 9:31 下达的市价单,其目标价格的变动速度大约是中午订单的 2 倍。开盘初期的价差也最宽 —— 请参阅 为何开盘时价差会扩大。
剧烈波动对权衡关系的影响
2026年7月8日是一个普通的交易日;而权衡关系(trade-off)的重新定价则发生在非同寻常的交易日。2025年4月9日正处于该年春季关税新闻引发的波动期——两天的 SPY 衡量标准一致:
每个数字背后的完整 SQL
WITH quotes AS (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS d,
round(quantileDeterministicIf(0.5)(toFloat64(ask_price - bid_price) * 100, cityHash64(ticker, sip_timestamp), bid_price > 0 AND ask_price > bid_price), 1) AS median_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'SPY'
AND ((sip_timestamp >= '2026-07-08 04:00:00' AND sip_timestamp < '2026-07-09 04:00:00')
OR (sip_timestamp >= '2025-04-09 04:00:00' AND sip_timestamp < '2025-04-10 04:00:00'))
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
),
bars AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
round(avg(toFloat64(high - low) * 100), 1) AS avg_minute_range_cents,
round(max(toFloat64(high - low) * 100), 0) AS worst_minute_range_cents,
round((max(high) - min(low)) / argMin(toFloat64(open), window_start) * 100, 1) AS session_range_pct
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND ((window_start >= '2026-07-08 04:00:00' AND window_start < '2026-07-09 04:00:00')
OR (window_start >= '2025-04-09 04:00:00' AND window_start < '2025-04-10 04:00:00'))
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60 + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
)
SELECT formatDateTime(quotes.d, '%Y-%m-%d') AS session,
bars.session_range_pct,
bars.avg_minute_range_cents,
bars.worst_minute_range_cents,
quotes.median_spread_cents
FROM quotes INNER JOIN bars ON quotes.d = bars.d
ORDER BY quotes.d DESC在 2025-04-09,SPY 在一个常规交易日内的波动幅度为 10.8%,而平静交易日仅为 0.9;每分钟平均波动幅度为 156.4 美分,而平静日为 37.2,波动最剧烈的一分钟为 1638,对比平静日为 133。价差也在扩大——中位数分别为 5¢ 和 2¢ ——但价格波动更为显著:在这样的交易日,市价单的主要成本是决策与成交之间的价格差。这正是限价单发挥作用的时候——同时也最容易导致挂单限价单过早成交并错失后续行情。
大额订单与报价规模
报价包含价格与规模——即最佳卖价(best ask)处实际提供的股数。若市价单规模超过报价规模,则会消耗现有报价,并以更高价格成交剩余部分,即“扫盘”(walking the book)。同交易日内的显示情况如下:
每个数字背后的完整 SQL
SELECT ticker,
minIf(ask_size, bid_price > 0 AND ask_price > bid_price) AS smallest_displayed_shares,
round(quantileDeterministicIf(0.5)(toFloat64(ask_size), cityHash64(ticker, sip_timestamp), bid_price > 0 AND ask_price > bid_price), 0) AS median_ask_shares,
round(countIf(ask_size >= 1000 AND bid_price > 0 AND ask_price > bid_price) / countIf(bid_price > 0 AND ask_price > bid_price) * 100, 1) AS pct_covering_1000_shares
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'IWM', 'AAPL', 'KO', 'CATO')
AND sip_timestamp >= '2026-07-08 04:00:00' AND sip_timestamp < '2026-07-09 04:00:00'
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
ORDER BY median_ask_shares DESC, ticker ASCIWM 是面板中深度最深的标的,其最佳卖价的中位数为 360 股;AAPL 仅为 80 股。在五个标的中,没有任何一个标的的显示卖价能覆盖 1,000 股的订单,其覆盖率不足十分之一——最佳情况仅为 7.8%,最差仅为 0.6%。显示规模仅是底线,而非全部库存——隐藏订单存在于最佳价格与流动性订单簿之间,且订单簿会在毫秒内重新补足——但市价单的成交保证仅限于显示的股数:超过该规模后,将按订单簿后续价格成交;限价单则设定了不会逾越的价格界限。
期权:同样的权衡,更剧烈的波动
期权交易者的压力最大:由于合约价格较低,极小的价差也会占据交易成本的很大比例。在同一交易日内,针对 Apple 股票且具有实时双向报价的 2026 年到期 Apple 期权:
每个数字背后的完整 SQL
WITH opt AS (
SELECT round(quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, cityHash64(ticker, sip_timestamp)), 0) AS option_median_spread_bps,
round(quantileDeterministic(0.5)(toFloat64(ask_price - bid_price) * 100, cityHash64(ticker, sip_timestamp)), 0) AS option_median_spread_cents,
round(count() / 1e6, 0) AS option_quote_updates_millions
FROM global_markets.cache_options_quotes
WHERE ticker >= 'O:AAPL26' AND ticker < 'O:AAPL27'
AND sip_timestamp >= '2026-07-08 04:00:00' AND sip_timestamp < '2026-07-09 04:00:00'
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
AND bid_price > 0 AND ask_price > bid_price
),
stk AS (
SELECT round(quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, cityHash64(ticker, sip_timestamp)), 1) AS stock_median_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'AAPL'
AND sip_timestamp >= '2026-07-08 04:00:00' AND sip_timestamp < '2026-07-09 04:00:00'
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) BETWEEN 570 AND 959
AND bid_price > 0 AND ask_price > bid_price
)
SELECT opt.option_median_spread_bps,
opt.option_median_spread_cents,
stk.stock_median_spread_bps,
round(opt.option_median_spread_bps / stk.stock_median_spread_bps, 0) AS option_to_stock_ratio,
opt.option_quote_updates_millions
FROM opt CROSS JOIN stkApple 期权的报价中值价差占其中值价格的 606 个基点——即每份合约约 65 美分——而 Apple 股票的报价价差为 1 个基点:差距约为 606 倍。期权市价单单次成交的成本,通常相当于股票市价单数百次成交的成本;经验丰富的期权交易者通常使用限价单并以中值成交。完整的成本概况请参阅 期权交易成本。
非交易时段,限价单通常是唯一选择
许多经纪商在盘前和盘后交易期间拒绝市价单,仅接受限价单。报价记录揭示了该政策背后的原因——在同一天的三个交易窗口中:
每个数字背后的完整 SQL
SELECT multiIf(et_min < 570, '1. Pre-market (4:00-9:30)', et_min < 960, '2. Regular (9:30-16:00)', '3. After-hours (16:00-20:00)') AS session_window,
round(quantileDeterministicIf(0.5)(spread_cents, det, ticker = 'SPY'), 1) AS spy_spread_cents,
round(quantileDeterministicIf(0.5)(spread_cents, det, ticker = 'AAPL'), 1) AS aapl_spread_cents,
round(quantileDeterministicIf(0.5)(spread_cents, det, ticker = 'KO'), 1) AS ko_spread_cents
FROM (
SELECT ticker,
toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_min,
toFloat64(ask_price - bid_price) * 100 AS spread_cents,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'KO')
AND sip_timestamp >= '2026-07-08 04:00:00' AND sip_timestamp < '2026-07-09 04:00:00'
AND bid_price > 0 AND ask_price > bid_price
)
WHERE et_min >= 240 AND et_min < 1200
GROUP BY session_window
HAVING countIf(ticker = 'SPY') > 0 AND countIf(ticker = 'AAPL') > 0 AND countIf(ticker = 'KO') > 0
ORDER BY session_window可口可乐 (KO) 在常规交易时段的中值价差为 1 美分,盘前为 28 美分,盘后为 30 美分;苹果 (AAPL) 从 3 美分扩大到 32 美分;甚至 SPY 的价差也从 2 美分扩大到了 7 美分。由于参与者较少且订单簿较薄,盘外交易 中无限制订单最容易产生严重的滑点,经纪商的规则正是基于这一点制定的。
哪种订单类型适用于何种场景
以下清单并非投资建议,仅说明各订单类型的成本优劣:
- 流动性高的蓝筹股、行情平稳、订单规模小。 价差成本极低;使用市价限价单(marketable limit)既能获得即时成交,又能设定价格上限。
- 交易清淡的标的。 买卖报价间距较大且可能存在滞后;限价单可以实现陈旧报价无法完成的价格发现。
- 行情剧烈波动 —— 如开盘阶段、新闻发布时,或类似 2025 年 4 月 9 日的行情。波动风险远大于价差成本;使用限价单可以控制风险,但代价是可能无法成交。
- 订单规模大于挂单量。 报价的成交保证仅限于显示的股数;限价单可以设定您能接受的最差价格。
- 期权及非交易时段股票。 限价单是专业人士的默认选择 —— 且在盘后交易中,这通常是券商唯一接受的订单类型。
核心总结:市价单(market order)保证成交,不保证价格;限价单(limit order)保证价格,不保证成交;市价限价单(marketable limit)在控制最大损失的同时,实现即时成交。
市价单与限价单常见问题解答
市价单能保证成交吗?
对于交易时间内普通零售规模的上市股票,实际上是可以保证的——因为始终存在最佳报价可供交易。保证的是成交,而非价格:在交易量稀薄或波动剧烈的标的中,成交价可能与您看到的最新报价有显著偏差。
什么是止损限价单?它与限价单有何区别?
限价单在下单后立即生效;止损限价单在股价达到或穿过您的止损价之前保持静止,随后以您的限价单形式激活。风险在于:剧烈的行情波动可能直接跳过限价,导致订单无法成交。
我的限价单在隔夜后会如何处理?
当日订单在收盘时若未成交则失效。撤单前有效(GTC)订单会一直保留,直到成交、被撤销或达到经纪商设定的有效期——除非您启用了盘后交易,否则该订单不会在常规交易时间外进行交易。股票经常会 隔夜跳空;如果开盘价跳过了挂单的限价,则会按开盘价成交——按定义,这符合您的价格或更优价格。
为什么我的市价单成交价与屏幕显示的价格不同?
活跃股票的最佳买卖报价每秒更新多次——在上述统计中,SPY 每秒更新约 176.8 次。您的订单是根据到达时的报价进行成交的,而显示、网络和处理延迟会产生时间差。
我可以使用限价单来止损卖出吗?
可以——但卖出限价单会在您的价格或更优价格成交:如果设定的价格低于当前买价,则会立即在买价附近成交。如果您的意图是“仅在股价跌至 45 美元时卖出”,那属于卖出止损单——如果股价为 50 美元,而您设置了 45 美元的卖出限价单,订单会立即以约 50 美元的价格成交。
以上每个面板都是基于实时报价和交易记录的存储查询——您可以扩展 SQL 语句,或在 Strasmore 终端上对您自己的代码进行同样的查询。