Strasmore Research
Deep Dives · Matt ConnorBy Matt Connor ·

การแก้ไขคำสั่งซื้อขายส่งผลต่อลำดับคิวอย่างไร

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

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

การแก้ไขคำสั่งซื้อขายทำให้เสียลำดับคิวหรือไม่

กฎสี่ข้อครอบคลุมเกือบทุกตลาดที่นักลงทุนรายย่อยเข้าถึง

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

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

แก้ไขคำสั่งเดิมหรือยกเลิกแล้วส่งใหม่?

ในตลาดซื้อขาย คำสั่งทั้งสองประเภทนี้มีความหมายต่างกัน การแก้ไขคำสั่ง (Amendment) ซึ่งแพลตฟอร์มของคุณอาจเรียกว่าการ Modify หรือ Replace คือการส่งข้อความระบุถึงคำสั่งเดิมพร้อมรายละเอียดที่ต้องการเปลี่ยนแปลง โดยจะดำเนินการแบบเบ็ดเสร็จในคราวเดียว (atomically) คือหากการเปลี่ยนแปลงสำเร็จ คำสั่งจะถูกปรับปรุงทันที แต่หากไม่สำเร็จ คำสั่งเดิมจะยังคงอยู่โดยไม่มีการเปลี่ยนแปลง ส่วนการยกเลิกคำสั่งเดิมแล้วส่งคำสั่งใหม่ (Cancel and replace) คือเหตุการณ์สองเหตุการณ์ที่มีช่วงเวลาคั่นกลาง ซึ่งในช่วงเวลาดังกล่าวคุณจะไม่มีคำสั่งค้างอยู่ในระบบ หากตลาดมีการซื้อขายผ่านระดับราคาของคุณในช่วงเวลาที่ว่างเว้นนั้น คุณจะพลาดโอกาสในการจับคู่คำสั่งไป

ตลาดบางแห่งดำเนินการแก้ไขคำสั่งภายในระบบด้วยวิธีการยกเลิกแล้วส่งใหม่ และโบรกเกอร์บางรายอาจแปลงคำสั่งแก้ไขให้กลายเป็นคำสั่งยกเลิกแล้วส่งใหม่ก่อนส่งถึงตลาด แม้ว่าตลาดนั้นจะรองรับการแก้ไขคำสั่งแบบคงสถานะเดิมไว้ก็ตาม ผลลัพธ์ที่ได้นั้นเหมือนกัน คือลำดับความสำคัญ (priority) ของคำสั่งเดิมจะสูญเสียไป หากคำสั่งแก้ไขถูกปฏิเสธ คำสั่งเดิมจะยังคงค้างอยู่ในระบบ แต่หากคุณเลือกยกเลิกคำสั่งเดิมแล้วคำสั่งใหม่ถูกปฏิเสธ คุณจะไม่มีคำสั่งใด ๆ เหลืออยู่ในตลาดเลย แม้แต่การแก้ไขคำสั่งที่ยังคงลำดับความสำคัญเดิมไว้ มักจะได้รับหมายเลขคำสั่ง (order identifier) ใหม่กลับมา ทำให้บันทึกของคุณแสดงเป็นคำสั่งใหม่ ในขณะที่สมุดคำสั่ง (book) ยังคงนับว่าเป็นคำสั่งเดิมอยู่

ต้นทุนของการแก้ไขคำสั่ง

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

คำสั่งดึงข้อมูลอัตราการระบายคิวตามช่วงเวลา (AAPL, มิถุนายน 2026)
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_time
Run this yourself

ตลอดเดือนมิถุนายน 2026 ช่วงเวลาสิบห้านาทีที่เริ่มตั้งแต่ 09:30 ตามเวลา ET มีปริมาณการซื้อขายหุ้น AAPL เฉลี่ยที่ 182.8 พันหุ้นต่อนาที เมื่อเทียบกับ 62 พันหุ้นในช่วงเวลาที่เริ่มตั้งแต่ 12:00 แม้จะเป็นคำสั่งประเภทเดียวกันและราคาเดียวกัน แต่ระยะเวลาการรอคอยในช่วงเปิดตลาดนั้นแตกต่างจากช่วงกลางวันอย่างสิ้นเชิง

ความน่าจะเป็นในการจับคู่คำสั่งก่อนและหลังการแก้ไขรายการ

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

คำสั่งดึงข้อมูลสัดส่วนของกรอบเวลาหนึ่งนาทีที่มีการซื้อขายอย่างน้อย N หุ้น (มิถุนายน 2026)
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
Run this yourself

เมื่อมีหุ้นจำนวน 500 หุ้นอยู่ข้างหน้าคุณ ปริมาณการซื้อขายในหนึ่งนาทีของ AAPL มีเพียงพอที่จะจับคู่คำสั่งได้ 100 เปอร์เซ็นต์ เทียบกับ 100 เปอร์เซ็นต์ของ KO ที่ระดับ 8000 หุ้น ตัวเลขของ AAPL อยู่ที่ 100 เปอร์เซ็นต์ และเมื่อถึงระดับ 128000 หุ้น ตัวเลขจะลดลงเหลือ 22.2 เปอร์เซ็นต์ เส้นกราฟมีความชันไปในทิศทางเดียว และการเสียลำดับคิวก็ไม่ต่างอะไรกับการเลื่อนไปทางขวาบนเส้นกราฟนี้

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

ระยะการปรับราคาที่จุดคุ้มทุน

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

ให้ V แทนมูลค่าต่อหุ้นที่ได้รับจากการจับคู่ ซึ่งประกอบด้วยกำไรส่วนเพิ่ม (edge) รวมกับเงินคืน (rebate) และให้ t แทนระยะการปรับราคา การแก้ไขคำสั่งจะถึงจุดคุ้มทุนเมื่อโอกาสที่เพิ่มขึ้นคูณกับผลตอบแทนที่ลดลง มีค่าเท่ากับโอกาสเดิมคูณกับผลตอบแทนเต็มจำนวน ซึ่งสามารถจัดรูปสมการใหม่ได้เป็นบรรทัดเดียวดังนี้:

t = V x (1 - p0 / p1)

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

ลองใช้สมการเดียวกันกับบอทที่มีกำไรส่วนเพิ่มเพียงแค่เงินคืนจากผู้ดูแลสภาพคล่อง (maker rebate) เงินคืนระดับสูงสุดในตลาดหุ้นสหรัฐฯ ขนาดใหญ่จะอยู่ที่ประมาณศูนย์จุดสองศูนย์ถึงศูนย์จุดสามศูนย์เซนต์ต่อหุ้น ตามตารางค่าธรรมเนียมที่เผยแพร่ ณ เดือนมิถุนายน 2026 ดังนั้นให้ถือว่าอยู่ที่ศูนย์จุดสองห้าเซนต์ สูตรคำนวณจะให้ระยะการปรับราคาที่จุดคุ้มทุนอยู่ที่ประมาณศูนย์จุดหนึ่งเซนต์ ในขณะที่การเปลี่ยนแปลงราคาที่น้อยที่สุดที่ตลาดสหรัฐฯ ยอมรับได้คือหนึ่งเซนต์เต็ม ซึ่งถือว่าไกลเกินไปประมาณสิบเท่า บอทที่ปรับราคาเพื่อรักษาเงินคืนจึงต้องจ่ายค่าส่วนต่าง (tick) เพื่อไล่ตามเงินคืนเพียงหนึ่งในสี่ของเซนต์เท่านั้น

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

เมื่อไม่มีช่องว่างให้ปรับปรุงราคา

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

คำสั่งดึงข้อมูลความถี่ของส่วนต่างราคาเสนอซื้อเสนอขายที่ระดับ 1 เซนต์ (รอบการซื้อขาย 10 มิถุนายน 2026)
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 DESC
Run this yourself

NFLX แสดงราคาเสนอซื้อขายโดยมีส่วนต่างเพียงหนึ่งเซนต์ใน 81.4 เปอร์เซ็นต์ของการอัปเดตราคาเมื่อวันที่ 10 มิถุนายน 2026 โดยมีส่วนต่างเฉลี่ยอยู่ที่ 1.3 เซนต์ ในขณะที่อีกฝั่งหนึ่งของกระดาน COST มีส่วนต่างเฉลี่ยอยู่ที่ 77.53 เซนต์ ในตลาดที่มีส่วนต่างเพียงหนึ่ง Tick จะไม่มีราคาใดระหว่างราคาเสนอซื้อและราคาเสนอขายให้ขยับไปได้ และหนทางเดียวที่จะแซงคิวได้คือการยอมซื้อหรือขายที่ราคาตลาด (cross the spread) ซึ่งจะทำให้คุณกลายเป็นผู้รับสภาพคล่อง (taker) คุณจะต้องจ่ายค่าธรรมเนียม taker แทนที่จะได้รับเงินคืน (rebate) และต้องเสียส่วนต่างราคาไปแทนที่จะได้กำไรจากส่วนต่างนั้นหนึ่ง Tick

ความถี่ในการตัดสินใจของบอทปรับราคา

บอทที่ติดตามตลาดไม่ได้ทำรายการนี้เพียงครั้งเดียว แต่จะทำทุกครั้งที่ราคาเสนอซื้อสูงสุด (top of the book) เคลื่อนที่ออกจากคำสั่งซื้อของบอท

คำสั่งดึงข้อมูลจำนวนราคาเสนอซื้อที่ดีที่สุดที่เปลี่ยนแปลงในทุก 15 นาที (AAPL และ KO, 10 มิถุนายน 2026)
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_time
Run this yourself

ราคาเสนอซื้อที่ดีที่สุดของ AAPL มีการเปลี่ยนแปลงไปทั้งหมด 359 ระดับราคาในช่วงเวลาสิบห้านาทีที่เริ่มตั้งแต่เวลา 09:30 ตามเวลา ET ของวันที่ 10 มิถุนายน 2026 และเปลี่ยนแปลง 152 ครั้งในช่วงสิบห้านาทีถัดมาที่เริ่มตั้งแต่เวลา 15:45 ส่วนราคาเสนอซื้อที่ดีที่สุดของ KO มีการเปลี่ยนแปลงไป 78 ระดับราคาในช่วงเวลาเปิดตลาดดังกล่าว การเคลื่อนไหวแต่ละครั้งคือการแก้ไขคำสั่งที่บอทปรับราคาอาจส่งเข้าไป และการแก้ไขทุกครั้งจะทำให้ระยะเวลาการรอคอยของบอทเริ่มนับใหม่ บอทเทรดแบบ Grid เลือกใช้วิธีการที่ต่างออกไปโดยการวางคำสั่งเป็นขั้นบันไดไว้ที่ระดับราคาคงที่ ซึ่งแม้ราคาจะล้าสมัยไปแล้ว แต่ลำดับความสำคัญของคำสั่งยังคงอยู่

คำสั่ง Iceberg และการป้องกันการซื้อขายกับตนเอง

ผลกระทบระดับที่สองสองประการมักทำให้นักลงทุนคาดไม่ถึง

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

การป้องกันการซื้อขายกับตนเอง (Self trade prevention) เป็นอีกประเด็นหนึ่ง ตลาดจะไม่ยอมให้คำสั่งของผู้เข้าร่วมรายเดียวกันจับคู่กับคำสั่งที่วางค้างไว้ของตนเอง วิธีแก้ไขโดยทั่วไปคือการยกเลิกคำสั่งใดคำสั่งหนึ่ง หรือในบางตลาดอาจยกเลิกทั้งสองคำสั่ง บอทที่ปรับราคาในสมุดคำสั่งซื้อที่มีช่วงราคาแคบอาจไปยกเลิกคำสั่งเสนอซื้อขายของตนเองที่อยู่อีกฝั่งหนึ่ง ซึ่งทำให้การแก้ไขคำสั่งเพียงครั้งเดียวกลายเป็นการเสียลำดับคิวไปถึงสองตำแหน่ง โดยปกติแล้วการแก้ไขคำสั่งจะยังคงรักษาเงื่อนไขเวลาเดิมไว้ (time in force) ในขณะที่การยกเลิกและส่งคำสั่งใหม่จะเป็นการรีเซ็ตเงื่อนไขเวลาดังกล่าว ซึ่งเป็นรายละเอียดที่ครอบคลุมอยู่ใน order time in force

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

การเปลี่ยนราคาของคำสั่ง Limit order ทำให้เสียลำดับคิวหรือไม่?

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

การยกเลิกและส่งคำสั่งใหม่ (Cancel and replace) เหมือนกับการแก้ไขคำสั่ง (Modify) หรือไม่?

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

การลดจำนวนหุ้นในคำสั่งช่วยรักษาลำดับคิวได้หรือไม่?

ได้ หากเป็นราคาเดิม ระบบซื้อขายจะถือว่าการลดจำนวนหุ้นเป็นการยกเลิกบางส่วน และหุ้นที่เหลืออยู่จะยังคงใช้เวลาประทับ (Timestamp) เดิม แต่การเพิ่มจำนวนหุ้นจะไม่ใช่วิธีการเดียวกัน

ลำดับคิวมีมูลค่าเท่าใด?

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


ตารางทุกรายการในที่นี้มาพร้อมกับ SQL ที่ใช้สร้างข้อมูล หากต้องการเปลี่ยน Ticker หรือช่วงเวลา สามารถสอบถามข้อมูลเดียวกันนี้สำหรับหุ้นตัวใดก็ได้บน Strasmore terminal

#order book#queue position#execution#maker taker#trading bots