재무 시계열에서 강력한 이상치 탐지


16

재무 시계열 데이터 (예 : tickdata)에서 특이 치 및 오류 (원인이 무엇이든)를 제거 할 수있는 강력한 기술을 찾고 있습니다.

틱별로 금융 시계열 데이터는 매우 지저분합니다. 교환이 닫히면 엄청난 시간 간격이 생기고 교환이 다시 열리면 크게 점프합니다. 거래소가 열리면 모든 종류의 요소가 잘못되었거나 발생하지 않은 가격 수준 또는 시장을 대표하지 않는 가격 수준에서 거래를 유도합니다 (예를 들어, 잘못 입력 된 입찰 또는 가격 요청으로 인한 급증). tickdata.com (PDF) 의이 문서는 문제를 개략적으로 설명하지만 구체적인 솔루션은 거의 제공하지 않습니다.

온라인 에서이 문제를 언급하는 대부분의 논문은이 문제를 무시하거나 (틱 데이터가 필터링 된 것으로 가정) 유용한 필터링 단계를 숨기는 거대한 거래 모델의 일부로 필터링을 포함합니다.

이 분야에서 더 심도 깊은 작업을 알고있는 사람이 있습니까?

업데이트 : 이 질문 은 표면적으로 비슷해 보이지만 다음과 같습니다.

  • 재무 시계열은 (적어도 눈금 수준에서) 비 주기적입니다.
  • 마지막 날의 데이터를 정말로 원하지만 (아무것도 없기 때문에) 초기화로 단순히 사용할 수 없기 때문에 오프닝 효과는 큰 문제입니다. 외부 사건으로 인해 새로운 날 개회가 절대적인 수준과 전날의 변동성 모두에서 크게 달라질 수 있습니다.
  • 들어오는 데이터의 빈도가 불규칙합니다. 하루 종일 열리고 닫히는 데이터 포인트 / 초의 양은 하루 동안의 평균보다 10 배 더 높을 수 있습니다. 다른 질문은 정기적으로 샘플링 된 데이터를 처리합니다.
  • 재무 데이터의 "이상치"는 다른 도메인에는 적용 할 수없는 특정 기술로 감지 할 수있는 특정 패턴을 나타내며 이러한 특정 기술을 부분적으로 찾고 있습니다.
  • 더 극단적 인 경우 (예 : 플래시 충돌) 이상 값은 더 긴 간격 (> 10 분) 동안 데이터의 75 % 이상에 달할 수 있습니다. 또한 들어오는 데이터의 (높은) 빈도에는 상황의 특이한 측면에 대한 일부 정보가 포함됩니다.

1
데이터의 특성으로 인해 이것이 중복이라고 생각하지 않습니다. 관련된 다른 질문에 대해 논의 된 문제는 정기적으로 가끔 특이 치가있는 시계열을 관찰했습니다 (적어도 그것이 내가 해석 한 방법입니다). 틱 바이 틱 데이터의 특성은 교환 개방 효과로 인해 다른 솔루션으로 이어질 것입니다.
Rob Hyndman

일반 시계열의 온라인 이상 값 탐지를위한 간단한 알고리즘의 복제 가능 이 질문은 복제본으로 종결 될 것을 제안합니다. 문맥이 내가 연결 한 질문과 어떻게 다르면 메타 스레드에 알려주시겠습니까?

@Rob 그러나 교환 개방 효과는 알고리즘을 실행해야 할시기 만 결정합니다. 근본적인 문제는 동일하게 유지됩니다. 네트워크 데이터에서도 사무실이 열리 자마자 트래픽이 가장 많이 발생하는 '사무실 개방 효과'가 있습니다. 최소한 OP는 해당 질문에 링크하고 답변을 스캔 한 후 해당 솔루션이 작동하지 않는 이유를 설명하여이 질문에 적합한 답변을 게시 할 수 있어야합니다.

1
@Rob에 동의합니다. 이런 종류의 데이터는 고유 한 칼랑 어가 될 수 있으므로 복제본이 아닙니다.
Shane

1
나는 그것이 여기에 속한다고 생각합니다. 문제는 불규칙한 간격의 매우 시끄러운 시계열 분석에 관한 것입니다. Dacorogna, Olsen 및 기타 여러 사람의 "고주파 금융 소개"를 보셨습니까? 아니면 같은 저자의 논문?
PeterR

답변:


14

문제는 확실히 어렵다 .

+/-와 같은 기계적 규칙 N1의 시간 표준 편차, 또는 + / N2 번 MAD, 또는 +/- N3 또는 IQR은 ... , 예를 들어 같은 다른 항상 어떤 시리즈가 있기 때문에 실패 :

  • 은행 간 금리와 같은 고정물은 일정 시간 동안 일정하게 유지 될 수 있습니다.
  • 유사에 대한 페그 떨어져오고 특정 외국 교류를
  • 특정 도구는 암시 적으로 퍼져 있습니다. 이것은 기간 동안 0에 가까울 수 있으며 모든 갑작스런 점프 매니 폴드

이전 일에서 그랬습니다. 차익 거래 관계 선박을 사용하여 각 시리즈를 괄호로 묶을 수 있습니다 ( 예 : USD / EUR 및 EUR / JPY가 양호하다고 가정하면 USD / JPY가 무엇인지 주변에서 밴드를 해결할 수 있습니다.

상업용 데이터 벤더는 이에 대한 노력을 확대하고 있으며, 클라이언트 인 클라이언트는이를 알고 있지만 여전히 오류를 배제하지는 않습니다.


+1 예, 완벽한 것은 없습니다. Tickdata.com (이 논문을 언급 함)에는 특이 치가 포함되어 있으며 너무 좋은 데이터도 제거합니다 (다른 출처와 비교할 때). Olsen의 데이터는 끔찍한 수준에 가깝고 일반적으로 단지 지표입니다. 은행이이를 위해 큰 운영팀에 비용을 지불해야하는 이유가 있습니다.
Shane

알려진 차익 거래 관계를 사용하는 것에 대한 귀하의 아이디어가 마음에 듭니다. 이전 직장에서 전혀 시도하지 않았습니까?
jilles de wit

아니요, 우리는 그것을 완전히 공식화하지 않았습니다. 그러나 우리는 간단한 것들을 사용했다고 생각합니다 (예 : ETF vs 기본 지수 등). 그래도 몇 년이 지났습니다.
Dirk Eddelbuettel

8

컴퓨터로 돌아올 때 몇 가지 참고 문헌을 추가 할 것입니다. 다음은 간단한 제안입니다.

반품으로 작업을 시작하십시오. 불규칙한 간격을 처리하는 데 중요합니다 (특히 주말에). 그런 다음 간단한 필터를 적용하여 표준 외부의 리턴을 제거 할 수 있습니다 (예 : 표준 편차의 수 vs). 수익률은 새로운 절대 수준으로 조정되므로 실제 변경이 크면 하나의 틱만 손실됩니다. 1 단계와 n 에서 얻은 리턴 값을 가진 2 패스 필터를 사용하는 것이 좋습니다특이 치의 클러스터를 처리하기 위해 단계 .

편집 1 : 반환이 아닌 가격의 사용에 관하여 : 자산 가격은 고정적이지 않은 경향이 있으므로 IMO는 몇 가지 추가 과제를 제기 할 수 있습니다. 불규칙성 및 전력 법칙 효과를 설명하기 위해 필터에 포함시키려는 경우 일종의 조정을 권합니다. 시간 간격 또는 변동성에 따라 가격 변동을 조정할 수 있습니다. 이에 대한 논의는 "실현 된 변동성"문헌을 참조 할 수 있습니다. Dacorogna et al. 알.

변동성의 변화를 설명하기 위해 지난 주 같은 시간 (계절을 사용하여)의 변동성 계산을 기초로 시도 할 수 있습니다.


반품 만 사용하면 사다리에 매우 취약 해집니다 (즉, 각 개별 반품이 허용되는 표준에서 오르거나 내려 오는 일련의 가격이지만 그룹 으로서는 이상 치를 나타냅니다). 이상적으로는 리턴 레벨과 절대 레벨을 모두 사용합니다.
jilles de wit

5

무조건적인 미친 / 중간의 '적응성'이 부족하다는 우려를 반영하기 위해 답변을 약간 지연했습니다.

(μ^,σ^) 일반적인 GARCH 맞는에 의해 생산 된 것과 동일하지 않습니다있다. 특히, 그들은 몇 가지 멀리있는 특이 치에 의해 구동되지 않습니다. 이러한 추정치가이 추정치에 의한 것이 아니기 때문에 추정치의 과거 분포를 사용하여 특이 치에 안정적으로 플래그를 지정할 수 있습니다

엑스μ^σ^

백서 에서 자세한 정보와 R 패키지 링크를 찾을 수 있습니다 .

Boudt, K. 및 Croux, C. (2010). 다변량 GARCH 모델의 강력한 M 추정.


나는 이와 같은 것을 시도했지만이 방법은 변동성의 급격한 변화를 다루는 데별로 좋지 않습니다. 이로 인해 조용한 시간에는 언더 필터링이 발생하고 더 바쁜 시간에는 오버 필터링됩니다.
jilles de wit

나는 이것을 이해하지 못한다.
user603

조용한 기간에는 가격 변동성이 낮아지는 경향이 있으므로 평균에 가까운 가격은 이상치로 간주 할 수 있습니다. 그러나 거래일 전체 (또는 그 이상)에 MAD를 사용하기 때문에 이러한 특이 치는 중앙값에서 3 MAD 미만이며 필터링되지 않습니다. 가격 변동이 더 많은 혼잡 한 기간의 경우에는 반대입니다 (허용 가능한 가격 변동은 필터링됩니다). 따라서 문제는 MAD를 항상 올바르게 추정하는 것으로 줄어 듭니다.
jilles de wit
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.