← กลับไปยังบทความ
August 9, 2026
อ่าน 5 นาที

Hawkes Processes for Order Arrival and Market Event Modeling

Hawkes Processes for Order Arrival and Market Event Modeling
#microstructure
#Hawkes-process
#point-process
#order-arrival
#crypto
#HFT

บทความเกี่ยวกับลายนิ้วมือดิจิทัล ใช้เวกเตอร์ตัวเลขสามตัว — hawkes_mu, hawkes_alpha, hawkes_beta — เป็นองค์ประกอบกำหนดเวลาของลายเซ็นพฤติกรรมของผู้เข้าร่วม และยืนยันว่าผู้ดูแลสภาพคล่องมีการกระตุ้นตนเองอย่างมาก ไม่เคยบอกว่าตัวเลขทั้งสามนี้มาจากไหน ประมาณมาจากอะไร หรือคุณควรเชื่อถือตัวเลขเหล่านั้นมากเพียงใด บทความนี้เป็นส่วนที่ขาดหายไป: ตัวประมาณค่า การวินิจฉัยความพอดี และปริมาณที่ได้รับซึ่งกลายเป็นว่ามีความสำคัญมากกว่าพารามิเตอร์ทั้งสามตัว นั่นคือ อัตราส่วนการแยกย่อย nn

คำกล่าวอ้างที่กำลังทดสอบที่นี่แคบและสามารถตรวจสอบได้ ลำดับการสั่งซื้อนั้นน่าตื่นเต้นในตัวเอง: การขายเชิงรุกทำให้การขายเชิงรุกครั้งถัดไปมีโอกาสมากขึ้น ในลักษณะที่แบบจำลองปัวซองซึ่งมีอัตราที่แปรผันตามเวลาไม่สามารถทำซ้ำได้ หากเป็นเช่นนั้น กระบวนการของ Hawkes ที่เหมาะกับการประทับเวลาการค้าดิบควร (a) เอาชนะเส้นฐานของปัวซองตามความเป็นไปได้ที่รอไว้ (b) สร้างอัตราส่วนการแยกสาขาอย่างเคร่งครัดระหว่าง 0 ถึง 1 และ (c) ผ่านการทดสอบความดีของความพอดีที่ปรับขนาดตามเวลา มีการรายงานคะแนน (a) และ (b) อย่างกว้างขวางสำหรับตราสารทุนฟิวเจอร์ส จุด (c) คือจุดที่เอกสารของ Hawkes ที่ตีพิมพ์มักเงียบงัน และเป็นจุดที่เทปคริปโตไม่เคยได้รับการตรวจสอบในบล็อกนี้

พื้นหลังสองชิ้นที่บล็อกนี้มีอยู่แล้ว ดังนั้นจึงไม่ได้นำมาใหม่ที่นี่ โครงสร้างผลป้อนกลับที่น่าตื่นเต้นในตัวเอง - เหตุการณ์ที่กระตุ้นให้เกิดเหตุการณ์ประเภทเดียวกันมากขึ้น ต่ำกว่าเกณฑ์วิกฤตและอยู่เหนือเกณฑ์นั้น - ได้รับมาอย่างเป็นรูปธรรมเป็นหมายเลขการทำซ้ำ g=ρ/Δg = \rho/\Delta ใน การเรียงซ้อนการชำระบัญชีเป็นสัญญาณการซื้อขาย ซึ่งรวมถึงการเคลื่อนที่โดยรวมของซีรีย์เรขาคณิต ระบบการชนแบบแฟลชวิกฤตยิ่งยวด และเบรกเกอร์เป็นหนึ่งในสามสิ่งที่ผูกมัดมัน อัตราส่วนการแยกย่อย nn ด้านล่างคืออะนาล็อกการประมวลผลจุดของ gg นั้น สิ่งที่เป็นส่วนเสริมอย่างแท้จริงที่นี่: สามารถประมาณค่า nn ได้ แบบเรียลไทม์จากการประทับเวลาการค้าเพียงอย่างเดียว โดยไม่มีแผนที่การชำระบัญชี ไม่มีความลึกของคำสั่งซื้อขาย และไม่มีสมมติฐานด้านเลเวอเรจ นั่นคือเหตุผลทั้งหมดที่ทำให้ต้องกังวลกับเครื่องจักรแบบจุดประมวลผล

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

พื้นฐานกระบวนการชี้ประเด็นโดยสังเขป

พัลส์เหตุการณ์การสั่งซื้อ-มาถึงแบบไม่ต่อเนื่อง

กระบวนการของจุดคือชุดสุ่มของเวลาเหตุการณ์ ซึ่งกำหนดโดย ความเข้มข้นแบบมีเงื่อนไข λ(t)\lambda^*(t) — อัตราการมาถึงทันทีโดยพิจารณาจากประวัติทั้งหมด Ft\mathcal{F}_t:

λ(t)=limΔt0E[N(t,t+Δt)Ft]Δt\lambda^*(t) = \lim_{\Delta t \to 0} \frac{\mathbb{E}[N(t, t + \Delta t) \mid \mathcal{F}_t]}{\Delta t}

กระบวนการปัวซองที่เป็นเนื้อเดียวกันคือกรณี λ(t)=μ\lambda^*(t) = \mu กระบวนการปัวซองที่ไม่เป็นเนื้อเดียวกันทำให้ λ(t)\lambda(t) เป็นไปตามรูปร่างที่กำหนด (เช่น เส้นโค้งระหว่างวันรูปตัว U) แต่ยังคงยึดถือความเป็นอิสระแบบมีเงื่อนไข การรู้ว่าการซื้อขายเพิ่งเกิดขึ้นไม่ได้บอกคุณว่าการซื้อขายอื่นกำลังใกล้เข้ามาหรือไม่ สมมติฐานนั้นคือสิ่งที่ฝ่าฝืนขั้นตอนการสั่งซื้อที่แท้จริง และการละเมิดเป็นหัวข้อทั้งหมดของบทความนี้ เครื่องหมายดอกจันใน λ(t)\lambda^*(t) คือความแตกต่างทั้งหมด — ซึ่งแสดงถึงการพึ่งพาประวัติศาสตร์

กระบวนการฮอว์กส์

อาฟเตอร์ช็อกตลาด-เหตุการณ์ที่น่าตื่นเต้นในตัวเอง

กระบวนการฮอว์กส์ที่ไม่แปรเปลี่ยนนั้นมีความเข้มข้น

λ(t)=μ+ti<tϕ(tti)\lambda^*(t) = \mu + \sum_{t_i < t} \phi(t - t_i)

ด้วย μ>0\mu > 0 ความเข้มของพื้นหลัง (การมาถึงจากภายนอก) และ ϕ()0\phi(\cdot) \geq 0 เคอร์เนลการกระตุ้น แต่ละเหตุการณ์จะเพิ่มความรุนแรงขึ้นอีก ϕ(0)\phi(0) ซึ่งจะสลายไปพร้อมกับรูปร่างของ ϕ\phi กลุ่มของเหตุการณ์ล่าสุดก่อให้เกิดความเข้มข้นสูง ทำให้มีโอกาสเกิดเหตุการณ์ต่อไปมากขึ้น กระบวนการจะจดจำประวัติของมันเอง

อัตราส่วนการแตกแขนง

n=0ϕ(t)dtn = \int_0^\infty \phi(t) \, dt

nn คือจำนวนเหตุการณ์ลูกโดยเฉลี่ยที่ทริกเกอร์โดยพาเรนต์หนึ่งตัว ความคงที่ต้องใช้ n<1n < 1; ความเข้มเฉลี่ยคงที่คือ λˉ=μ/(1n)\bar{\lambda} = \mu / (1-n) ซึ่งแตกต่างเป็น n1n \to 1 ดังนั้น nn จึงแบ่งกิจกรรมทั้งหมดออกเป็นเศษส่วนภายนอก (1n)(1-n) และเศษส่วนภายนอก nn: ที่ n=0.7n = 0.7 เจ็ดสิบเปอร์เซ็นต์ของเหตุการณ์เป็นการตอบสนองต่อเหตุการณ์อื่น ๆ แทนที่จะเป็นการตอบสนองต่อสิ่งอื่นนอกตลาด

นี่คือการแยกย่อยวิกฤต/วิกฤตยิ่งยวดของตัวคูณคาสเคดใน การเรียงซ้อนการชำระบัญชี ซึ่งเข้าถึงจากทิศทางอื่น ความแตกต่างในเรื่องค่าใช้จ่ายในการคำนวณ: g=ρ/Δg = \rho/\Delta ต้องการแผนที่ล่วงหน้าของความหนาแน่นของการบังคับขายและความลึกของหนังสือที่ใช้งานจริง ซึ่งทั้งสองอย่างนี้เป็นการประมาณการแบบชั้นบนสมมติฐานเกี่ยวกับการกระจายเลเวอเรจ nn ต้องการรายการการประทับเวลา

Filimonov และ Sornette (2012) รายงานว่า nn เพิ่มขึ้นจากประมาณ 0.3 เป็นสูงกว่า 0.7 ในสัญญาซื้อขายล่วงหน้า E-mini S&P 500 ระหว่างปี 1998 ถึง 2007 Hardiman, Bercot และ Bouchaud (2013) ทำสัญญาเดียวกันใกล้กับ n0.8n \approx 0.8 โดยมีเคอร์เนลพลังงานของเลขชี้กำลังเกี่ยวกับ 1.15-1.15 สั้นๆ ล่าช้า ทั้งสองเป็นผลจากตราสารอนุพันธ์-ฟิวเจอร์สเมื่อกว่าทศวรรษที่แล้ว และไม่ได้ถ่ายโอนไปยังสกุลเงินดิจิทัลโดยไม่มีการวัดผล การทำซ้ำไม่ใช่ประเด็นของบทความนี้ การตรวจสอบว่าระบอบการปกครองเดียวกันนี้ยึดถือเทปถาวรตลอด 24 ชั่วโมงทุกวันกับผู้เข้าร่วมที่แตกต่างกันและไม่มีความต่อเนื่องในการเปิดตลาดหรือไม่

ตัวเลือกเคอร์เนล

เอ็กซ์โปเนนเชียล, ϕ(t)=αeβt\phi(t) = \alpha e^{-\beta t} พร้อมด้วย n=α/βn = \alpha/\beta Markovian ดังนั้นความน่าจะเป็นจะมีการเรียกซ้ำ O(1)O(1) ต่อเหตุการณ์ (ด้านล่าง) นี่คือจุดเริ่มต้นของทุกความพอดีที่ใช้งานได้จริง

กฎหมายพลังงาน, ϕ(t)=αcp/(c+t)1+p\phi(t) = \alpha c^p / (c+t)^{1+p}. สร้างคลัสเตอร์หน่วยความจำแบบยาวอีกครั้ง แต่สูญเสียการเรียกซ้ำ — การประเมินความน่าจะเป็นจะกลายเป็น O(N2)O(N^2) หรือต้องมีการตัดทอน

ผลรวมของเอ็กซ์โปเนนเชียล, ϕ(t)=k=1Kαkeβkt\phi(t) = \sum_{k=1}^{K} \alpha_k e^{-\beta_k t} ประมาณการสลายตัวของกฎพลังงานด้วยมาตราส่วนเวลา KK ในขณะที่ยังคงการเรียกซ้ำไว้ โดยปกติแล้ว K=3K = 3 ถึง 55 ก็เพียงพอแล้ว โดย βk\beta_k จะขยายจากมิลลิวินาทีถึงนาที

การมาถึงของการค้า crypto ลดลงแบบทวีคูณหรือตามกฎแห่งอำนาจหรือไม่นั้นเป็นคำถามเชิงประจักษ์พร้อมคำตอบของอัตราส่วนความน่าจะเป็น และจะมีการวัดด้านล่างแทนที่จะอ้างอิง

กระบวนการ Hawkes หลายตัวแปร

กิจกรรมการตลาดที่น่าตื่นเต้นข้ามกระแส

สำหรับประเภทเหตุการณ์ DD

λd(t)=μd+d=1Dtid<tϕdd(ttid)\lambda_d^*(t) = \mu_d + \sum_{d'=1}^{D} \sum_{t_i^{d'} < t} \phi_{dd'}(t - t_i^{d'})

โดยที่ ϕdd\phi_{dd'} อธิบายว่าประเภท dd' กระตุ้นประเภท dd อย่างไร ด้วยเคอร์เนลเอ็กซ์โพเนนเชียล เมทริกซ์การแตกแขนงคือ G=[αdd/βdd]G = [\alpha_{dd'}/\beta_{dd'}] และความคงที่ต้องใช้รัศมีสเปกตรัม ρ(G)<1\rho(G) < 1 เวกเตอร์ลักษณะเฉพาะของ GG ที่เกี่ยวข้องกับค่าลักษณะเฉพาะที่ใหญ่ที่สุดระบุโหมดการกระตุ้นที่โดดเด่น - กลุ่มของประเภทเหตุการณ์มีแนวโน้มที่จะยิงกัน

ตัวอย่างที่น่าสนใจสำหรับรายการสั่งซื้อคือ D=6D = 6: การซื้อในตลาด, การขายในตลาด, จำกัดการซื้อ, จำกัดการขาย, ยกเลิกการซื้อ, ยกเลิกการขาย เมทริกซ์นั้นมี 36 รายการและเป็นส่วนหนึ่งของชุดเครื่องมือ Hawkes ที่บล็อกนี้ไม่มีที่อื่น โปรดทราบว่าหนึ่งในรายการที่คาดการณ์ไว้นั้นได้รับการบันทึกไว้ในเชิงประจักษ์แล้วโดยไม่มีคำศัพท์: การยกเลิกมวลที่สัมพันธ์กันในระดับที่ต่อเนื่องกัน — การดึงผนัง — ถูกวัดโดยตรงใน ตำแหน่งคิวและการวิเคราะห์ผนังหนังสือสั่งซื้อ ϕcancel,cancel\phi_{\text{cancel},\text{cancel}} ที่ติดตั้งไว้นั้นเป็นปรากฏการณ์เดียวกันที่แสดงเป็นเคอร์เนล และการวัดทั้งสองควรสอดคล้องกัน หากไม่เป็นเช่นนั้น หนึ่งในนั้นก็ผิด

เวอร์ชันข้ามสินทรัพย์และหลายสถานที่เป็นเครื่องจักรเดียวกันที่มีป้ายกำกับต่างกัน กล่าวคือ เคอร์เนลนอกแนวทแยงจะจับลีดแล็กและการแพร่กระจาย และ Shi, Broussard และ Booth (2019) ใช้สิ่งนี้กับหุ้น Dow 30 ตัวในช่วงที่เกิดข้อขัดข้องฉับพลันในปี 2010 โดยค้นหาการกระตุ้นข้ามที่ไม่สมมาตรพร้อมแหล่งที่มาของการติดเชื้อที่สามารถระบุตัวได้

การสอบเทียบ

การปรับเทียบฟิลด์ความเข้มของเหตุการณ์

ความเป็นไปได้สูงสุด

สำหรับเวลากิจกรรม {t1,,tN}\{t_1, \ldots, t_N\} บน [0,T][0, T]:

(θ)=i=1Nlogλ(ti)0Tλ(t)dt\ell(\theta) = \sum_{i=1}^{N} \log \lambda^*(t_i) - \int_0^T \lambda^*(t) \, dt

ระยะแรกให้รางวัลแก่ความเข้มข้นของเหตุการณ์ที่เกิดขึ้น ประการที่สองลงโทษความรุนแรงที่ไม่ก่อให้เกิดอะไรเลย

สำหรับเคอร์เนลเอ็กซ์โปเนนเชียลการเรียกซ้ำ

Ri=j<ieβ(titj)=eβ(titi1)Ri1+1R_i = \sum_{j < i} e^{-\beta(t_i - t_j)} = e^{-\beta(t_i - t_{i-1})} \cdot R_{i-1} + 1

ให้ λ(ti)=μ+αRi\lambda^*(t_i) = \mu + \alpha R_i ที่ O(1)O(1) ต่อเหตุการณ์ และผู้ชดเชยจะปิด:

0Tλ(t)dt=μT+αβi=1N(1eβ(Tti))\int_0^T \lambda^*(t) \, dt = \mu T + \frac{\alpha}{\beta} \sum_{i=1}^{N} \left(1 - e^{-\beta(T - t_i)}\right)

ต้นทุนรวม O(N)O(N) ซึ่งทำให้งานนับล้านเหมาะกับกิจวัตรประจำวัน ปรับให้เหมาะสมด้วย L-BFGS-B ภายใต้ข้อจำกัดด้านบวก

โหมดความล้มเหลวสองโหมดที่ควรทราบก่อนที่คุณจะเชื่อถือเอาต์พุต พื้นผิวของความน่าจะเป็นจะแบนราบไม่ดีเมื่อ n1n \to 1 ดังนั้นความพอดีที่ใกล้วิกฤตจึงสามารถรายงานการประมาณจุดที่ดูมั่นใจซึ่งนั่งอยู่ในหุบเขาที่เกือบจะอยู่ในระดับเดียวกับ ±0.1\pm 0.1 ใน nn — มักจะระบุความน่าจะเป็นใน nn แทนที่จะอ่าน Hessian ของเครื่องมือเพิ่มประสิทธิภาพ และในการนับพารามิเตอร์เคสหลายตัวแปรจะเพิ่มขึ้นเป็น O(D2)O(D^2) ดังนั้น D10D \approx 10 ที่ผ่านมาคุณจะต้องมี group-Lasso บนบรรทัดฐานของเคอร์เนล ไม่เช่นนั้นเมทริกซ์จะมีสัญญาณรบกวนที่เหมาะสม

EM และการประมาณค่าแบบไม่อิงพารามิเตอร์

EM ถือว่าโครงสร้างการแตกแขนงเป็นแบบแฝง: แต่ละเหตุการณ์เป็นผู้อพยพจาก μ\mu หรือลูกหลานของเหตุการณ์ก่อนหน้านี้ กลไก E-step/M-step ทั่วไป ข้อแม้ที่เหมาะสมเฉพาะที่ และระเบียบวินัยในการเริ่มต้นหลายรายการจะครอบคลุมอยู่ในส่วน Baum-Welch ของ การตรวจจับระบบด้วย HMMs และจะเหมือนกันที่นี่ ส่วนเฉพาะของ Hawkes คือปริมาณ E-step เอง:

pij=ϕ(titj)λ(ti),pi0=μλ(ti)p_{ij} = \frac{\phi(t_i - t_j)}{\lambda^*(t_i)}, \quad p_{i0} = \frac{\mu}{\lambda^*(t_i)}

pijp_{ij} อยู่ข้างหลัง เหตุการณ์ใดทำให้เกิดเหตุการณ์ใด — เอาต์พุตที่ตีความได้ ไม่ใช่แค่การเพิ่มประสิทธิภาพระดับกลาง เมื่อรวมตามประเภทเหตุการณ์ จะให้การระบุแหล่งที่มาของเทป: เศษส่วนของการขายในชั่วโมงสุดท้ายนี้ถูกกระตุ้นโดยการขายก่อนหน้านี้ เศษส่วนนั้นมาจากภายนอก นอกจากนี้ยังช่วยให้คุณประมาณค่า ϕ\phi แบบไม่อิงพารามิเตอร์เป็นค่าคงที่ทีละชิ้นบนตารางได้ ซึ่งเป็นวิธีที่คุณตรวจสอบสมมติฐานเอ็กซ์โปเนนเชียลโดยไม่ต้องผูกมัดกับทางเลือกอื่น ราคา: O(N2)O(N^2) สำหรับเมทริกซ์ pijp_{ij} แบบเต็ม ดังนั้นจึงไม่สามารถขยายขนาดผ่านเหตุการณ์ 10510^5 โดยประมาณโดยไม่มีการประมาณค่า

วิธีสเปกตรัมของ Bacry และ Muzy เป็นอีกเส้นทางหนึ่งที่ไม่มีแบบจำลอง กล่าวคือ ความหนาแน่นสเปกตรัมพลังงานของกระบวนการ Hawkes ที่อยู่กับที่จะเป็นตัวกำหนดปัจจัยเป็น C^(ω)=IΦ^(ω)2diag(μ)\hat{C}(\omega) = |I - \hat{\Phi}(\omega)|^{-2} \cdot \text{diag}(\mu) ดังนั้นการประมาณความหนาแน่นของความแปรปรวนร่วมและการแก้ปัญหาการแยกตัวประกอบจะทำให้เมล็ดกลับคืนมาโดยไม่ต้องมีรูปแบบพาราเมตริก

ติดตั้งเทป Crypto จริง

รวมเทปการซื้อขาย crypto

ทุกตัวเลขในส่วนนี้จะต้องมาจากข้อมูลจริงที่พอดี การกู้คืนพารามิเตอร์ที่คุณฉีดเข้าไปในเครื่องจำลองไม่ใช่หลักฐานยืนยันสิ่งใด ยกเว้นว่าเครื่องมือเพิ่มประสิทธิภาพทำงานได้

ข้อมูล: การประทับเวลา Binance BTC/USDT aggTrade บนหน้าต่างที่กำหนด โดยมีหน้าต่าง สัญลักษณ์ และจำนวนเหตุการณ์ระบุไว้อย่างชัดเจนพร้อมกับทุกตัวเลขที่รายงาน aggTrade จะรวมการเติมในราคาเดียวกันจาก Taker Order หนึ่งรายการลงในบันทึกเดียว ซึ่งเป็นหน่วยที่ถูกต้องในที่นี้ — คำสั่งเชิงรุกหนึ่งคำสั่งคือหนึ่งเหตุการณ์ ไม่ใช่หนึ่งเหตุการณ์ต่อการเติมของคู่สัญญา

พอดีแบบ Univariate

import numpy as np
import pandas as pd
from tick.hawkes import HawkesExpKern

trades = pd.read_parquet("binance_btcusdt_aggtrades.parquet")

t0 = trades["transact_time"].iloc[0]
ts = ((trades["transact_time"] - t0) / 1000.0).to_numpy(dtype=np.float64)
T = ts[-1]

learner = HawkesExpKern(decays=BETA_GRID, penalty="none", verbose=False)
learner.fit([ts])

mu_hat = learner.baseline[0]
alpha_hat = learner.adjacency[0, 0]
n_hat = alpha_hat / BETA_CHOSEN

print(f"events   = {len(ts)}")
print(f"window   = {T/3600:.2f} h")
print(f"mu       = {mu_hat:.4f} events/s")
print(f"n        = {n_hat:.4f}")
print(f"lambda_bar (model) = {mu_hat/(1-n_hat):.4f} events/s")
print(f"lambda_bar (data)  = {len(ts)/T:.4f} events/s")

การพิมพ์สองรายการสุดท้ายเป็นการตรวจสอบสุขภาพครั้งแรกที่ไม่มีค่าใช้จ่ายใดๆ หากความเข้มเฉลี่ยคงที่ของแบบจำลอง μ/(1n)\mu/(1-n) ไม่ได้เข้าใกล้อัตราเหตุการณ์เชิงประจักษ์ ความพอดีนั้นไม่ถูกต้อง ไม่ว่าเครื่องมือเพิ่มประสิทธิภาพจะรายงานอะไรก็ตาม

ไม่ควรซ่อม β\beta ด้วยมือ ระบุความน่าจะเป็นบนตารางการสลายตัวและรายงานโปรไฟล์ เนื่องจาก α\alpha และ β\beta มีการแลกเปลี่ยนกันอย่างมาก และ n=α/βn = \alpha/\beta สามารถเสถียรได้ในขณะที่ไม่มีพารามิเตอร์ใดเลย

เคอร์เนลสลายตัวแบบทวีคูณจริงหรือ?

การเรียกร้องกฎหมายอำนาจในวรรณกรรมมาจากเอกสารตราสารทุน-ฟิวเจอร์สปี 2013 ทดสอบโดยตรง: ติดตั้งเคอร์เนลเอกซ์โพเนนเชียลและเคอร์เนลกฎกำลังลงในเทปเดียวกัน เปรียบเทียบตามความเป็นไปได้ของบันทึกในข้อมูลที่ค้างอยู่ (ไม่ใช่ในตัวอย่าง เนื่องจากกฎกำลังมีพารามิเตอร์เพิ่มเติม) และแยกดูการลดลงของความเข้มข้นเชิงประจักษ์หลังจากการซื้อขายจำนวนมาก

large = ts[trades["quantity"].to_numpy() > LARGE_TRADE_THRESHOLD]

lags = np.logspace(-3, 2, 60)   # 1 ms .. 100 s
rate = np.empty(len(lags) - 1)
for k in range(len(lags) - 1):
    lo, hi = lags[k], lags[k + 1]
    counts = [
        np.searchsorted(ts, t0_ + hi) - np.searchsorted(ts, t0_ + lo)
        for t0_ in large
    ]
    rate[k] = np.mean(counts) / (hi - lo)

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

เมทริกซ์การแตกแขนง

โมเดลหลายตัวแปรขั้นต่ำที่เป็นไปได้: สองมิติ ซื้อเชิงรุกและขายเชิงรุก คั่นด้วย is_buyer_maker หากมีข้อมูล L3 ให้ขยายเป็นการยกเลิก

buys  = ts[~trades["is_buyer_maker"].to_numpy()]   # taker bought
sells = ts[ trades["is_buyer_maker"].to_numpy()]   # taker sold

mv = HawkesExpKern(decays=BETA_CHOSEN, penalty="l2", C=C_CV, verbose=False)
mv.fit([buys, sells])

G = mv.adjacency / BETA_CHOSEN          # branching matrix
rho = np.max(np.abs(np.linalg.eigvals(G)))
print("G =\n", G)
print(f"spectral radius = {rho:.4f}")   # must be < 1

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

ความดีของความพอดี: การปรับขนาดเวลา

ทฤษฎีบทการปรับสเกลเวลา: หากแบบจำลองถูกต้อง เวลาที่แปลงแล้ว τi=0tiλ(s)ds\tau_i = \int_0^{t_i} \lambda^*(s)\,ds จะสร้างกระบวนการปัวซองที่มีอัตราต่อหน่วย ดังนั้นความแตกต่าง Δτi\Delta\tau_i จะเป็น Exp(1)\text{Exp}(1)

from scipy.stats import kstest, expon

compensator = np.empty(len(ts))
for i, ti in enumerate(ts):
    compensator[i] = mu_hat * ti + (alpha_hat / BETA_CHOSEN) * np.sum(
        1 - np.exp(-BETA_CHOSEN * (ti - ts[:i]))
    )

tau = np.diff(compensator)
stat, pval = kstest(tau, expon(scale=1.0).cdf)
print(f"KS = {stat:.4f}, p = {pval:.4g}, N = {len(tau)}")

ข้อควรระวังประการหนึ่งในการอ่านการทดสอบนี้: ด้วย NN ในจำนวนนับแสน การทดสอบ KS จะปฏิเสธการระบุข้อมูลผิดพลาดเล็กน้อย ค่า p เล็กๆ น้อยๆ ที่ N=5×105N = 5 \times 10^5 แทบจะไม่มีความหมายอะไรเลยด้วยตัวมันเอง ผลลัพธ์ที่ให้ข้อมูลคือพล็อต QQ ของ Δτ\Delta\tau เทียบกับ Exp(1)\text{Exp}(1) และสถิติ KS เอง ซึ่งเป็นขนาดเอฟเฟกต์ที่ไม่มีขนาด รายงานทั้งสองอย่าง และรายงานอย่างตรงไปตรงมา — หากเคอร์เนลเอ็กซ์โพเนนเชียลถูกปฏิเสธในเทปเข้ารหัสลับ นั่นเป็นผลลัพธ์ที่คุ้มค่าแก่การเผยแพร่มากกว่าการฝัง ในจิตวิญญาณเดียวกันกับ ผลลัพธ์เชิงลบโดยสุจริตบนขอบที่แข็งแกร่ง

เคลื่อนที่ด้วยความเปราะบางได้จริงหรือ?

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

ความเสถียรและความทนทาน

ระบบเหตุการณ์คลัสเตอร์ที่เสถียร

nn ที่ติดตั้งไว้นั้นไม่ใช่การวัดจนกว่าคุณจะรู้ว่ามันเคลื่อนไหวแค่ไหนเมื่อคุณเปลี่ยนสิ่งที่ไม่สำคัญ กับดักเฉพาะสี่แบบ ตามลำดับคร่าวๆ ว่าพวกมันสร้างความเสียหายได้มากน้อยเพียงใด

ความละเอียดของการประทับเวลาทำให้เกิดการกระตุ้นตัวเอง การประทับเวลา Binance aggTrade มีความละเอียดระดับมิลลิวินาที การซื้อขายที่ห่างกันในระดับไมโครวินาทีอย่างแท้จริงจะพังทลายลงสู่การประทับตรามิลลิวินาทีที่เหมือนกัน และความเป็นไปได้ของ Hawkes จะอ่านเหตุการณ์ที่เกิดขึ้นโดยบังเอิญว่าเป็นการกระตุ้นสูงสุด — ϕ(0)\phi(0) ประเมินที่ความล่าช้าเป็นศูนย์อย่างแน่นอน อคตินี้ทำให้ nn สูงขึ้น และอคตินั้นจะเพิ่มขึ้นตามกิจกรรม ซึ่งหมายความว่าจะเลวร้ายที่สุดในช่วงการระเบิดที่คุณต้องการให้ตัวเลขน่าเชื่อถือมากที่สุด หาปริมาณ: นับเศษส่วนของเหตุการณ์ที่แชร์การประทับเวลากับเพื่อนบ้าน จากนั้นปรับใหม่ด้วยเหตุการณ์ที่กระวนกระวายใจอย่างสม่ำเสมอภายในถังมิลลิวินาที และรายงานว่า nn เคลื่อนไหวไปมากน้อยเพียงใด หากการกระวนกระวายใจเปลี่ยน nn มากกว่าช่วงความเชื่อมั่น หมายเลขพาดหัวจะเป็นการวัดนาฬิกา ไม่ใช่ตลาด

การแลกเปลี่ยนเป็นกลุ่ม การแลกเปลี่ยนจะไม่ปล่อยเหตุการณ์ที่เกิดขึ้น พวกมันปล่อยพวกมันออกมาเมื่อไปป์ไลน์การจับคู่และการแพร่กระจายวูบวาบ การเร่งความเร็วหนึ่งต่อวินาทีของ Binance ในสตรีมการชำระบัญชีเป็นแบบอย่างที่บันทึกไว้ — สตรีมที่ดูเหมือนว่าการมาถึงแบบคลัสเตอร์เป็นส่วนหนึ่งของสิ่งประดิษฐ์ของผู้จัดพิมพ์ การแบ่งกลุ่มใดๆ ในฟีดการค้าจะทำให้เกิดช่วงเวลาในการกระจายสินค้าระหว่างมาถึงซึ่งเคอร์เนลของ Hawkes จะดูดซับเข้าสู่ α\alpha อย่างมีความสุข ตรวจสอบโดยตรง: ฮิสโตแกรมเวลาระหว่างการมาถึง และมองหาการเพิ่มขึ้นอย่างรวดเร็วในช่วงเวลาการแบทช์ก่อนที่จะปรับสิ่งใดให้เหมาะสม

ความไวต่อการสลายตัวที่สมมติขึ้น n=α/βn = \alpha/\beta ขึ้นอยู่กับ β\beta และโดยปกติแล้ว β\beta จะได้รับการแก้ไขหรือค้นหาด้วยตาราง แทนที่จะประเมินร่วมกัน รายงาน nn เป็นฟังก์ชันของ β\beta ในช่วงที่เป็นไปได้ ไม่ใช่เป็นจุด หากเส้นโค้งแบนราบ แสดงว่าตัวเลขนั้นเป็นจำนวนจริง หาก nn ติดตาม β\beta อย่างใกล้ชิด แสดงว่าคุณเลือกคำตอบแล้ว

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

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

สิ่งนี้ทำและไม่ซื้อคุณ

โครงสร้างความเข้มข้นที่มีประโยชน์ภายในความซับซ้อนของตลาด

ความเชื่อมโยงกับทฤษฎีโครงสร้างจุลภาคสามประการ ถูกเก็บไว้สั้น ๆ เนื่องจากบล็อกครอบคลุมแต่ละส่วนในที่อื่น

การก่อตัวของราคา ใน Kyle (1985) ราคาของผู้ดูแลสภาพคล่องในตลาดจากกระแสคำสั่งซื้อสุทธิที่ผสมผสานระหว่างข้อมูลและการซื้อขายสัญญาณรบกวน ค่าสัมประสิทธิ์การกระแทก λ\lambda และความลึก 1/λ1/\lambda ถูกจัดวางพร้อมกับเอกสารที่ตามมา — รวมถึงหลักฐานที่แสดงถึงความเป็นเส้นตรงของ Kyle — ใน แบบจำลองต้นทุนการเลื่อนหลุด การอ่านของ Hawkes จะจับคู่ μ\mu กับข้อมูลใหม่อย่างแท้จริง และเหตุการณ์ที่ตื่นเต้นในตัวเองกับปฏิกิริยาทางกล ทำให้ nn เป็นพร็อกซีที่วัดได้สำหรับส่วนแบ่งการไหลที่ขับเคลื่อนด้วยเสียงรบกวน

การจัดกลุ่มความผันผวน การจัดกลุ่ม การคงอยู่ สภาพความคงที่ α+β<1\alpha + \beta < 1 และความแปรปรวนระยะยาว ω/(1αβ)\omega/(1-\alpha-\beta) — ในโครงสร้างอะนาล็อกที่แน่นอนของ n<1n < 1 และ μ/(1n)\mu/(1-n) — ครอบคลุมอยู่ใน การพยากรณ์ความผันผวนของ GARCH สำหรับ crypto การอ้างสิทธิ์ใหม่ที่แท้จริงคือ Bacry, Delattre, Hoffmann และ Muzy (2013): กระบวนการ Hawkes ที่ใกล้วิกฤตจะสร้างอนุกรมที่ส่งคืนซึ่งความสัมพันธ์อัตโนมัติของความผันผวนสลายตัวตามกฎพลังงานโดยไม่มีแบบจำลองความผันผวนที่ชัดเจนทุกที่ การจัดกลุ่มความผันผวนถือเป็นคุณสมบัติที่เกิดขึ้นใหม่ของกระแสคำสั่งซื้อขายที่น่าตื่นเต้นในตัวเอง แทนที่จะถูกสันนิษฐานไว้

เอฟเฟกต์ Epps Bacry และ Muzy แสดงให้เห็นว่าแบบจำลอง Hawkes แบบไบวาเรียตสร้างการสลายของความสัมพันธ์ที่วัดได้ที่ความถี่ในการสุ่มตัวอย่างสูงจากเวลาการแพร่กระจายอันจำกัดของการกระตุ้นระหว่างกระบวนการทั้งสอง โดยไม่จำเป็นต้องใช้กลไกเพิ่มเติม

ในการดำเนินการ คำสั่งที่ตามมาจากการกระตุ้นตัวเอง - ช้าลงหลังจากสไลซ์ เร่งความเร็วในช่วงเวลาที่เงียบสงบ - ​​เป็นแกนหลักของส่วน POV Feedback-loop ในอัลกอริธึมการดำเนินการ TWAP, VWAP และ POV และคำวิจารณ์ของการแบ่งส่วนเท่ากันที่ไร้เดียงสาคือ Almgren-Chriss สิ่งที่ Hawkes เสริมนั้นไม่ใช่คำแนะนำ แต่เป็นตัวเลข: ครึ่งชีวิตของเคอร์เนลที่ติดตั้งไว้ ln2/β\ln 2 / \beta บอกว่าแรงกระตุ้นจากชิ้นของคุณจะใช้เวลานานแค่ไหนในการสลายตัว ซึ่งจะแปลง "รอสักครู่" เป็นระยะเวลาหยุดชั่วคราวที่เฉพาะเจาะจง

ข้อจำกัด

การเปลี่ยนแปลงระบอบการปกครองและข้อจำกัดของโมเดลเหตุการณ์

ไม่มีการยับยั้ง โมเดลคลาสสิกอนุญาตให้เฉพาะกิจกรรมเพิ่มความเข้มข้นเท่านั้น ตลาดมีสิ่งตรงกันข้าม: ข้อจำกัดขนาดใหญ่ที่ดูดซับแรงกดดันสามารถขัดขวางการซื้อขายเชิงรุกได้ กระบวนการของ Hawkes ที่มีการยับยั้งจะทำให้ค่าเคอร์เนลเป็นลบ โดยที่ไม่ต้องบังคับใช้ λ(t)0\lambda^*(t) \geq 0 ไม่ว่าสิ่งนี้จะมีความสำคัญต่อความพอดีที่กำหนดหรือไม่ก็ตามในการประมาณเคอร์เนลแบบไม่มีพารามิเตอร์ หาก ϕ^\hat\phi คงที่เป็นชิ้น ๆ ลดลงต่ำกว่าศูนย์ในช่วงล่าช้า แสดงว่าแบบจำลองที่มีข้อจำกัดกำลังต่อสู้กับข้อมูล

ความไม่คงที่ โมเดลมาตรฐานถือว่าความคงที่ และสกุลเงินดิจิทัลนั้นเกิดขึ้นตลอด 24 ชั่วโมงทุกวันแต่ไม่สม่ำเสมอ: สภาพคล่อง การผสมผสานของผู้เข้าร่วม และอัตราเหตุการณ์ทั้งหมดจะเปลี่ยนแปลงตลอดทั้งวันและตามการประทับเวลาการระดมทุน เส้นฐานที่แปรผันตามเวลา μ(t)\mu(t) จะจัดการเรื่องนี้โดยเสียค่าพารามิเตอร์มากขึ้น และความอ่อนไหวของหน้าต่างการประมาณค่าด้านบนคือวิธีที่คุณจะทราบว่าคุณต้องการหรือไม่

สรุป

ลำดับการไหลจัดเป็นความเข้มข้นแบบคลัสเตอร์

กระบวนการของ Hawkes คุ้มค่ากับเครื่องจักรด้วยเหตุผลเดียว นั่นคือยุบการจัดกลุ่มของโฟลว์คำสั่งซื้อให้เป็นตัวเลขเดียวที่สามารถตีความได้ อัตราส่วนการแยกสาขา nn ซึ่งคำนวณได้จากการประทับเวลาเพียงอย่างเดียว โดยไม่มีการสร้างรายการสั่งซื้อใหม่ และไม่มีสมมติฐานเกี่ยวกับการใช้ประโยชน์หรือการวางตำแหน่ง นั่นทำให้เป็นค่าประมาณที่ถูกที่สุดว่าตลาดภายนอกในปัจจุบันเป็นอย่างไร — คำถามเดียวกัน การชำระบัญชีเรียงซ้อน ตอบราคาแพงผ่าน g=ρ/Δg = \rho/\Delta

เครื่องจักรมีความตรงไปตรงมา: เคอร์เนลเอ็กซ์โพเนนเชียลให้ความเป็นไปได้ของ O(N)O(N) ผ่านการเรียกซ้ำของ RiR_i, EM ให้ผลภายหลังที่ตีความได้ซึ่งทำให้เกิดเหตุการณ์นั้น และการปรับเวลาใหม่ให้การทดสอบความดีที่เหมาะสมอย่างแท้จริง แทนที่จะเป็นข้อโต้แย้งที่น่าเชื่อถือ สิ่งที่ไม่ตรงไปตรงมาคือการไว้วางใจผลลัพธ์ การปัดเศษการประทับเวลามิลลิวินาทีจะทำให้ nn สูงขึ้นอย่างแม่นยำในระหว่างการระเบิด การแลกเปลี่ยนโครงสร้างการพิมพ์แบบแบตช์ที่เคอร์เนลจะดูดซับ และ nn จะเคลื่อนที่พร้อมกับทั้งการสลายตัวที่สมมติขึ้นและหน้าต่างการประมาณค่า อัตราส่วนการแยกย่อยที่รายงานโดยไม่มีความไวทั้งสี่นั้นถือเป็นตัวเลข ไม่ใช่การวัด


การอ้างอิงและการอ่านเพิ่มเติม

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

ผู้เขียน

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

ก้าวนำหน้าตลาด

สมัครรับจดหมายข่าวของเราเพื่อรับข้อมูลเชิงลึกการเทรดด้วย AI เฉพาะ การวิเคราะห์ตลาด และการอัปเดตแพลตฟอร์ม

เราเคารพความเป็นส่วนตัวของคุณ ยกเลิกการสมัครได้ทุกเมื่อ