ระบบ Self-match prevention และกฎการซื้อขาย Wash trade
ทำความเข้าใจกลไก Self-match prevention ในระบบ matching engine เพื่อป้องกันการจับคู่คำสั่งซื้อขายกันเอง พร้อมอธิบายความแตกต่างเชิงกฎหมายระหว่างการตั้งค่าทางเทคนิคกับการทำ Wash trade
ระบบป้องกันการจับคู่กันเอง (Self-match prevention) คือฟีเจอร์ของระบบจับคู่คำสั่งซื้อขาย (matching engine) ที่ทำหน้าที่หยุดยั้งไม่ให้คำสั่งสองรายการจากบริษัทเดียวกันจับคู่กันเอง คำสั่งซื้อขายจะมีตัวระบุ (identifier) กำกับไว้เมื่อส่งเข้าสู่ระบบ และเมื่อคำสั่งสองรายการที่มีตัวระบุเดียวกันกำลังจะจับคู่กัน ระบบจะยกเลิกคำสั่งรายการใดรายการหนึ่งหรือทั้งสองรายการก่อนที่จะมีการบันทึกการซื้อขายเกิดขึ้น ระบบป้องกันการจับคู่กันเองเป็นกลไกทางเทคนิคของตลาดที่คุณต้องเปิดใช้งาน ในขณะที่ข้อห้ามเรื่องการซื้อขายล้างสถานะ (wash trade) เป็นข้อบังคับทางกฎหมาย ซึ่งทั้งสองเรื่องนี้มีขอบเขตที่แตกต่างกัน
ทันทีที่กลยุทธ์ที่สองของคุณส่งคำสั่งซื้อขายในตราสารเดียวกับที่กลยุทธ์แรกของคุณกำลังเสนอราคาอยู่ กฎนี้จะมีผลบังคับใช้กับคุณทันที บอทแบบสองฝั่ง (two-ladder grid bot) ในสัญลักษณ์เดียวก็ต้องปฏิบัติตามกฎนี้เช่นเดียวกับโต๊ะซื้อขายของธนาคาร
การทำงานของระบบป้องกันการจับคู่กันเองในระดับ Matching Engine
ทุกคำสั่งซื้อขายที่ตลาดได้รับจะมีฟิลด์ข้อมูลที่ระบบจะอ่านก่อนทำการจับคู่ ได้แก่ ฝั่ง (side) ราคา (price) ปริมาณ (size) และระยะเวลาที่มีผล (time in force) ระบบป้องกันการจับคู่กันเองจะเพิ่มข้อมูลอีกสองส่วน ส่วนแรกคือตัวระบุ (identifier) ซึ่งเป็นตัวเลขหรือข้อความที่ระบุว่าคำสั่งนั้นเป็นของบริษัท บัญชี หรือกลุ่มกลยุทธ์ใด ส่วนที่สองคือคำสั่งที่ระบุให้ระบบดำเนินการอย่างไรเมื่อคำสั่งที่ใช้งานอยู่สองรายการที่มีตัวระบุเดียวกันกำลังจะจับคู่กัน
การตรวจสอบจะเกิดขึ้นในเสี้ยววินาทีที่คำสั่งเชิงรุก (aggressing order) เข้าถึงราคาของคำสั่งที่รออยู่ในสมุดคำสั่ง (resting order) ซึ่งจะทำให้เกิดการจับคู่ โดยทั่วไปมีผลลัพธ์ 4 รูปแบบ:
- ยกเลิกคำสั่งที่รออยู่ในสมุด (Cancel the resting order): คำสั่งที่เข้ามาใหม่จะดำเนินการต่อไปในสมุดคำสั่งและสามารถจับคู่กับคำสั่งอื่นที่รออยู่ในระดับราคานั้นได้
- ยกเลิกคำสั่งที่เข้ามาใหม่ (Cancel the incoming order): คำสั่งที่รออยู่ในสมุดจะยังคงลำดับคิวไว้ และคำสั่งที่เข้ามาใหม่จะหายไป
- ยกเลิกทั้งสองคำสั่ง (Cancel both orders): เป็นการตั้งค่าที่เข้มงวดที่สุด
- ลดปริมาณและยกเลิก (Decrement and cancel): คำสั่งที่มีขนาดใหญ่กว่าจะถูกลดปริมาณลงตามขนาดของคำสั่งที่เล็กกว่า ส่วนคำสั่งที่เล็กกว่าจะถูกยกเลิก และส่วนที่เหลือของคำสั่งใหญ่จะยังคงมีผลอยู่
ไม่มีการซื้อขายเกิดขึ้นในทั้งสี่กรณี ไม่มีการบันทึกการซื้อขายลงในเทป (tape) ไม่มีการบันทึกในประวัติการจับคู่ (fill log) แต่จะมีข้อความยกเลิกที่ไม่ได้ร้องขอ (unsolicited cancel) ส่งกลับไปยังคำสั่งหนึ่งหรือทั้งสองฝั่งแทน
ลำดับคิว (Queue position) คือต้นทุนที่มองไม่เห็น คำสั่งที่รออยู่ในสมุดซึ่งถูกยกเลิกภายใต้คำสั่งยกเลิกรายการที่เก่าที่สุด (cancel-oldest) จะสูญเสียสิทธิประโยชน์ทั้งหมดที่ได้รับจากการรอคิว ภายใต้หลักการ ลำดับความสำคัญของราคาและเวลา (price-time priority) การสูญเสียนี้ถือเป็นเรื่องใหญ่ เพราะการส่งคำสั่งใหม่เข้าไปจะทำให้คำสั่งของคุณไปอยู่ต่อท้ายทุกคนที่เข้ามาต่อคิวในระหว่างที่คุณรออยู่ คู่มือของเราเรื่อง การประมาณการลำดับคิว (estimating queue position) จะอธิบายว่าตำแหน่งในแถวนั้นมีมูลค่าเท่าใด
หนึ่งตราสาร หลายสมุดคำสั่ง
การตรวจสอบนี้ทำในระดับตลาด (per venue) ระบบจะเปรียบเทียบเฉพาะคำสั่งที่อยู่ในสมุดของตนเองเท่านั้น คำสั่งสองรายการของคุณที่รออยู่ในสมุดที่ต่างกันจะไม่สามารถมองเห็นกันได้ และไม่มีกลไกใดในตลาดหุ้นสหรัฐฯ ที่จะเชื่อมโยงข้ามสมุดคำสั่งเหล่านั้นได้ หุ้นสหรัฐฯ หนึ่งตัวสามารถเสนอราคาได้ในหลายสมุดคำสั่งพร้อมกัน แผงข้อมูลด้านล่างนี้แสดงจำนวนตลาดที่เสนอราคาและบันทึกการซื้อขายสำหรับหุ้นชื่อดัง 6 ตัว ในช่วงเวลา 15 นาทีของเช้าวันที่ 10 มิถุนายน 2026
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
q.ticker AS ticker,
q.quoting_venues AS quoting_venues,
t.printing_venues AS printing_venues
FROM
(
SELECT
ticker,
countDistinct(bid_exchange) AS quoting_venues
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
AND sip_timestamp >= toDateTime('2026-06-10 14:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-10 14:15:00', 'UTC')
AND bid_price > 0
GROUP BY ticker
) AS q
INNER JOIN
(
SELECT
ticker,
countDistinct(exchange) AS printing_venues
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'MSFT', 'NVDA', 'SPY', 'KO', 'JNJ')
AND sip_timestamp >= toDateTime('2026-06-10 14:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-10 14:15:00', 'UTC')
GROUP BY ticker
) AS t ON t.ticker = q.ticker
ORDER BY quoting_venues DESC, tickerAAPL มีการเสนอราคาจาก 16 ตลาดที่แตกต่างกันในช่วง 15 นาทีนั้น และมีการบันทึกการซื้อขายเกิดขึ้นใน 17 แห่ง หุ้นที่มีสภาพคล่องต่ำที่สุดในกลุ่มนี้ยังมีตลาดที่เสนอราคาถึง 11 แห่ง ระบบส่งคำสั่งซื้อขายอัจฉริยะ (smart order router) ที่ออกแบบมาเพื่อแยกคำสั่งย่อยมักจะส่งกลยุทธ์ทั้งสองของคุณไปไว้ในสมุดคำสั่งที่ต่างกัน ซึ่งไม่มีการตรวจสอบในระดับระบบจับคู่ บริษัทต่างๆ จะจัดการช่องว่างนี้ที่ต้นทาง ในชั้นการจัดการคำสั่งซื้อขาย (order management layer) ก่อนที่คำสั่งจะถูกส่งออกไป การที่คำสั่งของคุณเองวางอยู่คนละฝั่งในราคาเดียวกันในสองสมุดคำสั่งยังทำให้เกิด ภาวะตลาดที่ราคาเหลื่อมกัน (locked or crossed market) ซึ่งมีกฎเกณฑ์เฉพาะของมันเอง
จำนวนการจับคู่ที่เกิดขึ้นในหนึ่งสมุดคำสั่งต่อหนึ่งช่วงการซื้อขาย
การตรวจสอบการจับคู่กันเองจะอยู่ในเส้นทางของการจับคู่ทุกรายการที่ระบบทำ และในหุ้นที่มีสภาพคล่องสูง เส้นทางนี้จะทำงานตลอดทั้งวัน แผงข้อมูลด้านล่างนี้แบ่งช่วงการซื้อขายเต็มวันของหุ้นตัวหนึ่งออกเป็นช่วงละ 15 นาที และนับจำนวนการซื้อขายในแต่ละช่วง โดยแสดงเฉพาะช่วงที่มีการซื้อขายอย่างน้อย 200 รายการ
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
formatDateTime(toStartOfInterval(toTimeZone(sip_timestamp, 'America/New_York'), INTERVAL 15 MINUTE), '%H:%i') AS et_time,
count() AS trade_count
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-10 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-11 04:00:00', 'UTC')
GROUP BY et_time
HAVING count() >= 200
ORDER BY et_timeที่เวลา 04:00 ET หุ้นตัวนั้นมีการซื้อขาย 9402 รายการใน 15 นาที และที่เวลา 19:45 ET มีการซื้อขาย 1345 รายการ รวมทั้งหมด 64 ช่วงเวลาที่มีการซื้อขายเกิน 200 รายการ การซื้อขายแต่ละรายการคือคู่คำสั่งที่ระบบนำมาจับคู่กัน และระบบจะอ่านตัวระบุของทั้งสองฝั่งก่อนที่จะอนุญาตให้จับคู่กัน คำสั่งทุกรายการที่เข้ามาพักอยู่ในสมุดคำสั่งมีโอกาสที่จะไปจับคู่กับคำสั่งอื่นจากบัญชีเดียวกันในภายหลังได้
สิ่งที่เทปแสดงเมื่อมีการซื้อขายกันเอง
การป้องกันการจับคู่กันเองจะไม่ทิ้งร่องรอยใดๆ ไว้ เทปจะแสดงเฉพาะสิ่งที่เกิดขึ้นจริง และการซื้อขายทุกรายการจะมาพร้อมกับรหัสเงื่อนไข (condition flags) ซึ่งเป็นรหัสที่ตลาดแนบมาเพื่ออธิบายลักษณะการซื้อขาย แผงข้อมูลด้านล่างนี้แบ่งช่วงการซื้อขายเต็มวันของหุ้นตัวหนึ่งตามรหัสเหล่านั้น
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
condition_name,
print_count,
round(100 * print_count / sum(print_count) OVER (), 2) AS share_pct
FROM
(
SELECT
cc.id AS condition_id,
any(cc.name) AS condition_name,
count() AS print_count
FROM
(
SELECT toInt32(arrayJoin(conditions)) AS condition_id
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-10 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-11 04:00:00', 'UTC')
) AS f
INNER JOIN
(
SELECT
toInt32(id) AS id,
any(name) AS name
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND has(data_types, 'trade')
GROUP BY id
) AS cc ON cc.id = f.condition_id
GROUP BY condition_id
)
ORDER BY print_count DESC
LIMIT 10Odd Lot Trade ครอบคลุม 48.34% ของการซื้อขายที่มีการระบุรหัสในวันนั้น และรายการด้านล่างแสดงรหัส 10 อันดับแรกที่พบบ่อยที่สุด อ่านรายการแล้วสังเกตสิ่งที่ขาดหายไป หากไม่มีรหัสแสดงว่าคำสั่งสองรายการนั้นมาจากบริษัทเดียวกัน การซื้อขายกันเองที่ปรากฏในเทปจะดูเหมือนการซื้อขายปกติที่ราคานั้น ดังนั้นการตรวจสอบจึงต้องทำจากข้อมูลภายนอกเทป โดยใช้ตัวระบุผู้เข้าร่วมที่ตลาดถืออยู่และเลขที่บัญชีที่แนบมากับคำสั่ง
จุดสิ้นสุดของระบบป้องกันการจับคู่กันเองและจุดเริ่มต้นของกฎหมายว่าด้วยการซื้อขายล้างสถานะ
ระบบป้องกันการจับคู่กันเองเป็นบริการของตลาด คุณต้องเลือกเปิดใช้งานและตั้งค่าเอง หากคุณไม่ตั้งค่า ระบบจะจับคู่คำสั่งสองรายการของคุณตามปกติ ข้อห้ามเรื่องการซื้อขายล้างสถานะ (wash trade) ไม่ใช่ทางเลือกและไม่ขึ้นอยู่กับการตั้งค่าใดๆ
มาตรา 9(a)(1) ของพระราชบัญญัติหลักทรัพย์และตลาดหลักทรัพย์ปี 1934 ครอบคลุมถึงธุรกรรมหลักทรัพย์ที่ไม่มีการเปลี่ยนความเป็นเจ้าของที่แท้จริง ซึ่งทำขึ้นเพื่อสร้างภาพลวงตาว่ามีการซื้อขายที่คึกคัก พระราชบัญญัติการซื้อขายสินค้าโภคภัณฑ์ (Commodity Exchange Act) มีข้อกำหนดที่เทียบเท่าสำหรับตลาดฟิวเจอร์ส และกฎข้อที่ 534 ของ CME ได้ระบุไว้ในกฎของตลาด กฎข้อที่ 5210 ของ FINRA ครอบคลุมทั้งสองส่วนสำหรับบริษัทนายหน้าซื้อขายหลักทรัพย์ และเอกสารประกอบได้กล่าวถึงการซื้อขายกันเองโดยตรงว่า การซื้อขายระหว่างอัลกอริทึมสองตัวที่ไม่มีความเกี่ยวข้องกันในบริษัทเดียวกันนั้นไม่ได้ถือเป็นการละเมิดโดยตัวมันเอง แต่บริษัทต้องมีนโยบายในการตรวจสอบและลดการเกิดเหตุการณ์ดังกล่าว
ผลที่ตามมาสำหรับผู้ที่ใช้กลยุทธ์มากกว่าหนึ่งกลยุทธ์มีสองประการ ประการแรก การซื้อขายกันเองอาจละเมิดข้อห้ามในตลาดที่คุณไม่ได้ตั้งค่าป้องกันไว้ เนื่องจากกฎหมายผูกติดอยู่กับตัวธุรกรรมและเจตนาเบื้องหลัง ประการที่สอง การซื้อขายกันเองที่ระบบป้องกันการจับคู่กันเองหยุดไว้ได้นั้น ไม่ถือเป็นการละเมิดใดๆ เพราะการหยุดยั้งนั้นคือจุดประสงค์หลักของระบบ
วิธีการตั้งค่าของผู้ให้บริการ: CME, ICE, LME และ MiFID II
ในระบบ CME Globex ระบบป้องกันการจับคู่กันเองจะทำงานโดยใช้ตัวระบุที่ส่งมาพร้อมกับคำสั่งซื้อขาย บริษัทต้องลงทะเบียนตัวระบุที่จะใช้ คำสั่งแต่ละรายการจะมีตัวระบุนี้กำกับ และคำสั่งที่จับคู่กันจะระบุว่าระบบควรยกเลิกฝั่งใดเมื่อคำสั่งที่มีตัวระบุเดียวกันมาพบกัน คำสั่งที่ส่งมาโดยไม่มีตัวระบุจะจับคู่กันตามปกติ ซึ่งเป็นกับดักสำหรับผู้ใช้งานรายใหม่: ค่าเริ่มต้นคือปิดการใช้งาน
ICE ใช้ฟังก์ชันป้องกันการซื้อขายกันเอง (Self-Trade Prevention Functionality) ซึ่งตั้งค่าตามตัวระบุของบริษัทซื้อขายแทนที่จะเป็นรายคำสั่ง โดยมีผลลัพธ์การยกเลิกในรูปแบบเดียวกัน London Metal Exchange มีบริการป้องกันการจับคู่กันเอง (Self-Execution Prevention) บน LMEselect สำหรับตัวระบุการซื้อขายของสมาชิก ในยุโรป มาตรา 17 ของ MiFID II กำหนดหน้าที่ด้านระบบและการควบคุมสำหรับบริษัทลงทุนที่ทำอัลกอริทึมเทรด ซึ่งครอบคลุมถึงการทดสอบ ฟังก์ชันหยุดการทำงาน (kill functionality) และการป้องกันการซื้อขายที่ผิดปกติ มาตรา 48 กำหนดหน้าที่คู่ขนานให้กับตัวตลาดเอง และเครื่องมือป้องกันในระดับตลาดก็กลายเป็นอุปกรณ์มาตรฐานไปพร้อมกัน
การตั้งค่าจะทำในระดับบัญชีหรือระดับบริษัท ไม่ใช่รายสัญลักษณ์ ขนาดของพื้นผิวออปชัน (option surface) ของสินทรัพย์อ้างอิงตัวเดียวแสดงให้เห็นว่าทำไมจึงเป็นเช่นนั้น
SQL เบื้องหลังตัวเลขแต่ละตัว
SELECT
toString(date) AS session_date,
countDistinct(ticker) AS contracts_traded,
countDistinct(strike_price) AS strikes_traded
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date >= '2026-06-01'
AND date <= '2026-06-30'
AND volume > 0
AND iv_converged = 1
GROUP BY date
ORDER BY dateในวันที่ 2026-06-01 สินทรัพย์อ้างอิงตัวหนึ่งมีสัญญา 1579 รายการที่ซื้อขายได้แยกกันและมีปริมาณการซื้อขาย กระจายอยู่ในราคาใช้สิทธิ 112 ระดับ และแผงข้อมูลครอบคลุมช่วงการซื้อขาย 21 ครั้งที่มีลักษณะคล้ายกัน การตั้งกฎรายสัญญาเป็นเรื่องที่เป็นไปไม่ได้ในจำนวนขนาดนี้ ตัวระบุจึงต้องผูกติดกับบัญชีแทน และจะเดินทางไปกับทุกคำสั่งที่บัญชีนั้นส่งออกไป
โหมดความล้มเหลวที่บันทึกการจับคู่ของคุณจะไม่อธิบาย
นี่คือสิ่งที่เกิดขึ้นจริงในทางปฏิบัติ คำสั่งยกเลิกรายการล่าสุด (cancel-newest) จะทำลายคำสั่งที่คุณเพิ่งส่งไปทันทีที่มาถึง ก่อนที่จะจับคู่ได้ จากมุมมองภายในบอท ลำดับเหตุการณ์จะอ่านได้ว่าเป็นคำสั่งใหม่ตามด้วยการยกเลิกที่ไม่มีใครร้องขอ ไม่มีการจับคู่ ไม่มีการปฏิเสธ และไม่มีข้อความแสดงข้อผิดพลาดที่ระบุเหตุผล ดังนั้นผู้ใช้งานที่พบเหตุการณ์นี้เป็นครั้งแรกมักจะพยายามหาบั๊กในเส้นทางการยกเลิกของตนเอง
นิสัยสองอย่างจะช่วยให้เข้าใจเหตุการณ์นี้ได้ดีขึ้น: ประการแรก ให้บันทึกข้อความสถานะคำสั่งซื้อขายจากตลาดแบบคำต่อคำแทนการสรุปผล เนื่องจากเหตุผลในการป้องกันมักจะอยู่ในฟิลด์ของข้อความนั้น ประการที่สอง ให้ตั้งค่าแจ้งเตือนเมื่อมีการยกเลิกที่โค้ดของคุณไม่ได้เป็นผู้สั่ง การแจ้งเตือนนี้ควรอยู่ในส่วนเดียวกับ ระบบตัดวงจรการซื้อขายอัตโนมัติ (automated trading circuit breakers) ของคุณ เนื่องจากความล้มเหลวนี้อยู่ในประเภทเดียวกัน: ตลาดได้เปลี่ยนสถานะคำสั่งของคุณและกระบวนการของคุณยังคงดำเนินต่อไปราวกับไม่มีอะไรเกิดขึ้น
คำถามที่พบบ่อย
ระบบป้องกันการจับคู่กันเองคืออะไร?
คือการตรวจสอบของระบบจับคู่คำสั่งซื้อขายที่หยุดยั้งไม่ให้คำสั่งสองรายการที่มีตัวระบุบริษัทหรือบัญชีเดียวกันจับคู่กัน เมื่อคำสั่งเหล่านั้นกำลังจะจับคู่กัน ระบบจะยกเลิกคำสั่งที่รออยู่ในสมุด คำสั่งที่เข้ามาใหม่ หรือทั้งสองรายการ ตามคำสั่งที่แนบมากับคำสั่งซื้อขายนั้น
การซื้อขายกันเอง (Self-trade) เหมือนกับการซื้อขายล้างสถานะ (Wash trade) หรือไม่?
ไม่เหมือนกัน การซื้อขายกันเองคือการจับคู่ระหว่างคำสั่งสองรายการจากเจ้าของผลประโยชน์เดียวกัน ส่วนการซื้อขายล้างสถานะคือการซื้อขายกันเองที่ทำโดยไม่มีความเสี่ยงทางการตลาดที่แท้จริงและมีเจตนาเพื่อสร้างภาพลวงตาของกิจกรรมการซื้อขาย การซื้อขายกันเองโดยไม่ได้ตั้งใจระหว่างอัลกอริทึมที่ไม่มีความเกี่ยวข้องกันจะได้รับการปฏิบัติที่แตกต่างจากการซื้อขายที่วางแผนไว้ และบริษัทต่างๆ ยังคงต้องมีหน้าที่ตรวจสอบเหตุการณ์ดังกล่าว
ระบบป้องกันการจับคู่กันเองทำงานข้ามตลาดที่แตกต่างกันหรือไม่?
ไม่ทำงาน แต่ละระบบจับคู่คำสั่งซื้อขายจะตรวจสอบเฉพาะคำสั่งในสมุดของตนเองเท่านั้น คำสั่งสองรายการจากบริษัทเดียวกันที่รออยู่ในสองตลาดที่ต่างกันสามารถจับคู่กันได้ ซึ่งเป็นหน้าที่ของระบบตรวจสอบก่อนส่งคำสั่ง (pre-trade checks) ของบริษัทเองที่อยู่เหนือระดับตลาด
ทำไมคำสั่งของฉันถึงถูกยกเลิกโดยไม่มีการจับคู่และไม่มีเหตุผล?
คำสั่งยกเลิกรายการล่าสุด (cancel-newest) เป็นสาเหตุที่เป็นไปได้ประการหนึ่ง: ตลาดได้ยกเลิกคำสั่งของคุณทันทีที่มาถึง ก่อนที่จะจับคู่กับคำสั่งที่รออยู่ในสมุดที่มีตัวระบุเดียวกันกับคุณ เหตุผลมักจะปรากฏเป็นฟิลด์ในข้อความยกเลิกของตลาดแทนที่จะเป็นการปฏิเสธคำสั่ง
ตลาดใดบ้างที่กำหนดให้ต้องมีตัวระบุสำหรับการป้องกันการจับคู่กันเอง?
ข้อกำหนดจะแตกต่างกันไปตามตลาดและผลิตภัณฑ์ CME กำหนดให้มีตัวระบุเมื่อส่งคำสั่งซื้อขายโดยต้องลงทะเบียนล่วงหน้า ในขณะที่ ICE และ London Metal Exchange มีการตั้งค่าในระดับบริษัท และตลาดในยุโรปมีหน้าที่ด้านระบบและการควบคุมภายใต้ MiFID II กฎของตลาดสำหรับผลิตภัณฑ์ที่คุณซื้อขายคือแหล่งข้อมูลที่ถูกต้องที่สุด
แผงข้อมูลทุกรายการที่นี่มีคำสั่ง SQL ที่ใช้สร้างข้อมูลนั้น คุณสามารถขยายดูและอ่านได้ หากต้องการนับจำนวนตลาดที่เสนอราคาในชื่อที่คุณซื้อขาย หรือแบ่งช่วงการซื้อขายตามรหัสเงื่อนไข ให้สอบถามด้วยภาษาอังกฤษทั่วไปบนเทอร์มินัล Strasmore