สารบัญบทความ

หลักฐานและขอบเขต

งานวิจัยของ Cont, Kukanov และ Stoikov ศึกษา OFI และผลกระทบต่อราคาของหุ้นสหรัฐฯ 50 ส่วนการทดลองและการดำเนินการที่เสนอไว้ด้านล่างนั้นเป็นการทดลองแยกต่างหาก ไม่ใช่ผลลัพธ์ที่รายงานจากงานวิจัยฉบับนั้น

ข้อมูลและตลาดศูนย์ซื้อขายแบบ limit ที่ระบุราคา bid/ask ปริมาณ เวลา และกฎฟีดชัดเจน ความลึกที่เผยแพร่ไม่จำเป็นต้องเป็นสภาพคล่องทั้งหมด
กรอบเวลาที่ใช้วิจัยช่วงเวลาเหตุการณ์หรือหน้าต่าง 100ms–5s เป็นตัวอย่างในการวิจัย ขอบเขตการทำงานที่สามารถดำเนินการได้นั้นขึ้นอยู่กับการสังเกต การคำนวณ และความล่าช้าของเครือข่ายที่เกิดขึ้นจริง
OFI จะปรับตัวสูงขึ้นเมื่อขนาดการเสนอขายลดลง และจะปรับตัวลงเมื่อขนาดการเสนอซื้อลดลง กระแสการเปลี่ยนแปลงอาจกลับทิศทางได้หลังจากเกิดความไม่สมดุลในเชิงบวกเปิดภาพประกอบขนาดเต็ม
เหตุการณ์จำลอง OFI เส้นกราฟแสดงการเปลี่ยนแปลงของคิวที่มีเครื่องหมาย และแท่งเสริมแสดงปริมาณการซื้อขายที่สร้างขึ้นอย่างอิสระ OFI ไม่ใช่ปริมาณการซื้อขายจริง

ขั้นตอนปฏิบัติ

ขั้นตอนสำหรับ OBI และ OFI: ปริมาณในสมุดคำสั่ง กระแสราคาเสนอ และการพยากรณ์
ขั้นตอนทั้งหมดอธิบายไว้ด้านล่าง ทุกขั้นต้องบันทึกเหตุผลที่คัดออกเมื่อข้อมูลไม่ครบหรือเงื่อนไขไม่ผ่าน
  1. สร้างสมุดคำสั่งกลับคืนใช้กฎ snapshot และ delta ของศูนย์ซื้อขาย
  2. คำนวณ OBI และ eควรแยกสถานะที่แสดงออกจากกระบวนการเสนอราคา
  3. ปิดหน้าต่างฟีเจอร์ใช้เฉพาะข้อมูลที่ได้รับก่อนการตัดสินใจเท่านั้น
  4. จำลองการมาถึงของคำสั่งซื้อใช้สมมติฐานความล่าช้า สเปรด และคิวคำสั่ง
  5. ประเมินผลตอบแทนสุทธิในอนาคตแยกการทำนายออกจากการอธิบายในหน้าต่างเดียวกัน

ภาพถ่ายและกระแสการเปลี่ยนแปลง

OBI=(B−A)/(B+A) โดย B และ A คือปริมาณที่ best bid และ best ask ณ เวลาเดียวกัน รุ่นหลายระดับใช้จำนวนระดับคงที่หรือระยะราคาคงที่ได้แต่ต้องระบุ OBI ใกล้+1หมายถึงปริมาณฝั่ง bid ที่แสดงมากกว่าโดยเปรียบเทียบ ไม่ได้นับผู้ซื้อ เปิดเผยเจตนา หรือรับประกันว่าฝั่ง bid ยังอยู่เมื่อคำสั่งมาถึง

OFI วัดการเปลี่ยนแปลงของขนาดคิวและราคาเสนอราคา การศึกษาหลักตรวจสอบผลกระทบของราคาในช่วงเวลาสั้น ๆ และบทบาทของความลึก [1] ความสัมพันธ์เชิงอธิบายนั้นแตกต่างจากกลยุทธ์ที่คาดการณ์และจับการเคลื่อนไหวในอนาคตหลังจากได้รับข้อมูลการสังเกตแล้ว

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

ให้ช่วงสะสมฟีเจอร์ครบก่อนกำหนดช่วงเป้าหมาย

สำหรับการอัปเดตจาก n−1 ไปยัง n ให้ b และ a แทนราคาเสนอซื้อและเสนอขายที่ดีที่สุด และ qb และ qa แทนขนาดของราคาเหล่านั้น โค้ดใช้คำจำกัดความระดับหนึ่ง OFI จากการศึกษา [1] เมื่อราคายังคงเดิม โค้ดจะลดลงเหลือเพียงการเปลี่ยนแปลงขนาดของราคาเสนอซื้อลบด้วยการเปลี่ยนแปลงขนาดของราคาเสนอขาย เมื่อราคาเสนอซื้อและเสนอขายเปลี่ยนแปลง การคำนวณส่วนต่างจะต้องใช้คิวเก่าหรือคิวใหม่ที่เหมาะสม แทนที่จะลบขนาดเพียงอย่างเดียว

รวม e ตลอด W ที่ครบแล้ว อาจหารด้วยความลึกเฉลี่ยก่อนหน้า หรือใช้ z-score ที่ประมาณจากข้อมูลฝึก ห้ามใช้ข้อมูลช่วงทดสอบอนาคตทั้งช่วงปรับมาตรฐาน OBI ปลายช่วง OFI ภายในช่วง และสเปรดเป็นคนละฟีเจอร์ ถ้า B+A=0 หรือขาดฝั่งใด ให้ระบุข้อมูลไม่สมบูรณ์

เงื่อนไขผู้สมัครหนึ่งแบบกำหนด zOFI>1.5, OBI>0.3, spread≤2 ticks และข้อมูลสด ช่วงเป้าหมายเริ่มจากราคาเสนอที่จับคู่ได้หลังความล่าช้ารับข้อมูลและส่งคำสั่ง แล้วจบ H=2วินาทีถัดมา เกณฑ์และระยะเป็นข้อเสนอวิจัย ไม่ใช่ค่าตั้งที่งานวิจัยพิสูจน์ว่ากำไร

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

e = I(b>=b_prev)*qb - I(b<=b_prev)*qb_prev
    - I(a<=a_prev)*qa + I(a>=a_prev)*qa_prev
OFI_window = sum(e for quote events in completed_window)
OBI = (qb-qa)/(qb+qa)
features_known_at = local_receive_time_of_last_required_event
order_arrival = features_known_at + compute_delay + network_delay
label = executable_exit_price_after(order_arrival,H) - executable_entry_price
# A price move inside the feature window is not future trading profit.

การสร้างสมุดคำสั่งกลับคืนเป็นส่วนหนึ่งของวิธี

เอกสาร Bybit ระบุให้แทนสมุดคำสั่งเมื่อได้ snapshot ใหม่ และลบระดับราคาเมื่อ delta มีปริมาณศูนย์ [2] ใช้ schema ของฟีดจริง ระดับแรกอาจส่ง snapshot เท่านั้น ส่วนลึกกว่าส่ง delta ตัวแปลงที่ถือว่าทุกข้อความเป็นส่วนเพิ่มอาจสร้างสมุดคำสั่งผิด

ตรวจ update ID ลำดับข้ามข้อความ และเวลา ตามข้อรับรองของศูนย์ซื้อขาย อย่าคิดว่าทุกรหัสเพิ่มทีละหนึ่งหากเอกสารไม่ได้ระบุ หลังซิงก์ใหม่ ห้ามเทียบ snapshot ใหม่กับสมุดคำสั่งเก่าที่ข้อมูลขาดช่วงแล้วเรียกผลต่างว่า OFI มหาศาล ให้เริ่มช่วงฟีเจอร์ใหม่

ราคาเสนอที่เผยแพร่เป็นเพียงส่วนที่สังเกตได้ ไม่ใช่คำสั่งวางรอทั้งหมด การสุ่มหรือรวมส่งอาจซ่อนลำดับยกเลิก/เพิ่มระหว่างข้อความ ระบุว่าเป็น OFI ที่สังเกตได้ตามความถี่ฟีด เมื่อเทียบ trade delta ใช้ความหมายฝั่งผู้เข้ารับสภาพคล่องและเวลาจากช่องทางธุรกรรมแยก [3]

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

การคำนวณสังเคราะห์และผลลัพธ์ที่สามารถนำไปปฏิบัติได้

สมมติว่าราคา bid ที่ดีที่สุดคือ 100.00 โดยมีปริมาณ 80 และราคา ask คือ 100.01 โดยมีปริมาณ 20 จะได้ OBI=0.60 จากนั้นปริมาณ ask ลดจาก 20 เหลือ 5 โดยปริมาณ bid และราคาไม่เปลี่ยน จึงได้ e=+15 หากเกิดจากการยกเลิกคำสั่ง เดลตาของการซื้อขายเป็นศูนย์ ต่อมาปริมาณ bid ลดจาก 80 เหลือ 70 ขณะที่ปริมาณ ask คงเดิม จึงได้ e=−10 ค่า OFI รวมสองเหตุการณ์เป็น +5 ส่วนค่าสุดท้ายคือ OBI=65/75 หรือประมาณ 0.867

ลักษณะเชิงบวกยังไม่ถือเป็นกำไร สำหรับเส้นทางการชนะแบบสังเคราะห์ที่แยกต่างหาก ให้ซื้อที่ราคาเสนอขาย 100.01 และขายที่ราคาเสนอซื้อ 100.04 หลังจากช่วงเวลาที่เลือก กำไรขั้นต้นคือ 0.03 ต่อหน่วย หากค่าธรรมเนียมไป-กลับและค่าความคลาดเคลื่อนรวมกันเป็น 0.01 กำไรสุทธิคือ 0.02 ราคากลาง 100.005 ไม่ใช่ราคาซื้อที่สามารถใช้ได้โดยอัตโนมัติ

เส้นทางล้มเหลวมี bid ก้อนใหญ่หายก่อนคำสั่งถึง และราคาเสนอเปลี่ยนเป็น99.96/99.98 ซื้อจับคู่99.98แล้วขายออกที่ bid99.94 ขาดทุนขั้นต้น0.04 ส่วน limit วางรอ100.00อาจจับคู่พอดีเมื่อเริ่มตก ห้ามให้แตะที่เสียเปรียบเป็นไม่จับคู่ แต่แตะที่ได้เปรียบรับประกันจับคู่

ระยะเวลาแฝงและการเลือกคำสั่งซื้อเป็นปัจจัยกำหนดด้านเศรษฐศาสตร์

เลือกการเข้ารับสภาพคล่องหรือวางรอก่อนทดสอบ แบบแรกจ่ายสเปรดและคำสั่งใหญ่อาจกินหลายระดับราคา แบบวางรอต้องสมมติคิว การยกเลิก และการถูกจับคู่ในจังหวะเสียเปรียบ ข้อมูล L2 รวมที่ไม่มี order ID มักไม่บอกลำดับคิวแน่นอน จึงรายงานฉากจับคู่แบบระมัดระวังหรือขอบเขตผล

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

ถ้าฟีดเก่า ราคา bid/ask ไขว้ผิดกฎตลาดที่ควรเป็น หรือกำลังซิงก์ใหม่ ให้หยุดเปิดสถานะใหม่ สถานะเดิมใช้กระบวนการเสี่ยงที่กำหนดก่อน ข้อมูลหายไม่ได้แปลว่าราคาหยุดเคลื่อน

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

อย่าเปลี่ยนการถดถอยร่วมสมัยให้กลายเป็นค่าอัลฟ่าที่อ้างสิทธิ์

แยกงานออกเป็นสามส่วน: อธิบายการเปลี่ยนแปลงราคากลางในช่วง W, พยากรณ์การเปลี่ยนแปลงหลังจาก W และวัดค่า P&L หลังจากช่วงเวลาแฝงที่สมจริง ค่า R-squared ที่สูงในงานแรกไม่ได้ยืนยันงานที่สาม ราคาอาจมีการเปลี่ยนแปลงไปแล้วก่อนที่ข้อมูลจะมาถึงระบบ

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

รายงานคุณภาพพยากรณ์ควบคู่อัตราหมุนเวียน อัตราจับคู่ P&L สุทธิ ขาดทุนรุนแรง และความไวต่อเวลา/ขนาด แยกประเมินภาวะสภาพคล่องและศูนย์ซื้อขาย หลักฐานหุ้นไม่ย้ายสู่ perpetual คริปโตโดยคงเกณฑ์เดิมและสมมติต้นทุนเหมือนเดิมได้

ข้อผิดพลาดที่พบบ่อย

สมมติว่าทุกคำสั่งจับคู่ที่ราคากลาง

วิธีนี้ช่วยขจัดส่วนต่างและทำให้ผลตอบแทนที่ได้รับสูงเกินจริง

ถือว่าคิวหนาที่แสดงคืออุปสงค์แน่นอน

คำสั่งราคาเสนอถอนได้ และไม่ได้สังเกตเจตนาผู้เข้าร่วม

การเรียกความพอดีพร้อมกันว่าเป็นการพยากรณ์

เป้าหมายจะต้องเริ่มต้นหลังจากที่ฟีเจอร์ดังกล่าวพร้อมใช้งานอย่างสมบูรณ์แล้ว

รายการตรวจสอบก่อนใช้วิธีนี้

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

0/7 ข้อ

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

OBI เป็นบวกขณะที่ราคาลดได้หรือไม่?

ได้ ความลึกที่แสดงอยู่ชั่วคราว กระแสใหม่ การยกเลิก และศูนย์ซื้อขายอื่นเปลี่ยนตลาดทันทีได้

OHLCV มาตรฐานสามารถสร้าง OFI ขึ้นมาใหม่ได้หรือไม่?

ไม่ได้ ต้องมีอย่างน้อยลำดับราคา best bid/ask และปริมาณที่แต่ละฝั่ง ปริมาณธุรกรรมไม่เปิดเผยเหตุการณ์ราคาเสนอ

แหล่งวิจัย

แต่ละแหล่งสนับสนุนคำจำกัดความหรือหลักฐานที่อธิบายไว้ข้างกัน รหัสเทียม ตัวอย่างสมมติ และพารามิเตอร์ที่เสนอต้องผ่านการตรวจสอบแยกต่างหาก

  1. The price impact of order book eventsCont, Kukanov and Stoikov. อ่านบทคัดย่อและนิยาม OFI แล้ว เป็นหุ้นสหรัฐฯ50ตัว ไม่ใช่แบ็กเทสต์กลยุทธ์นี้ ตรวจสอบเมื่อ: .
  2. OrderbookBybit. อ่าน snapshot/delta เวลา และข้อจำกัดฟีดสาธารณะแล้ว ตรวจสอบเมื่อ: .
  3. Public TradeBybit. อ่านฟิลด์ช่องทางธุรกรรมเพื่อแยกการจับคู่เชิงรุกจากการเปลี่ยนราคาเสนอ ตรวจสอบเมื่อ: .

วิธีการที่เกี่ยวข้อง

หมายเหตุความเสี่ยง

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

ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง

ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก

ดาวน์โหลด Backtest บน App Store