Phát hiện ngoại lệ mạnh mẽ trong thời gian tài chính


16

Tôi đang tìm kiếm một số kỹ thuật mạnh mẽ để loại bỏ các ngoại lệ và lỗi (bất kể nguyên nhân nào) khỏi dữ liệu chuỗi thời gian tài chính (ví dụ: tickdata).

Dữ liệu chuỗi thời gian tài chính tick-by-tick rất lộn xộn. Nó chứa những khoảng trống lớn (thời gian) khi trao đổi được đóng lại, và thực hiện những bước nhảy lớn khi trao đổi mở lại. Khi trao đổi mở, tất cả các loại yếu tố giới thiệu giao dịch ở mức giá sai (chúng không xảy ra) và / hoặc không đại diện cho thị trường (tăng đột biến do giá thầu nhập sai hoặc hỏi giá chẳng hạn). Bài viết này của tickdata.com (PDF) thực hiện tốt việc phác thảo vấn đề, nhưng đưa ra một vài giải pháp cụ thể.

Hầu hết các giấy tờ tôi có thể tìm thấy trực tuyến đề cập đến vấn đề này hoặc bỏ qua nó (tickdata được giả định đã được lọc) hoặc bao gồm bộ lọc như một phần của một mô hình giao dịch khổng lồ ẩn bất kỳ bước lọc hữu ích nào.

Có ai biết về công việc chuyên sâu hơn trong lĩnh vực này?

Cập nhật: câu hỏi này có vẻ tương tự trên bề mặt nhưng:

  • Chuỗi thời gian tài chính là (ít nhất là ở cấp độ đánh dấu) không định kỳ.
  • Hiệu ứng mở là một vấn đề lớn vì bạn không thể đơn giản sử dụng dữ liệu của ngày cuối cùng làm khởi tạo mặc dù bạn thực sự muốn (vì nếu không thì bạn chẳng có gì cả). Các sự kiện bên ngoài có thể khiến việc mở ngày mới khác biệt đáng kể cả về mức độ tuyệt đối và mức độ biến động so với ngày trước.
  • Tần số dữ liệu đến bất thường. Gần mở và đóng trong ngày, lượng datapoint / giây có thể cao hơn 10 lần so với mức trung bình trong ngày. Các câu hỏi khác liên quan đến dữ liệu được lấy mẫu thường xuyên.
  • Các "ngoại lệ" trong dữ liệu tài chính thể hiện một số mẫu cụ thể có thể được phát hiện bằng các kỹ thuật cụ thể không áp dụng trong các lĩnh vực khác và tôi đang tìm kiếm các kỹ thuật cụ thể đó.
  • Trong các trường hợp cực đoan hơn (ví dụ như sự cố flash), các ngoại lệ có thể lên tới hơn 75% dữ liệu trong khoảng thời gian dài hơn (> 10 phút). Ngoài ra, tần số (cao) của dữ liệu đến chứa một số thông tin về khía cạnh ngoại lệ của tình huống.

1
Tôi không nghĩ rằng đây là một bản sao vì bản chất của dữ liệu. Vấn đề được thảo luận về câu hỏi khác liên quan đến chuỗi thời gian quan sát thường xuyên với các ngoại lệ không thường xuyên (ít nhất đó là cách tôi diễn giải nó). Bản chất của dữ liệu tick-by-tick sẽ dẫn đến các giải pháp khác nhau do hiệu ứng mở trao đổi.
Rob Hyndman

có thể trùng lặp thuật toán đơn giản để phát hiện ngoại lệ trực tuyến của chuỗi thời gian chung Câu hỏi này được đề xuất để đóng dưới dạng trùng lặp. Bạn có thể vui lòng cho chúng tôi biết tại chuỗi meta nếu và bối cảnh của bạn khác với câu hỏi tôi đã liên kết như thế nào không?

@Rob Nhưng hiệu ứng mở trao đổi chỉ xác định khi bạn phải chạy thuật toán. Vấn đề cơ bản vẫn như cũ. Ngay cả trong dữ liệu mạng, bạn có 'hiệu ứng mở văn phòng' nơi lưu lượng truy cập đạt mức cao nhất ngay khi văn phòng mở. Ít nhất, OP nên liên kết với câu hỏi đó, quét các câu trả lời ở đó và giải thích tại sao các giải pháp ở đó không hoạt động để có thể đăng câu trả lời phù hợp cho câu hỏi này.

1
Tôi đồng ý với @Rob. Loại dữ liệu này có thể tạo ra các challang độc đáo, vì vậy đây không phải là một bản sao.
Shane

1
Tôi nghĩ nó thuộc về nơi này. Câu hỏi là về việc phân tích chuỗi thời gian không đều, rất ồn. Bạn đã xem "Giới thiệu về tài chính tần số cao" của Dacorogna, Olsen và một nhóm người khác chưa? Hoặc các bài viết của cùng tác giả?
PeterR

Câu trả lời:


14

Vấn đề chắc chắn là khó khăn .

Các quy tắc cơ học như độ lệch chuẩn +/- N1 lần hoặc + / N2 lần MAD hoặc +/- N3 IQR hoặc ... sẽ không thành công vì luôn có một số chuỗi khác nhau như ví dụ:

  • các bản sửa lỗi như lãi suất liên ngân hàng có thể không đổi trong một thời gian và sau đó đột ngột tăng vọt
  • tương tự như ví dụ: một số sàn giao dịch nước ngoài sắp ra một chốt
  • một số công cụ được ngầm định lây lan; chúng có thể gần bằng 0 trong các khoảng thời gian và tất cả các bước nhảy đột ngột

Ở đó, làm điều đó, ... trong một công việc trước đây. Bạn có thể cố gắng tạo khung cho từng chuỗi bằng cách sử dụng các tàu quan hệ chênh lệch giá ( ví dụ: giả sử USD / EUR và EUR / JPY được coi là tốt, bạn có thể tìm ra các dải xung quanh USD / JPY nên như thế nào;

Các nhà cung cấp dữ liệu thương mại mở rộng một số nỗ lực về điều này và những người sử dụng là khách hàng của họ biết ... vẫn không loại trừ lỗi.


+1 có, không có gì là hoàn hảo. Tickdata.com (có bài báo được đề cập) cũng bao gồm các ngoại lệ và họ cũng loại bỏ quá nhiều dữ liệu tốt (khi so sánh với một nguồn khác). Dữ liệu của Olsen gần như là khủng khiếp, và tôi thường chỉ là chỉ dẫn. Có một lý do mà các ngân hàng trả cho các nhóm hoạt động lớn để làm việc này.
Shane

Tôi thích ý tưởng của bạn về việc sử dụng quan hệ chênh lệch giá đã biết. bạn đã từng thử điều này trong công việc trước đây chưa?
jilles de wit

Không, chúng tôi không bao giờ chính thức hóa hoàn toàn điều đó. Nhưng tôi nghĩ rằng chúng tôi đã sử dụng một số cái đơn giản (ví dụ ETF so với chỉ số cơ bản, v.v.). Đã được một vài năm.
Dirk Eddelbuettel

8

Tôi sẽ thêm một số tài liệu tham khảo bằng giấy khi tôi quay lại máy tính, nhưng đây là một số gợi ý đơn giản:

Chắc chắn bắt đầu bằng cách làm việc với lợi nhuận. Điều này là rất quan trọng để đối phó với khoảng cách bất thường, nơi bạn có thể tự nhiên có được khoảng cách giá lớn (đặc biệt là vào khoảng cuối tuần). Sau đó, bạn có thể áp dụng một bộ lọc đơn giản để loại bỏ lợi nhuận ngoài định mức (ví dụ: so với số lượng độ lệch chuẩn cao). Lợi nhuận sẽ điều chỉnh về mức tuyệt đối mới, vì vậy những thay đổi thực sự lớn sẽ dẫn đến việc mất chỉ một tích tắc. Tôi đề nghị sử dụng bộ lọc hai lượt với lợi nhuận được thực hiện từ 1 bước và n bước để xử lý các cụm ngoại lệ.

Chỉnh sửa 1: Liên quan đến việc sử dụng giá thay vì trả về: giá tài sản có xu hướng không ổn định, vì vậy IMO có thể đặt ra một số thách thức bổ sung. Để giải thích cho các hiệu ứng luật bất thường và quyền lực, tôi sẽ tư vấn một số loại điều chỉnh nếu bạn muốn đưa chúng vào bộ lọc của mình. Bạn có thể mở rộng quy mô thay đổi giá theo khoảng thời gian hoặc theo biến động. Bạn có thể tham khảo tài liệu "biến động nhận ra" cho một số cuộc thảo luận về điều này. Cũng được thảo luận trong Dacorogna et. al.

Để tính đến sự thay đổi của tính biến động, bạn có thể thử dựa trên tính toán biến động của mình từ cùng thời điểm trong ngày trong tuần qua (sử dụng tính thời vụ).


Bằng cách chỉ sử dụng lợi nhuận, bạn trở nên rất dễ bị tổn thương bởi thang (tức là một chuỗi giá tăng hoặc giảm khỏi định mức, trong đó mỗi lợi nhuận cá nhân được chấp nhận, nhưng là một nhóm mà họ đại diện cho một ngoại lệ). Lý tưởng nhất là bạn sử dụng cả mức hoàn trả và mức tuyệt đối.
jilles de wit

5

Tôi đã (với một số chậm trễ) đã thay đổi câu trả lời của mình để phản ánh mối quan tâm của bạn về việc thiếu 'khả năng thích ứng' của người điên / trung bình vô điều kiện.

Bạn có thể giải quyết vấn đề biến động theo thời gian với khung thống kê mạnh mẽ. Điều này được thực hiện bằng cách sử dụng một công cụ ước tính mạnh mẽ của phương sai có điều kiện (thay vì công cụ ước tính mạnh mẽ của phương sai vô điều kiện mà tôi đã đề xuất trước đó): ước lượng M của mô hình GARCH. Sau đó, bạn sẽ có một ước tính mạnh mẽ, thay đổi theo thời gian(μ^t,σ^t)không giống với sản phẩm phù hợp với GARCH thông thường. Đặc biệt, họ không bị điều khiển bởi một vài ngoại lệ ở xa. Vì các ước tính này không được điều khiển bởi chúng, bạn có thể sử dụng chúng để đánh dấu các ngoại lệ một cách đáng tin cậy bằng cách sử dụng phân phối lịch sử của

xt-μ^tσ^t

Bạn có thể tìm thêm thông tin (và liên kết đến gói R) trong bài viết này :

Boudt, K. và Croux, C. (2010). M-Ước tính mạnh mẽ của các mô hình GARCH đa biến.


Tôi đã thử một cái gì đó như thế này, nhưng phương pháp này không tốt lắm trong việc xử lý những thay đổi đột ngột trong sự biến động. Điều này dẫn đến việc lọc trong thời gian yên tĩnh và lọc quá mức trong thời gian bận rộn hơn.
jilles de wit

Tôi không hiểu điều này "Điều này dẫn đến việc lọc kém trong thời gian yên tĩnh và lọc quá mức trong thời gian bận rộn hơn" quan tâm giải thích?
user603

Trong thời kỳ yên tĩnh, biến động giá có xu hướng thấp hơn, vì vậy giá gần với giá trị trung bình có thể được coi là ngoại lệ. Tuy nhiên, vì bạn sử dụng MAD cho (có lẽ) toàn bộ ngày giao dịch (hoặc thậm chí lâu hơn), các ngoại lệ này cách trung bình ít hơn 3 MAD và sẽ không được lọc. Điều ngược lại là đúng cho các giai đoạn bận rộn với biến động giá cao hơn (biến động giá chấp nhận được sẽ được lọc). Do đó, vấn đề giảm xuống để ước tính đúng MAD mọi lúc, đây là vấn đề bắt đầu.
jilles de wit
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.