Strasmore Research

Midpoint Peg Order คืออะไร พร้อมกลไกการทำงานราคาครึ่งเซนต์

ทำความเข้าใจคำสั่งซื้อขายแบบ Midpoint Peg ที่ปรับราคาตาม NBBO พร้อมเจาะลึกกลไกการทำ Price Improvement ในระดับครึ่งเซนต์ และข้อจำกัดที่นักลงทุนควรทราบก่อนใช้งานจริง

Midpoint peg order คือคำสั่งซื้อขายที่ลอยตัวอยู่ตรงกลางระหว่างราคาเสนอซื้อและเสนอขายที่ดีที่สุดในตลาด (National Best Bid and Offer หรือ NBBO) แทนที่จะวางค้างไว้ที่ราคาคงที่ กลไกนี้คือเบื้องหลังของรายการยืนยันการซื้อขายที่ระบุราคา 10.005 ในขณะที่ตลาดเสนอราคาซื้อที่ 10.00 และเสนอขายที่ 10.01 ซึ่งเป็นการปรับปรุงราคา (price improvement) ให้ผู้ซื้อขายครึ่งเซนต์ต่อหุ้น หรือเท่ากับครึ่งหนึ่งของส่วนต่างราคา (spread) พอดี ข้อแลกเปลี่ยนที่เกิดขึ้นคือ คำสั่งนี้จะไม่มีที่อยู่ในคิวที่แสดงผลต่อสาธารณะ และจะได้รับการจับคู่ก็ต่อเมื่อมีคำสั่งฝั่งตรงข้ามวิ่งเข้ามาหาเท่านั้น

Midpoint peg order คืออะไร?

คำสั่งแบบ peg order ไม่ได้ระบุราคาที่คุณพิมพ์ลงไป แต่จะใช้กฎที่ว่าให้ติดตามราคาอ้างอิงและปรับราคาใหม่ทุกครั้งที่ราคาอ้างอิงนั้นเคลื่อนไหว สำหรับ midpoint peg ราคาอ้างอิงคือ national best bid and offer หรือ NBBO ซึ่งเป็นราคาเสนอซื้อที่สูงที่สุดและราคาเสนอขายที่ต่ำที่สุดที่มีอยู่ในตลาดหุ้นสหรัฐฯ ณ ขณะนั้น จุดกึ่งกลางคือตัวเลขที่อยู่ตรงกลางระหว่างราคาเสนอซื้อและเสนอขาย หากหุ้นเสนอราคาที่ 10.00 ต่อ 10.01 จุดกึ่งกลางคือ 10.005 หากราคาขยับไปที่ 10.02 ต่อ 10.03 คำสั่ง peg จะขยับตามไปที่ 10.025 โดยไม่ต้องยกเลิกและส่งคำสั่งใหม่

ผลลัพธ์สองประการที่เกิดจากการออกแบบนี้ ประการแรก midpoint peg จะถูกซ่อนไว้เสมอเมื่อส่วนต่างราคาเป็นจำนวนคี่ของเซนต์ กฎ Regulation NMS Rule 612 หรือ sub-penny rule ห้ามการเสนอราคาหุ้นที่สูงกว่า 1 ดอลลาร์ด้วยความละเอียดที่ต่ำกว่าหนึ่งเซนต์ แต่ไม่ได้ห้ามการซื้อขายที่ระดับราคานั้น ราคาที่เป็นเศษครึ่งเซนต์สามารถดำเนินการซื้อขายได้แต่ไม่สามารถแสดงผลได้ คำสั่งจึงค้างอยู่ในสถานะที่มองไม่เห็น (dark)

ประการที่สอง มูลค่าของการจับคู่ที่จุดกึ่งกลางจะคงที่อยู่ที่ครึ่งหนึ่งของส่วนต่างราคา การซื้อที่จุดกึ่งกลางแทนที่จะซื้อที่ราคาเสนอขาย (lifting the offer) จะช่วยประหยัดต้นทุนได้ครึ่งหนึ่งของส่วนต่างราคาต่อหุ้น และการขายที่จุดกึ่งกลางแทนที่จะขายที่ราคาเสนอซื้อ (hitting the bid) ก็ประหยัดได้เท่ากัน ข้อเท็จจริงนี้เป็นตัวตัดสินว่าคำสั่งประเภทนี้คุ้มค่าหรือไม่สำหรับหุ้นแต่ละตัว

การจับคู่ที่จุดกึ่งกลางมีมูลค่าเท่าใด?

ครึ่งหนึ่งของตัวเลขที่น้อยมากย่อมเป็นตัวเลขที่น้อยมาก ตารางด้านล่างแสดงหุ้นชื่อดังหกตัวในช่วงเวลาหนึ่งชั่วโมงที่กำหนด คือ 10:00 ถึง 11:00 น. ตามเวลา ET ในวันพุธที่ มิถุนายน 2026 และคำนวณค่าเฉลี่ยของส่วนต่างราคาจากทุกการอัปเดต NBBO แท่งที่สองของแต่ละชื่อหุ้นคือส่วนต่างราคาที่หารสองแล้ว

คำสั่งดึงข้อมูลส่วนต่าง NBBO เฉลี่ยและส่วนต่างราคาที่ประหยัดได้ ช่วงเวลา 10:00 ถึง 11:00 น. ET วันที่ 17 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker                                                            AS symbol,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2)  AS spread_cents,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 50, 2)   AS half_spread_cents
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'BLK')
  AND sip_timestamp >= '2026-06-17 14:00:00'
  AND sip_timestamp <  '2026-06-17 15:00:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY ticker
ORDER BY spread_cents ASC
Run this yourself

ตลาดที่มีส่วนต่างราคาแคบที่สุดในหกตัวนี้คือ KO โดยมีค่าเฉลี่ยอยู่ที่ 1.55 เซนต์ ซึ่งการจับคู่ที่จุดกึ่งกลางมีมูลค่า 0.78 เซนต์ต่อหุ้น ส่วนตลาดที่กว้างที่สุดคือ BLK ที่ 170.76 เซนต์ ซึ่งมีมูลค่า 85.38 เซนต์ต่อหุ้น คำสั่งประเภทเดียวกัน ในชั่วโมงเดียวกัน แต่ให้ผลลัพธ์เป็นตัวเงินที่ต่างกันมาก ช่องว่างนี้คือเหตุผลที่ midpoint peg เป็นเครื่องมือที่สำคัญในตลาดที่มีส่วนต่างราคากว้าง แต่แทบไม่มีผลในตลาดที่มีส่วนต่างราคาเพียงหนึ่งเซนต์

ส่วนต่างราคาคงที่ตลอดทั้งวันหรือไม่?

ไม่คงที่ และมูลค่าที่ประหยัดได้จากจุดกึ่งกลางก็เคลื่อนไหวตามไปด้วย ตารางถัดไปติดตามหนึ่งในหุ้นเหล่านั้นคือ BLK ตลอดแปดชั่วโมงของช่วงการซื้อขายเดียวกัน โดยแบ่งเป็นช่วงละครึ่งชั่วโมงตามเวลาของตลาดนิวยอร์ก ข้อมูลในแบบสอบถามนี้ไม่ได้ระบุเวลาเปิดหรือปิดการซื้อขายปกติ

คำสั่งดึงข้อมูลส่วนต่างราคาเสนอซื้อขายและกิจกรรมการเสนอราคาของ BLK รายครึ่งชั่วโมง ET วันที่ 17 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    formatDateTime(
        toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 30 MINUTE),
        '%H:%i')                                                      AS et_time,
    round(avg(toFloat64(ask_price) - toFloat64(bid_price)) * 100, 2)  AS spread_cents,
    count()                                                           AS quote_count
FROM global_markets.cache_stocks_quotes
WHERE ticker = 'BLK'
  AND sip_timestamp >= '2026-06-17 13:00:00'
  AND sip_timestamp <  '2026-06-17 21:00:00'
  AND bid_price > 0
  AND ask_price > bid_price
GROUP BY et_time
ORDER BY et_time ASC
Run this yourself

ช่วงเวลาสองฝั่งของตารางนี้อยู่นอกเวลาซื้อขายปกติ คือก่อน 09:30 น. และหลัง 16:00 น. ซึ่งราคาเสนอซื้อขายจะมีลักษณะที่ต่างออกไป ช่วง 09:00 มีส่วนต่างราคาเฉลี่ย 2000.39 เซนต์ ส่วนช่วง 16:30 มีค่าเฉลี่ย 319.6 เซนต์ ในช่วงกลางวันหุ้นตัวเดียวกันมีส่วนต่างราคาที่แคบกว่ามากและมีการอัปเดตบ่อยกว่ามาก การใช้ midpoint peg ใกล้เวลาเปิดตลาดจะติดตามราคาอ้างอิงที่กว้างและผันผวนกว่าการใช้คำสั่งเดียวกันในช่วงกลางวัน ซึ่งมีทั้งข้อดีและข้อเสีย คือได้ส่วนต่างราคาที่มากกว่าต่อการจับคู่หนึ่งครั้ง แต่ราคาอ้างอิงก็อาจเคลื่อนไหวได้ในขณะที่คำสั่งรอการจับคู่

การซื้อขายที่ราคาเศษครึ่งเซนต์มาจากไหน?

ราคาที่ลงท้ายด้วยครึ่งเซนต์ไม่สามารถแสดงผลได้ ดังนั้นการซื้อขายที่ราคานี้จึงเป็นสัญญาณชัดเจนว่าเป็นการจับคู่ที่จุดกึ่งกลาง ตารางด้านล่างนำหุ้นหกตัวเดิมในช่วงเวลาเดียวกันมาตรวจสอบว่า สำหรับทุกรายการซื้อขายที่รายงานออกมานั้น ราคาอยู่ที่จำนวนเต็มเซนต์หรือมีความละเอียดกว่านั้น

คำสั่งดึงข้อมูลสัดส่วนการซื้อขายที่เกิดขึ้นนอกกรอบราคาหนึ่งเซนต์ ช่วงเวลา 10:00 ถึง 11:00 น. ET วันที่ 17 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker                                                                                   AS symbol,
    round(countIf(toUInt64(round(toFloat64(price) * 10000)) % 100 != 0) / count() * 100, 1)  AS sub_penny_pct,
    round(countIf(toUInt64(round(toFloat64(price) * 10000)) % 100 =  50) / count() * 100, 1) AS half_cent_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'BLK')
  AND sip_timestamp >= '2026-06-17 14:00:00'
  AND sip_timestamp <  '2026-06-17 15:00:00'
  AND price > 0
GROUP BY ticker
ORDER BY sub_penny_pct DESC
Run this yourself

KO นำกลุ่มโดยมี 70.5% ของรายการซื้อขายในช่วงชั่วโมงนั้นที่ราคาละเอียดกว่าหนึ่งเซนต์ และ 7% ซื้อขายที่ราคาครึ่งเซนต์พอดี ในทางกลับกัน SPY มีรายการซื้อขาย 28.3% ที่อยู่นอกตารางราคาหนึ่งเซนต์ ไม่ใช่ทุกรายการซื้อขายที่ราคาต่ำกว่าหนึ่งเซนต์จะเป็นการจับคู่ที่จุดกึ่งกลาง การปรับปรุงราคาหนึ่งในสิบของเซนต์และการจับคู่ที่ราคา volume-weighted average price ก็อยู่นอกตารางราคาเช่นกัน คอลัมน์ครึ่งเซนต์เป็นตัวบ่งชี้ที่ชัดเจนกว่า เนื่องจากครึ่งเซนต์คือจุดกึ่งกลางของตลาดที่มีส่วนต่างราคาหนึ่งเซนต์พอดี

การแยกรายการซื้อขายตามสถานที่รายงานช่วยให้เห็นภาพชัดเจนขึ้น รายการที่จับคู่ภายนอกตลาดหลักทรัพย์ ใน dark pool หรือที่ผู้ค้าส่ง (wholesaler) จะถูกรายงานผ่านระบบรายงานการซื้อขายของ FINRA แทนที่จะรายงานโดยสถานที่ที่จับคู่รายการนั้น

คำสั่งดึงข้อมูลสัดส่วนการซื้อขายที่เกิดขึ้นนอกกรอบราคาหนึ่งเซนต์จำแนกตามช่องทางการรายงาน ระหว่างนอกตลาดหลักทรัพย์และในตลาดหลักทรัพย์
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
    (
        SELECT groupArray(toString(id))
        FROM global_markets.stocks_exchanges
        WHERE lower(asset_class) = 'stocks'
          AND (lower(type) = 'trf' OR positionCaseInsensitive(name, 'FINRA') > 0)
    ) AS trf_venue_ids
SELECT
    ticker AS symbol,
    round(countIf(has(trf_venue_ids, toString(exchange))
                  AND toUInt64(round(toFloat64(price) * 10000)) % 100 != 0)
          / countIf(has(trf_venue_ids, toString(exchange))) * 100, 1)      AS off_exchange_sub_penny_pct,
    round(countIf(NOT has(trf_venue_ids, toString(exchange))
                  AND toUInt64(round(toFloat64(price) * 10000)) % 100 != 0)
          / countIf(NOT has(trf_venue_ids, toString(exchange))) * 100, 1)  AS on_exchange_sub_penny_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'BLK')
  AND sip_timestamp >= '2026-06-17 14:00:00'
  AND sip_timestamp <  '2026-06-17 15:00:00'
  AND price > 0
GROUP BY ticker
HAVING countIf(has(trf_venue_ids, toString(exchange))) > 0
   AND countIf(NOT has(trf_venue_ids, toString(exchange))) > 0
ORDER BY off_exchange_sub_penny_pct DESC
Run this yourself

ในหุ้น KO นั้น 86.1% ของรายการที่รายงานภายนอกตลาดหลักทรัพย์มีราคาเป็นเศษของเซนต์ เทียบกับ 11.7% ของรายการที่จับคู่ในตลาดหลักทรัพย์ ทั้งสองช่องทางใช้กลไกจุดกึ่งกลางเหมือนกัน ภายนอกตลาดหลักทรัพย์ ผู้ค้าส่งจะกำหนดราคาคำสั่งซื้อขายของรายย่อยให้อยู่ภายในราคาเสนอซื้อขาย และ dark pool จะจับคู่คำสั่ง midpoint สองรายการเข้าด้วยกัน ในตลาดหลักทรัพย์ แนวคิดเดียวกันนี้ปรากฏในรูปแบบคำสั่ง midpoint แบบซ่อนและโปรแกรมปรับปรุงราคาสำหรับรายย่อย

Midpoint peg, limit order และ iceberg ต่างกันอย่างไร?

limit order คือการระบุราคาคงที่และเข้าคิวในระบบที่แสดงผล จุดแข็งคือลำดับความสำคัญ ภายในระดับราคาเดียวกัน คำสั่งที่วางค้างไว้มักจะได้รับการดำเนินการตามลำดับที่เข้ามา ดังนั้น limit order ที่ราคาเสนอซื้อจึงมีที่อยู่ในคิว จุดอ่อนคือราคาจะคงที่และราคาตลาดอาจเคลื่อนห่างออกไป

Midpoint peg กลับคุณสมบัติทั้งสองอย่างนี้ ไม่มีคิวสาธารณะให้เข้าที่จุดกึ่งกลางเนื่องจากไม่มีการแสดงผล ราคาไม่มีวันล้าสมัยเนื่องจากถูกคำนวณใหม่จาก NBBO ในทุกการอัปเดต

iceberg order อยู่กึ่งกลางระหว่างสองแบบนี้ โดยวางค้างไว้ที่ราคาที่แสดงผลและแสดงขนาดคำสั่งเพียงบางส่วน และจะเติมส่วนที่มองเห็นได้ใหม่เมื่อมีการจับคู่ Iceberg คือกลยุทธ์การแสดงผลที่ครอบคลุมราคาคงที่ ส่วน midpoint peg คือกฎการกำหนดราคาที่ไม่มีการแสดงผลเลย

รูปแบบ snap-to-midpoint เป็นอีกรูปแบบหนึ่ง คำสั่ง snap จะอ่านค่าจุดกึ่งกลางครั้งเดียวเมื่อคำสั่งมาถึงหรือเมื่อเงื่อนไขทำงาน และจะเปลี่ยนเป็น limit order คงที่ที่ราคานั้น ในตลาดที่ราคาหยุดนิ่ง คำสั่ง snap และ peg จะจับคู่ที่ราคาเดียวกัน แต่ในตลาดที่ราคาเคลื่อนไหว ทั้งสองจะแยกจากกัน ชื่อเรียกของโบรกเกอร์อาจแตกต่างกันไป แพลตฟอร์มหนึ่งอาจเรียก midpoint peg อีกที่หนึ่งอาจเรียก midpoint match แต่กลไกเบื้องหลังนั้นเหมือนกัน

เมื่อใดที่ midpoint peg เป็นเครื่องมือที่ไม่เหมาะสม?

สี่สถานการณ์ที่คำสั่งประเภทนี้อาจเสียมากกว่าได้:

  • ส่วนต่างราคาแคบเพียงหนึ่งเซนต์อยู่แล้ว ครึ่งเซนต์ต่อหุ้นคือห้าสิบเซนต์ต่อคำสั่ง 100 หุ้น และการรอคำสั่งฝั่งตรงข้ามอาจมีต้นทุนจากราคาที่เคลื่อนไหว (drift) มากกว่านั้น
  • การได้รับการจับคู่สำคัญกว่าราคาที่ได้รับ คำสั่ง midpoint จะรอจนกว่าจะมีคำสั่งฝั่งตรงข้ามเข้ามา ซึ่งในหุ้นที่มีสภาพคล่องต่ำอาจใช้เวลานาน
  • คำสั่งมีขนาดเล็กและถูกส่งไปยังผู้ค้าส่งอยู่แล้ว คำสั่งซื้อขายของรายย่อยในหุ้นที่มีสภาพคล่องสูงมักได้รับราคาที่ดีกว่าหนึ่งเซนต์โดยไม่ต้องร้องขอ
  • การมองเห็นคำสั่งเป็นสิ่งสำคัญ Limit order ที่แสดงผลจะประกาศความต้องการและอาจดึงดูดฝั่งตรงข้ามได้ แต่คำสั่ง midpoint ที่ซ่อนอยู่จะไม่ประกาศอะไรเลย

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

Midpoint peg order คืออะไรในภาษาที่เข้าใจง่าย?

คือคำสั่งที่กำหนดราคาไว้ตรงกลางระหว่างราคาเสนอซื้อและเสนอขายที่ดีที่สุดในขณะนั้น แทนที่จะเป็นราคาที่คุณเลือกเอง เมื่อราคาตลาดเคลื่อนไหว คำสั่งจะปรับราคาตัวเองไปที่จุดกึ่งกลางใหม่โดยไม่ต้องยกเลิกและส่งคำสั่งใหม่

Midpoint peg เหมือนกับคำสั่งใน dark pool หรือไม่?

มีความทับซ้อนกันแต่ไม่เหมือนกันเสียทีเดียว Midpoint peg จะถูกซ่อนไว้เสมอเมื่อจุดกึ่งกลางเป็นเศษครึ่งเซนต์ เนื่องจากราคาที่ละเอียดกว่าหนึ่งเซนต์ไม่สามารถแสดงผลได้ และการจับคู่ที่จุดกึ่งกลางคือวิธีที่ dark pool ใช้จับคู่ปริมาณการซื้อขายส่วนใหญ่ ตลาดหลักทรัพย์เองก็มีคำสั่ง midpoint แบบซ่อนเช่นกัน ดังนั้นคำสั่ง midpoint จึงไม่ได้หมายถึงการซื้อขายภายนอกตลาดหลักทรัพย์เสมอไป

ทำไมรายการยืนยันการซื้อขายของฉันถึงแสดงราคาเป็นเศษครึ่งเซนต์?

ครึ่งเซนต์คือจุดกึ่งกลางพอดีของตลาดที่มีส่วนต่างราคาหนึ่งเซนต์ การจับคู่ที่ 10.005 ในขณะที่ตลาดเสนอราคา 10.00 ต่อ 10.01 คือการซื้อขายที่จับคู่ที่จุดกึ่งกลาง ไม่ว่าจะในสถานที่ซื้อขายแบบ dark หรือผ่านกลไกปรับปรุงราคาที่ตลาดหลักทรัพย์หรือผู้ค้าส่ง

คำสั่ง midpoint peg จะได้รับการจับคู่เสมอไปหรือไม่?

ไม่ คำสั่งจะค้างไว้จนกว่าจะมีคำสั่งฝั่งตรงข้ามที่ยินดีซื้อขายที่จุดกึ่งกลาง ในตลาดที่ส่วนต่างราคากว้างและมีสภาพคล่องต่ำ อาจใช้เวลานานมากหรืออาจไม่เกิดขึ้นเลย ในขณะที่ limit order ที่แสดงผลอย่างน้อยก็ยังมีตำแหน่งในคิวที่ราคาที่ตลาดมองเห็นได้

วิธีการสร้างตารางเหล่านี้

ช่วงเวลาที่กำหนดคือวันพุธที่ มิถุนายน 2026 ส่วนต่างราคามาจากข้อมูล NBBO ที่รวบรวมมาโดยมีราคาเสนอซื้อมากกว่าศูนย์และราคาเสนอขายสูงกว่าราคาเสนอซื้อ โดยคำนวณเป็นค่าเฉลี่ยจากการอัปเดต ไม่ใช่ถ่วงน้ำหนักด้วยเวลา รายการซื้อขายจะนับว่าเป็น sub-penny เมื่อราคาไม่ใช่จำนวนเต็มเซนต์ และนับเป็นรายการครึ่งเซนต์เมื่อลงท้ายด้วยครึ่งเซนต์พอดี


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