ค่าธรรมเนียมการเทรด options คืออะไร
ค่าคอมมิชชันการเทรด options อาจเป็นศูนย์ แต่ต้องคำนวณ bid-ask spread ด้วย ตรวจสอบค่ามัธยฐานของต้นทุนในการเทรด SPY, QQQ, IWM, GLD และ TSLA ในหน่วย basis points
โบรกเกอร์ส่วนใหญ่ไม่คิดค่าธรรมเนียมสำหรับการซื้อขาย options ที่จดทะเบียนในตลาด อย่างไรก็ตาม ทุกคำสั่งซื้อขาย options ที่มีสภาพคล่องยังคงต้องเสีย bid-ask spread ซึ่งคือส่วนต่างระหว่างราคาเสนอซื้อที่ดีที่สุดและราคาเสนอขายที่ดีที่สุด โดยปกติแล้ว options จะซื้อขายกันในราคาที่ต่ำกว่าหุ้นอ้างอิงมาก ดังนั้นส่วนต่างที่มีขนาดเท่ากันเพียงไม่กี่เซนต์จึงคิดเป็นสัดส่วนที่สูงกว่ามากเมื่อเทียบกับมูลค่าการซื้อขาย ใน 2026-07-02 options ของ SPY (ทุกสัญญาที่หมดอายุในปี 2026) มีค่ามัธยฐานของ spread อยู่ที่ 80.97 basis points ในช่วงเวลาทำการปกติ ในขณะที่หุ้น SPY มีค่า spread อยู่ที่ 0.27 bps ซึ่งคิดเป็นส่วนต่างประมาณ 299.9× ข้อมูลทุกตัวด้านล่างนี้วัดจากข้อมูลราคาเสนอซื้อขายและข้อมูลการซื้อขาย options แบบรวมศูนย์ โดยมีคำสั่ง SQL ที่ใช้คำนวณตัวเลขแต่ละตัวประกอบอยู่ด้วย
ทำไมส่วนต่างราคา (spreads) ของ options ถึงดูแตกต่างจากส่วนต่างราคาของหุ้น
สมมติว่าหุ้นตัวหนึ่งมีราคา Bid อยู่ที่ $745.00 และ Ask อยู่ที่ $745.02 ส่วนต่างราคา 2 เซนต์นี้คิดเป็นประมาณ 0.27 bps ของราคาหุ้น ในขณะที่ At-the-money call ของหุ้นตัวเดียวกันอาจมีราคา Bid อยู่ที่ $7.20 และ Ask อยู่ที่ $7.30 ซึ่งเป็นส่วนต่างราคา 10 เซนต์ หรือคิดเป็นประมาณ 138 bps ของราคา Midpoint ที่ $7.25 แม้ว่าส่วนต่างราคาของ option จะมีค่าเป็นเซนต์ที่มากกว่า แต่เมื่อเทียบเป็นสัดส่วนของราคาที่ต้องจ่ายจริงกลับกว้างกว่าหลายร้อยเท่า สาเหตุเกิดจากราคาที่เป็นดอลลาร์ต่ำของ option: เงิน 10 เซนต์ถือเป็นจำนวนเงินที่น้อยในเชิงมูลค่าสัมบูรณ์ แต่คิดเป็นสัดส่วนที่สูงเมื่อเทียบกับราคาสัญญาที่ $7.25
หน่วยมาตรฐานที่มืออาชีพใช้เปรียบเทียบต้นทุนระหว่างเครื่องมือทางการเงินคือ basis point (bp) หรือหนึ่งในร้อยของหนึ่งเปอร์เซ็นต์ เนื่องจากสัญญา option มาตรฐานครอบคลุมหุ้นอ้างอิงจำนวน 100 หุ้น ผลกระทบด้านมูลค่าดอลลาร์ของการซื้อขายจึงแปรผันตามหุ้นอ้างอิง แต่ส่วนต่างราคาจะถูกวัดเทียบกับราคาที่เสนอขายของ option เอง ซึ่งเป็นหน่วยที่ใช้ตลอดทั้งหน้าเพจนี้
SPY options เทียบกับ SPY stock: การเปรียบเทียบแบบตัวต่อตัว
SPY เป็นผลิตภัณฑ์ options ที่มีสภาพคล่องสูงที่สุดในสหรัฐฯ และแม้แต่ในตลาดนี้ ส่วนต่างต้นทุนก็ยังมีความแตกต่างกันอย่างมาก ตารางด้านล่างนี้แสดงการเปรียบเทียบระหว่าง SPY options และ SPY stock ในเซสชันเดียวกัน ทั้งในด้านปริมาณการเสนอราคา (quote traffic) ปริมาณการซื้อขายที่สำเร็จ (executed trades) และค่ามัธยฐานของ spread ที่เสนอราคาของแต่ละผลิตภัณฑ์
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH
opt_q AS (
SELECT
count() AS opt_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS opt_median_spread_ratio
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
stock_q AS (
SELECT
count() AS stock_updates,
quantileDeterministic(0.5)((toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2), cityHash64(ticker, sip_timestamp)) AS stock_median_spread_ratio
FROM global_markets.cache_stocks_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker = 'SPY'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
),
opt_t AS (
SELECT count() AS opt_trades FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
),
stock_close AS (
SELECT round(argMax(toFloat64(close), window_start), 2) AS spy_close
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY' AND window_start >= '2026-07-02 13:30:00' AND window_start < '2026-07-02 20:00:00'
)
SELECT
'2026-07-02' AS session_date,
opt_q.opt_updates AS spy_opt_updates,
stock_q.stock_updates AS spy_stock_updates,
round(opt_q.opt_updates / stock_q.stock_updates, 1) AS opt_to_stock_update_ratio,
opt_t.opt_trades AS spy_opt_trades,
round(opt_q.opt_updates / opt_t.opt_trades, 1) AS quotes_per_trade,
round(opt_q.opt_median_spread_ratio * 10000, 2) AS spy_opt_median_spread_bps,
round(stock_q.stock_median_spread_ratio * 10000, 2) AS spy_stock_median_spread_bps,
round(opt_q.opt_median_spread_ratio / stock_q.stock_median_spread_ratio, 1) AS ratio_opt_to_stock_spread,
stock_close.spy_close AS spy_underlying_close
FROM opt_q CROSS JOIN stock_q CROSS JOIN opt_t CROSS JOIN stock_closeค่ามัธยฐานของ spread ของ SPY options ที่ 80.97 bps หมายความว่าการส่งคำสั่งซื้อขายแบบ round-trip ผ่านราคาตลาด — คือการซื้อที่ราคา ask และขายที่ราคา bid ในภายหลัง — จะทำให้เสียต้นทุนเกือบเท่ากับค่า spread ที่เสนอราคาเมื่อเทียบกับราคา midpoint หรือคิดเป็นประมาณครึ่งหนึ่งของ spread ในแต่ละด้านของการซื้อขาย ในขณะที่การซื้อขายแบบ round-trip ใน SPY stock จะเสียต้นทุนประมาณ 0.27 bps ข้อมูลปริมาณการเสนอราคา (quote traffic) ยังสะท้อนถึงสภาพคล่องในอีกมุมหนึ่ง โดย market makers มีการเสนอราคาใหม่ (quote updates) สำหรับ SPY option จำนวน 256.5 ครั้ง ต่อการซื้อขาย SPY options ที่สำเร็จหนึ่งครั้ง ซึ่งเป็นการปรับราคาใหม่ให้กับชุดการรวม strike และวันหมดอายุ (strike-and-expiry combinations) จำนวนหลายพันรายการในทุกๆ tick
การกระจายตัวของส่วนต่างราคา (spread) ของ SPY options: ไม่ได้มีเพียงค่าเดียว
ค่ามัธยฐาน (median) มีประโยชน์ในการดูภาพรวม แต่ส่วนต่างราคาที่เทรดเดอร์แต่ละรายต้องจ่ายนั้นขึ้นอยู่กับสัญญาที่เลือก โดยปกติแล้ว SPY options ที่มีราคาใกล้เคียงกับราคาตลาด (near-the-money) และใกล้ถึงวันหมดอายุ (near-expiration) มักจะมีส่วนต่างราคาที่แคบที่สุด ในขณะที่สัญญาที่มีราคาห่างจากราคาตลาดมาก (far out-of-the-money) หรือมีอายุคงเหลือยาวนาน (far-dated) อาจมีส่วนต่างราคาที่กว้างกว่ามาก ตารางด้านล่างแสดงการกระจายตัวทั้งหมดของราคาเสนอซื้อและเสนอขาย (two-sided quotes) ที่มีผลบังคับใช้ของ SPY option ในช่วงการซื้อขายนี้
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH opts AS (
SELECT
(toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
SELECT
round(quantileDeterministic(0.10)(spread_bps, det), 2) AS p10_bps,
round(quantileDeterministic(0.25)(spread_bps, det), 2) AS p25_bps,
round(quantileDeterministic(0.50)(spread_bps, det), 2) AS median_bps,
round(quantileDeterministic(0.75)(spread_bps, det), 2) AS p75_bps,
round(quantileDeterministic(0.90)(spread_bps, det), 2) AS p90_bps,
count() AS valid_two_sided_quotes
FROM optsราคาเสนอซื้อขายของ SPY option ในช่วงครึ่งหนึ่งตรงกลางอยู่ระหว่าง 49.65 bps ถึง 147.12 bps โดยหนึ่งในสิบของราคาเสนอซื้อขายมีส่วนต่างแคบกว่า 35.51 bps และหนึ่งในสิบมีส่วนต่างกว้างกว่า 316.51 bps ส่วนปลายของการกระจายตัวที่กว้าง (wide tail) คือกลุ่มราคาใช้สิทธิ (strikes) ที่มีสภาพคล่องต่ำและสัญญาที่มีอายุคงเหลือยาวนาน ซึ่งเป็นกลุ่มสัญญาที่นักลงทุนทั่วไปมีโอกาสซื้อได้ง่ายที่สุด
ความแตกต่างของต้นทุนในผลิตภัณฑ์ยอดนิยม
SPY คือดัชนีชี้วัด แต่ผลิตภัณฑ์ออปชันบางประเภทไม่ได้มีส่วนต่างราคาเสนอซื้อเสนอขาย (spread) ที่แคบเท่ากันหมด ตารางด้านล่างนี้แสดงค่ามัธยฐานของ spread ในช่วงเวลาทำการปกติ โดยมีหน่วยเป็น basis points จากออปชันอ้างอิง 5 ประเภทที่มีการซื้อขายอย่างแพร่หลาย ได้แก่ index ETF 3 ตัว (SPY, QQQ, IWM), gold ETF (GLD) และหุ้นรายตัวที่มีสภาพคล่องออปชันสูง (TSLA) ข้อมูลแต่ละรายการถูกกรองตามช่วงวันหมดอายุในปี 2026 เพื่อให้การดึงข้อมูลจากดัชนี (ticker, sip_timestamp) มีความแม่นยำ และรายการถูกเรียงตามลำดับตัวอักษรเพื่อให้ผลิตภัณฑ์แต่ละตัวอยู่ในตำแหน่งที่คงที่
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
root,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(spread_bps, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width_cents, det), 2) AS median_width_cents
FROM (
SELECT 'SPY' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'QQQ' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:QQQ26' AND ticker < 'O:QQQ27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'IWM' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:IWM26' AND ticker < 'O:IWM27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'GLD' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:GLD26' AND ticker < 'O:GLD27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
UNION ALL
SELECT 'TSLA' AS root, (toFloat64(ask_price) - toFloat64(bid_price)) / ((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000 AS spread_bps, (toFloat64(ask_price) - toFloat64(bid_price)) * 100 AS width_cents, cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:TSLA26' AND ticker < 'O:TSLA27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
)
GROUP BY root
ORDER BY root ASCกลุ่ม index ETF มีต้นทุนที่ต่ำที่สุด: SPY มีค่ามัธยฐาน spread อยู่ที่ 80.97 bps, QQQ อยู่ที่ 123.71 bps และ IWM อยู่ที่ 130.72 bps ในขณะที่กลุ่มที่มีต้นทุนสูงกว่าคือออปชันของ TSLA ซึ่งอยู่ที่ 309.93 bps และออปชันของ GLD อยู่ที่ 786.75 bps ซึ่งถือเป็นโครงสร้างต้นทุนที่แตกต่างกันอย่างสิ้นเชิง คอลัมน์การอัปเดตราคา (หน่วยเป็นล้าน) แสดงข้อมูลที่สอดคล้องกัน กล่าวคือ ผลิตภัณฑ์ที่มีการเสนอราคาหนาแน่นที่สุดจะมีค่า spread ที่แคบที่สุด
ผลกระทบของ 0DTE และสัญญาแบบรายสัปดาห์: อายุสัญญาที่สั้นลงทำให้ส่วนต่างราคา (spread) กว้างขึ้น
สัญญาที่มีระยะเวลาคงเหลือสั้นกว่ามักจะซื้อขายกันในราคาดอลลาร์ที่ต่ำกว่า ซึ่งส่งผลให้ค่า spread ในหน่วย basis points เพิ่มสูงขึ้นโดยอัตโนมัติ แม้ว่าส่วนต่างในหน่วย cents จะยังคงน้อยอยู่ก็ตาม ตารางด้านล่างนี้เป็นการจัดกลุ่มราคาเสนอซื้อขาย (quotes) ของ SPY option ที่ใกล้เคียงกับราคาตลาด (near-the-money) (strike 730–760) ตามวันหมดอายุ โดยแสดงเฉพาะสัญญาที่หมดอายุในปี 2026 ที่มีการอัปเดตราคาอย่างน้อยหนึ่งล้านครั้งในรอบการซื้อขายนี้ เรียงตามลำดับปฏิทิน
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH opts AS (
SELECT
toFloat64(ask_price) - toFloat64(bid_price) AS width,
(toFloat64(ask_price) + toFloat64(bid_price)) / 2 AS mid,
substring(ticker, -15, 6) AS expiry_code,
toUInt32OrZero(substring(ticker, -8)) / 1000 AS strike,
cityHash64(ticker, sip_timestamp) AS det
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
AND bid_price > 0 AND ask_price > 0 AND ask_price > bid_price
AND strike BETWEEN 730 AND 760
)
SELECT
expiry_code,
round(count() / 1e6, 1) AS quote_updates_millions,
round(quantileDeterministic(0.5)(width / mid * 10000, det), 2) AS median_spread_bps,
round(quantileDeterministic(0.5)(width * 100, det), 2) AS median_width_cents
FROM opts
GROUP BY expiry_code
HAVING count() >= 1000000
ORDER BY expiry_code ASCสัญญาที่มีวันหมดอายุในวันเดียวกัน หรือรหัสหมดอายุ 260702 (0DTE) มีค่ามัธยฐานของ spread อยู่ที่ 113.64 bps โดยมีส่วนต่างราคาเพียง 2 cents ส่วนสัญญาที่มีอายุยาวที่สุดในกลุ่มคือ 261231 มีส่วนต่างราคาในหน่วย cents ที่กว้างกว่า (11) แต่มีค่า spread ในหน่วย basis points ที่แคบกว่าอย่างมีนัยสำคัญ โดยอยู่ที่ 37.16 bps นี่คือบทเรียนสำคัญเกี่ยวกับต้นทุนการซื้อขาย options: ส่วนต่างราคาเพียงหนึ่งหรือสอง cents ไม่ได้หมายความว่าราคาถูกเสมอไป หากตัว option นั้นซื้อขายกันที่ราคาเพียงไม่กี่ดอลลาร์ 0DTE options คืออะไร อธิบายถึงกลไกของสัญญาที่มีวันหมดอายุในวันเดียวกัน
ข้อมูลขนาดการซื้อขายบ่งบอกถึงผู้ที่ต้องแบกรับต้นทุนเหล่านี้
การซื้อขาย Options ทำในรูปแบบสัญญา โดยหนึ่งสัญญามาตรฐานครอบคลุมจำนวน 100 หุ้น ค่ามัธยฐานของการซื้อขาย Options ที่ดำเนินการใน 2026-07-02 อยู่ที่เพียง 1 contract แม้แต่ค่าในเปอร์เซ็นไทล์ที่ 90 ก็มีเพียง 10 contracts การซื้อขาย Options ส่วนใหญ่มีขนาดเล็ก และนักลงทุนรายย่อยเป็นกลุ่มที่ได้รับผลกระทบจากค่า spread ที่ระบุไว้มากที่สุด เนื่องจากคำสั่งซื้อขายขนาดใหญ่ของสถาบันมักสามารถต่อรองราคาที่ดีกว่า หรือใช้วิธีแบ่งคำสั่งซื้อขายออกเป็นช่วงเวลาได้
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH trades AS (
SELECT toFloat64(size) AS size FROM global_markets.options_trades
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
)
SELECT
round(quantileExact(0.50)(size), 0) AS median_contracts,
round(quantileExact(0.90)(size), 0) AS p90_contracts,
round(avg(size), 1) AS avg_contracts,
count() AS total_prints
FROM tradesคำถามที่พบบ่อย
การซื้อขาย options มีต้นทุนสูงกว่าการซื้อขายหุ้นหรือไม่?
โดยปกติแล้วจะมีต้นทุนสูงกว่า เมื่อวัดจากสัดส่วนของราคาซื้อขาย ETF ที่มีสภาพคล่องสูงมากอย่าง SPY จะมีค่า spread ที่เสนอซื้อขายต่ำกว่าหนึ่ง basis point เมื่อเทียบกับราคาหุ้น แต่ options ของสินทรัพย์อ้างอิงเดียวกันนั้นมักจะมีค่า spread สูงถึงหลายสิบ basis points จำนวนเงินที่ต้องจ่ายขึ้นอยู่กับราคาของ options และจำนวนสัญญา แต่ค่า spread เมื่อคิดเป็นเปอร์เซ็นต์ของมูลค่า options มักจะสูงกว่าหุ้นเสมอ
ทำไม 0DTE options ถึงมีค่า basis points ที่กว้างมาก?
options แบบรายวันและรายสัปดาห์มักซื้อขายกันที่ราคาต่ำ — บางครั้งต่ำกว่า $1.00 — ในช่วงใกล้หมดอายุ หากค่า spread อยู่ที่หนึ่งหรือสองเซนต์สำหรับ options ราคา $0.50 จะคิดเป็น 2–4% ของราคา หรือ 200–400 bps แม้จำนวนเซนต์จะดูน้อย แต่ต้นทุนในรูปแบบเปอร์เซ็นต์นั้นไม่ใช่ นี่คือเหตุผลที่เทรดเดอร์เปรียบเทียบ spread ด้วยค่า basis points แทนที่จะใช้หน่วยเซนต์
ค่าคอมมิชชันมีความสำคัญมากกว่าค่า spread หรือไม่?
สำหรับการซื้อขายรายย่อยในจำนวนสัญญาเดียว ค่า spread มักจะเป็นต้นทุนหลัก ตัวอย่างเช่น ราคาเสนอซื้อ $1.00 / ราคาเสนอขาย $1.05 จะมีต้นทุน $5.00 ต่อหนึ่งสัญญาสำหรับการซื้อขายไป-กลับแบบเต็มจำนวน (100 หุ้นต่อหนึ่งสัญญา) ก่อนรวมค่าคอมมิชชัน สำหรับผลิตภัณฑ์ที่มีราคาต่ำหรือมี spread กว้าง ค่า spread เพียงอย่างเดียวอาจสูงกว่าค่าคอมมิชชันที่อาจเกิดขึ้นได้
ฉันสามารถหลีกเลี่ยงค่า spread โดยการใช้ limit orders ได้หรือไม่?
การใช้ limit order ภายในช่วง spread อาจทำให้ได้ราคาที่ต่ำกว่าค่า spread เต็มจำนวน แต่ไม่มีการรับประกันว่าจะจับคู่คำสั่งซื้อขายได้ ส่วน marketable order คือการยอมจ่ายค่า spread ตามนิยามของการซื้อขาย ค่า spread คือราคาที่จ่ายเพื่อความรวดเร็วในการทำธุรกรรม ไม่ใช่ค่าธรรมเนียมที่โบรกเกอร์เรียกเก็บ
ผลิตภัณฑ์ options ใดที่มีค่า spread แคบที่สุด?
จากการวัดผลในหน้านี้ ETF ดัชนีขนาดใหญ่ — SPY, QQQ, IWM — มีค่ามัธยฐาน (median) ที่แคบที่สุด และยังมีปริมาณการเสนอราคาที่หนาแน่นที่สุดด้วย ส่วน ETF สินค้าโภคภัณฑ์ (GLD) และ options ของหุ้นรายตัวอาจมีค่า spread ที่กว้างกว่ามาก ค่า spread จะแตกต่างกันไปในแต่ละสัญญา — แม้จะเป็นสินทรัพย์อ้างอิงเดียวกัน แต่หากราคาใช้สิทธิ (strike) และวันหมดอายุต่างกัน — ดังนั้นค่ามัธยฐานเพียงค่าเดียวจึงไม่สามารถครอบคลุมความผันแปรทั้งหมดได้
หมายเหตุข้อมูล
เวลาทั้งหมดถูกจัดเก็บในรูปแบบ UTC; ข้อมูลในช่วงเวลาทำการปกติของวันที่ 2 กรกฎาคม 2026 ถูกกรองด้วย sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00' (9:30 am–4:00 pm ET) สถิติ Spread ใช้เฉพาะราคาเสนอซื้อและราคาเสนอขายที่สมบูรณ์ (bid_price > 0, ask_price > 0, ask_price > bid_price) โดยมีการแปลงราคา Decimal เป็น Float64 ก่อนการคำนวณ และใช้ตัวประมาณค่ามัธยฐานแบบกำหนดผลลัพธ์ตายตัว (quantileDeterministic โดยอ้างอิงจากค่า hash ของ ticker และ timestamp) เพื่อให้การประมวลผลซ้ำได้ผลลัพธ์ที่ตรงกัน ข้อมูลสำรวจด้านล่างนี้เป็นการนับจำนวนรายการ SPY-options ทั้งหมดในช่วงเวลาดังกล่าว และแสดงสัดส่วนของราคาเสนอซื้อและราคาเสนอขายที่สมบูรณ์เมื่อเทียบกับข้อมูลดิบทั้งหมด
การสำรวจคุณภาพราคาเสนอและวิธีการทำงานฉบับเต็ม
SQL เบื้องหลังตัวเลขแต่ละตัว
WITH opts AS (
SELECT
bid_price,
ask_price
FROM global_markets.cache_options_quotes
WHERE sip_timestamp >= '2026-07-02 13:30:00' AND sip_timestamp < '2026-07-02 20:00:00'
AND ticker >= 'O:SPY26' AND ticker < 'O:SPY27'
)
SELECT
count() AS total_updates,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) AS valid_two_sided,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price > bid_price) / count(), 2) AS valid_pct,
countIf(bid_price = 0 OR ask_price = 0) AS one_sided,
round(100.0 * countIf(bid_price = 0 OR ask_price = 0) / count(), 2) AS one_sided_pct,
countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) AS locked_or_crossed,
round(100.0 * countIf(bid_price > 0 AND ask_price > 0 AND ask_price <= bid_price) / count(), 2) AS locked_or_crossed_pct
FROM optsมากกว่า 99.94% ของรายการราคาเสนอ SPY option ในช่วงการซื้อขายเป็นราคาเสนอซื้อและราคาเสนอขายที่สมบูรณ์; รายการที่มีราคาเสนอเพียงด้านเดียวคิดเป็น 0.06% ของข้อมูลทั้งหมด และรายการที่มีราคาเสนอซื้อและราคาเสนอขายเท่ากันหรือซ้อนทับกันมีจำนวนน้อยมาก ตัวเลข Spread ทั้งหมดข้างต้นคำนวณจากกลุ่มข้อมูลราคาเสนอซื้อและราคาเสนอขายที่สมบูรณ์ ซึ่งเป็นต้นทุนที่เทรดเดอร์สามารถสังเกตเห็นได้จริงใน NBBO
- แหล่งข้อมูลตลาด: ข้อมูลราคาเสนอ options แบบรวมศูนย์สไตล์ OPRA (
global_markets.cache_options_quotes), ข้อมูลราคาหุ้นที่เกี่ยวข้อง และข้อมูลการซื้อขาย options แบบรวมศูนย์ (global_markets.options_trades; แผงข้อมูลขนาดการซื้อขายครอบคลุมข้อมูลทั้งหมด ไม่ได้จำกัดเฉพาะ SPY) - รูปแบบ ticker ของ OCC:
O:+ root + วันหมดอายุหกหลัก (YYMMDD) +C/P+ strike price เจ็ดหลัก ×1000 แผงข้อมูล 0DTE จะวิเคราะห์วันหมดอายุและ strike price จาก ticker; การคำนวณ spread จะรวมทั้ง call และ put เข้าด้วยกัน ตัวกรองของแต่ละ root จะครอบคลุมช่วงวันหมดอายุปี 2026 (O:SPY26..O:SPY27และรายการที่เทียบเท่ากัน) เพื่อให้การสแกนทุกครั้งมีประสิทธิภาพบนดัชนี (ticker, sip_timestamp) - นิยามของ Spread:
(ask − bid) / midpoint × 10,000ในหน่วย basis points โดยใช้เฉพาะราคาเสนอซื้อและราคาเสนอขายที่สมบูรณ์เท่านั้น - ค่ามัธยฐานและเปอร์เซ็นไทล์: ตัวประมาณค่าแบบ reservoir
quantileDeterministicโดยอ้างอิงจากcityHash64(ticker, sip_timestamp)— ใช้หน่วยความจำจำกัด และให้ผลลัพธ์ที่เหมือนกันทุกครั้งที่มีการประมวลผลซ้ำ - ราคาปิดของสินทรัพย์อ้างอิง: แท่งราคา (minute bar) สุดท้ายในช่วงเวลาทำการปกติจาก
delayed_stocks_minute_aggs - ช่วงเวลาการซื้อขาย: 13:30–20:00 UTC โดยตรวจสอบเทียบกับแท่งราคา SPY รายนาทีที่เกิดขึ้นจริง แทนการคำนวณตามปฏิทิน
- เซสชันที่กำหนด: 2 กรกฎาคม 2026 — เป็นเซสชันที่เสร็จสมบูรณ์และผ่านพ้นช่วงเวลาหน่วงของการนำเข้าข้อมูลของคลังข้อมูลประมาณ 1–2 วัน ณ เวลาที่เขียนบทความ (9 กรกฎาคม 2026) ข้อมูลวันที่ถูกกำหนดไว้ตายตัว ดังนั้นการประมวลผลซ้ำจะได้ตัวเลขเดิม
ต้องการทราบต้นทุนของสัญญาเฉพาะเจาะจงหรือไม่? แผงข้อมูลทั้งหมดข้างต้นคือการเรียกใช้คำสั่งที่จัดเก็บไว้ — คุณสามารถรันคำสั่งเหล่านี้หรือปรับเปลี่ยนเงื่อนไขเองได้บนเทอร์มินัลของ Strasmore สำหรับข้อมูลเพิ่มเติมเกี่ยวกับกลไกการทำงาน โปรดดู ต้นทุนในการซื้อขายหุ้น, bid-ask spread คืออะไร, 0DTE options, ขนาดของข้อมูลราคาเสนอ options, และ ปริมาณการซื้อขาย options เทียบกับ open interest