การตรวจจับค่าผิดปกติที่แข็งแกร่งในไทม์ทางการเงิน


16

ฉันกำลังมองหาเทคนิคที่มีประสิทธิภาพในการลบค่าผิดพลาดและข้อผิดพลาด (ไม่ว่าจะเกิดอะไร) จากข้อมูลอนุกรมเวลาการเงิน (เช่น tickdata)

ข้อมูลอนุกรมเวลาทางการเงินแบบ Tick-by-tick นั้นยุ่งมาก มันมีช่องว่างขนาดใหญ่ (เวลา) เมื่อการแลกเปลี่ยนถูกปิดและกระโดดอย่างมากเมื่อการแลกเปลี่ยนเปิดขึ้นอีกครั้ง เมื่อการแลกเปลี่ยนเปิดขึ้นปัจจัยทุกชนิดจะแนะนำการซื้อขายในระดับราคาที่ไม่ถูกต้อง (ไม่ได้เกิดขึ้น) และ / หรือไม่ได้เป็นตัวแทนของตลาด (ขัดขวางเนื่องจากการเสนอราคาที่ป้อนไม่ถูกต้องหรือขอราคาตัวอย่าง) บทความนี้โดย tickdata.com (PDF) ทำงานได้ดีในการสรุปปัญหา แต่เสนอวิธีแก้ไขปัญหาที่เป็นรูปธรรมเล็กน้อย

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

มีใครตระหนักถึงการทำงานในเชิงลึกมากขึ้นในพื้นที่นี้หรือไม่?

อัปเดต: คำถามนี้ดูเหมือนกับพื้นผิว แต่:

  • ซีรี่ส์เวลาทางการเงินคือ (อย่างน้อยก็ที่ระดับเห็บ) ที่ไม่ใช่งวด
  • เอฟเฟ็กต์เปิดเป็นปัญหาใหญ่เพราะคุณไม่สามารถใช้ข้อมูลของวันสุดท้ายเป็นการเริ่มต้นแม้ว่าคุณจะชอบจริงๆ (เพราะไม่เช่นนั้นคุณก็ไม่มีอะไร) เหตุการณ์ภายนอกอาจทำให้การเปิดตัวของวันใหม่แตกต่างกันอย่างมากทั้งในระดับที่แน่นอนและความผันผวนจากวันก่อนหน้า
  • ความถี่ที่ผิดปกติอย่างมากของข้อมูลที่เข้ามา ใกล้เปิดและปิดของวันจำนวนดาต้าพอยน์ / วินาทีสามารถสูงกว่าค่าเฉลี่ย 10 ครั้งในระหว่างวัน คำถามอื่น ๆ ที่เกี่ยวข้องกับข้อมูลตัวอย่างเป็นประจำ
  • "ค่าผิดปกติ" ในข้อมูลทางการเงินแสดงรูปแบบเฉพาะบางอย่างที่สามารถตรวจพบได้ด้วยเทคนิคเฉพาะที่ไม่สามารถใช้ได้ในโดเมนอื่นและฉันกำลังมองหาเทคนิคเฉพาะเหล่านั้น
  • ในกรณีที่รุนแรงมากขึ้น (เช่นเกิดความผิดพลาดของแฟลช) ค่าผิดปกติอาจมีจำนวนมากกว่า 75% ของข้อมูลในช่วงเวลานานกว่า (> 10 นาที) นอกจากนี้ความถี่ (สูง) ของข้อมูลที่เข้ามามีข้อมูลบางอย่างเกี่ยวกับลักษณะภายนอกของสถานการณ์

1
ฉันไม่คิดว่านี่เป็นข้อมูลซ้ำซ้อนเนื่องจากลักษณะของข้อมูล ปัญหาที่กล่าวถึงในคำถามอื่น ๆ ที่เกี่ยวข้องเป็นประจำสังเกตชุดเวลาที่มีค่าผิดปกติเป็นครั้งคราว (อย่างน้อยนั่นคือวิธีที่ฉันตีความมัน) ลักษณะของข้อมูลที่ถูกทำเครื่องหมายด้วยเสียงติ๊กจะนำไปสู่การแก้ปัญหาที่แตกต่างกันเนื่องจากลักษณะพิเศษของการแลกเปลี่ยน
Rob Hyndman

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

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

1
ฉันเห็นด้วยกับ @Rob ข้อมูลประเภทนี้สามารถก่อให้เกิดการท้าทายที่ไม่เหมือนใครได้ดังนั้นจึงไม่ซ้ำกัน
เชน

1
ฉันคิดว่ามันเป็นของที่นี่ คำถามเกี่ยวกับการวิเคราะห์อนุกรมเวลาที่มีระยะห่างไม่สม่ำเสมอและมีเสียงดังมาก คุณเคยดูที่ "ข้อมูลเบื้องต้นเกี่ยวกับการเงินความถี่สูง" โดย Dacorogna, Olsen และกลุ่มอื่น ๆ บ้างไหม? หรือเอกสารจากผู้เขียนคนเดียวกัน?
PeterR

คำตอบ:


14

ปัญหาคือแน่นอนยาก

กฎเชิงกลไกเช่น +/- N1 คูณความเบี่ยงเบนมาตรฐานหรือ + / N2 คูณ MAD หรือ +/- N3 IQR หรือ ... จะล้มเหลวเนื่องจากมีบางซีรี่ส์ที่แตกต่างกันเช่น:

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

เคยไปทำแบบนั้น ... ในงานก่อนหน้า คุณสามารถลองวงเล็บแต่ละชุดโดยใช้เรือสัมพันธมิตร ( เช่นสมมติว่า USD / EUR และ EUR / JPY ถูกสันนิษฐานไว้ว่าดีคุณสามารถหาวงที่ต้องการ USD / JPY เช่นเดียวกับตราสารอนุพันธ์นอกเป็นต้น PP

ผู้ค้าข้อมูลเชิงพาณิชย์ได้เพิ่มความพยายามในเรื่องนี้และผู้ใช้ที่เป็นลูกค้าของพวกเขารู้ว่า ... มันยังคงไม่รวมข้อผิดพลาด


+1 ใช่ไม่มีอะไรสมบูรณ์แบบ Tickdata.com (ที่มีการกล่าวถึงกระดาษ) รวมถึงค่าผิดปกติและพวกเขายังตัดออกข้อมูลที่ดีมากเกินไป (เมื่อเทียบกับแหล่งอื่น) ข้อมูลของโอลเซ่นใกล้จะแย่มากและโดยทั่วไปฉันก็บ่งบอก มีเหตุผลที่ธนาคารจ่ายทีมปฏิบัติการขนาดใหญ่เพื่อทำงานนี้
เชน

ฉันชอบความคิดของคุณเกี่ยวกับการใช้ความสัมพันธ์การเก็งกำไรที่รู้จัก คุณเคยลองใช้วิธีนี้มาก่อนหรือไม่?
jilles de wit

ไม่เราไม่เคยทำกรงเล็บอย่างเต็มที่ แต่ฉันคิดว่าเราใช้ง่าย ๆ (เช่น ETF เทียบกับดัชนีเป็นต้น) ไม่กี่ปีที่ผ่านมา
Dirk Eddelbuettel

8

ฉันจะเพิ่มการอ้างอิงกระดาษเมื่อฉันกลับไปที่คอมพิวเตอร์ แต่นี่คือคำแนะนำง่ายๆ:

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

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

หากต้องการพิจารณาการเปลี่ยนแปลงของความผันผวนคุณอาจลองใช้การคำนวณความผันผวนจากช่วงเวลาเดียวกันของวันในสัปดาห์ที่ผ่านมา (ใช้ฤดูกาล)


ด้วยการใช้ผลตอบแทนเพียงอย่างเดียวคุณจะเสี่ยงต่อบันไดมาก ๆ (เช่นลำดับของราคาที่ปีนขึ้นไปหรือลดลงจากบรรทัดฐานซึ่งผลตอบแทนของแต่ละคนเป็นที่ยอมรับได้ เป็นการดีที่คุณจะใช้ทั้งผลตอบแทนและระดับสมบูรณ์
jilles de wit

5

ฉันได้เปลี่ยนคำตอบของฉันเพื่อสะท้อนความกังวลของคุณเกี่ยวกับการขาด 'การปรับตัว' ของคนบ้า / คนไม่มีเงื่อนไข

(μ^เสื้อ,σ^เสื้อ)

xเสื้อ-μ^เสื้อσ^เสื้อ

คุณสามารถค้นหาข้อมูลเพิ่มเติม (และลิงค์ไปยังแพ็คเกจ R) ในเอกสารนี้:

Boudt, K. และ Croux, C. (2010) M- การประมาณค่าที่แข็งแกร่งของรุ่น GARCH หลายตัวแปร


ฉันได้ลองทำแบบนี้แล้ว แต่วิธีนี้ไม่ค่อยดีในการรับมือกับการเปลี่ยนแปลงอย่างฉับพลันของความผันผวน สิ่งนี้นำไปสู่การกรองในช่วงเวลาที่เงียบสงบและการกรองเกินในช่วงเวลาที่ยุ่งมาก
jilles de wit

ฉันไม่เข้าใจเรื่องนี้ "สิ่งนี้นำไปสู่การกรองในช่วงเวลาที่เงียบสงบและการกรองเกินในช่วงเวลาที่ยุ่งมาก" จะอธิบายไหม?
user603

ในช่วงเวลาที่เงียบสงบความผันผวนของราคามีแนวโน้มที่จะลดลงดังนั้นราคาที่ใกล้เคียงกับค่าเฉลี่ยมากขึ้นจึงถือเป็นค่าผิดปกติได้ อย่างไรก็ตามเนื่องจากคุณใช้ MAD สำหรับ (สมมุติ) ทั้งวันซื้อขาย (หรือนานกว่า) ค่าผิดปกติเหล่านี้จะน้อยกว่า 3 MAD ห่างจากค่ามัธยฐานและจะไม่ถูกกรอง การย้อนกลับเป็นจริงสำหรับช่วงเวลาที่ยุ่งกับการเคลื่อนไหวของราคาที่สูงขึ้น (การเคลื่อนไหวของราคาที่ยอมรับได้จะถูกกรอง) ดังนั้นปัญหาจะลดลงเพื่อประเมินค่า MAD อย่างเหมาะสมตลอดเวลาซึ่งเป็นปัญหาที่ต้องเริ่มต้นด้วย
jilles de wit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.