Skip to content
คู่มือออปชันทั้งหมด
เลือกเวลาสังเกตจากการเปลี่ยนแปลงราคาที่สะสมอ่านประมาณ 10 นาที

อธิบาย CUSUM Filter: การสุ่มตัวอย่างเหตุการณ์ทางการเงิน

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

ในคู่มือนี้ตัวกรองสะสมการเคลื่อนไหวแทนการตอบสนองต่อการแกว่งครั้งเดียว

สรุปสั้น

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

ตัวกรองสะสมการเคลื่อนไหวแทนการตอบสนองต่อการแกว่งครั้งเดียว

สำหรับราคาปิด Pₜ > 0 ให้คำนวณผลตอบแทนลอการิทึม rₜ = ln(Pₜ/Pₜ₋₁) ผลตอบแทนบวกสะสมในตัวสะสมด้านบน ส่วนผลตอบแทนลบสะสมในตัวสะสมด้านล่าง:

S⁺ₜ = max(0, S⁺ₜ₋₁ + rₜ)

S⁻ₜ = min(0, S⁻ₜ₋₁ + rₜ)

เมื่อใช้เกณฑ์สมมาตรคงที่ h > 0 เหตุการณ์เกิดเมื่อ S⁺ₜ > h หรือ S⁻ₜ < −h บทความนี้ใช้การเปรียบเทียบแบบเกินเกณฑ์อย่างเคร่งครัด หลังเกิดเหตุการณ์ ให้รีเซ็ตตัวสะสมที่ข้ามเกณฑ์กลับเป็นศูนย์ การเคลื่อนไหวสวนทางเล็กน้อยจะไม่ย้อนกลับไปหักล้างยอดสะสมก่อนหน้า เพราะสมการตัดค่าที่มีเครื่องหมายผิดทิศออกจากแต่ละแขนง

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

จุดเท่ากับเกณฑ์ขึ้นกับธรรมเนียมของการนำไปใช้

คำอธิบายวิธีนี้มักใช้ความหมายว่า “ถึงหรือเกิน” เกณฑ์ ขณะที่โค้ดบางชุดตรวจว่าต้องเกินอย่างเคร่งครัด เมื่อ S⁺ₜ = h หรือ S⁻ₜ = −h สองวิธีอาจบันทึกเหตุการณ์คนละจังหวะ ลำดับการอัปเดต เวลาที่บันทึก และแขนงที่จะรีเซ็ตก็อาจต่างกัน ให้ระบุกฎเหล่านี้ล่วงหน้าและใช้เหมือนกันทั้งในโค้ดกับเอกสาร

เกณฑ์ h มีหน่วยเป็นผลตอบแทนลอการิทึม ไม่ใช่เปอร์เซ็นต์การเปลี่ยนแปลงราคาโดยตรง สำหรับการเคลื่อนไหวเล็ก ค่า 0.005 ใกล้เคียง 0.5% แต่การเปลี่ยนแปลงที่แม่นยำคือ exp(0.005) − 1 ความแตกต่างจะชัดขึ้นเมื่อราคาเคลื่อนไหวมาก บทที่ 2 ของ Advances in Financial Machine Learning และ เอกสาร mlfinpy เรื่อง filtering อธิบายการเลือกเหตุการณ์จากการเปลี่ยนแปลงราคาสะสม ส่วน ซอร์สโค้ด mlfinpy แสดงธรรมเนียมของโค้ด แนวคิดแผนการตรวจสอบแบบสะสมมีรากจากงานสังเกตต่อเนื่องของ Page ในบทความ Continuous Inspection Schemes

ตัวอย่างราคาปิดแสดงการกระตุ้นทั้งสองทิศทาง

สมมติราคาปิดเป็น 100.00 → 100.20 → 100.40 → 100.60 → 100.40 → 100.20 → 100.00 และ h = 0.005 ในหน่วยผลตอบแทนลอการิทึม การเพิ่มขึ้นจากราคาปิดเริ่มต้นถึง 100.60 คือ ln(100.60/100.00) = 0.005982 หรือประมาณ 0.598% ตัวสะสมด้านบนจึงเกิน h เป็นครั้งแรกที่ราคาปิด 100.60 และตัวกรองทำเครื่องหมายเหตุการณ์ตรงนั้น

หลังรีเซ็ตแขนงด้านบน การลดลงถัดมาจะสะสมในแขนงด้านล่าง การเปลี่ยนแปลงจาก 100.60 ถึง 100.00 คือ ln(100.00/100.60) = −0.005982 ตัวสะสมด้านล่างจึงข้าม −h ที่ราคาปิด 100.00 และเกิดเหตุการณ์ที่สอง เส้นทางนี้มีไว้สาธิตวิธีคำนวณเท่านั้น ตัวเลขเป็นข้อมูลสมมติ ไม่ใช่ข้อมูลตลาด ราคาเสนอซื้อขาย หรือราคาที่จับคู่คำสั่ง

การเลือกเกณฑ์กำหนดความถี่ของเหตุการณ์

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

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

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

เวลาแบบเหตุการณ์ต่างจากแท่งเวลาปกติ

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

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

ตัวกรองกำหนดจุดเริ่ม แต่ไม่ได้กำหนดผลลัพธ์

CUSUM ตอบว่า “เมื่อใดมีการเคลื่อนไหวสะสมมากพอจะเริ่มเหตุการณ์” ไม่ได้บอกว่าราคาจะขึ้นหรือลงต่อ และไม่สร้างตัวแปรเป้าหมาย y ขั้นตอนอื่นอาจสร้างคุณลักษณะ ณ เวลากระตุ้น แล้วกำหนดป้ายจากเส้นทางราคาภายหลัง เช่น วิธี Triple Barrier ใช้ขอบเขตด้านบน ด้านล่าง และระยะเวลาสูงสุดในการกำหนดผลลัพธ์

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

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

ผลตอบแทนลอการิทึมต้องใช้ราคาบวก

ln(Pₜ/Pₜ₋₁) นิยามได้เมื่อราคาทั้งสองเป็นบวก หากตราสารอาจมีราคาเป็นศูนย์หรือติดลบ เช่น ฟิวเจอร์สบางสัญญา สเปรด หรืออนุกรมสังเคราะห์ จะใช้ผลตอบแทนลอการิทึมนี้ไม่ได้ ก่อนวิเคราะห์ให้เลือกการแปลงหรือมาตรวัดอื่นและอธิบายความหมาย อย่าเลื่อนราคาด้วยค่าคงที่โดยไม่แจ้ง เพราะจะเปลี่ยนผลตอบแทนและจุดเกิดเหตุการณ์

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

เวลาตรวจพบไม่ใช่ราคาที่จับคู่คำสั่ง

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

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

บันทึกข้อกำหนดเพื่อให้ทำซ้ำได้

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

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

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

Q1เหตุการณ์ CUSUM แปลว่าควรซื้อหรือขายหรือไม่?

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

Q2ตัวกรองเหตุการณ์ต่างจาก CUSUM test ของสมการถดถอยอย่างไร?

ตัวกรองรวมผลตอบแทนลอการิทึมเพื่อเลือกเวลาสุ่มตัวอย่าง ส่วนการทดสอบสมการถดถอยรวมค่าคลาดเคลื่อนแบบวนซ้ำและเทียบเส้นทางสถิติกับขอบเขตเสถียรภาพ ทั้งสองตอบคำถามต่างกัน

Q3ใช้ CUSUM แบบลอการิทึมกับราคาติดลบได้ไหม?

ไม่ได้ เพราะ ln(Pₜ/Pₜ₋₁) ต้องใช้ราคาทั้งคู่เป็นบวก หากราคาเป็นศูนย์หรือติดลบ ให้เลือกการแปลงหรือมาตรวัดอื่นพร้อมอธิบายเหตุผลก่อน

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

รายงานปัญหา

เราจะเตรียมอีเมลพร้อมลิงก์บทความนี้ Mark จะได้รับรายงานเมื่อคุณส่งอีเมลแล้วเท่านั้น

ตรวจสอบอย่างรวดเร็ว

อ่านคู่มือจบแล้ว ลองตอบคำถาม 3 ข้อ

คำถาม 1 / 3

คำถาม 01

ตามกฎในบทความนี้ ตัวกรองแบบสมมาตรทำงานเมื่อใด?

เลือกคำตอบเพื่อดูคำอธิบาย

อภิธานศัพท์ออปชัน

แยกจุดเริ่มเหตุการณ์ออกจากป้ายกำกับผลลัพธ์วิธี Triple Barrier: การติดป้ายกำกับเหตุการณ์ทางการเงินเรียนรู้ว่าระดับทำกำไร ระดับจำกัดขาดทุน และกรอบเวลาถือครองสูงสุดร่วมกันกำหนดป้ายกำกับเหตุการณ์อย่างไร พร้อมวิธีจัดการข้อมูลราคาที่กำกวมและผลลัพธ์ที่ทับซ้อนกันความผันผวนIV Rank คืออะไรคำนวณ IV Rank จากช่วง high-low ที่กำหนด เปรียบเทียบกับ IV Percentile และทดสอบว่าค่านี้หมายถึงอะไรสำหรับออปชันที่แน่นอนความผันผวนIV Percentile คืออะไรคำนวณ IV Percentile จากช่วง lookback ที่กำหนด เปรียบเทียบกับ IV Rank และทดสอบว่าค่านี้บอกอะไรได้และบอกอะไรไม่ได้เกี่ยวกับการตั้งราคาออปชันช่วง volatilityExpected move ของออปชัน: สูตร ความแม่นยำ และการตีความเรียนรู้ว่า expected move ประเมินจาก implied volatility หรือ at-the-money straddle อย่างไร สมมติฐานของกฎ 68% คืออะไร และจะทดสอบความแม่นยำอย่างไรตัวชี้วัด volatilityimplied volatility เทียบกับ VIX: ทำไมตัวเลขสองค่านี้เทียบกันโดยตรงไม่ได้เปรียบเทียบ implied volatility ของ contract กับ VIX Index โดยพิจารณา underlying, horizon, ชุดออปชัน methodology และการตัดสินใจที่ตัวชี้วัดแต่ละแบบรองรับ