Strasmore Research
การเรียนรู้ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-08-08

Time in Force คืออะไร อธิบาย Day GTC IOC และ FOK

ทำความเข้าใจ Time in Force สำหรับกำหนดระยะเวลาและเงื่อนไขการจับคู่คำสั่งซื้อขายหุ้น เรียนรู้ความแตกต่างของ Day GTC IOC และ FOK เพื่อวางแผนกลยุทธ์การเทรดให้มีประสิทธิภาพสูงสุด

Time in force คือช่องข้อมูลในใบคำสั่งซื้อขายที่ตอบคำถามเพียงข้อเดียวว่า: คำสั่งนี้ควรมีผลอยู่นานเท่าใด ประเภทของคำสั่ง (order type) เป็นตัวกำหนดราคา ส่วน Time in force เป็นตัวกำหนดเวลาและเงื่อนไขการจับคู่คำสั่งซื้อขาย (fill condition) ใบคำสั่งซื้อขายหุ้นและออปชันทุกใบจะมีทั้งสองช่องนี้ และค่าเริ่มต้นที่แพลตฟอร์มกำหนดมาให้ก็ถือเป็นทางเลือกหนึ่งที่คุณต้องตัดสินใจ

Time in force ในการเทรดคืออะไร?

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

อย่างที่สองคือระยะเวลา Time in force จะบอกตลาดว่าส่วนที่ยังจับคู่ไม่ได้ของคำสั่งซื้อขายของคุณจะยังคงทำงานต่อไปนานเท่าใด และยอมรับการจับคู่เพียงบางส่วน (partial fill) ได้หรือไม่ คำสั่ง limit order เพื่อซื้อหุ้น 500 หุ้นที่ราคา 50 ดอลลาร์ มีคำสั่งทั้งสองอย่างนี้พร้อมกัน คือราคาและระยะเวลา หากคุณเปลี่ยนระยะเวลา คุณได้ส่งคำสั่งซื้อขายใหม่ไปแล้ว แม้ราคาจะยังเท่าเดิมก็ตาม

คำศัพท์ในส่วนนี้มีไม่มาก ระยะเวลาสี่แบบครอบคลุมเกือบทุกคำสั่งที่แพลตฟอร์มสำหรับนักลงทุนรายย่อยแสดง ได้แก่ day, good-til-canceled, good-til-date และคู่คำสั่งที่เน้นความรวดเร็วทันทีอย่าง immediate-or-cancel และ fill-or-kill นอกจากนี้ยังมีเงื่อนไขการจับคู่ (execution qualifiers) เพิ่มเติม และคำสั่งสำหรับการประมูล (auction instructions) ที่เข้ามาแทนที่ระยะเวลาทั้งหมด

คำสั่งแบบ Day, GTC และ good-til-date

Day: คำสั่งจะมีผลจนถึงสิ้นสุดช่วงเวลาทำการปกติ และปริมาณที่ยังจับคู่ไม่ได้จะถูกยกเลิกเมื่อตลาดปิด นี่คือค่าเริ่มต้นในแพลตฟอร์มสำหรับนักลงทุนรายย่อยเกือบทุกแห่ง คำสั่งแบบ day ที่ส่งตอน 10:00 น. และยังจับคู่ไม่ได้เมื่อถึง 16:00 น. จะสิ้นสุดสถานะลงทันที และไม่มีผลต่อเนื่องไปถึงวันถัดไป

Good-til-canceled (GTC): คำสั่งจะคงค้างข้ามวันจนกว่าจะจับคู่ได้หรือคุณยกเลิกเอง ตลาดหุ้นสหรัฐฯ ส่วนใหญ่ทำงานด้วยคำสั่งแบบ day ซึ่งหมายความว่าคำสั่ง GTC มักจะค้างอยู่ในระบบของโบรกเกอร์และถูกส่งเข้าตลาดใหม่ทุกเช้า ลำดับคิว (queue position) จะถูกรีเซ็ตใหม่ทั้งหมด ตำแหน่งเดิมที่คุณเคยต่อคิวไว้เมื่อวานที่ราคานั้นจะหายไป

Good-til-date (GTD): คือ GTC ที่มีวันหมดอายุที่คุณกำหนดเอง มีประโยชน์เมื่อเหตุผลในการส่งคำสั่งซื้อขายมีกรอบเวลาที่ชัดเจน

Extended-hours day: บางแพลตฟอร์มเสนอระยะเวลาที่ทำให้คำสั่งแบบ day ยังคงทำงานต่อเนื่องในช่วง pre-market และ after-hours แทนที่จะหยุดลงที่ 16:00 น.

ช่วงเวลาทำงานของคำสั่งแบบ day สอดคล้องกับการกระจายตัวของปริมาณการซื้อขายที่ไม่เท่ากัน แผงข้อมูลด้านล่างแสดงปริมาณการซื้อขาย SPY ตลอดทั้งเดือนตามเวลา ET ตั้งแต่เริ่มช่วง pre-market เวลา 4:00 น. จนถึงสิ้นสุดช่วง after-hours เวลา 20:00 น.

คำสั่งดึงข้อมูลปริมาณการซื้อขาย SPY ตามชั่วโมงการซื้อขาย (ET) ประจำเดือนมิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    formatDateTime(toStartOfHour(toTimeZone(window_start, 'America/New_York')), '%H:%i') AS et_time,
    round(100 * sum(volume) / sum(sum(volume)) OVER (), 2)                               AS pct_of_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2026-06-01 08:00:00', 'UTC')
  AND window_start <  toDateTime('2026-07-01 00:00:00', 'UTC')
GROUP BY et_time
ORDER BY et_time
Run this yourself

ตลอดเดือนมิถุนายน 2026 ชั่วโมง 04:00 มีปริมาณการซื้อขายหุ้น SPY คิดเป็น 0.27% ของปริมาณรวมทั้งเดือน ชั่วโมง 09:00 ซึ่งเปิดด้วยระฆังเวลา 9:30 น. มีปริมาณ 9.32% ชั่วโมง 16:00 เป็นช่วงผสม: เป็นช่วงที่มีการบันทึกการซื้อขายปิดตลาด (closing auction print) ควบคู่ไปกับช่วงเริ่มต้นของการซื้อขายหลังปิดตลาด (after-hours) โดยมีปริมาณอยู่ที่ 14.42% คำสั่งแบบ day ปกติจะมีผลเฉพาะช่วงกลางของกราฟนี้เท่านั้น และไม่มีผลในช่วงเวลาต้นและท้ายของวัน

เกิดอะไรขึ้นกับคำสั่ง GTC หลังจากการแตกหุ้น (split) หรือการจ่ายเงินปันผล?

คำสั่ง GTC สามารถค้างอยู่ในระบบได้นานหลายสัปดาห์ ซึ่งทำให้การดำเนินงานของบริษัท (corporate actions) มีโอกาสส่งผลกระทบต่อคำสั่งนั้น โดยทั่วไปมีวิธีจัดการสองแบบ โบรกเกอร์บางแห่งจะยกเลิกคำสั่ง GTC ทั้งหมดที่มีในหุ้นตัวนั้นเมื่อถึงวัน ex-dividend หรือเมื่อการแตกหุ้นมีผล ส่วนโบรกเกอร์อื่นจะปรับราคา limit และจำนวนหุ้นให้สอดคล้องกับจำนวนหุ้นใหม่ ทั้งสองวิธีมีเหตุผลรองรับ แต่ทั้งสองวิธีไม่เหมือนกัน และใบคำสั่งซื้อขายไม่ได้ระบุว่าบัญชีของคุณใช้วิธีใด

โบรกเกอร์ส่วนใหญ่ยังจำกัดระยะเวลาของ GTC ไว้ที่ประมาณ 60 ถึง 90 วันตามปฏิทิน หลังจากนั้นคำสั่งจะหมดอายุลงเอง คำสั่งที่ตั้งไว้ในเดือนมีนาคมมักจะหายไปภายในเดือนมิถุนายนโดยที่ตลาดไม่เคยจับคู่คำสั่งนั้นเลย

กรณีการแตกหุ้นเป็นสิ่งที่ชัดเจนกว่า การแตกหุ้นแบบ 1-for-10 (reverse split) จะเปลี่ยนหุ้น 100 หุ้นให้เหลือ 10 หุ้น และคูณราคาอ้างอิงขึ้นสิบเท่าในเช้าวันเดียวกัน คำสั่งซื้อ limit order ที่ราคา 2 ดอลลาร์สำหรับหุ้นเดิมจะไม่มีความหมายสำหรับหุ้นใหม่ การแตกหุ้นไม่ใช่เหตุการณ์ที่เกิดขึ้นได้ยาก แผงข้อมูลนี้จะนับจำนวนการแตกหุ้นทั้งหมดในตลาดสหรัฐฯ รายเดือน

คำสั่งดึงข้อมูลจำนวนการแตกหุ้นและรวมหุ้นของบริษัทจดทะเบียนในสหรัฐฯ ต่อเดือน
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    formatDateTime(toStartOfMonth(execution_date), '%Y-%m')            AS month,
    countDistinctIf(id, toFloat64(split_to) > toFloat64(split_from))   AS forward_splits,
    countDistinctIf(id, toFloat64(split_to) < toFloat64(split_from))   AS reverse_splits
FROM global_markets.stocks_splits
WHERE execution_date >= toDate('2025-08-01')
  AND execution_date <  toDate('2026-08-01')
GROUP BY month
ORDER BY month
Run this yourself

ช่วงเวลาข้อมูลนี้เริ่มตั้งแต่ 2025-08 ถึง 2026-07 ในเดือน 2026-07 ตลาดบันทึกการแตกหุ้นแบบ forward splits จำนวน 45 ครั้ง และแบบ reverse splits จำนวน 119 ครั้ง ทุกวันที่ระบุคือเช้าวันที่คำสั่งซื้อขายที่ค้างอยู่ในชื่อหุ้นนั้นถูกยกเลิกหรือเขียนใหม่ ซึ่งนักลงทุนที่ตั้งคำสั่งไว้ล่วงหน้าหลายสัปดาห์จะได้รับทราบในภายหลัง

ความแตกต่างระหว่าง IOC และ FOK คืออะไร?

Immediate-or-cancel และ fill-or-kill ก็เป็นระยะเวลาเช่นกัน โดยมีระยะเวลาเพียงชั่วพริบตาเดียว

Immediate-or-cancel (IOC): จับคู่ปริมาณเท่าที่มีให้ได้ที่ราคา limit ของคุณในขณะนั้น แล้วยกเลิกส่วนที่เหลือ การจับคู่เพียงบางส่วนเป็นผลลัพธ์ที่คาดการณ์ได้ คำสั่ง IOC สำหรับ 5,000 หุ้นที่พบหุ้นว่างเพียง 800 หุ้น จะจับคู่ 800 หุ้นนั้น ส่วนที่เหลืออีก 4,200 หุ้นจะถูกยกเลิกทันที

Fill-or-kill (FOK): ต้องจับคู่ให้ได้เต็มจำนวนทันที มิฉะนั้นจะไม่ทำรายการเลย คำสั่งเดียวกันนี้หากพบหุ้นเพียง 800 หุ้น จะจับคู่เป็นศูนย์

All-or-none (AON): ต้องจับคู่ให้ได้เต็มจำนวน แต่มีความอดทน คำสั่ง AON จะรอจนกว่าจะได้ครบจำนวนแทนที่จะยกเลิก ซึ่งหมายความว่าต้องมีระยะเวลากำกับไว้ด้วย เช่น AON แบบ day หรือ AON แบบ good-til-canceled

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

คำสั่งดึงข้อมูลขนาดการซื้อขาย (Print sizes) ของ 5 หุ้นหลัก ช่วงเวลา 10:00 ถึง 11:00 น. (ET) วันที่ 10 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    ticker                                          AS symbol,
    round(avg(size), 0)                             AS avg_print_shares,
    round(100 * countIf(size >= 1000) / count(), 2) AS large_print_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('SPY', 'AAPL', 'NVDA', 'MSFT', 'KO')
  AND sip_timestamp >= toDateTime('2026-06-10 14:00:00', 'UTC')
  AND sip_timestamp <  toDateTime('2026-06-10 15:00:00', 'UTC')
  AND size > 0
GROUP BY ticker
ORDER BY large_print_pct DESC
Run this yourself

ตลอดชั่วโมงนั้น NVDA มีสัดส่วนการซื้อขายที่ 1,000 หุ้นขึ้นไปมากที่สุด คิดเป็น 0.32% ของจำนวนรายการทั้งหมด โดยมีค่าเฉลี่ยการซื้อขายอยู่ที่ 38 หุ้น ในขณะที่อีกด้านหนึ่ง MSFT มีรายการซื้อขายในระดับนี้เพียง 0.1% หากคุณส่งคำสั่ง fill-or-kill สำหรับ 5,000 หุ้นเข้าไปในตลาดที่รายการซื้อขายปกติมีเพียงไม่กี่ร้อยหุ้น ผลลัพธ์ที่น่าจะเป็นไปได้มากที่สุดคือการถูกยกเลิกแทนที่จะได้รับการจับคู่

Market-on-close และ limit-on-close: คำสั่งสำหรับการประมูล

คำสั่งสองประเภทนี้ไม่ได้ระบุระยะเวลา แต่ระบุเหตุการณ์

Market-on-close (MOC) จะส่งคำสั่งเข้าสู่การประมูลปิดตลาด (closing auction) โดยจับคู่ที่ราคาปิดอย่างเป็นทางการ ส่วน Limit-on-close (LOC) จะทำเช่นเดียวกันโดยมีเพดานราคาหรือราคาขั้นต่ำ โดยจะเข้าร่วมเฉพาะเมื่อราคาปิดเท่ากับหรือดีกว่าราคา limit ที่ตั้งไว้ ส่วนคำสั่งในช่วงเช้าคือ market-on-open และ limit-on-open ซึ่งจะส่งเข้าสู่การประมูลเปิดตลาด (opening cross)

ข้อควรระวังคือเวลาตัดยอด ในตลาดหลักของสหรัฐฯ การส่งคำสั่ง MOC และ LOC จะปิดรับเวลา 15:50 น. ET และหลังจากนั้นจะไม่สามารถยกเลิกหรือแก้ไขคำสั่งได้ เว้นแต่จะเป็นการแก้ไขข้อผิดพลาดที่เกิดขึ้นจริง ส่วนคำสั่งเปิดตลาดจะปิดรับประมาณ 9:28 น. ET ในช่วงสุดท้ายนี้ คุณต้องยอมรับผลลัพธ์จากการประมูล คู่มือ closing auction และ opening auction จะอธิบายวิธีการคำนวณการประมูลแต่ละแบบ

สิ่งที่นักเทรดได้รับจากการยอมสละสิทธิ์ในการยกเลิกคือการจับคู่ที่ราคาปิดอย่างเป็นทางการ แผงข้อมูลนี้วัดปริมาณการซื้อขายตั้งแต่ 15:45 น. ET จนถึงปิดตลาด โดยเฉลี่ยจากช่วงการซื้อขาย SPY ตลอดหนึ่งเดือน

คำสั่งดึงข้อมูลปริมาณการซื้อขาย SPY รายนาทีในช่วงปิดตลาด ค่าเฉลี่ยเดือนมิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
    formatDateTime(toTimeZone(window_start, 'America/New_York'), '%H:%i') AS et_time,
    round(sum(volume) / countDistinct(toDate(toTimeZone(window_start, 'America/New_York'))) / 1e6, 2) AS volume_millions
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
  AND window_start >= toDateTime('2026-06-01 08:00:00', 'UTC')
  AND window_start <  toDateTime('2026-07-01 00:00:00', 'UTC')
  AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
       + toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 945 AND 960
GROUP BY et_time
ORDER BY et_time
Run this yourself

แผงข้อมูลแสดงผลเป็นรายนาที แท่ง 15:45 มีปริมาณเฉลี่ย 0.22 ล้านหุ้น SPY ต่อช่วงการซื้อขาย และแท่ง 16:00 มีปริมาณเฉลี่ย 0.39 ล้านหุ้น การประมูลไม่ใช่การซื้อขายต่อเนื่องอีกหนึ่งนาที แต่เป็นเหตุการณ์จับคู่ครั้งเดียวที่ราคาทางการราคาเดียว และใบคำสั่ง MOC หรือ LOC คือคำขอเพื่อเข้าร่วมในการประมูลนั้น การตัดยอดเวลา 15:50 น. คือต้นทุนของคำขอดังกล่าว

Time in force นอกเวลาทำการปกติ

ช่วงเวลาซื้อขายพิเศษ (extended-hours) เปลี่ยนกฎเกณฑ์ ตลาดส่วนใหญ่รับเฉพาะคำสั่ง limit order เท่านั้นนอกเวลา 9:30 น. ถึง 16:00 น. ET และคำสั่งแบบ day ที่ส่งสำหรับช่วงเวลาปกติจะไม่ต่อเนื่องไปยังช่วง after-hours โดยอัตโนมัติ คู่มือ after hours and premarket trading อธิบายช่วงเวลาเหล่านี้ไว้อย่างละเอียด แผงข้อมูลรายชั่วโมงด้านบนแสดงให้เห็นถึงสภาพคล่องที่เบาบางซึ่งเป็นเหตุผลของกฎ limit-only: ชั่วโมง 19:00 มีปริมาณการซื้อขาย SPY คิดเป็น 0.17% ของปริมาณรวมทั้งเดือน

ออปชันมีประเด็นที่แตกต่างออกไป ช่วงเวลาสุดท้ายที่สัญญาออปชันสามารถซื้อขายได้จะใช้คนละนาฬิกากับหุ้นอ้างอิง และออปชันที่กำลังจะหมดอายุมีเวลาตัดยอดที่เข้มงวดซึ่งไม่มีการตั้งค่าระยะเวลาใดจะขยายออกไปได้ คู่มือ guide to when options stop trading มีรายละเอียดเฉพาะเจาะจง

การอ่านใบคำสั่งซื้อขาย: ระยะเวลาบวกเงื่อนไข

  • Day, ไม่มีเงื่อนไข: ทำงานจนถึงปิดตลาด ยอมรับการจับคู่บางส่วนได้ เป็นค่าเริ่มต้นทั่วไป
  • Day พร้อม IOC: จับคู่เท่าที่มีในขณะนั้น ยกเลิกส่วนที่เหลือ ไม่มีการค้างคำสั่งในระบบ
  • Day พร้อม FOK: จับคู่เต็มจำนวนในขณะนั้น มิฉะนั้นไม่ทำรายการ ไม่มีการค้างคำสั่งในระบบ
  • Day พร้อม AON: จับคู่เต็มจำนวน โดยรอจนถึงปิดตลาด
  • GTC พร้อม AON: จับคู่เต็มจำนวน โดยรอข้ามวันจนกว่าจะถึงวันหมดอายุของโบรกเกอร์
  • GTD, ไม่มีเงื่อนไข: ยอมรับการจับคู่บางส่วนได้ ทำงานจนถึงวันที่คุณระบุ
  • MOC หรือ LOC: ไม่มีช่องระยะเวลา การประมูลคือคำสั่ง และ 15:50 น. ET คือเวลาสุดท้ายที่จะเปลี่ยนใจ

ชื่อเรียกในแต่ละแพลตฟอร์มอาจแตกต่างกัน แต่คำสั่งพื้นฐานนั้นเหมือนกัน การจับคู่คำศัพท์บนหน้าจอของคุณกับรายการนี้มักใช้เวลาเพียงหนึ่งนาที

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

Time in force บนคำสั่งซื้อขายหมายความว่าอย่างไร?

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

ความแตกต่างระหว่างคำสั่งแบบ day และคำสั่ง GTC คืออะไร?

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

คำสั่ง GTC จะเปิดค้างไว้ตลอดไปหรือไม่?

ไม่ โบรกเกอร์ส่วนใหญ่จำกัดคำสั่ง GTC ไว้ที่ประมาณ 60 ถึง 90 วันตามปฏิทิน และหลายแห่งจะยกเลิกคำสั่งเมื่อหุ้นขึ้นเครื่องหมาย ex-dividend หรือแตกหุ้น การจัดการที่แน่นอนขึ้นอยู่กับโบรกเกอร์และระบุไว้ในข้อตกลงบัญชี

ความแตกต่างระหว่าง IOC และ FOK คืออะไร?

คำสั่ง immediate-or-cancel จะจับคู่ปริมาณเท่าที่มีในขณะนั้นและยกเลิกส่วนที่เหลือ ทำให้การจับคู่เพียงบางส่วนเป็นเรื่องปกติ ส่วนคำสั่ง fill-or-kill ต้องการปริมาณเต็มจำนวนทันที หากได้ไม่ครบจะไม่เกิดการซื้อขายเลย

สามารถยกเลิกคำสั่ง market-on-close ได้หรือไม่?

ไม่ได้หากเกินเวลาตัดยอดของตลาด ซึ่งคือ 15:50 น. ET ในตลาดหลักของสหรัฐฯ ก่อนเวลานั้นสามารถส่งหรือยกเลิกคำสั่ง MOC ได้เหมือนคำสั่งอื่น หลังจากเวลานั้นจะรับเฉพาะการแก้ไขข้อผิดพลาดที่เกิดขึ้นจริงเท่านั้น


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