สารบัญบทความ
- หลักฐานและขอบเขต
- ภาพประกอบ
- กระบวนการ
- ภาพถ่ายและกระแสการเปลี่ยนแปลง
- ให้ช่วงสะสมฟีเจอร์ครบก่อนกำหนดช่วงเป้าหมาย
- การสร้างสมุดคำสั่งกลับคืนเป็นส่วนหนึ่งของวิธี
- การคำนวณสังเคราะห์และผลลัพธ์ที่สามารถนำไปปฏิบัติได้
- ระยะเวลาแฝงและการเลือกคำสั่งซื้อเป็นปัจจัยกำหนดด้านเศรษฐศาสตร์
- อย่าเปลี่ยนการถดถอยร่วมสมัยให้กลายเป็นค่าอัลฟ่าที่อ้างสิทธิ์
- ข้อผิดพลาดที่พบบ่อย
- รายการตรวจสอบเชิงปฏิบัติ
- คำถามที่พบบ่อย
- แหล่งวิจัย
หลักฐานและขอบเขต
งานวิจัยของ Cont, Kukanov และ Stoikov ศึกษา OFI และผลกระทบต่อราคาของหุ้นสหรัฐฯ 50 ส่วนการทดลองและการดำเนินการที่เสนอไว้ด้านล่างนั้นเป็นการทดลองแยกต่างหาก ไม่ใช่ผลลัพธ์ที่รายงานจากงานวิจัยฉบับนั้น
ขั้นตอนปฏิบัติ
- สร้างสมุดคำสั่งกลับคืนใช้กฎ snapshot และ delta ของศูนย์ซื้อขาย
- คำนวณ OBI และ eควรแยกสถานะที่แสดงออกจากกระบวนการเสนอราคา
- ปิดหน้าต่างฟีเจอร์ใช้เฉพาะข้อมูลที่ได้รับก่อนการตัดสินใจเท่านั้น
- จำลองการมาถึงของคำสั่งซื้อใช้สมมติฐานความล่าช้า สเปรด และคิวคำสั่ง
- ประเมินผลตอบแทนสุทธิในอนาคตแยกการทำนายออกจากการอธิบายในหน้าต่างเดียวกัน
ภาพถ่ายและกระแสการเปลี่ยนแปลง
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 คริปโตโดยคงเกณฑ์เดิมและสมมติต้นทุนเหมือนเดิมได้
ข้อผิดพลาดที่พบบ่อย
สมมติว่าทุกคำสั่งจับคู่ที่ราคากลาง
วิธีนี้ช่วยขจัดส่วนต่างและทำให้ผลตอบแทนที่ได้รับสูงเกินจริง
ถือว่าคิวหนาที่แสดงคืออุปสงค์แน่นอน
คำสั่งราคาเสนอถอนได้ และไม่ได้สังเกตเจตนาผู้เข้าร่วม
การเรียกความพอดีพร้อมกันว่าเป็นการพยากรณ์
เป้าหมายจะต้องเริ่มต้นหลังจากที่ฟีเจอร์ดังกล่าวพร้อมใช้งานอย่างสมบูรณ์แล้ว
รายการตรวจสอบก่อนใช้วิธีนี้
ทำเครื่องหมายแต่ละข้อหลังตรวจสอบกับข้อมูลของคุณแล้ว ความคืบหน้าจะบันทึกในเบราว์เซอร์นี้ แต่ไม่ได้รับรองว่ากลยุทธ์ทำกำไรได้
คำถามที่พบบ่อย
OBI เป็นบวกขณะที่ราคาลดได้หรือไม่?
ได้ ความลึกที่แสดงอยู่ชั่วคราว กระแสใหม่ การยกเลิก และศูนย์ซื้อขายอื่นเปลี่ยนตลาดทันทีได้
OHLCV มาตรฐานสามารถสร้าง OFI ขึ้นมาใหม่ได้หรือไม่?
ไม่ได้ ต้องมีอย่างน้อยลำดับราคา best bid/ask และปริมาณที่แต่ละฝั่ง ปริมาณธุรกรรมไม่เปิดเผยเหตุการณ์ราคาเสนอ
แหล่งวิจัย
แต่ละแหล่งสนับสนุนคำจำกัดความหรือหลักฐานที่อธิบายไว้ข้างกัน รหัสเทียม ตัวอย่างสมมติ และพารามิเตอร์ที่เสนอต้องผ่านการตรวจสอบแยกต่างหาก
- The price impact of order book eventsCont, Kukanov and Stoikov. อ่านบทคัดย่อและนิยาม OFI แล้ว เป็นหุ้นสหรัฐฯ50ตัว ไม่ใช่แบ็กเทสต์กลยุทธ์นี้ ตรวจสอบเมื่อ: .
- OrderbookBybit. อ่าน snapshot/delta เวลา และข้อจำกัดฟีดสาธารณะแล้ว ตรวจสอบเมื่อ: .
- Public TradeBybit. อ่านฟิลด์ช่องทางธุรกรรมเพื่อแยกการจับคู่เชิงรุกจากการเปลี่ยนราคาเสนอ ตรวจสอบเมื่อ: .
วิธีการที่เกี่ยวข้อง
หมายเหตุความเสี่ยง
เนื้อหานี้ใช้เพื่อการศึกษาและออกแบบงานวิจัย ไม่ใช่คำแนะนำทางการเงิน Backtest เป็นการจำลองข้อมูลในอดีต ไม่รับประกันผลในอนาคตและไม่ส่งคำสั่งซื้อขายจริง วิธีการในคลังนี้ไม่ได้หมายความว่ามีเป็นฟีเจอร์ในแอปทั้งหมด ดู ระเบียบวิธี และ ศูนย์การเรียนรู้.
ตรวจสอบกฎก่อนเสี่ยงด้วยเงินจริง
ตรวจสอบความสามารถของแอป ข้อมูล และแต่ละรายการซื้อขายจำลอง ตัวตรวจจับขั้นสูงอาจต้องพัฒนาแยกต่างหาก
ดาวน์โหลด Backtest บน App Store