หากต้องการทราบว่าการแลกเปลี่ยนทำงานอย่างไร เราต้องพิจารณาคำสั่งซื้อแลกเปลี่ยนและวิธีที่นายหน้าดำเนินการกับคำสั่งซื้อขาย บทความนี้เกี่ยวข้องกับประเภทคำสั่ง วิธีดำเนินการในการแลกเปลี่ยน และข้อจำกัดที่กำหนดโดยระบบการซื้อขาย
หากคุณอยากรู้ว่า DAY, GTC, FOK, IOC, GTD, GAT, MOO, MOC, LOO, LOC, MIT, OCO, OSO, PEG หมายความว่า ยินดีต้อนรับ

คำสั่งซื้อ

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

  • ตัวระบุเครื่องมือทางการเงิน
  • ประเภทการสั่งซื้อ
  • ฝั่งสั่ง. ซื้อหรือขาย
  • ราคา
  • ปริมาณ
  • ประเภทระยะเวลาการสั่งซื้อ (ไม่บังคับ)
  • คำแนะนำเพิ่มเติม (ไม่บังคับ)

เราสามารถแบ่งคำสั่งซื้อทั้งหมดออกเป็นสามกลุ่มใหญ่:

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

เวลามีผลบังคับ

แน่นอนว่าคุณคงเคยเห็นคำย่อเช่น DAY, GTC, FOK, IOC, GTD, GAT ทั้งหมดนี้จะระบุว่าคำสั่งซื้อจะยังคงใช้งานได้นานเท่าใดก่อนที่จะดำเนินการหรือหมดอายุ

  • วัน. คำสั่งซื้อเหล่านี้จะหมดอายุเมื่อสิ้นสุดวันซื้อขาย
  • GTC (ใช้ได้จนกว่าจะยกเลิก) คำสั่งซื้อนี้ใช้ได้จนกว่าจะถูกยกเลิก เพื่อให้แน่ใจว่าพวกเขาไม่ได้อยู่ในตลาดอย่างไม่มีกำหนด จึงมีการกำหนดข้อจำกัดพิเศษ ซึ่งโดยปกติจะใช้เวลา 30 ถึง 90 วัน
  • FOK (เติมหรือฆ่า) คำสั่งซื้อจะต้องเต็มหรือยกเลิกทันที
  • IOC (ทันทีหรือยกเลิก) คำสั่งซื้อจะถูกดำเนินการทันทีหรือยกเลิกโดยการแลกเปลี่ยน ต่างจาก FOK ตรงที่ประเภทนี้อนุญาตให้ดำเนินการได้บางส่วน
  • GTD (จนถึงวันที่/เวลา)
  • GAT (ดีหลังเวลา/วันที่)

เงื่อนไขการดำเนินการตามคำสั่ง

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

คำสั่งเปิด/ปิดตลาด

หากเราจำกัดระยะเวลาเมื่อคำสั่งของตลาดนี้ถูกต้อง เราจะได้รับสิ่งต่อไปนี้:

  • หมู่ (ตลาดเปิด) Market Order ประเภทดังกล่าวสามารถดำเนินการได้เฉพาะตอนเปิดวันซื้อขายเท่านั้น รับประกันการดำเนินการหากมีสภาพคล่อง
  • LOO (จำกัดการเปิด) เช่นเดียวกับ MOO LOO สามารถดำเนินการได้ในวันเปิดการซื้อขายเท่านั้น อย่างไรก็ตาม คำสั่งจำกัดประเภทนี้จะเปิดใช้งานสำหรับการตั้งค่าคำแนะนำสำหรับราคา ไม่รับประกันการดำเนินการ
  • MOC (ตลาดเมื่อปิด) คำสั่งซื้อเหล่านี้คล้ายคลึงกับ MOO แต่คำสั่งซื้อขายในตลาดสามารถดำเนินการได้ ณ เวลาปิดของวันซื้อขายเท่านั้น รับประกันการดำเนินการหากมีสภาพคล่อง
  • LOC (จำกัดเมื่อปิด) คำสั่งเหล่านี้คล้ายกับ LOO แต่คำสั่งในตลาดสามารถดำเนินการได้ ณ เวลาปิดของวันซื้อขายเท่านั้น ไม่รับประกันการดำเนินการ

คำสั่งแบบมีเงื่อนไข

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

หยุดสั่ง

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

คำสั่งหยุดจำกัด

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

คำสั่งหยุดต่อท้าย

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

คำสั่งหยุดจำกัดต่อท้าย

ต่างจากคำสั่ง Trailing Stop ตรงที่คำสั่งนี้จะกลายเป็นคำสั่งจำกัด ไม่ใช่ตลาด หลังจากเปิดใช้งาน

คำสั่ง PEG

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

คำสั่ง OCO (อันหนึ่งยกเลิกอันอื่น)

นี่คือคำสั่งคู่ โดยปกติจะประกอบด้วยคำสั่งหยุดและคำสั่งจำกัด คำสั่งทั้งสองทำงานกับตราสารเดียวกัน หากมีการดำเนินการรายการใดรายการหนึ่ง รายการที่สองจะถูกยกเลิกโดยอัตโนมัติ ตัวอย่างง่ายๆ: สมมติว่าเราซื้อสินทรัพย์ในราคา $10 เราตั้งเป้าที่จะได้รับกำไรอย่างน้อย $3 และจำกัดการขาดทุนให้มากที่สุดไม่เกิน $2 จากนั้นราคาหยุดของเราคือ $8 และราคาจำกัดของเราคือ $13

คำสั่ง OSO (อันหนึ่งส่งอันอื่น)

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

ตอนนี้เมื่อเราทบทวนทฤษฎีคำสั่งโดยย่อแล้ว เรามาลงมือปฏิบัติกันดีกว่า

ฝึกฝน

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

บัตรประจำตัวคำสั่งซื้อ

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

เป็นเจ้าของคำสั่งซื้อ

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

การเข้ารหัสคำสั่ง

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

เราใช้ qty และ qty_orig ในการเข้ารหัสโวลุ่ม Qty_orig กำหนดปริมาณการสั่งซื้อเริ่มต้น และ qty - ปริมาณการสั่งซื้อในขณะที่ดำเนินการจัดส่ง deals_history อาร์เรย์จะช่วยให้มีข้อมูลที่แม่นยำเกี่ยวกับการปฏิบัติตามบางส่วน ด้วยความช่วยเหลือนี้ เราสามารถคำนวณราคาเฉลี่ยของคำสั่งซื้อหลังจากที่คำสั่งซื้อเต็มแล้ว ฟิลด์ linked_orders จำเป็นสำหรับการเข้ารหัสข้อมูลเกี่ยวกับคำสั่งซื้อที่เชื่อมโยงสำหรับ OCO และ OSO

หากต้องการขยายระบบโดยไม่เปลี่ยนบันทึก exchange_order ให้เพิ่มฟิลด์ opts ซึ่งเป็นพจนานุกรมแบบไดนามิก

ข้อสรุปชั่วคราว

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

ขอขอบคุณ Nadezda Popova สำหรับการพิสูจน์อักษร

เผยแพร่ครั้งแรกที่ https://www.vonmo.com.