Strasmore Research
การเรียนรู้ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-07-24 · data as of July 24, 2026 · refreshed weekly

ความแตกต่างของ Locked และ Crossed Markets

ทำความเข้าใจความหมายของ Locked Market และ Crossed Market รวมถึงเหตุผลที่ Reg NMS สั่งห้าม พร้อมวิเคราะห์ความถี่ที่เกิดสภาวะดังกล่าวในบันทึกราคาตลาด

ตลาดที่ถูกล็อก (locked market) คือสภาวะที่ราคาเสนอซื้อที่ดีที่สุด (best bid) เท่ากับราคาเสนอขายที่ดีที่สุด (best ask) หรือมีส่วนต่างราคา (bid-ask spread) เป็นศูนย์พอดี ส่วนตลาดที่ราคาตัดกัน (crossed market) คือสภาวะที่ราคาเสนอซื้อที่ดีที่สุดสูงกว่าราคาเสนอขายที่ดีที่สุด ตามกฎระเบียบของตลาดสหรัฐฯ ห้ามไม่ให้ตลาดหลักทรัพย์แสดงราคาในลักษณะดังกล่าว อย่างไรก็ตาม ทั้งสองสภาวะนี้ยังคงปรากฏให้เห็นเป็นประจำในบันทึกราคาเสนอซื้อเสนอขายรวม (consolidated quote record) หน้าเว็บนี้จะให้คำจำกัดความของทั้งสองสภาวะ อธิบายกฎระเบียบ และวัดความถี่ที่แต่ละสภาวะเกิดขึ้น

ตลาดที่ถูกล็อก (Locked market) คืออะไร?

หุ้นสหรัฐฯ ทุกตัวมีราคาเสนอซื้อและราคาเสนอขายพร้อมกันสองราคา ได้แก่ bid ซึ่งเป็นราคาสูงสุดที่ผู้ซื้อยินดีจ่าย และ ask ซึ่งเป็นราคาต่ำสุดที่ผู้ขายยินดีรับ โดยปกติราคา ask จะสูงกว่าราคา bid ส่วนต่างระหว่างสองราคานี้เรียกว่า bid-ask spread ซึ่งเป็นต้นทุนแฝงในการซื้อขายทันที

สภาวะตลาดที่ถูกล็อก (Locked market) คือช่วงเวลาที่ส่วนต่างดังกล่าวลดลงจนเป็นศูนย์ ตัวอย่างเช่น หากหุ้นมีราคา bid อยู่ที่ $10.00 และ ask อยู่ที่ $10.05 จะมีส่วนต่างอยู่ที่ห้าเซนต์ แต่หากราคา ask ที่ดีที่สุดลดลงมาอยู่ที่ $10.00 ในขณะที่ราคา bid ยังคงเดิม ราคาเสนอขายจะถูก locked อยู่ที่ $10.00 / $10.00

สภาวะดังกล่าวไม่สามารถเกิดขึ้นได้ในตลาดหลักทรัพย์แห่งเดียว เนื่องจากการซื้อที่ราคา $10.00 และการขายที่ราคา $10.00 จะเกิดการจับคู่คำสั่งซื้อขายทันที ราคาที่ถูกล็อกจะเกิดขึ้นได้เฉพาะในระหว่างตลาดหลายแห่งเท่านั้น หุ้นสหรัฐฯ มีการซื้อขายในตลาดหลักทรัพย์มากกว่าสิบแห่งพร้อมกัน โดยมี NBBO หรือราคาเสนอซื้อและเสนอขายที่ดีที่สุดระดับประเทศ ซึ่งเป็นราคาที่แอปพลิเคชันโบรกเกอร์แสดงผล ทำหน้าที่รวบรวมราคา bid และ ask ที่ดีที่สุดจากทุกตลาดเข้าด้วยกัน หากมีราคา bid ที่ $10.00 ในตลาดหนึ่ง และราคา ask ที่ $10.00 ในอีกตลาดหนึ่ง จะทำให้ราคาเสนอขายระดับประเทศถูกล็อก แม้ว่าในแต่ละตลาดจะไม่มีสภาวะราคาที่ถูกล็อกก็ตาม

ตลาดที่มีราคาเสนอซื้อและเสนอขายสวนทางกัน (Crossed Market) คืออะไร?

สภาวะตลาดแบบ crossed market คือการเรียงลำดับราคาที่ผิดปกติ โดยราคาเสนอซื้อที่ดีที่สุด (best bid) จะอยู่ สูงกว่า ราคาเสนอขายที่ดีที่สุด (best ask) เช่น มีราคาเสนอซื้อที่ 10.02 ดอลลาร์ ในขณะที่มีราคาเสนอขายที่ 10.00 ดอลลาร์ หากพิจารณาตามทฤษฎี ทุกคนจะสามารถซื้อที่ 10.00 ดอลลาร์ และขายที่ 10.02 ดอลลาร์ เพื่อทำกำไรส่วนต่างสองเซนต์ต่อหุ้นได้โดยไม่มีความเสี่ยง การมีกำไรที่ปราศจากความเสี่ยงเช่นนี้คือเหตุผลที่ราคาเสนอซื้อและเสนอขายที่สวนทางกันไม่สามารถคงอยู่ได้นาน เนื่องจากบริษัทมืออาชีพ ซึ่งรวมถึง market makers ที่ทำหน้าที่เสนอราคาซื้อและขายให้กับหุ้นส่วนใหญ่ จะเข้ามาทำกำไรจากส่วนต่าง (arbitrage) ทันทีที่โอกาสเกิดขึ้น และการทำกำไรดังกล่าวจะทำให้ราคาเสนอทั้งสองด้านถูกใช้ไป สิ่งที่หลงเหลืออยู่ในข้อมูลคือความคลาดเคลื่อนชั่วขณะ (flicker) ซึ่งเป็นบันทึกราคาที่สวนทางกันในช่วงเวลาที่ข้อมูลจากแหล่งซื้อขายหนึ่งกำลังอัปเดตและอีกแหล่งหนึ่งยังไม่อัปเดตตามมา

ทำไม Reg NMS ถึงสั่งห้ามการเสนอราคาแบบ locked และ crossed quotes

ข้อห้ามนี้ระบุอยู่ใน Regulation NMS ซึ่งเป็นกฎระเบียบของ SEC (ประกาศใช้เมื่อปี 2005) สำหรับการซื้อขายผ่านตลาดหลักทรัพย์ในสหรัฐฯ กฎข้อ 610(d) กำหนดให้แต่ละตลาดหลักทรัพย์ต้องป้องกันไม่ให้สมาชิกเสนอราคาที่ทำให้เกิดสภาวะ lock หรือ cross กับ protected quotes ซึ่งก็คือราคา bid และ ask ที่ดีที่สุดแบบอัตโนมัติจากตลาดหลักทรัพย์อื่นในช่วงเวลาทำการปกติ วัตถุประสงค์คือ หากราคา bid เท่ากับราคา ask ของผู้อื่น การซื้อขายควรเกิดขึ้นทันที โดยกฎระเบียบต้องการให้มีการส่งคำสั่งและดำเนินการซื้อขาย ไม่ใช่ปล่อยให้แสดงราคาที่ขัดแย้งกันค้างไว้ในระบบ

ขอบเขตหนึ่งของกฎนี้ที่มีความสำคัญต่อข้อมูลด้านล่างคือ กฎนี้ควบคุมเรื่อง การแสดงราคา ไม่ใช่การมีอยู่ของราคา แต่ละตลาดหลักทรัพย์จะควบคุมสิ่งที่แสดงในสมุดคำสั่งซื้อขายของตนเอง ส่วนบันทึกข้อมูลรวม (consolidated record) จะถูกรวบรวมจากหลายตลาดแบบเรียลไทม์ผ่านข้อมูลที่ส่งมาอย่างรวดเร็ว ดังนั้น NBBO ที่มีสภาวะ locked อาจปรากฏขึ้นในบันทึกรวมได้ โดยที่ไม่มีผู้เล่นรายใดทำผิดกฎเลย

ทำไมราคา locked และ crossed ยังคงปรากฏบน tape

ความเร็วเป็นปัจจัยสำคัญ ตลาดหลักทรัพย์อัปเดตราคาภายในระดับไมโครวินาที และข้อมูลแบบรวมศูนย์ (consolidated feed) จะถูกสร้างขึ้นใหม่ทุกครั้งที่มีการอัปเดต เหตุการณ์ปกติสองประการที่ทำให้เกิดข้อมูลแบบ locked และ crossed ได้แก่:

  • Races. ตลาดแห่งหนึ่งปรับราคา bid ขึ้นเป็น $10.00 ในขณะที่อีกแห่งยังแสดงราคา ask ที่ $10.00 เมื่อนำข้อมูลมารวมกัน NBBO จะแสดงผลเป็น locked จนกว่าฝั่งที่ช้ากว่าจะอัปเดต หากเกิดการแข่งกันของราคาที่ทำให้ราคา Bid สูงกว่า Ask เพียงหนึ่งเซนต์ จะถูกอ่านค่าเป็น crossed
  • Stale and one-sided records. ข้อมูลบางรายการมีเพียงด้านเดียว เช่น มี bid แต่ไม่มี ask หรือในทางกลับกัน หุ้นที่มีสภาพคล่องต่ำ (thin names) มักเกิดเหตุการณ์นี้บ่อยกว่าในช่วงระหว่างวัน ดังที่แสดงในข้อมูลสถิติด้านล่าง

กฎการนับข้อมูลในหน้านี้: locked = ราคา bid เท่ากับ ask และทั้งสองด้านมีค่าเป็นบวก; crossed = ราคา bid สูงกว่าราคา ask ที่เป็นบวก; one-sided = ฝั่งใดฝั่งหนึ่งมีค่าเป็นศูนย์หรือไม่มีข้อมูล ข้อมูลจะไม่ถูกตัดออกโดยไม่แจ้งให้ทราบ โดยข้อมูลแบบ one-sided จะถูกแยกไว้ในคอลัมน์เฉพาะ

ตลาดที่มีราคาเสนอซื้อและเสนอขายเท่ากัน (locked) และราคาเสนอซื้อสูงกว่าราคาเสนอขาย (crossed) เกิดขึ้นบ่อยแค่ไหน?

เริ่มจากการพิจารณาข้อมูลทั้งหมด: ทุกการอัปเดต NBBO สำหรับทุกสัญลักษณ์ที่จดทะเบียนใน 2026-07-14 ซึ่งเป็นเซสชันล่าสุดที่เสร็จสมบูรณ์ในช่วงเวลาที่ใช้ในการสำรวจของเรา

คำสั่งดึงข้อมูลข้อมูลสรุปภาพรวมตลาด: รายการที่ราคา Locked, Crossed และ One-sided จากทุกการอัปเดต NBBO ตลอดช่วงเวลาซื้อขาย
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH (
    SELECT max(toDate(toTimeZone(window_start, 'America/New_York')))
    FROM global_markets.delayed_stocks_minute_aggs
    WHERE ticker = 'SPY' AND window_start < toDateTime(today() - 3)
) AS census_day
SELECT
    formatDateTime(census_day, '%Y-%m-%d') AS session_date,
    round(count() / 1e6, 0) AS updates_m,
    round(countIf(bid_price = ask_price AND bid_price > 0) / 1e6, 2) AS locked_m,
    round(countIf(bid_price > ask_price AND ask_price > 0) / 1e3, 1) AS crossed_k,
    round(countIf(bid_price = ask_price AND bid_price > 0) / toFloat64(greatest(countIf(bid_price > ask_price AND ask_price > 0), 1)), 0) AS locked_per_crossed,
    round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
    round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= toDateTime(census_day)
  AND sip_timestamp < toDateTime(census_day + 1)

เซสชันดังกล่าวมีการอัปเดตราคาเสนอซื้อเสนอขายทั้งหมด 477 ล้านรายการ: เป็นราคาที่เท่ากัน (locked) 9.7 ล้านรายการ และราคาที่ซ้อนทับกัน (crossed) 67 พันรายการ หรือคิดเป็น 204.9 จากทุกๆ 10,000 รายการ โดยราคาที่เท่ากันมีจำนวนมากกว่าราคาที่ซ้อนทับกันในอัตราส่วน 145 ต่อหนึ่ง ส่วนรายการที่มีข้อมูลไม่ครบทั้งสองด้านมีจำนวน 2.8 ต่อทุกๆ 10,000 รายการ ข้อมูลใน สรุปภาวะตลาดวันที่ 7 กรกฎาคม แสดงตัวเลขชุดเดียวกันนี้ควบคู่ไปกับทุกค่า spread ที่มีการวัดผล

อัตราส่วนในระดับตลาดเป็นการรวมข้อมูลจากหุ้นหลายพันตัวที่มีความแตกต่างกันอย่างมาก ตารางด้านล่างเป็นการสำรวจซ้ำในกลุ่มตัวอย่างที่ผ่านการตรวจสอบจำนวนสิบตัว ประกอบด้วยหุ้นยอดนิยมแปดตัว และหุ้นขนาดเล็กที่มีสภาพคล่องต่ำสองตัว ได้แก่ Nathan's Famous (NATH) และ Seneca Foods (SENEA) โดยครอบคลุมเซสชันที่เสร็จสมบูรณ์ในช่วงที่ผ่านมา รวมถึงช่วงเวลาซื้อขายนอกเวลาทำการ (extended hours) พร้อมแสดงค่า spread ปกติของแต่ละหลักทรัพย์ประกอบกัน

คำสั่งดึงข้อมูลข้อมูลสรุปรายชื่อหลักทรัพย์: หุ้นสภาพคล่องสูง 8 ตัว และหุ้น Small Cap สภาพคล่องต่ำ 2 ตัว จากช่วงเวลาซื้อขายล่าสุดที่สิ้นสุดลง
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT ticker,
       round(count() / 1e3, 1) AS updates_k,
       round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price >= bid_price) * 100, 1) AS median_spread_cents,
       countIf(bid_price = ask_price AND bid_price > 0) AS locked_records,
       countIf(bid_price > ask_price AND ask_price > 0) AS crossed_records,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(countIf(bid_price <= 0 OR ask_price <= 0) / toFloat64(count()) * 1e4, 1) AS one_sided_per_10k
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY ticker
ORDER BY ticker

โปรดพิจารณาคอลัมน์ spread เปรียบเทียบกับอัตราส่วนที่ระบุ Coca-Cola ซึ่งปกติมี spread อยู่ที่ 1¢ พบว่ามีราคาที่เท่ากันหรือซ้อนทับกันอยู่ที่ 215.9 จากทุกๆ 10,000 รายการ; NVDA (2¢) มีอัตราอยู่ที่ 91 ต่อ 10,000 รายการ และ SPY (2¢) อยู่ที่ 52.2 ส่วน AMD ซึ่งปกติมี spread ในช่วงนอกเวลาทำการอยู่ที่ 44¢ มีอัตราอยู่ที่เพียง 5.9 ต่อ 10,000 รายการ สถานการณ์ราคาที่เท่ากัน (lock) เกิดขึ้นเมื่อมีสองตลาดเสนอราคาที่ระดับเซนต์เดียวกันในเวลาเดียวกัน ยิ่งค่า spread ปกติมีขนาดกว้างเท่าใด ระยะเวลาที่จะเกิดเหตุการณ์ดังกล่าวก็จะยิ่งนานขึ้นเท่านั้น

หุ้นที่มีสภาพคล่องต่ำแทบไม่พบเหตุการณ์เหล่านี้: Nathan's Famous พบรายการราคาที่เท่ากัน 0 รายการ และราคาที่ซ้อนทับกัน 0 รายการ จากการอัปเดตทั้งหมด 8.4 พันรายการ ส่วน Seneca Foods พบรายการราคาที่เท่ากัน 0 รายการ และราคาที่ซ้อนทับกัน 0 รายการ จากการอัปเดตทั้งหมด 40.5 พันรายการ คอลัมน์ของหุ้นกลุ่มนี้คืออีกคอลัมน์หนึ่ง: รายการที่มีข้อมูลเพียงด้านเดียวพบใน Nathan's Famous ที่อัตรา 41.5 ต่อ 10,000 รายการ และใน Seneca Foods ที่อัตรา 17 เมื่อเทียบกับ SPY ที่อัตรา 0 รายการราคาที่เท่ากันและราคาที่ซ้อนทับกันมักเกิดขึ้นในตลาดที่มีการเสนอราคาที่รวดเร็วและมี spread แคบ ส่วนรายการที่มีข้อมูลเพียงด้านเดียวมักเกิดขึ้นในตลาดที่มีการเสนอราคาเบาบาง

ราคาเสนอซื้อและราคาเสนอขายที่ติดล็อกหรือสวนทางกันเกิดขึ้นในช่วงเวลาใด?

ข้อมูลสถิติระบุตำแหน่งที่เกิด ส่วนเวลาเป็นตัวบอกช่วงเวลาที่เกิดขึ้น ต่อไปนี้คืออัตราส่วนของราคาเสนอซื้อและราคาเสนอขายที่ติดล็อกหรือสวนทางกัน (locked-or-crossed rate) ของชุดข้อมูลที่ผ่านการตรวจสอบแล้ว โดยแบ่งตามช่วงเวลาทุก 30 นาทีตามเวลา Eastern Time ตั้งแต่ 04:00 น. ถึง 20:00 น. พร้อมด้วยปริมาณการอัปเดตข้อมูลในแต่ละช่วงเวลา

คำสั่งดึงข้อมูลรายการ Locked-or-crossed ต่อ 10,000 การอัปเดต แบ่งตามช่วงเวลา 30 นาที (ET) รวมช่วงเวลา Extended hours
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE), '%H:%i') AS et_time,
       round(countIf(bid_price >= ask_price AND ask_price > 0 AND bid_price > 0) / toFloat64(count()) * 1e4, 1) AS locked_or_crossed_per_10k,
       round(count() / 1e6, 2) AS updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
  AND sip_timestamp >= toDateTime(today() - 10)
  AND sip_timestamp < toDateTime(today() - 3)
GROUP BY et_time
HAVING et_time >= '04:00' AND et_time < '20:00'
ORDER BY et_time

อัตราส่วนดังกล่าวเพิ่มสูงขึ้นตลอดช่วงการซื้อขาย ช่วงเวลาก่อนตลาดเปิด (premarket) ตอน 05:00 น. มีอัตราอยู่ที่ 3 ต่อ 10,000 จากจำนวน 0.59 ล้านรายการอัปเดต ส่วนช่วงเวลา 09:30 น. ซึ่งเป็นครึ่งชั่วโมงแรกของการซื้อขายปกติที่เริ่มต้นด้วย การประมูลเปิดตลาด มีอัตราอยู่ที่ 24.9 ต่อ 10,000 จากจำนวน 9.98 ล้านรายการอัปเดต หลังจากนั้นอัตราส่วนจะเพิ่มขึ้นเรื่อยๆ จนถึงช่วงปิดตลาด โดยแตะระดับ 109.9 ต่อ 10,000 ในช่วงเวลา 15:30 น. ซึ่งเป็นช่วงก่อนหน้า การประมูลปิดตลาด ข้อมูลชุดหนึ่งแสดงให้เห็นถึงรูปแบบดังนี้:

คำสั่งดึงข้อมูลสรุปรายการ: ยอดรวม Locked เทียบกับ Crossed และอัตราส่วนตามช่วงเวลาการซื้อขาย (Premarket, Open, Noon, Close — ET)
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    round(countIf(is_locked) / 1e3, 1) AS locked_k,
    round(countIf(is_crossed) / 1e3, 1) AS crossed_k,
    round(countIf(is_locked) / toFloat64(greatest(countIf(is_crossed), 1)), 1) AS locked_per_crossed,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569)) * 1e4, 1) AS premarket_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599)) * 1e4, 1) AS opening_half_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779)) * 1e4, 1) AS midday_hour_per_10k,
    round(countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)) * 1e4, 1) AS closing_half_hour_per_10k,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 570 AND 599) / toFloat64(countIf(et_minute BETWEEN 570 AND 599))), 1) AS close_to_open_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 720 AND 779) / toFloat64(countIf(et_minute BETWEEN 720 AND 779))), 1) AS close_to_midday_ratio,
    round((countIf((is_locked OR is_crossed) AND et_minute BETWEEN 930 AND 959) / toFloat64(countIf(et_minute BETWEEN 930 AND 959)))
        / (countIf((is_locked OR is_crossed) AND et_minute BETWEEN 240 AND 569) / toFloat64(countIf(et_minute BETWEEN 240 AND 569))), 1) AS close_to_premarket_ratio
FROM (
    SELECT
        bid_price = ask_price AND bid_price > 0 AS is_locked,
        bid_price > ask_price AND ask_price > 0 AS is_crossed,
        toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60 + toMinute(toTimeZone(sip_timestamp, 'America/New_York')) AS et_minute
    FROM global_markets.cache_stocks_quotes
    WHERE ticker IN ('SPY', 'QQQ', 'AAPL', 'NVDA', 'MSFT', 'TSLA', 'KO', 'AMD', 'NATH', 'SENEA')
      AND sip_timestamp >= toDateTime(today() - 10)
      AND sip_timestamp < toDateTime(today() - 3)
)

ตลอดช่วงเวลาทั้งหมด ชุดข้อมูลที่ผ่านการตรวจสอบมีรายการที่ติดล็อก (locked records) จำนวน 257.2 พันรายการ และรายการที่สวนทางกัน (crossed) จำนวน 25.6 พันรายการ หรือคิดเป็นอัตราส่วน locked ต่อ crossed อยู่ที่ 10.1 ต่อหนึ่ง อัตราส่วนในช่วงครึ่งชั่วโมงสุดท้ายก่อนปิดตลาดอยู่ที่ 109.9 ต่อ 10,000 ซึ่งเป็น 4.4 เท่าของอัตราในช่วงครึ่งชั่วโมงแรกที่ 24.9 และเป็น 2.3 เท่าของอัตราในช่วงเที่ยงที่ 48.5

แม้จะไม่มีข้อกำหนดเรื่องการห้ามแสดงราคา (display ban) ก่อนเวลา 09:30 น. แต่ในช่วงเวลา 04:00–09:30 น. ทั้งหมด ซึ่งเป็น การซื้อขายช่วง premarket และมีปริมาณการเสนอราคาเพียงเศษเสี้ยวของการซื้อขายในเวลาปกติ กลับมีอัตราเพียง 10.9 ต่อ 10,000 เท่านั้น โดยช่วงครึ่งชั่วโมงสุดท้ายก่อนปิดตลาดมีอัตราสูงกว่านั้นถึง 10.1 เท่า ข้อมูลเหล่านี้มักเกิดขึ้นในช่วงที่มีการเสนอราคาอย่างรวดเร็วและหนาแน่น ไม่ใช่ในช่วงที่กฎระเบียบมีความผ่อนปรนที่สุด

หมายเหตุข้อมูล: ช่วงเวลาและขอบเขต
  • การสำรวจข้อมูลทั้งหมดครอบคลุมหนึ่งวันปฏิทินตามเวลา UTC โดยรวมทุกสัญลักษณ์ที่จดทะเบียนไว้ ส่วนตารางชุดข้อมูลที่ผ่านการตรวจสอบครอบคลุมช่วงเวลาต่อเนื่องของเซสชันที่เพิ่งสิ้นสุดลง รวมถึงช่วงเวลาขยาย (04:00 น.–20:00 น. ET) ทุกช่วงเวลาจะสิ้นสุดก่อนวันที่อัปเดตข้อมูลสามวัน เนื่องจากคลังข้อมูลราคาเสนอซื้อเสนอขายมีระยะเวลาหน่วงในการนำเข้าข้อมูลอยู่ที่หนึ่งถึงสองวัน
  • ตารางสิบชื่อเป็นชุดข้อมูลที่ผ่านการตรวจสอบ ไม่ใช่การจัดอันดับทั่วทั้งตลาด ช่วงเวลาหลัง 16:00 น. ใช้ข้อมูลเพียงเศษเสี้ยวของการซื้อขายในเวลาปกติ (จึงมีการแสดงคอลัมน์จำนวนการอัปเดตไว้เพื่อเหตุผลดังกล่าว)
  • ข้อมูลเหล่านี้คือจำนวนรายการ ไม่ใช่ระยะเวลา สำหรับการวิเคราะห์เชิงลึกระดับนาโนวินาที รวมถึงช่องว่างระหว่างรายการ และรายการที่ราคาเสนอซื้อเป็นศูนย์หรือราคาเสนอขายสวนทางกันในเซสชันเดียวของ SPY สามารถดูได้ใน บทวิเคราะห์โครงสร้างระดับจุลภาค มิถุนายน 2026

คำถามที่พบบ่อย

ตลาดที่ราคา Bid และ Ask เท่ากัน (Locked Market) คืออะไร?

Locked market คือสภาวะที่ราคาเสนอซื้อที่ดีที่สุด (best bid) เท่ากับราคาเสนอขายที่ดีที่สุด (best ask) หรือมีส่วนต่าง (spread) เป็นศูนย์ สภาวะนี้เกิดขึ้นระหว่างตลาดซื้อขาย เมื่อราคา bid ของตลาดหนึ่งตรงกับราคา ask ของอีกตลาดหนึ่ง โดยภายใต้กฎ Regulation NMS ตลาดซื้อขายไม่ได้รับอนุญาตให้แสดงราคาที่ทำให้เกิดสภาวะนี้ในช่วงเวลาทำการปกติ

การที่ราคา Bid สูงกว่าราคา Ask หมายความว่าอย่างไร?

การที่ราคา bid สูงกว่าราคา ask เรียกว่า Crossed market ในสมุดคำสั่งซื้อขายของตลาดเดียวไม่สามารถเกิดสภาวะนี้ได้ เนื่องจากคำสั่งซื้อขายที่ทับซ้อนกันจะถูกจับคู่และดำเนินการทันที ดังนั้น Crossed NBBO จึงมักเป็นผลมาจากราคาของสองตลาดที่แสดงผลในช่วงเวลาที่อัปเดตไม่พร้อมกัน

ตลาดแบบ Locked และ Crossed ผิดกฎหมายหรือไม่?

ไม่ผิดสำหรับนักลงทุนทั่วไป ตามกฎ Rule 610(d) ของ Regulation NMS กำหนดให้ตลาดซื้อขายต้องป้องกันไม่ให้สมาชิก แสดง ราคาที่เกิดสภาวะ locking หรือ crossing ในช่วงเวลาทำการปกติ ข้อมูลชั่วคราวที่ปรากฏใน consolidated feed เป็นเพียงผลจากการที่แต่ละตลาดอัปเดตข้อมูลในเสี้ยววินาทีที่ต่างกัน

ตลาดแบบ Locked และ Crossed เกิดขึ้นบ่อยแค่ไหน?

เกิดขึ้นเป็นปกติ โดยมีข้อมูลแบบ locked จำนวน 9.7 ล้านรายการ และแบบ crossed จำนวน 67 พันรายการ ปรากฏใน consolidated tape เฉพาะในวันที่ 2026-07-14 เพียงวันเดียว ซึ่งคิดเป็น 204.9 ของทุกๆ 10,000 รายการที่อัปเดต อัตราการเกิดจะสูงกว่ามากในหุ้นที่มีสภาพคล่องสูง (tightly quoted) เมื่อเทียบกับหุ้นที่มีสภาพคล่องต่ำ และจะเกิดสูงกว่าในช่วงก่อนปิดตลาดเมื่อเทียบกับช่วงเปิดตลาด


ตัวเลขทุกตัวในหน้านี้มาจากการดึงข้อมูลผ่าน query — คุณสามารถขยายคำสั่ง SQL ใต้แถบข้อมูลเพื่อดูวิธีการนับจำนวน lock หรือ cross อย่างละเอียด หากต้องการตรวจสอบข้อมูลในลักษณะเดียวกันสำหรับหุ้นที่คุณซื้อขาย สามารถพิมพ์คำสั่งเป็นภาษาอังกฤษบน terminal ของ Strasmore ได้ทันที

#locked market#crossed market#market structure#quotes#liquidity